
void conf_set_fontspec(Conf *conf,int primary,FontSpec *value)

{
                    /* WARNING: Subroutine does not return */
  safemalloc(1,0xc);
}



int conf_set_fontspec(undefined4 param_1,int param_2,undefined4 param_3)

{
  int *piVar1;
  int iVar2;
  int iVar3;
  undefined4 *puVar4;
  int iVar5;
  int iVar6;
  int iVar7;
  int iVar8;
  int iVar9;
  undefined *puVar10;
  
  piVar1 = (int *)safemalloc(1,0xc);
  if (*(int *)(PTR_s_Server_sent_command_exit_status___000bc188 + param_2 * 4 + -0x676c) == 0) {
    if (*(int *)(PTR_s_Server_sent_command_exit_status___000bc188 + param_2 * 4 + -0x6a4c) == 4) {
      *piVar1 = param_2;
      iVar2 = (*(code *)PTR_fontspec_copy_000bc24c)(param_3);
      piVar1[2] = iVar2;
      iVar2 = FUN_0001c8cc(param_1,piVar1);
      return iVar2;
    }
  }
  else {
    (*(code *)PTR___assert_fail_000bcb00)
              (PTR_s_Server_sent_command_exit_status___000bc188 + -0x6c94,
               PTR_s_Server_sent_command_exit_status___000bc188 + -0x6cb0,0x1d1,
               PTR_s_Server_sent_command_exit_status___000bc188 + -0x6b90);
  }
  puVar4 = (undefined4 *)(PTR_s_Server_sent_command_exit_status___000bc188 + -0x6bbc);
  puVar10 = PTR___assert_fail_000bcb00;
  (*(code *)PTR___assert_fail_000bcb00)
            (puVar4,PTR_s_Server_sent_command_exit_status___000bc188 + -0x6cb0,0x1d2,
             PTR_s_Server_sent_command_exit_status___000bc188 + -0x6b90);
  iVar7 = 0;
  iVar8 = *(int *)(puVar10 + 0x9e294);
  iVar9 = *(int *)(puVar10 + 0x9e294);
  iVar2 = 0;
  while( true ) {
    piVar1 = (int *)(**(code **)(puVar10 + 0x9e354))(*puVar4,iVar7);
    if (piVar1 == (int *)0x0) break;
    iVar5 = *piVar1;
    iVar3 = *(int *)(iVar5 * 4 + iVar8 + -0x676c);
    iVar6 = iVar2 + 4;
    if (iVar3 == 1) {
      iVar6 = iVar2 + 8;
    }
    else if (iVar3 == 2) {
      iVar6 = (**(code **)(puVar10 + 0x9ed30))(piVar1[1]);
      iVar6 = iVar2 + 5 + iVar6;
    }
    iVar2 = *(int *)(iVar5 * 4 + iVar9 + -0x6a4c);
    if (iVar2 == 2) {
      iVar2 = (**(code **)(puVar10 + 0x9ed30))(piVar1[2]);
      iVar6 = iVar6 + 1 + iVar2;
    }
    else if (iVar2 < 3) {
      if (iVar2 == 1) {
        iVar6 = iVar6 + 4;
      }
    }
    else if (iVar2 == 3) {
      iVar2 = (**(code **)(puVar10 + 0x9e37c))(piVar1[2],0);
      iVar6 = iVar6 + iVar2;
    }
    else if (iVar2 == 4) {
      iVar2 = (**(code **)(puVar10 + 0x9e378))(piVar1[2],0);
      iVar6 = iVar6 + iVar2;
    }
    iVar7 = iVar7 + 1;
    iVar2 = iVar6;
  }
  return iVar2 + 4;
}


lui gp,0xa
addiu gp,gp,0x6384
addu gp,gp,t9
addiu sp,sp,-0x30
sw ra,0x2c(sp)
sw s3,0x28(sp)
sw s2,0x24(sp)
sw s1,0x20(sp)
sw s0,0x1c(sp)
sw gp,0x10(sp)
or s2,a0,zero
or s0,a1,zero
or s3,a2,zero
li a1,0xc
li a0,0x1
lw t9,-0x7f9c(gp)
bal 0x00021328
_nop
lw gp,0x10(sp)
or s1,v0,zero
sll v0,s0,0x2
lw v1,-0x7fc8(gp)
addiu v1,v1,-0x676c
addu v0,v0,v1
lw v0,0x0(v0)
bne v0,zero,0x0001dea4
_sll v0,s0,0x2
lw v1,-0x7fc8(gp)
addiu v1,v1,-0x6a4c
addu v0,v0,v1
lw v1,0x0(v0)
li v0,0x4
bne v1,v0,0x0001decc
_or a0,s3,zero
sw s0,0x0(s1)
lw t9,-0x7f04(gp)
jalr t9
_nop
lw gp,0x10(sp)
sw v0,0x8(s1)
or a1,s1,zero
or a0,s2,zero
lw t9,-0x7fcc(gp)
addiu t9,t9,-0x3734
bal 0x0001c8cc
_nop
lw gp,0x10(sp)
lw ra,0x2c(sp)
lw s3,0x28(sp)
lw s2,0x24(sp)
lw s1,0x20(sp)
lw s0,0x1c(sp)
jr ra
_addiu sp,sp,0x30
lw a3,-0x7fc8(gp)
addiu a3,a3,-0x6b90
li a2,0x1d1
lw a1,-0x7fc8(gp)
addiu a1,a1,-0x6cb0
lw a0,-0x7fc8(gp)
addiu a0,a0,-0x6c94
lw t9,-0x7650(gp)
jalr t9
_nop
lw a3,-0x7fc8(gp)
addiu a3,a3,-0x6b90
li a2,0x1d2
lw a1,-0x7fc8(gp)
addiu a1,a1,-0x6cb0
lw a0,-0x7fc8(gp)
addiu a0,a0,-0x6bbc
lw t9,-0x7650(gp)
jalr t9
_nop
lui gp,0xa
addiu gp,gp,0x625c
addu gp,gp,t9
addiu sp,sp,-0x40
sw ra,0x3c(sp)
sw s8,0x38(sp)
sw s7,0x34(sp)
sw s6,0x30(sp)
sw s5,0x2c(sp)
sw s4,0x28(sp)
sw s3,0x24(sp)
sw s2,0x20(sp)
sw s1,0x1c(sp)
sw s0,0x18(sp)
sw gp,0x10(sp)
or s7,a0,zero
or s8,zero,zero
or s3,zero,zero
lw s5,-0x7fc8(gp)
addiu s5,s5,-0x676c
li s4,0x1
lw s6,-0x7fc8(gp)
b 0x0001df8c
_addiu s6,s6,-0x6a4c
b 0x0001dfd0
_addiu s1,s8,0x8
lw a0,0x4(s2)
jalr t9
_nop
lw gp,0x10(sp)
addiu s1,s8,0x5
b 0x0001dfd0
_addu s1,s1,v0
bne v0,s4,0x0001df84
_nop
addiu s1,s1,0x4
addiu s3,s3,0x1
or s8,s1,zero
or a1,s3,zero
lw a0,0x0(s7)
lw t9,-0x7f08(gp)
jalr t9
_nop
lw gp,0x10(sp)
beq v0,zero,0x0001e05c
_or s2,v0,zero
lw s0,0x0(s2)
sll v0,s0,0x2
addu v0,v0,s5
lw v0,0x0(v0)
beq v0,s4,0x0001df54
_addiu s1,s8,0x4
li v1,0x2
beq v0,v1,0x0001df5c
_lw t9,-0x752c(gp)
sll s0,s0,0x2
addu s0,s0,s6
lw v0,0x0(s0)
li v1,0x2
beq v0,v1,0x0001e01c
_slti v1,v0,0x3
bne v1,zero,0x0001df78
_li v1,0x3
beq v0,v1,0x0001e03c
_li v1,0x4
bne v0,v1,0x0001df84
_or a1,zero,zero
lw a0,0x8(s2)
lw t9,-0x7ee4(gp)
jalr t9
_nop
lw gp,0x10(sp)
b 0x0001df84
_addu s1,s1,v0
lw a0,0x8(s2)
lw t9,-0x752c(gp)
jalr t9
_nop
lw gp,0x10(sp)
addiu s1,s1,0x1
b 0x0001df84
_addu s1,s1,v0
or a1,zero,zero
lw a0,0x8(s2)
lw t9,-0x7ee0(gp)
jalr t9
_nop
lw gp,0x10(sp)
b 0x0001df84
_addu s1,s1,v0
addiu v0,s8,0x4
lw ra,0x3c(sp)
lw s8,0x38(sp)
lw s7,0x34(sp)
lw s6,0x30(sp)
lw s5,0x2c(sp)
lw s4,0x28(sp)
lw s3,0x24(sp)
lw s2,0x20(sp)
lw s1,0x1c(sp)
lw s0,0x18(sp)
jr ra
_addiu sp,sp,0x40
(translation_unit "int conf_set_fontspec(undefined4 param_1,int param_2,undefined4 param_3)\n\n{\n  int *piVar1;\n  int iVar2;\n  int iVar3;\n  undefined4 *puVar4;\n  int iVar5;\n  int iVar6;\n  int iVar7;\n  int iVar8;\n  int iVar9;\n  undefined *puVar10;\n  \n  piVar1 = (int *)safemalloc(1,0xc);\n  if (*(int *)(PTR_s_Server_sent_command_exit_status___000bc188 + param_2 * 4 + -0x676c) == 0) {\n    if (*(int *)(PTR_s_Server_sent_command_exit_status___000bc188 + param_2 * 4 + -0x6a4c) == 4) {\n      *piVar1 = param_2;\n      iVar2 = (*(code *)PTR_fontspec_copy_000bc24c)(param_3);\n      piVar1[2] = iVar2;\n      iVar2 = FUN_0001c8cc(param_1,piVar1);\n      return iVar2;\n    }\n  }\n  else {\n    (*(code *)PTR___assert_fail_000bcb00)\n              (PTR_s_Server_sent_command_exit_status___000bc188 + -0x6c94,\n               PTR_s_Server_sent_command_exit_status___000bc188 + -0x6cb0,0x1d1,\n               PTR_s_Server_sent_command_exit_status___000bc188 + -0x6b90);\n  }\n  puVar4 = (undefined4 *)(PTR_s_Server_sent_command_exit_status___000bc188 + -0x6bbc);\n  puVar10 = PTR___assert_fail_000bcb00;\n  (*(code *)PTR___assert_fail_000bcb00)\n            (puVar4,PTR_s_Server_sent_command_exit_status___000bc188 + -0x6cb0,0x1d2,\n             PTR_s_Server_sent_command_exit_status___000bc188 + -0x6b90);\n  iVar7 = 0;\n  iVar8 = *(int *)(puVar10 + 0x9e294);\n  iVar9 = *(int *)(puVar10 + 0x9e294);\n  iVar2 = 0;\n  while( true ) {\n    piVar1 = (int *)(**(code **)(puVar10 + 0x9e354))(*puVar4,iVar7);\n    if (piVar1 == (int *)0x0) break;\n    iVar5 = *piVar1;\n    iVar3 = *(int *)(iVar5 * 4 + iVar8 + -0x676c);\n    iVar6 = iVar2 + 4;\n    if (iVar3 == 1) {\n      iVar6 = iVar2 + 8;\n    }\n    else if (iVar3 == 2) {\n      iVar6 = (**(code **)(puVar10 + 0x9ed30))(piVar1[1]);\n      iVar6 = iVar2 + 5 + iVar6;\n    }\n    iVar2 = *(int *)(iVar5 * 4 + iVar9 + -0x6a4c);\n    if (iVar2 == 2) {\n      iVar2 = (**(code **)(puVar10 + 0x9ed30))(piVar1[2]);\n      iVar6 = iVar6 + 1 + iVar2;\n    }\n    else if (iVar2 < 3) {\n      if (iVar2 == 1) {\n        iVar6 = iVar6 + 4;\n      }\n    }\n    else if (iVar2 == 3) {\n      iVar2 = (**(code **)(puVar10 + 0x9e37c))(piVar1[2],0);\n      iVar6 = iVar6 + iVar2;\n    }\n    else if (iVar2 == 4) {\n      iVar2 = (**(code **)(puVar10 + 0x9e378))(piVar1[2],0);\n      iVar6 = iVar6 + iVar2;\n    }\n    iVar7 = iVar7 + 1;\n    iVar2 = iVar6;\n  }\n  return iVar2 + 4;\n}\n\n" (function_definition "int conf_set_fontspec(undefined4 param_1,int param_2,undefined4 param_3)\n\n{\n  int *piVar1;\n  int iVar2;\n  int iVar3;\n  undefined4 *puVar4;\n  int iVar5;\n  int iVar6;\n  int iVar7;\n  int iVar8;\n  int iVar9;\n  undefined *puVar10;\n  \n  piVar1 = (int *)safemalloc(1,0xc);\n  if (*(int *)(PTR_s_Server_sent_command_exit_status___000bc188 + param_2 * 4 + -0x676c) == 0) {\n    if (*(int *)(PTR_s_Server_sent_command_exit_status___000bc188 + param_2 * 4 + -0x6a4c) == 4) {\n      *piVar1 = param_2;\n      iVar2 = (*(code *)PTR_fontspec_copy_000bc24c)(param_3);\n      piVar1[2] = iVar2;\n      iVar2 = FUN_0001c8cc(param_1,piVar1);\n      return iVar2;\n    }\n  }\n  else {\n    (*(code *)PTR___assert_fail_000bcb00)\n              (PTR_s_Server_sent_command_exit_status___000bc188 + -0x6c94,\n               PTR_s_Server_sent_command_exit_status___000bc188 + -0x6cb0,0x1d1,\n               PTR_s_Server_sent_command_exit_status___000bc188 + -0x6b90);\n  }\n  puVar4 = (undefined4 *)(PTR_s_Server_sent_command_exit_status___000bc188 + -0x6bbc);\n  puVar10 = PTR___assert_fail_000bcb00;\n  (*(code *)PTR___assert_fail_000bcb00)\n            (puVar4,PTR_s_Server_sent_command_exit_status___000bc188 + -0x6cb0,0x1d2,\n             PTR_s_Server_sent_command_exit_status___000bc188 + -0x6b90);\n  iVar7 = 0;\n  iVar8 = *(int *)(puVar10 + 0x9e294);\n  iVar9 = *(int *)(puVar10 + 0x9e294);\n  iVar2 = 0;\n  while( true ) {\n    piVar1 = (int *)(**(code **)(puVar10 + 0x9e354))(*puVar4,iVar7);\n    if (piVar1 == (int *)0x0) break;\n    iVar5 = *piVar1;\n    iVar3 = *(int *)(iVar5 * 4 + iVar8 + -0x676c);\n    iVar6 = iVar2 + 4;\n    if (iVar3 == 1) {\n      iVar6 = iVar2 + 8;\n    }\n    else if (iVar3 == 2) {\n      iVar6 = (**(code **)(puVar10 + 0x9ed30))(piVar1[1]);\n      iVar6 = iVar2 + 5 + iVar6;\n    }\n    iVar2 = *(int *)(iVar5 * 4 + iVar9 + -0x6a4c);\n    if (iVar2 == 2) {\n      iVar2 = (**(code **)(puVar10 + 0x9ed30))(piVar1[2]);\n      iVar6 = iVar6 + 1 + iVar2;\n    }\n    else if (iVar2 < 3) {\n      if (iVar2 == 1) {\n        iVar6 = iVar6 + 4;\n      }\n    }\n    else if (iVar2 == 3) {\n      iVar2 = (**(code **)(puVar10 + 0x9e37c))(piVar1[2],0);\n      iVar6 = iVar6 + iVar2;\n    }\n    else if (iVar2 == 4) {\n      iVar2 = (**(code **)(puVar10 + 0x9e378))(piVar1[2],0);\n      iVar6 = iVar6 + iVar2;\n    }\n    iVar7 = iVar7 + 1;\n    iVar2 = iVar6;\n  }\n  return iVar2 + 4;\n}" primitive_type (function_declarator "conf_set_fontspec(undefined4 param_1,int param_2,undefined4 param_3)" identifier (parameter_list "(undefined4 param_1,int param_2,undefined4 param_3)" ( (parameter_declaration "undefined4 param_1" type_identifier identifier) , (parameter_declaration "int param_2" primitive_type identifier) , (parameter_declaration "undefined4 param_3" type_identifier identifier) ))) (compound_statement "{\n  int *piVar1;\n  int iVar2;\n  int iVar3;\n  undefined4 *puVar4;\n  int iVar5;\n  int iVar6;\n  int iVar7;\n  int iVar8;\n  int iVar9;\n  undefined *puVar10;\n  \n  piVar1 = (int *)safemalloc(1,0xc);\n  if (*(int *)(PTR_s_Server_sent_command_exit_status___000bc188 + param_2 * 4 + -0x676c) == 0) {\n    if (*(int *)(PTR_s_Server_sent_command_exit_status___000bc188 + param_2 * 4 + -0x6a4c) == 4) {\n      *piVar1 = param_2;\n      iVar2 = (*(code *)PTR_fontspec_copy_000bc24c)(param_3);\n      piVar1[2] = iVar2;\n      iVar2 = FUN_0001c8cc(param_1,piVar1);\n      return iVar2;\n    }\n  }\n  else {\n    (*(code *)PTR___assert_fail_000bcb00)\n              (PTR_s_Server_sent_command_exit_status___000bc188 + -0x6c94,\n               PTR_s_Server_sent_command_exit_status___000bc188 + -0x6cb0,0x1d1,\n               PTR_s_Server_sent_command_exit_status___000bc188 + -0x6b90);\n  }\n  puVar4 = (undefined4 *)(PTR_s_Server_sent_command_exit_status___000bc188 + -0x6bbc);\n  puVar10 = PTR___assert_fail_000bcb00;\n  (*(code *)PTR___assert_fail_000bcb00)\n            (puVar4,PTR_s_Server_sent_command_exit_status___000bc188 + -0x6cb0,0x1d2,\n             PTR_s_Server_sent_command_exit_status___000bc188 + -0x6b90);\n  iVar7 = 0;\n  iVar8 = *(int *)(puVar10 + 0x9e294);\n  iVar9 = *(int *)(puVar10 + 0x9e294);\n  iVar2 = 0;\n  while( true ) {\n    piVar1 = (int *)(**(code **)(puVar10 + 0x9e354))(*puVar4,iVar7);\n    if (piVar1 == (int *)0x0) break;\n    iVar5 = *piVar1;\n    iVar3 = *(int *)(iVar5 * 4 + iVar8 + -0x676c);\n    iVar6 = iVar2 + 4;\n    if (iVar3 == 1) {\n      iVar6 = iVar2 + 8;\n    }\n    else if (iVar3 == 2) {\n      iVar6 = (**(code **)(puVar10 + 0x9ed30))(piVar1[1]);\n      iVar6 = iVar2 + 5 + iVar6;\n    }\n    iVar2 = *(int *)(iVar5 * 4 + iVar9 + -0x6a4c);\n    if (iVar2 == 2) {\n      iVar2 = (**(code **)(puVar10 + 0x9ed30))(piVar1[2]);\n      iVar6 = iVar6 + 1 + iVar2;\n    }\n    else if (iVar2 < 3) {\n      if (iVar2 == 1) {\n        iVar6 = iVar6 + 4;\n      }\n    }\n    else if (iVar2 == 3) {\n      iVar2 = (**(code **)(puVar10 + 0x9e37c))(piVar1[2],0);\n      iVar6 = iVar6 + iVar2;\n    }\n    else if (iVar2 == 4) {\n      iVar2 = (**(code **)(puVar10 + 0x9e378))(piVar1[2],0);\n      iVar6 = iVar6 + iVar2;\n    }\n    iVar7 = iVar7 + 1;\n    iVar2 = iVar6;\n  }\n  return iVar2 + 4;\n}" { (declaration "int *piVar1;" primitive_type (pointer_declarator "*piVar1" * identifier) ;) (declaration "int iVar2;" primitive_type identifier ;) (declaration "int iVar3;" primitive_type identifier ;) (declaration "undefined4 *puVar4;" type_identifier (pointer_declarator "*puVar4" * identifier) ;) (declaration "int iVar5;" primitive_type identifier ;) (declaration "int iVar6;" primitive_type identifier ;) (declaration "int iVar7;" primitive_type identifier ;) (declaration "int iVar8;" primitive_type identifier ;) (declaration "int iVar9;" primitive_type identifier ;) (declaration "undefined *puVar10;" type_identifier (pointer_declarator "*puVar10" * identifier) ;) (expression_statement "piVar1 = (int *)safemalloc(1,0xc);" (assignment_expression "piVar1 = (int *)safemalloc(1,0xc)" identifier = (cast_expression "(int *)safemalloc(1,0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "safemalloc(1,0xc)" identifier (argument_list "(1,0xc)" ( number_literal , number_literal ))))) ;) (if_statement "if (*(int *)(PTR_s_Server_sent_command_exit_status___000bc188 + param_2 * 4 + -0x676c) == 0) {\n    if (*(int *)(PTR_s_Server_sent_command_exit_status___000bc188 + param_2 * 4 + -0x6a4c) == 4) {\n      *piVar1 = param_2;\n      iVar2 = (*(code *)PTR_fontspec_copy_000bc24c)(param_3);\n      piVar1[2] = iVar2;\n      iVar2 = FUN_0001c8cc(param_1,piVar1);\n      return iVar2;\n    }\n  }\n  else {\n    (*(code *)PTR___assert_fail_000bcb00)\n              (PTR_s_Server_sent_command_exit_status___000bc188 + -0x6c94,\n               PTR_s_Server_sent_command_exit_status___000bc188 + -0x6cb0,0x1d1,\n               PTR_s_Server_sent_command_exit_status___000bc188 + -0x6b90);\n  }" if (parenthesized_expression "(*(int *)(PTR_s_Server_sent_command_exit_status___000bc188 + param_2 * 4 + -0x676c) == 0)" ( (binary_expression "*(int *)(PTR_s_Server_sent_command_exit_status___000bc188 + param_2 * 4 + -0x676c) == 0" (pointer_expression "*(int *)(PTR_s_Server_sent_command_exit_status___000bc188 + param_2 * 4 + -0x676c)" * (cast_expression "(int *)(PTR_s_Server_sent_command_exit_status___000bc188 + param_2 * 4 + -0x676c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_s_Server_sent_command_exit_status___000bc188 + param_2 * 4 + -0x676c)" ( (binary_expression "PTR_s_Server_sent_command_exit_status___000bc188 + param_2 * 4 + -0x676c" (binary_expression "PTR_s_Server_sent_command_exit_status___000bc188 + param_2 * 4" identifier + (binary_expression "param_2 * 4" identifier * number_literal)) + number_literal) )))) == number_literal) )) (compound_statement "{\n    if (*(int *)(PTR_s_Server_sent_command_exit_status___000bc188 + param_2 * 4 + -0x6a4c) == 4) {\n      *piVar1 = param_2;\n      iVar2 = (*(code *)PTR_fontspec_copy_000bc24c)(param_3);\n      piVar1[2] = iVar2;\n      iVar2 = FUN_0001c8cc(param_1,piVar1);\n      return iVar2;\n    }\n  }" { (if_statement "if (*(int *)(PTR_s_Server_sent_command_exit_status___000bc188 + param_2 * 4 + -0x6a4c) == 4) {\n      *piVar1 = param_2;\n      iVar2 = (*(code *)PTR_fontspec_copy_000bc24c)(param_3);\n      piVar1[2] = iVar2;\n      iVar2 = FUN_0001c8cc(param_1,piVar1);\n      return iVar2;\n    }" if (parenthesized_expression "(*(int *)(PTR_s_Server_sent_command_exit_status___000bc188 + param_2 * 4 + -0x6a4c) == 4)" ( (binary_expression "*(int *)(PTR_s_Server_sent_command_exit_status___000bc188 + param_2 * 4 + -0x6a4c) == 4" (pointer_expression "*(int *)(PTR_s_Server_sent_command_exit_status___000bc188 + param_2 * 4 + -0x6a4c)" * (cast_expression "(int *)(PTR_s_Server_sent_command_exit_status___000bc188 + param_2 * 4 + -0x6a4c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_s_Server_sent_command_exit_status___000bc188 + param_2 * 4 + -0x6a4c)" ( (binary_expression "PTR_s_Server_sent_command_exit_status___000bc188 + param_2 * 4 + -0x6a4c" (binary_expression "PTR_s_Server_sent_command_exit_status___000bc188 + param_2 * 4" identifier + (binary_expression "param_2 * 4" identifier * number_literal)) + number_literal) )))) == number_literal) )) (compound_statement "{\n      *piVar1 = param_2;\n      iVar2 = (*(code *)PTR_fontspec_copy_000bc24c)(param_3);\n      piVar1[2] = iVar2;\n      iVar2 = FUN_0001c8cc(param_1,piVar1);\n      return iVar2;\n    }" { (expression_statement "*piVar1 = param_2;" (assignment_expression "*piVar1 = param_2" (pointer_expression "*piVar1" * identifier) = identifier) ;) (expression_statement "iVar2 = (*(code *)PTR_fontspec_copy_000bc24c)(param_3);" (assignment_expression "iVar2 = (*(code *)PTR_fontspec_copy_000bc24c)(param_3)" identifier = (call_expression "(*(code *)PTR_fontspec_copy_000bc24c)(param_3)" (parenthesized_expression "(*(code *)PTR_fontspec_copy_000bc24c)" ( (pointer_expression "*(code *)PTR_fontspec_copy_000bc24c" * (cast_expression "(code *)PTR_fontspec_copy_000bc24c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_3)" ( identifier )))) ;) (expression_statement "piVar1[2] = iVar2;" (assignment_expression "piVar1[2] = iVar2" (subscript_expression "piVar1[2]" identifier [ number_literal ]) = identifier) ;) (expression_statement "iVar2 = FUN_0001c8cc(param_1,piVar1);" (assignment_expression "iVar2 = FUN_0001c8cc(param_1,piVar1)" identifier = (call_expression "FUN_0001c8cc(param_1,piVar1)" identifier (argument_list "(param_1,piVar1)" ( identifier , identifier )))) ;) (return_statement "return iVar2;" return identifier ;) })) }) (else_clause "else {\n    (*(code *)PTR___assert_fail_000bcb00)\n              (PTR_s_Server_sent_command_exit_status___000bc188 + -0x6c94,\n               PTR_s_Server_sent_command_exit_status___000bc188 + -0x6cb0,0x1d1,\n               PTR_s_Server_sent_command_exit_status___000bc188 + -0x6b90);\n  }" else (compound_statement "{\n    (*(code *)PTR___assert_fail_000bcb00)\n              (PTR_s_Server_sent_command_exit_status___000bc188 + -0x6c94,\n               PTR_s_Server_sent_command_exit_status___000bc188 + -0x6cb0,0x1d1,\n               PTR_s_Server_sent_command_exit_status___000bc188 + -0x6b90);\n  }" { (expression_statement "(*(code *)PTR___assert_fail_000bcb00)\n              (PTR_s_Server_sent_command_exit_status___000bc188 + -0x6c94,\n               PTR_s_Server_sent_command_exit_status___000bc188 + -0x6cb0,0x1d1,\n               PTR_s_Server_sent_command_exit_status___000bc188 + -0x6b90);" (call_expression "(*(code *)PTR___assert_fail_000bcb00)\n              (PTR_s_Server_sent_command_exit_status___000bc188 + -0x6c94,\n               PTR_s_Server_sent_command_exit_status___000bc188 + -0x6cb0,0x1d1,\n               PTR_s_Server_sent_command_exit_status___000bc188 + -0x6b90)" (parenthesized_expression "(*(code *)PTR___assert_fail_000bcb00)" ( (pointer_expression "*(code *)PTR___assert_fail_000bcb00" * (cast_expression "(code *)PTR___assert_fail_000bcb00" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_s_Server_sent_command_exit_status___000bc188 + -0x6c94,\n               PTR_s_Server_sent_command_exit_status___000bc188 + -0x6cb0,0x1d1,\n               PTR_s_Server_sent_command_exit_status___000bc188 + -0x6b90)" ( (binary_expression "PTR_s_Server_sent_command_exit_status___000bc188 + -0x6c94" identifier + number_literal) , (binary_expression "PTR_s_Server_sent_command_exit_status___000bc188 + -0x6cb0" identifier + number_literal) , number_literal , (binary_expression "PTR_s_Server_sent_command_exit_status___000bc188 + -0x6b90" identifier + number_literal) ))) ;) }))) (expression_statement "puVar4 = (undefined4 *)(PTR_s_Server_sent_command_exit_status___000bc188 + -0x6bbc);" (assignment_expression "puVar4 = (undefined4 *)(PTR_s_Server_sent_command_exit_status___000bc188 + -0x6bbc)" identifier = (cast_expression "(undefined4 *)(PTR_s_Server_sent_command_exit_status___000bc188 + -0x6bbc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_s_Server_sent_command_exit_status___000bc188 + -0x6bbc)" ( (binary_expression "PTR_s_Server_sent_command_exit_status___000bc188 + -0x6bbc" identifier + number_literal) )))) ;) (expression_statement "puVar10 = PTR___assert_fail_000bcb00;" (assignment_expression "puVar10 = PTR___assert_fail_000bcb00" identifier = identifier) ;) (expression_statement "(*(code *)PTR___assert_fail_000bcb00)\n            (puVar4,PTR_s_Server_sent_command_exit_status___000bc188 + -0x6cb0,0x1d2,\n             PTR_s_Server_sent_command_exit_status___000bc188 + -0x6b90);" (call_expression "(*(code *)PTR___assert_fail_000bcb00)\n            (puVar4,PTR_s_Server_sent_command_exit_status___000bc188 + -0x6cb0,0x1d2,\n             PTR_s_Server_sent_command_exit_status___000bc188 + -0x6b90)" (parenthesized_expression "(*(code *)PTR___assert_fail_000bcb00)" ( (pointer_expression "*(code *)PTR___assert_fail_000bcb00" * (cast_expression "(code *)PTR___assert_fail_000bcb00" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar4,PTR_s_Server_sent_command_exit_status___000bc188 + -0x6cb0,0x1d2,\n             PTR_s_Server_sent_command_exit_status___000bc188 + -0x6b90)" ( identifier , (binary_expression "PTR_s_Server_sent_command_exit_status___000bc188 + -0x6cb0" identifier + number_literal) , number_literal , (binary_expression "PTR_s_Server_sent_command_exit_status___000bc188 + -0x6b90" identifier + number_literal) ))) ;) (expression_statement "iVar7 = 0;" (assignment_expression "iVar7 = 0" identifier = number_literal) ;) (expression_statement "iVar8 = *(int *)(puVar10 + 0x9e294);" (assignment_expression "iVar8 = *(int *)(puVar10 + 0x9e294)" identifier = (pointer_expression "*(int *)(puVar10 + 0x9e294)" * (cast_expression "(int *)(puVar10 + 0x9e294)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + 0x9e294)" ( (binary_expression "puVar10 + 0x9e294" identifier + number_literal) ))))) ;) (expression_statement "iVar9 = *(int *)(puVar10 + 0x9e294);" (assignment_expression "iVar9 = *(int *)(puVar10 + 0x9e294)" identifier = (pointer_expression "*(int *)(puVar10 + 0x9e294)" * (cast_expression "(int *)(puVar10 + 0x9e294)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + 0x9e294)" ( (binary_expression "puVar10 + 0x9e294" identifier + number_literal) ))))) ;) (expression_statement "iVar2 = 0;" (assignment_expression "iVar2 = 0" identifier = number_literal) ;) (while_statement "while( true ) {\n    piVar1 = (int *)(**(code **)(puVar10 + 0x9e354))(*puVar4,iVar7);\n    if (piVar1 == (int *)0x0) break;\n    iVar5 = *piVar1;\n    iVar3 = *(int *)(iVar5 * 4 + iVar8 + -0x676c);\n    iVar6 = iVar2 + 4;\n    if (iVar3 == 1) {\n      iVar6 = iVar2 + 8;\n    }\n    else if (iVar3 == 2) {\n      iVar6 = (**(code **)(puVar10 + 0x9ed30))(piVar1[1]);\n      iVar6 = iVar2 + 5 + iVar6;\n    }\n    iVar2 = *(int *)(iVar5 * 4 + iVar9 + -0x6a4c);\n    if (iVar2 == 2) {\n      iVar2 = (**(code **)(puVar10 + 0x9ed30))(piVar1[2]);\n      iVar6 = iVar6 + 1 + iVar2;\n    }\n    else if (iVar2 < 3) {\n      if (iVar2 == 1) {\n        iVar6 = iVar6 + 4;\n      }\n    }\n    else if (iVar2 == 3) {\n      iVar2 = (**(code **)(puVar10 + 0x9e37c))(piVar1[2],0);\n      iVar6 = iVar6 + iVar2;\n    }\n    else if (iVar2 == 4) {\n      iVar2 = (**(code **)(puVar10 + 0x9e378))(piVar1[2],0);\n      iVar6 = iVar6 + iVar2;\n    }\n    iVar7 = iVar7 + 1;\n    iVar2 = iVar6;\n  }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n    piVar1 = (int *)(**(code **)(puVar10 + 0x9e354))(*puVar4,iVar7);\n    if (piVar1 == (int *)0x0) break;\n    iVar5 = *piVar1;\n    iVar3 = *(int *)(iVar5 * 4 + iVar8 + -0x676c);\n    iVar6 = iVar2 + 4;\n    if (iVar3 == 1) {\n      iVar6 = iVar2 + 8;\n    }\n    else if (iVar3 == 2) {\n      iVar6 = (**(code **)(puVar10 + 0x9ed30))(piVar1[1]);\n      iVar6 = iVar2 + 5 + iVar6;\n    }\n    iVar2 = *(int *)(iVar5 * 4 + iVar9 + -0x6a4c);\n    if (iVar2 == 2) {\n      iVar2 = (**(code **)(puVar10 + 0x9ed30))(piVar1[2]);\n      iVar6 = iVar6 + 1 + iVar2;\n    }\n    else if (iVar2 < 3) {\n      if (iVar2 == 1) {\n        iVar6 = iVar6 + 4;\n      }\n    }\n    else if (iVar2 == 3) {\n      iVar2 = (**(code **)(puVar10 + 0x9e37c))(piVar1[2],0);\n      iVar6 = iVar6 + iVar2;\n    }\n    else if (iVar2 == 4) {\n      iVar2 = (**(code **)(puVar10 + 0x9e378))(piVar1[2],0);\n      iVar6 = iVar6 + iVar2;\n    }\n    iVar7 = iVar7 + 1;\n    iVar2 = iVar6;\n  }" { (expression_statement "piVar1 = (int *)(**(code **)(puVar10 + 0x9e354))(*puVar4,iVar7);" (assignment_expression "piVar1 = (int *)(**(code **)(puVar10 + 0x9e354))(*puVar4,iVar7)" identifier = (cast_expression "(int *)(**(code **)(puVar10 + 0x9e354))(*puVar4,iVar7)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(puVar10 + 0x9e354))(*puVar4,iVar7)" (parenthesized_expression "(**(code **)(puVar10 + 0x9e354))" ( (pointer_expression "**(code **)(puVar10 + 0x9e354)" * (pointer_expression "*(code **)(puVar10 + 0x9e354)" * (cast_expression "(code **)(puVar10 + 0x9e354)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar10 + 0x9e354)" ( (binary_expression "puVar10 + 0x9e354" identifier + number_literal) ))))) )) (argument_list "(*puVar4,iVar7)" ( (pointer_expression "*puVar4" * identifier) , identifier ))))) ;) (if_statement "if (piVar1 == (int *)0x0) break;" if (parenthesized_expression "(piVar1 == (int *)0x0)" ( (binary_expression "piVar1 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (break_statement "break;" break ;)) (expression_statement "iVar5 = *piVar1;" (assignment_expression "iVar5 = *piVar1" identifier = (pointer_expression "*piVar1" * identifier)) ;) (expression_statement "iVar3 = *(int *)(iVar5 * 4 + iVar8 + -0x676c);" (assignment_expression "iVar3 = *(int *)(iVar5 * 4 + iVar8 + -0x676c)" identifier = (pointer_expression "*(int *)(iVar5 * 4 + iVar8 + -0x676c)" * (cast_expression "(int *)(iVar5 * 4 + iVar8 + -0x676c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 * 4 + iVar8 + -0x676c)" ( (binary_expression "iVar5 * 4 + iVar8 + -0x676c" (binary_expression "iVar5 * 4 + iVar8" (binary_expression "iVar5 * 4" identifier * number_literal) + identifier) + number_literal) ))))) ;) (expression_statement "iVar6 = iVar2 + 4;" (assignment_expression "iVar6 = iVar2 + 4" identifier = (binary_expression "iVar2 + 4" identifier + number_literal)) ;) (if_statement "if (iVar3 == 1) {\n      iVar6 = iVar2 + 8;\n    }\n    else if (iVar3 == 2) {\n      iVar6 = (**(code **)(puVar10 + 0x9ed30))(piVar1[1]);\n      iVar6 = iVar2 + 5 + iVar6;\n    }" if (parenthesized_expression "(iVar3 == 1)" ( (binary_expression "iVar3 == 1" identifier == number_literal) )) (compound_statement "{\n      iVar6 = iVar2 + 8;\n    }" { (expression_statement "iVar6 = iVar2 + 8;" (assignment_expression "iVar6 = iVar2 + 8" identifier = (binary_expression "iVar2 + 8" identifier + number_literal)) ;) }) (else_clause "else if (iVar3 == 2) {\n      iVar6 = (**(code **)(puVar10 + 0x9ed30))(piVar1[1]);\n      iVar6 = iVar2 + 5 + iVar6;\n    }" else (if_statement "if (iVar3 == 2) {\n      iVar6 = (**(code **)(puVar10 + 0x9ed30))(piVar1[1]);\n      iVar6 = iVar2 + 5 + iVar6;\n    }" if (parenthesized_expression "(iVar3 == 2)" ( (binary_expression "iVar3 == 2" identifier == number_literal) )) (compound_statement "{\n      iVar6 = (**(code **)(puVar10 + 0x9ed30))(piVar1[1]);\n      iVar6 = iVar2 + 5 + iVar6;\n    }" { (expression_statement "iVar6 = (**(code **)(puVar10 + 0x9ed30))(piVar1[1]);" (assignment_expression "iVar6 = (**(code **)(puVar10 + 0x9ed30))(piVar1[1])" identifier = (call_expression "(**(code **)(puVar10 + 0x9ed30))(piVar1[1])" (parenthesized_expression "(**(code **)(puVar10 + 0x9ed30))" ( (pointer_expression "**(code **)(puVar10 + 0x9ed30)" * (pointer_expression "*(code **)(puVar10 + 0x9ed30)" * (cast_expression "(code **)(puVar10 + 0x9ed30)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar10 + 0x9ed30)" ( (binary_expression "puVar10 + 0x9ed30" identifier + number_literal) ))))) )) (argument_list "(piVar1[1])" ( (subscript_expression "piVar1[1]" identifier [ number_literal ]) )))) ;) (expression_statement "iVar6 = iVar2 + 5 + iVar6;" (assignment_expression "iVar6 = iVar2 + 5 + iVar6" identifier = (binary_expression "iVar2 + 5 + iVar6" (binary_expression "iVar2 + 5" identifier + number_literal) + identifier)) ;) })))) (expression_statement "iVar2 = *(int *)(iVar5 * 4 + iVar9 + -0x6a4c);" (assignment_expression "iVar2 = *(int *)(iVar5 * 4 + iVar9 + -0x6a4c)" identifier = (pointer_expression "*(int *)(iVar5 * 4 + iVar9 + -0x6a4c)" * (cast_expression "(int *)(iVar5 * 4 + iVar9 + -0x6a4c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 * 4 + iVar9 + -0x6a4c)" ( (binary_expression "iVar5 * 4 + iVar9 + -0x6a4c" (binary_expression "iVar5 * 4 + iVar9" (binary_expression "iVar5 * 4" identifier * number_literal) + identifier) + number_literal) ))))) ;) (if_statement "if (iVar2 == 2) {\n      iVar2 = (**(code **)(puVar10 + 0x9ed30))(piVar1[2]);\n      iVar6 = iVar6 + 1 + iVar2;\n    }\n    else if (iVar2 < 3) {\n      if (iVar2 == 1) {\n        iVar6 = iVar6 + 4;\n      }\n    }\n    else if (iVar2 == 3) {\n      iVar2 = (**(code **)(puVar10 + 0x9e37c))(piVar1[2],0);\n      iVar6 = iVar6 + iVar2;\n    }\n    else if (iVar2 == 4) {\n      iVar2 = (**(code **)(puVar10 + 0x9e378))(piVar1[2],0);\n      iVar6 = iVar6 + iVar2;\n    }" if (parenthesized_expression "(iVar2 == 2)" ( (binary_expression "iVar2 == 2" identifier == number_literal) )) (compound_statement "{\n      iVar2 = (**(code **)(puVar10 + 0x9ed30))(piVar1[2]);\n      iVar6 = iVar6 + 1 + iVar2;\n    }" { (expression_statement "iVar2 = (**(code **)(puVar10 + 0x9ed30))(piVar1[2]);" (assignment_expression "iVar2 = (**(code **)(puVar10 + 0x9ed30))(piVar1[2])" identifier = (call_expression "(**(code **)(puVar10 + 0x9ed30))(piVar1[2])" (parenthesized_expression "(**(code **)(puVar10 + 0x9ed30))" ( (pointer_expression "**(code **)(puVar10 + 0x9ed30)" * (pointer_expression "*(code **)(puVar10 + 0x9ed30)" * (cast_expression "(code **)(puVar10 + 0x9ed30)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar10 + 0x9ed30)" ( (binary_expression "puVar10 + 0x9ed30" identifier + number_literal) ))))) )) (argument_list "(piVar1[2])" ( (subscript_expression "piVar1[2]" identifier [ number_literal ]) )))) ;) (expression_statement "iVar6 = iVar6 + 1 + iVar2;" (assignment_expression "iVar6 = iVar6 + 1 + iVar2" identifier = (binary_expression "iVar6 + 1 + iVar2" (binary_expression "iVar6 + 1" identifier + number_literal) + identifier)) ;) }) (else_clause "else if (iVar2 < 3) {\n      if (iVar2 == 1) {\n        iVar6 = iVar6 + 4;\n      }\n    }\n    else if (iVar2 == 3) {\n      iVar2 = (**(code **)(puVar10 + 0x9e37c))(piVar1[2],0);\n      iVar6 = iVar6 + iVar2;\n    }\n    else if (iVar2 == 4) {\n      iVar2 = (**(code **)(puVar10 + 0x9e378))(piVar1[2],0);\n      iVar6 = iVar6 + iVar2;\n    }" else (if_statement "if (iVar2 < 3) {\n      if (iVar2 == 1) {\n        iVar6 = iVar6 + 4;\n      }\n    }\n    else if (iVar2 == 3) {\n      iVar2 = (**(code **)(puVar10 + 0x9e37c))(piVar1[2],0);\n      iVar6 = iVar6 + iVar2;\n    }\n    else if (iVar2 == 4) {\n      iVar2 = (**(code **)(puVar10 + 0x9e378))(piVar1[2],0);\n      iVar6 = iVar6 + iVar2;\n    }" if (parenthesized_expression "(iVar2 < 3)" ( (binary_expression "iVar2 < 3" identifier < number_literal) )) (compound_statement "{\n      if (iVar2 == 1) {\n        iVar6 = iVar6 + 4;\n      }\n    }" { (if_statement "if (iVar2 == 1) {\n        iVar6 = iVar6 + 4;\n      }" if (parenthesized_expression "(iVar2 == 1)" ( (binary_expression "iVar2 == 1" identifier == number_literal) )) (compound_statement "{\n        iVar6 = iVar6 + 4;\n      }" { (expression_statement "iVar6 = iVar6 + 4;" (assignment_expression "iVar6 = iVar6 + 4" identifier = (binary_expression "iVar6 + 4" identifier + number_literal)) ;) })) }) (else_clause "else if (iVar2 == 3) {\n      iVar2 = (**(code **)(puVar10 + 0x9e37c))(piVar1[2],0);\n      iVar6 = iVar6 + iVar2;\n    }\n    else if (iVar2 == 4) {\n      iVar2 = (**(code **)(puVar10 + 0x9e378))(piVar1[2],0);\n      iVar6 = iVar6 + iVar2;\n    }" else (if_statement "if (iVar2 == 3) {\n      iVar2 = (**(code **)(puVar10 + 0x9e37c))(piVar1[2],0);\n      iVar6 = iVar6 + iVar2;\n    }\n    else if (iVar2 == 4) {\n      iVar2 = (**(code **)(puVar10 + 0x9e378))(piVar1[2],0);\n      iVar6 = iVar6 + iVar2;\n    }" if (parenthesized_expression "(iVar2 == 3)" ( (binary_expression "iVar2 == 3" identifier == number_literal) )) (compound_statement "{\n      iVar2 = (**(code **)(puVar10 + 0x9e37c))(piVar1[2],0);\n      iVar6 = iVar6 + iVar2;\n    }" { (expression_statement "iVar2 = (**(code **)(puVar10 + 0x9e37c))(piVar1[2],0);" (assignment_expression "iVar2 = (**(code **)(puVar10 + 0x9e37c))(piVar1[2],0)" identifier = (call_expression "(**(code **)(puVar10 + 0x9e37c))(piVar1[2],0)" (parenthesized_expression "(**(code **)(puVar10 + 0x9e37c))" ( (pointer_expression "**(code **)(puVar10 + 0x9e37c)" * (pointer_expression "*(code **)(puVar10 + 0x9e37c)" * (cast_expression "(code **)(puVar10 + 0x9e37c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar10 + 0x9e37c)" ( (binary_expression "puVar10 + 0x9e37c" identifier + number_literal) ))))) )) (argument_list "(piVar1[2],0)" ( (subscript_expression "piVar1[2]" identifier [ number_literal ]) , number_literal )))) ;) (expression_statement "iVar6 = iVar6 + iVar2;" (assignment_expression "iVar6 = iVar6 + iVar2" identifier = (binary_expression "iVar6 + iVar2" identifier + identifier)) ;) }) (else_clause "else if (iVar2 == 4) {\n      iVar2 = (**(code **)(puVar10 + 0x9e378))(piVar1[2],0);\n      iVar6 = iVar6 + iVar2;\n    }" else (if_statement "if (iVar2 == 4) {\n      iVar2 = (**(code **)(puVar10 + 0x9e378))(piVar1[2],0);\n      iVar6 = iVar6 + iVar2;\n    }" if (parenthesized_expression "(iVar2 == 4)" ( (binary_expression "iVar2 == 4" identifier == number_literal) )) (compound_statement "{\n      iVar2 = (**(code **)(puVar10 + 0x9e378))(piVar1[2],0);\n      iVar6 = iVar6 + iVar2;\n    }" { (expression_statement "iVar2 = (**(code **)(puVar10 + 0x9e378))(piVar1[2],0);" (assignment_expression "iVar2 = (**(code **)(puVar10 + 0x9e378))(piVar1[2],0)" identifier = (call_expression "(**(code **)(puVar10 + 0x9e378))(piVar1[2],0)" (parenthesized_expression "(**(code **)(puVar10 + 0x9e378))" ( (pointer_expression "**(code **)(puVar10 + 0x9e378)" * (pointer_expression "*(code **)(puVar10 + 0x9e378)" * (cast_expression "(code **)(puVar10 + 0x9e378)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar10 + 0x9e378)" ( (binary_expression "puVar10 + 0x9e378" identifier + number_literal) ))))) )) (argument_list "(piVar1[2],0)" ( (subscript_expression "piVar1[2]" identifier [ number_literal ]) , number_literal )))) ;) (expression_statement "iVar6 = iVar6 + iVar2;" (assignment_expression "iVar6 = iVar6 + iVar2" identifier = (binary_expression "iVar6 + iVar2" identifier + identifier)) ;) })))))))) (expression_statement "iVar7 = iVar7 + 1;" (assignment_expression "iVar7 = iVar7 + 1" identifier = (binary_expression "iVar7 + 1" identifier + number_literal)) ;) (expression_statement "iVar2 = iVar6;" (assignment_expression "iVar2 = iVar6" identifier = identifier) ;) })) (return_statement "return iVar2 + 4;" return (binary_expression "iVar2 + 4" identifier + number_literal) ;) })))
(translation_unit "void conf_set_fontspec(Conf *conf,int primary,FontSpec *value)\n\n{\n                    /* WARNING: Subroutine does not return */\n  safemalloc(1,0xc);\n}\n\n" (function_definition "void conf_set_fontspec(Conf *conf,int primary,FontSpec *value)\n\n{\n                    /* WARNING: Subroutine does not return */\n  safemalloc(1,0xc);\n}" primitive_type (function_declarator "conf_set_fontspec(Conf *conf,int primary,FontSpec *value)" identifier (parameter_list "(Conf *conf,int primary,FontSpec *value)" ( (parameter_declaration "Conf *conf" type_identifier (pointer_declarator "*conf" * identifier)) , (parameter_declaration "int primary" primitive_type identifier) , (parameter_declaration "FontSpec *value" type_identifier (pointer_declarator "*value" * identifier)) ))) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n  safemalloc(1,0xc);\n}" { comment (expression_statement "safemalloc(1,0xc);" (call_expression "safemalloc(1,0xc)" identifier (argument_list "(1,0xc)" ( number_literal , number_literal ))) ;) })))
(translation_unit "int conf_set_fontspec(undefined4 param_1,int param_2,undefined4 param_3)\n\n{\n  int *piVar1;\n  int iVar2;\n  int iVar3;\n  undefined4 *puVar4;\n  int iVar5;\n  int iVar6;\n  int iVar7;\n  int iVar8;\n  int iVar9;\n  undefined *puVar10;\n  \n  piVar1 = (int *)safemalloc(1,0xc);\n  if (*(int *)(PTR_s_Server_sent_command_exit_status___000bc188 + param_2 * 4 + -0x676c) == 0) {\n    if (*(int *)(PTR_s_Server_sent_command_exit_status___000bc188 + param_2 * 4 + -0x6a4c) == 4) {\n      *piVar1 = param_2;\n      iVar2 = (*(code *)PTR_fontspec_copy_000bc24c)(param_3);\n      piVar1[2] = iVar2;\n      iVar2 = FUN_0001c8cc(param_1,piVar1);\n      return iVar2;\n    }\n  }\n  else {\n    (*(code *)PTR___assert_fail_000bcb00)\n              (PTR_s_Server_sent_command_exit_status___000bc188 + -0x6c94,\n               PTR_s_Server_sent_command_exit_status___000bc188 + -0x6cb0,0x1d1,\n               PTR_s_Server_sent_command_exit_status___000bc188 + -0x6b90);\n  }\n  puVar4 = (undefined4 *)(PTR_s_Server_sent_command_exit_status___000bc188 + -0x6bbc);\n  puVar10 = PTR___assert_fail_000bcb00;\n  (*(code *)PTR___assert_fail_000bcb00)\n            (puVar4,PTR_s_Server_sent_command_exit_status___000bc188 + -0x6cb0,0x1d2,\n             PTR_s_Server_sent_command_exit_status___000bc188 + -0x6b90);\n  iVar7 = 0;\n  iVar8 = *(int *)(puVar10 + 0x9e294);\n  iVar9 = *(int *)(puVar10 + 0x9e294);\n  iVar2 = 0;\n  while( true ) {\n    piVar1 = (int *)(**(code **)(puVar10 + 0x9e354))(*puVar4,iVar7);\n    if (piVar1 == (int *)0x0) break;\n    iVar5 = *piVar1;\n    iVar3 = *(int *)(iVar5 * 4 + iVar8 + -0x676c);\n    iVar6 = iVar2 + 4;\n    if (iVar3 == 1) {\n      iVar6 = iVar2 + 8;\n    }\n    else if (iVar3 == 2) {\n      iVar6 = (**(code **)(puVar10 + 0x9ed30))(piVar1[1]);\n      iVar6 = iVar2 + 5 + iVar6;\n    }\n    iVar2 = *(int *)(iVar5 * 4 + iVar9 + -0x6a4c);\n    if (iVar2 == 2) {\n      iVar2 = (**(code **)(puVar10 + 0x9ed30))(piVar1[2]);\n      iVar6 = iVar6 + 1 + iVar2;\n    }\n    else if (iVar2 < 3) {\n      if (iVar2 == 1) {\n        iVar6 = iVar6 + 4;\n      }\n    }\n    else if (iVar2 == 3) {\n      iVar2 = (**(code **)(puVar10 + 0x9e37c))(piVar1[2],0);\n      iVar6 = iVar6 + iVar2;\n    }\n    else if (iVar2 == 4) {\n      iVar2 = (**(code **)(puVar10 + 0x9e378))(piVar1[2],0);\n      iVar6 = iVar6 + iVar2;\n    }\n    iVar7 = iVar7 + 1;\n    iVar2 = iVar6;\n  }\n  return iVar2 + 4;\n}\n\n" (function_definition "int conf_set_fontspec(undefined4 param_1,int param_2,undefined4 param_3)\n\n{\n  int *piVar1;\n  int iVar2;\n  int iVar3;\n  undefined4 *puVar4;\n  int iVar5;\n  int iVar6;\n  int iVar7;\n  int iVar8;\n  int iVar9;\n  undefined *puVar10;\n  \n  piVar1 = (int *)safemalloc(1,0xc);\n  if (*(int *)(PTR_s_Server_sent_command_exit_status___000bc188 + param_2 * 4 + -0x676c) == 0) {\n    if (*(int *)(PTR_s_Server_sent_command_exit_status___000bc188 + param_2 * 4 + -0x6a4c) == 4) {\n      *piVar1 = param_2;\n      iVar2 = (*(code *)PTR_fontspec_copy_000bc24c)(param_3);\n      piVar1[2] = iVar2;\n      iVar2 = FUN_0001c8cc(param_1,piVar1);\n      return iVar2;\n    }\n  }\n  else {\n    (*(code *)PTR___assert_fail_000bcb00)\n              (PTR_s_Server_sent_command_exit_status___000bc188 + -0x6c94,\n               PTR_s_Server_sent_command_exit_status___000bc188 + -0x6cb0,0x1d1,\n               PTR_s_Server_sent_command_exit_status___000bc188 + -0x6b90);\n  }\n  puVar4 = (undefined4 *)(PTR_s_Server_sent_command_exit_status___000bc188 + -0x6bbc);\n  puVar10 = PTR___assert_fail_000bcb00;\n  (*(code *)PTR___assert_fail_000bcb00)\n            (puVar4,PTR_s_Server_sent_command_exit_status___000bc188 + -0x6cb0,0x1d2,\n             PTR_s_Server_sent_command_exit_status___000bc188 + -0x6b90);\n  iVar7 = 0;\n  iVar8 = *(int *)(puVar10 + 0x9e294);\n  iVar9 = *(int *)(puVar10 + 0x9e294);\n  iVar2 = 0;\n  while( true ) {\n    piVar1 = (int *)(**(code **)(puVar10 + 0x9e354))(*puVar4,iVar7);\n    if (piVar1 == (int *)0x0) break;\n    iVar5 = *piVar1;\n    iVar3 = *(int *)(iVar5 * 4 + iVar8 + -0x676c);\n    iVar6 = iVar2 + 4;\n    if (iVar3 == 1) {\n      iVar6 = iVar2 + 8;\n    }\n    else if (iVar3 == 2) {\n      iVar6 = (**(code **)(puVar10 + 0x9ed30))(piVar1[1]);\n      iVar6 = iVar2 + 5 + iVar6;\n    }\n    iVar2 = *(int *)(iVar5 * 4 + iVar9 + -0x6a4c);\n    if (iVar2 == 2) {\n      iVar2 = (**(code **)(puVar10 + 0x9ed30))(piVar1[2]);\n      iVar6 = iVar6 + 1 + iVar2;\n    }\n    else if (iVar2 < 3) {\n      if (iVar2 == 1) {\n        iVar6 = iVar6 + 4;\n      }\n    }\n    else if (iVar2 == 3) {\n      iVar2 = (**(code **)(puVar10 + 0x9e37c))(piVar1[2],0);\n      iVar6 = iVar6 + iVar2;\n    }\n    else if (iVar2 == 4) {\n      iVar2 = (**(code **)(puVar10 + 0x9e378))(piVar1[2],0);\n      iVar6 = iVar6 + iVar2;\n    }\n    iVar7 = iVar7 + 1;\n    iVar2 = iVar6;\n  }\n  return iVar2 + 4;\n}" primitive_type (function_declarator "conf_set_fontspec(undefined4 param_1,int param_2,undefined4 param_3)" identifier (parameter_list "(undefined4 param_1,int param_2,undefined4 param_3)" ( (parameter_declaration "undefined4 param_1" type_identifier identifier) , (parameter_declaration "int param_2" primitive_type identifier) , (parameter_declaration "undefined4 param_3" type_identifier identifier) ))) (compound_statement "{\n  int *piVar1;\n  int iVar2;\n  int iVar3;\n  undefined4 *puVar4;\n  int iVar5;\n  int iVar6;\n  int iVar7;\n  int iVar8;\n  int iVar9;\n  undefined *puVar10;\n  \n  piVar1 = (int *)safemalloc(1,0xc);\n  if (*(int *)(PTR_s_Server_sent_command_exit_status___000bc188 + param_2 * 4 + -0x676c) == 0) {\n    if (*(int *)(PTR_s_Server_sent_command_exit_status___000bc188 + param_2 * 4 + -0x6a4c) == 4) {\n      *piVar1 = param_2;\n      iVar2 = (*(code *)PTR_fontspec_copy_000bc24c)(param_3);\n      piVar1[2] = iVar2;\n      iVar2 = FUN_0001c8cc(param_1,piVar1);\n      return iVar2;\n    }\n  }\n  else {\n    (*(code *)PTR___assert_fail_000bcb00)\n              (PTR_s_Server_sent_command_exit_status___000bc188 + -0x6c94,\n               PTR_s_Server_sent_command_exit_status___000bc188 + -0x6cb0,0x1d1,\n               PTR_s_Server_sent_command_exit_status___000bc188 + -0x6b90);\n  }\n  puVar4 = (undefined4 *)(PTR_s_Server_sent_command_exit_status___000bc188 + -0x6bbc);\n  puVar10 = PTR___assert_fail_000bcb00;\n  (*(code *)PTR___assert_fail_000bcb00)\n            (puVar4,PTR_s_Server_sent_command_exit_status___000bc188 + -0x6cb0,0x1d2,\n             PTR_s_Server_sent_command_exit_status___000bc188 + -0x6b90);\n  iVar7 = 0;\n  iVar8 = *(int *)(puVar10 + 0x9e294);\n  iVar9 = *(int *)(puVar10 + 0x9e294);\n  iVar2 = 0;\n  while( true ) {\n    piVar1 = (int *)(**(code **)(puVar10 + 0x9e354))(*puVar4,iVar7);\n    if (piVar1 == (int *)0x0) break;\n    iVar5 = *piVar1;\n    iVar3 = *(int *)(iVar5 * 4 + iVar8 + -0x676c);\n    iVar6 = iVar2 + 4;\n    if (iVar3 == 1) {\n      iVar6 = iVar2 + 8;\n    }\n    else if (iVar3 == 2) {\n      iVar6 = (**(code **)(puVar10 + 0x9ed30))(piVar1[1]);\n      iVar6 = iVar2 + 5 + iVar6;\n    }\n    iVar2 = *(int *)(iVar5 * 4 + iVar9 + -0x6a4c);\n    if (iVar2 == 2) {\n      iVar2 = (**(code **)(puVar10 + 0x9ed30))(piVar1[2]);\n      iVar6 = iVar6 + 1 + iVar2;\n    }\n    else if (iVar2 < 3) {\n      if (iVar2 == 1) {\n        iVar6 = iVar6 + 4;\n      }\n    }\n    else if (iVar2 == 3) {\n      iVar2 = (**(code **)(puVar10 + 0x9e37c))(piVar1[2],0);\n      iVar6 = iVar6 + iVar2;\n    }\n    else if (iVar2 == 4) {\n      iVar2 = (**(code **)(puVar10 + 0x9e378))(piVar1[2],0);\n      iVar6 = iVar6 + iVar2;\n    }\n    iVar7 = iVar7 + 1;\n    iVar2 = iVar6;\n  }\n  return iVar2 + 4;\n}" { (declaration "int *piVar1;" primitive_type (pointer_declarator "*piVar1" * identifier) ;) (declaration "int iVar2;" primitive_type identifier ;) (declaration "int iVar3;" primitive_type identifier ;) (declaration "undefined4 *puVar4;" type_identifier (pointer_declarator "*puVar4" * identifier) ;) (declaration "int iVar5;" primitive_type identifier ;) (declaration "int iVar6;" primitive_type identifier ;) (declaration "int iVar7;" primitive_type identifier ;) (declaration "int iVar8;" primitive_type identifier ;) (declaration "int iVar9;" primitive_type identifier ;) (declaration "undefined *puVar10;" type_identifier (pointer_declarator "*puVar10" * identifier) ;) (expression_statement "piVar1 = (int *)safemalloc(1,0xc);" (assignment_expression "piVar1 = (int *)safemalloc(1,0xc)" identifier = (cast_expression "(int *)safemalloc(1,0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "safemalloc(1,0xc)" identifier (argument_list "(1,0xc)" ( number_literal , number_literal ))))) ;) (if_statement "if (*(int *)(PTR_s_Server_sent_command_exit_status___000bc188 + param_2 * 4 + -0x676c) == 0) {\n    if (*(int *)(PTR_s_Server_sent_command_exit_status___000bc188 + param_2 * 4 + -0x6a4c) == 4) {\n      *piVar1 = param_2;\n      iVar2 = (*(code *)PTR_fontspec_copy_000bc24c)(param_3);\n      piVar1[2] = iVar2;\n      iVar2 = FUN_0001c8cc(param_1,piVar1);\n      return iVar2;\n    }\n  }\n  else {\n    (*(code *)PTR___assert_fail_000bcb00)\n              (PTR_s_Server_sent_command_exit_status___000bc188 + -0x6c94,\n               PTR_s_Server_sent_command_exit_status___000bc188 + -0x6cb0,0x1d1,\n               PTR_s_Server_sent_command_exit_status___000bc188 + -0x6b90);\n  }" if (parenthesized_expression "(*(int *)(PTR_s_Server_sent_command_exit_status___000bc188 + param_2 * 4 + -0x676c) == 0)" ( (binary_expression "*(int *)(PTR_s_Server_sent_command_exit_status___000bc188 + param_2 * 4 + -0x676c) == 0" (pointer_expression "*(int *)(PTR_s_Server_sent_command_exit_status___000bc188 + param_2 * 4 + -0x676c)" * (cast_expression "(int *)(PTR_s_Server_sent_command_exit_status___000bc188 + param_2 * 4 + -0x676c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_s_Server_sent_command_exit_status___000bc188 + param_2 * 4 + -0x676c)" ( (binary_expression "PTR_s_Server_sent_command_exit_status___000bc188 + param_2 * 4 + -0x676c" (binary_expression "PTR_s_Server_sent_command_exit_status___000bc188 + param_2 * 4" identifier + (binary_expression "param_2 * 4" identifier * number_literal)) + number_literal) )))) == number_literal) )) (compound_statement "{\n    if (*(int *)(PTR_s_Server_sent_command_exit_status___000bc188 + param_2 * 4 + -0x6a4c) == 4) {\n      *piVar1 = param_2;\n      iVar2 = (*(code *)PTR_fontspec_copy_000bc24c)(param_3);\n      piVar1[2] = iVar2;\n      iVar2 = FUN_0001c8cc(param_1,piVar1);\n      return iVar2;\n    }\n  }" { (if_statement "if (*(int *)(PTR_s_Server_sent_command_exit_status___000bc188 + param_2 * 4 + -0x6a4c) == 4) {\n      *piVar1 = param_2;\n      iVar2 = (*(code *)PTR_fontspec_copy_000bc24c)(param_3);\n      piVar1[2] = iVar2;\n      iVar2 = FUN_0001c8cc(param_1,piVar1);\n      return iVar2;\n    }" if (parenthesized_expression "(*(int *)(PTR_s_Server_sent_command_exit_status___000bc188 + param_2 * 4 + -0x6a4c) == 4)" ( (binary_expression "*(int *)(PTR_s_Server_sent_command_exit_status___000bc188 + param_2 * 4 + -0x6a4c) == 4" (pointer_expression "*(int *)(PTR_s_Server_sent_command_exit_status___000bc188 + param_2 * 4 + -0x6a4c)" * (cast_expression "(int *)(PTR_s_Server_sent_command_exit_status___000bc188 + param_2 * 4 + -0x6a4c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_s_Server_sent_command_exit_status___000bc188 + param_2 * 4 + -0x6a4c)" ( (binary_expression "PTR_s_Server_sent_command_exit_status___000bc188 + param_2 * 4 + -0x6a4c" (binary_expression "PTR_s_Server_sent_command_exit_status___000bc188 + param_2 * 4" identifier + (binary_expression "param_2 * 4" identifier * number_literal)) + number_literal) )))) == number_literal) )) (compound_statement "{\n      *piVar1 = param_2;\n      iVar2 = (*(code *)PTR_fontspec_copy_000bc24c)(param_3);\n      piVar1[2] = iVar2;\n      iVar2 = FUN_0001c8cc(param_1,piVar1);\n      return iVar2;\n    }" { (expression_statement "*piVar1 = param_2;" (assignment_expression "*piVar1 = param_2" (pointer_expression "*piVar1" * identifier) = identifier) ;) (expression_statement "iVar2 = (*(code *)PTR_fontspec_copy_000bc24c)(param_3);" (assignment_expression "iVar2 = (*(code *)PTR_fontspec_copy_000bc24c)(param_3)" identifier = (call_expression "(*(code *)PTR_fontspec_copy_000bc24c)(param_3)" (parenthesized_expression "(*(code *)PTR_fontspec_copy_000bc24c)" ( (pointer_expression "*(code *)PTR_fontspec_copy_000bc24c" * (cast_expression "(code *)PTR_fontspec_copy_000bc24c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_3)" ( identifier )))) ;) (expression_statement "piVar1[2] = iVar2;" (assignment_expression "piVar1[2] = iVar2" (subscript_expression "piVar1[2]" identifier [ number_literal ]) = identifier) ;) (expression_statement "iVar2 = FUN_0001c8cc(param_1,piVar1);" (assignment_expression "iVar2 = FUN_0001c8cc(param_1,piVar1)" identifier = (call_expression "FUN_0001c8cc(param_1,piVar1)" identifier (argument_list "(param_1,piVar1)" ( identifier , identifier )))) ;) (return_statement "return iVar2;" return identifier ;) })) }) (else_clause "else {\n    (*(code *)PTR___assert_fail_000bcb00)\n              (PTR_s_Server_sent_command_exit_status___000bc188 + -0x6c94,\n               PTR_s_Server_sent_command_exit_status___000bc188 + -0x6cb0,0x1d1,\n               PTR_s_Server_sent_command_exit_status___000bc188 + -0x6b90);\n  }" else (compound_statement "{\n    (*(code *)PTR___assert_fail_000bcb00)\n              (PTR_s_Server_sent_command_exit_status___000bc188 + -0x6c94,\n               PTR_s_Server_sent_command_exit_status___000bc188 + -0x6cb0,0x1d1,\n               PTR_s_Server_sent_command_exit_status___000bc188 + -0x6b90);\n  }" { (expression_statement "(*(code *)PTR___assert_fail_000bcb00)\n              (PTR_s_Server_sent_command_exit_status___000bc188 + -0x6c94,\n               PTR_s_Server_sent_command_exit_status___000bc188 + -0x6cb0,0x1d1,\n               PTR_s_Server_sent_command_exit_status___000bc188 + -0x6b90);" (call_expression "(*(code *)PTR___assert_fail_000bcb00)\n              (PTR_s_Server_sent_command_exit_status___000bc188 + -0x6c94,\n               PTR_s_Server_sent_command_exit_status___000bc188 + -0x6cb0,0x1d1,\n               PTR_s_Server_sent_command_exit_status___000bc188 + -0x6b90)" (parenthesized_expression "(*(code *)PTR___assert_fail_000bcb00)" ( (pointer_expression "*(code *)PTR___assert_fail_000bcb00" * (cast_expression "(code *)PTR___assert_fail_000bcb00" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_s_Server_sent_command_exit_status___000bc188 + -0x6c94,\n               PTR_s_Server_sent_command_exit_status___000bc188 + -0x6cb0,0x1d1,\n               PTR_s_Server_sent_command_exit_status___000bc188 + -0x6b90)" ( (binary_expression "PTR_s_Server_sent_command_exit_status___000bc188 + -0x6c94" identifier + number_literal) , (binary_expression "PTR_s_Server_sent_command_exit_status___000bc188 + -0x6cb0" identifier + number_literal) , number_literal , (binary_expression "PTR_s_Server_sent_command_exit_status___000bc188 + -0x6b90" identifier + number_literal) ))) ;) }))) (expression_statement "puVar4 = (undefined4 *)(PTR_s_Server_sent_command_exit_status___000bc188 + -0x6bbc);" (assignment_expression "puVar4 = (undefined4 *)(PTR_s_Server_sent_command_exit_status___000bc188 + -0x6bbc)" identifier = (cast_expression "(undefined4 *)(PTR_s_Server_sent_command_exit_status___000bc188 + -0x6bbc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_s_Server_sent_command_exit_status___000bc188 + -0x6bbc)" ( (binary_expression "PTR_s_Server_sent_command_exit_status___000bc188 + -0x6bbc" identifier + number_literal) )))) ;) (expression_statement "puVar10 = PTR___assert_fail_000bcb00;" (assignment_expression "puVar10 = PTR___assert_fail_000bcb00" identifier = identifier) ;) (expression_statement "(*(code *)PTR___assert_fail_000bcb00)\n            (puVar4,PTR_s_Server_sent_command_exit_status___000bc188 + -0x6cb0,0x1d2,\n             PTR_s_Server_sent_command_exit_status___000bc188 + -0x6b90);" (call_expression "(*(code *)PTR___assert_fail_000bcb00)\n            (puVar4,PTR_s_Server_sent_command_exit_status___000bc188 + -0x6cb0,0x1d2,\n             PTR_s_Server_sent_command_exit_status___000bc188 + -0x6b90)" (parenthesized_expression "(*(code *)PTR___assert_fail_000bcb00)" ( (pointer_expression "*(code *)PTR___assert_fail_000bcb00" * (cast_expression "(code *)PTR___assert_fail_000bcb00" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar4,PTR_s_Server_sent_command_exit_status___000bc188 + -0x6cb0,0x1d2,\n             PTR_s_Server_sent_command_exit_status___000bc188 + -0x6b90)" ( identifier , (binary_expression "PTR_s_Server_sent_command_exit_status___000bc188 + -0x6cb0" identifier + number_literal) , number_literal , (binary_expression "PTR_s_Server_sent_command_exit_status___000bc188 + -0x6b90" identifier + number_literal) ))) ;) (expression_statement "iVar7 = 0;" (assignment_expression "iVar7 = 0" identifier = number_literal) ;) (expression_statement "iVar8 = *(int *)(puVar10 + 0x9e294);" (assignment_expression "iVar8 = *(int *)(puVar10 + 0x9e294)" identifier = (pointer_expression "*(int *)(puVar10 + 0x9e294)" * (cast_expression "(int *)(puVar10 + 0x9e294)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + 0x9e294)" ( (binary_expression "puVar10 + 0x9e294" identifier + number_literal) ))))) ;) (expression_statement "iVar9 = *(int *)(puVar10 + 0x9e294);" (assignment_expression "iVar9 = *(int *)(puVar10 + 0x9e294)" identifier = (pointer_expression "*(int *)(puVar10 + 0x9e294)" * (cast_expression "(int *)(puVar10 + 0x9e294)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + 0x9e294)" ( (binary_expression "puVar10 + 0x9e294" identifier + number_literal) ))))) ;) (expression_statement "iVar2 = 0;" (assignment_expression "iVar2 = 0" identifier = number_literal) ;) (while_statement "while( true ) {\n    piVar1 = (int *)(**(code **)(puVar10 + 0x9e354))(*puVar4,iVar7);\n    if (piVar1 == (int *)0x0) break;\n    iVar5 = *piVar1;\n    iVar3 = *(int *)(iVar5 * 4 + iVar8 + -0x676c);\n    iVar6 = iVar2 + 4;\n    if (iVar3 == 1) {\n      iVar6 = iVar2 + 8;\n    }\n    else if (iVar3 == 2) {\n      iVar6 = (**(code **)(puVar10 + 0x9ed30))(piVar1[1]);\n      iVar6 = iVar2 + 5 + iVar6;\n    }\n    iVar2 = *(int *)(iVar5 * 4 + iVar9 + -0x6a4c);\n    if (iVar2 == 2) {\n      iVar2 = (**(code **)(puVar10 + 0x9ed30))(piVar1[2]);\n      iVar6 = iVar6 + 1 + iVar2;\n    }\n    else if (iVar2 < 3) {\n      if (iVar2 == 1) {\n        iVar6 = iVar6 + 4;\n      }\n    }\n    else if (iVar2 == 3) {\n      iVar2 = (**(code **)(puVar10 + 0x9e37c))(piVar1[2],0);\n      iVar6 = iVar6 + iVar2;\n    }\n    else if (iVar2 == 4) {\n      iVar2 = (**(code **)(puVar10 + 0x9e378))(piVar1[2],0);\n      iVar6 = iVar6 + iVar2;\n    }\n    iVar7 = iVar7 + 1;\n    iVar2 = iVar6;\n  }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n    piVar1 = (int *)(**(code **)(puVar10 + 0x9e354))(*puVar4,iVar7);\n    if (piVar1 == (int *)0x0) break;\n    iVar5 = *piVar1;\n    iVar3 = *(int *)(iVar5 * 4 + iVar8 + -0x676c);\n    iVar6 = iVar2 + 4;\n    if (iVar3 == 1) {\n      iVar6 = iVar2 + 8;\n    }\n    else if (iVar3 == 2) {\n      iVar6 = (**(code **)(puVar10 + 0x9ed30))(piVar1[1]);\n      iVar6 = iVar2 + 5 + iVar6;\n    }\n    iVar2 = *(int *)(iVar5 * 4 + iVar9 + -0x6a4c);\n    if (iVar2 == 2) {\n      iVar2 = (**(code **)(puVar10 + 0x9ed30))(piVar1[2]);\n      iVar6 = iVar6 + 1 + iVar2;\n    }\n    else if (iVar2 < 3) {\n      if (iVar2 == 1) {\n        iVar6 = iVar6 + 4;\n      }\n    }\n    else if (iVar2 == 3) {\n      iVar2 = (**(code **)(puVar10 + 0x9e37c))(piVar1[2],0);\n      iVar6 = iVar6 + iVar2;\n    }\n    else if (iVar2 == 4) {\n      iVar2 = (**(code **)(puVar10 + 0x9e378))(piVar1[2],0);\n      iVar6 = iVar6 + iVar2;\n    }\n    iVar7 = iVar7 + 1;\n    iVar2 = iVar6;\n  }" { (expression_statement "piVar1 = (int *)(**(code **)(puVar10 + 0x9e354))(*puVar4,iVar7);" (assignment_expression "piVar1 = (int *)(**(code **)(puVar10 + 0x9e354))(*puVar4,iVar7)" identifier = (cast_expression "(int *)(**(code **)(puVar10 + 0x9e354))(*puVar4,iVar7)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(puVar10 + 0x9e354))(*puVar4,iVar7)" (parenthesized_expression "(**(code **)(puVar10 + 0x9e354))" ( (pointer_expression "**(code **)(puVar10 + 0x9e354)" * (pointer_expression "*(code **)(puVar10 + 0x9e354)" * (cast_expression "(code **)(puVar10 + 0x9e354)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar10 + 0x9e354)" ( (binary_expression "puVar10 + 0x9e354" identifier + number_literal) ))))) )) (argument_list "(*puVar4,iVar7)" ( (pointer_expression "*puVar4" * identifier) , identifier ))))) ;) (if_statement "if (piVar1 == (int *)0x0) break;" if (parenthesized_expression "(piVar1 == (int *)0x0)" ( (binary_expression "piVar1 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (break_statement "break;" break ;)) (expression_statement "iVar5 = *piVar1;" (assignment_expression "iVar5 = *piVar1" identifier = (pointer_expression "*piVar1" * identifier)) ;) (expression_statement "iVar3 = *(int *)(iVar5 * 4 + iVar8 + -0x676c);" (assignment_expression "iVar3 = *(int *)(iVar5 * 4 + iVar8 + -0x676c)" identifier = (pointer_expression "*(int *)(iVar5 * 4 + iVar8 + -0x676c)" * (cast_expression "(int *)(iVar5 * 4 + iVar8 + -0x676c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 * 4 + iVar8 + -0x676c)" ( (binary_expression "iVar5 * 4 + iVar8 + -0x676c" (binary_expression "iVar5 * 4 + iVar8" (binary_expression "iVar5 * 4" identifier * number_literal) + identifier) + number_literal) ))))) ;) (expression_statement "iVar6 = iVar2 + 4;" (assignment_expression "iVar6 = iVar2 + 4" identifier = (binary_expression "iVar2 + 4" identifier + number_literal)) ;) (if_statement "if (iVar3 == 1) {\n      iVar6 = iVar2 + 8;\n    }\n    else if (iVar3 == 2) {\n      iVar6 = (**(code **)(puVar10 + 0x9ed30))(piVar1[1]);\n      iVar6 = iVar2 + 5 + iVar6;\n    }" if (parenthesized_expression "(iVar3 == 1)" ( (binary_expression "iVar3 == 1" identifier == number_literal) )) (compound_statement "{\n      iVar6 = iVar2 + 8;\n    }" { (expression_statement "iVar6 = iVar2 + 8;" (assignment_expression "iVar6 = iVar2 + 8" identifier = (binary_expression "iVar2 + 8" identifier + number_literal)) ;) }) (else_clause "else if (iVar3 == 2) {\n      iVar6 = (**(code **)(puVar10 + 0x9ed30))(piVar1[1]);\n      iVar6 = iVar2 + 5 + iVar6;\n    }" else (if_statement "if (iVar3 == 2) {\n      iVar6 = (**(code **)(puVar10 + 0x9ed30))(piVar1[1]);\n      iVar6 = iVar2 + 5 + iVar6;\n    }" if (parenthesized_expression "(iVar3 == 2)" ( (binary_expression "iVar3 == 2" identifier == number_literal) )) (compound_statement "{\n      iVar6 = (**(code **)(puVar10 + 0x9ed30))(piVar1[1]);\n      iVar6 = iVar2 + 5 + iVar6;\n    }" { (expression_statement "iVar6 = (**(code **)(puVar10 + 0x9ed30))(piVar1[1]);" (assignment_expression "iVar6 = (**(code **)(puVar10 + 0x9ed30))(piVar1[1])" identifier = (call_expression "(**(code **)(puVar10 + 0x9ed30))(piVar1[1])" (parenthesized_expression "(**(code **)(puVar10 + 0x9ed30))" ( (pointer_expression "**(code **)(puVar10 + 0x9ed30)" * (pointer_expression "*(code **)(puVar10 + 0x9ed30)" * (cast_expression "(code **)(puVar10 + 0x9ed30)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar10 + 0x9ed30)" ( (binary_expression "puVar10 + 0x9ed30" identifier + number_literal) ))))) )) (argument_list "(piVar1[1])" ( (subscript_expression "piVar1[1]" identifier [ number_literal ]) )))) ;) (expression_statement "iVar6 = iVar2 + 5 + iVar6;" (assignment_expression "iVar6 = iVar2 + 5 + iVar6" identifier = (binary_expression "iVar2 + 5 + iVar6" (binary_expression "iVar2 + 5" identifier + number_literal) + identifier)) ;) })))) (expression_statement "iVar2 = *(int *)(iVar5 * 4 + iVar9 + -0x6a4c);" (assignment_expression "iVar2 = *(int *)(iVar5 * 4 + iVar9 + -0x6a4c)" identifier = (pointer_expression "*(int *)(iVar5 * 4 + iVar9 + -0x6a4c)" * (cast_expression "(int *)(iVar5 * 4 + iVar9 + -0x6a4c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 * 4 + iVar9 + -0x6a4c)" ( (binary_expression "iVar5 * 4 + iVar9 + -0x6a4c" (binary_expression "iVar5 * 4 + iVar9" (binary_expression "iVar5 * 4" identifier * number_literal) + identifier) + number_literal) ))))) ;) (if_statement "if (iVar2 == 2) {\n      iVar2 = (**(code **)(puVar10 + 0x9ed30))(piVar1[2]);\n      iVar6 = iVar6 + 1 + iVar2;\n    }\n    else if (iVar2 < 3) {\n      if (iVar2 == 1) {\n        iVar6 = iVar6 + 4;\n      }\n    }\n    else if (iVar2 == 3) {\n      iVar2 = (**(code **)(puVar10 + 0x9e37c))(piVar1[2],0);\n      iVar6 = iVar6 + iVar2;\n    }\n    else if (iVar2 == 4) {\n      iVar2 = (**(code **)(puVar10 + 0x9e378))(piVar1[2],0);\n      iVar6 = iVar6 + iVar2;\n    }" if (parenthesized_expression "(iVar2 == 2)" ( (binary_expression "iVar2 == 2" identifier == number_literal) )) (compound_statement "{\n      iVar2 = (**(code **)(puVar10 + 0x9ed30))(piVar1[2]);\n      iVar6 = iVar6 + 1 + iVar2;\n    }" { (expression_statement "iVar2 = (**(code **)(puVar10 + 0x9ed30))(piVar1[2]);" (assignment_expression "iVar2 = (**(code **)(puVar10 + 0x9ed30))(piVar1[2])" identifier = (call_expression "(**(code **)(puVar10 + 0x9ed30))(piVar1[2])" (parenthesized_expression "(**(code **)(puVar10 + 0x9ed30))" ( (pointer_expression "**(code **)(puVar10 + 0x9ed30)" * (pointer_expression "*(code **)(puVar10 + 0x9ed30)" * (cast_expression "(code **)(puVar10 + 0x9ed30)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar10 + 0x9ed30)" ( (binary_expression "puVar10 + 0x9ed30" identifier + number_literal) ))))) )) (argument_list "(piVar1[2])" ( (subscript_expression "piVar1[2]" identifier [ number_literal ]) )))) ;) (expression_statement "iVar6 = iVar6 + 1 + iVar2;" (assignment_expression "iVar6 = iVar6 + 1 + iVar2" identifier = (binary_expression "iVar6 + 1 + iVar2" (binary_expression "iVar6 + 1" identifier + number_literal) + identifier)) ;) }) (else_clause "else if (iVar2 < 3) {\n      if (iVar2 == 1) {\n        iVar6 = iVar6 + 4;\n      }\n    }\n    else if (iVar2 == 3) {\n      iVar2 = (**(code **)(puVar10 + 0x9e37c))(piVar1[2],0);\n      iVar6 = iVar6 + iVar2;\n    }\n    else if (iVar2 == 4) {\n      iVar2 = (**(code **)(puVar10 + 0x9e378))(piVar1[2],0);\n      iVar6 = iVar6 + iVar2;\n    }" else (if_statement "if (iVar2 < 3) {\n      if (iVar2 == 1) {\n        iVar6 = iVar6 + 4;\n      }\n    }\n    else if (iVar2 == 3) {\n      iVar2 = (**(code **)(puVar10 + 0x9e37c))(piVar1[2],0);\n      iVar6 = iVar6 + iVar2;\n    }\n    else if (iVar2 == 4) {\n      iVar2 = (**(code **)(puVar10 + 0x9e378))(piVar1[2],0);\n      iVar6 = iVar6 + iVar2;\n    }" if (parenthesized_expression "(iVar2 < 3)" ( (binary_expression "iVar2 < 3" identifier < number_literal) )) (compound_statement "{\n      if (iVar2 == 1) {\n        iVar6 = iVar6 + 4;\n      }\n    }" { (if_statement "if (iVar2 == 1) {\n        iVar6 = iVar6 + 4;\n      }" if (parenthesized_expression "(iVar2 == 1)" ( (binary_expression "iVar2 == 1" identifier == number_literal) )) (compound_statement "{\n        iVar6 = iVar6 + 4;\n      }" { (expression_statement "iVar6 = iVar6 + 4;" (assignment_expression "iVar6 = iVar6 + 4" identifier = (binary_expression "iVar6 + 4" identifier + number_literal)) ;) })) }) (else_clause "else if (iVar2 == 3) {\n      iVar2 = (**(code **)(puVar10 + 0x9e37c))(piVar1[2],0);\n      iVar6 = iVar6 + iVar2;\n    }\n    else if (iVar2 == 4) {\n      iVar2 = (**(code **)(puVar10 + 0x9e378))(piVar1[2],0);\n      iVar6 = iVar6 + iVar2;\n    }" else (if_statement "if (iVar2 == 3) {\n      iVar2 = (**(code **)(puVar10 + 0x9e37c))(piVar1[2],0);\n      iVar6 = iVar6 + iVar2;\n    }\n    else if (iVar2 == 4) {\n      iVar2 = (**(code **)(puVar10 + 0x9e378))(piVar1[2],0);\n      iVar6 = iVar6 + iVar2;\n    }" if (parenthesized_expression "(iVar2 == 3)" ( (binary_expression "iVar2 == 3" identifier == number_literal) )) (compound_statement "{\n      iVar2 = (**(code **)(puVar10 + 0x9e37c))(piVar1[2],0);\n      iVar6 = iVar6 + iVar2;\n    }" { (expression_statement "iVar2 = (**(code **)(puVar10 + 0x9e37c))(piVar1[2],0);" (assignment_expression "iVar2 = (**(code **)(puVar10 + 0x9e37c))(piVar1[2],0)" identifier = (call_expression "(**(code **)(puVar10 + 0x9e37c))(piVar1[2],0)" (parenthesized_expression "(**(code **)(puVar10 + 0x9e37c))" ( (pointer_expression "**(code **)(puVar10 + 0x9e37c)" * (pointer_expression "*(code **)(puVar10 + 0x9e37c)" * (cast_expression "(code **)(puVar10 + 0x9e37c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar10 + 0x9e37c)" ( (binary_expression "puVar10 + 0x9e37c" identifier + number_literal) ))))) )) (argument_list "(piVar1[2],0)" ( (subscript_expression "piVar1[2]" identifier [ number_literal ]) , number_literal )))) ;) (expression_statement "iVar6 = iVar6 + iVar2;" (assignment_expression "iVar6 = iVar6 + iVar2" identifier = (binary_expression "iVar6 + iVar2" identifier + identifier)) ;) }) (else_clause "else if (iVar2 == 4) {\n      iVar2 = (**(code **)(puVar10 + 0x9e378))(piVar1[2],0);\n      iVar6 = iVar6 + iVar2;\n    }" else (if_statement "if (iVar2 == 4) {\n      iVar2 = (**(code **)(puVar10 + 0x9e378))(piVar1[2],0);\n      iVar6 = iVar6 + iVar2;\n    }" if (parenthesized_expression "(iVar2 == 4)" ( (binary_expression "iVar2 == 4" identifier == number_literal) )) (compound_statement "{\n      iVar2 = (**(code **)(puVar10 + 0x9e378))(piVar1[2],0);\n      iVar6 = iVar6 + iVar2;\n    }" { (expression_statement "iVar2 = (**(code **)(puVar10 + 0x9e378))(piVar1[2],0);" (assignment_expression "iVar2 = (**(code **)(puVar10 + 0x9e378))(piVar1[2],0)" identifier = (call_expression "(**(code **)(puVar10 + 0x9e378))(piVar1[2],0)" (parenthesized_expression "(**(code **)(puVar10 + 0x9e378))" ( (pointer_expression "**(code **)(puVar10 + 0x9e378)" * (pointer_expression "*(code **)(puVar10 + 0x9e378)" * (cast_expression "(code **)(puVar10 + 0x9e378)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar10 + 0x9e378)" ( (binary_expression "puVar10 + 0x9e378" identifier + number_literal) ))))) )) (argument_list "(piVar1[2],0)" ( (subscript_expression "piVar1[2]" identifier [ number_literal ]) , number_literal )))) ;) (expression_statement "iVar6 = iVar6 + iVar2;" (assignment_expression "iVar6 = iVar6 + iVar2" identifier = (binary_expression "iVar6 + iVar2" identifier + identifier)) ;) })))))))) (expression_statement "iVar7 = iVar7 + 1;" (assignment_expression "iVar7 = iVar7 + 1" identifier = (binary_expression "iVar7 + 1" identifier + number_literal)) ;) (expression_statement "iVar2 = iVar6;" (assignment_expression "iVar2 = iVar6" identifier = identifier) ;) })) (return_statement "return iVar2 + 4;" return (binary_expression "iVar2 + 4" identifier + number_literal) ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) ))) (compound_statement { (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( LIT , LIT ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + (binary_expression IDENT * LIT)) + LIT) )))) == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + (binary_expression IDENT * LIT)) + LIT) )))) == LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT )))) ;) (return_statement return IDENT ;) })) }) (else_clause else (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (binary_expression IDENT + LIT) , (binary_expression IDENT + LIT) , LIT , (binary_expression IDENT + LIT) ))) ;) }))) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , (binary_expression IDENT + LIT) , LIT , (binary_expression IDENT + LIT) ))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (while_statement while (parenthesized_expression ( BOOL )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (pointer_expression * IDENT) , IDENT ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (binary_expression IDENT * LIT) + IDENT) + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (subscript_expression IDENT [ LIT ]) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + LIT) + IDENT)) ;) })))) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (binary_expression IDENT * LIT) + IDENT) + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (subscript_expression IDENT [ LIT ]) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + LIT) + IDENT)) ;) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) })) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (subscript_expression IDENT [ LIT ]) , LIT )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (subscript_expression IDENT [ LIT ]) , LIT )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) })))))))) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) })) (return_statement return (binary_expression IDENT + LIT) ;) })))
(function_definition "int conf_set_fontspec(undefined4 param_1,int param_2,undefined4 param_3)\n\n{\n  int *piVar1;\n  int iVar2;\n  int iVar3;\n  undefined4 *puVar4;\n  int iVar5;\n  int iVar6;\n  int iVar7;\n  int iVar8;\n  int iVar9;\n  undefined *puVar10;\n  \n  piVar1 = (int *)safemalloc(1,0xc);\n  if (*(int *)(PTR_s_Server_sent_command_exit_status___000bc188 + param_2 * 4 + -0x676c) == 0) {\n    if (*(int *)(PTR_s_Server_sent_command_exit_status___000bc188 + param_2 * 4 + -0x6a4c) == 4) {\n      *piVar1 = param_2;\n      iVar2 = (*(code *)PTR_fontspec_copy_000bc24c)(param_3);\n      piVar1[2] = iVar2;\n      iVar2 = FUN_0001c8cc(param_1,piVar1);\n      return iVar2;\n    }\n  }\n  else {\n    (*(code *)PTR___assert_fail_000bcb00)\n              (PTR_s_Server_sent_command_exit_status___000bc188 + -0x6c94,\n               PTR_s_Server_sent_command_exit_status___000bc188 + -0x6cb0,0x1d1,\n               PTR_s_Server_sent_command_exit_status___000bc188 + -0x6b90);\n  }\n  puVar4 = (undefined4 *)(PTR_s_Server_sent_command_exit_status___000bc188 + -0x6bbc);\n  puVar10 = PTR___assert_fail_000bcb00;\n  (*(code *)PTR___assert_fail_000bcb00)\n            (puVar4,PTR_s_Server_sent_command_exit_status___000bc188 + -0x6cb0,0x1d2,\n             PTR_s_Server_sent_command_exit_status___000bc188 + -0x6b90);\n  iVar7 = 0;\n  iVar8 = *(int *)(puVar10 + 0x9e294);\n  iVar9 = *(int *)(puVar10 + 0x9e294);\n  iVar2 = 0;\n  while( true ) {\n    piVar1 = (int *)(**(code **)(puVar10 + 0x9e354))(*puVar4,iVar7);\n    if (piVar1 == (int *)0x0) break;\n    iVar5 = *piVar1;\n    iVar3 = *(int *)(iVar5 * 4 + iVar8 + -0x676c);\n    iVar6 = iVar2 + 4;\n    if (iVar3 == 1) {\n      iVar6 = iVar2 + 8;\n    }\n    else if (iVar3 == 2) {\n      iVar6 = (**(code **)(puVar10 + 0x9ed30))(piVar1[1]);\n      iVar6 = iVar2 + 5 + iVar6;\n    }\n    iVar2 = *(int *)(iVar5 * 4 + iVar9 + -0x6a4c);\n    if (iVar2 == 2) {\n      iVar2 = (**(code **)(puVar10 + 0x9ed30))(piVar1[2]);\n      iVar6 = iVar6 + 1 + iVar2;\n    }\n    else if (iVar2 < 3) {\n      if (iVar2 == 1) {\n        iVar6 = iVar6 + 4;\n      }\n    }\n    else if (iVar2 == 3) {\n      iVar2 = (**(code **)(puVar10 + 0x9e37c))(piVar1[2],0);\n      iVar6 = iVar6 + iVar2;\n    }\n    else if (iVar2 == 4) {\n      iVar2 = (**(code **)(puVar10 + 0x9e378))(piVar1[2],0);\n      iVar6 = iVar6 + iVar2;\n    }\n    iVar7 = iVar7 + 1;\n    iVar2 = iVar6;\n  }\n  return iVar2 + 4;\n}" (primitive_type "int") (function_declarator "conf_set_fontspec(undefined4 param_1,int param_2,undefined4 param_3)" (identifier "conf_set_fontspec") (parameter_list "(undefined4 param_1,int param_2,undefined4 param_3)" (( "(") (parameter_declaration "undefined4 param_1" (type_identifier "undefined4") (identifier "param_1")) (, ",") (parameter_declaration "int param_2" (primitive_type "int") (identifier "param_2")) (, ",") (parameter_declaration "undefined4 param_3" (type_identifier "undefined4") (identifier "param_3")) () ")"))) (compound_statement "{\n  int *piVar1;\n  int iVar2;\n  int iVar3;\n  undefined4 *puVar4;\n  int iVar5;\n  int iVar6;\n  int iVar7;\n  int iVar8;\n  int iVar9;\n  undefined *puVar10;\n  \n  piVar1 = (int *)safemalloc(1,0xc);\n  if (*(int *)(PTR_s_Server_sent_command_exit_status___000bc188 + param_2 * 4 + -0x676c) == 0) {\n    if (*(int *)(PTR_s_Server_sent_command_exit_status___000bc188 + param_2 * 4 + -0x6a4c) == 4) {\n      *piVar1 = param_2;\n      iVar2 = (*(code *)PTR_fontspec_copy_000bc24c)(param_3);\n      piVar1[2] = iVar2;\n      iVar2 = FUN_0001c8cc(param_1,piVar1);\n      return iVar2;\n    }\n  }\n  else {\n    (*(code *)PTR___assert_fail_000bcb00)\n              (PTR_s_Server_sent_command_exit_status___000bc188 + -0x6c94,\n               PTR_s_Server_sent_command_exit_status___000bc188 + -0x6cb0,0x1d1,\n               PTR_s_Server_sent_command_exit_status___000bc188 + -0x6b90);\n  }\n  puVar4 = (undefined4 *)(PTR_s_Server_sent_command_exit_status___000bc188 + -0x6bbc);\n  puVar10 = PTR___assert_fail_000bcb00;\n  (*(code *)PTR___assert_fail_000bcb00)\n            (puVar4,PTR_s_Server_sent_command_exit_status___000bc188 + -0x6cb0,0x1d2,\n             PTR_s_Server_sent_command_exit_status___000bc188 + -0x6b90);\n  iVar7 = 0;\n  iVar8 = *(int *)(puVar10 + 0x9e294);\n  iVar9 = *(int *)(puVar10 + 0x9e294);\n  iVar2 = 0;\n  while( true ) {\n    piVar1 = (int *)(**(code **)(puVar10 + 0x9e354))(*puVar4,iVar7);\n    if (piVar1 == (int *)0x0) break;\n    iVar5 = *piVar1;\n    iVar3 = *(int *)(iVar5 * 4 + iVar8 + -0x676c);\n    iVar6 = iVar2 + 4;\n    if (iVar3 == 1) {\n      iVar6 = iVar2 + 8;\n    }\n    else if (iVar3 == 2) {\n      iVar6 = (**(code **)(puVar10 + 0x9ed30))(piVar1[1]);\n      iVar6 = iVar2 + 5 + iVar6;\n    }\n    iVar2 = *(int *)(iVar5 * 4 + iVar9 + -0x6a4c);\n    if (iVar2 == 2) {\n      iVar2 = (**(code **)(puVar10 + 0x9ed30))(piVar1[2]);\n      iVar6 = iVar6 + 1 + iVar2;\n    }\n    else if (iVar2 < 3) {\n      if (iVar2 == 1) {\n        iVar6 = iVar6 + 4;\n      }\n    }\n    else if (iVar2 == 3) {\n      iVar2 = (**(code **)(puVar10 + 0x9e37c))(piVar1[2],0);\n      iVar6 = iVar6 + iVar2;\n    }\n    else if (iVar2 == 4) {\n      iVar2 = (**(code **)(puVar10 + 0x9e378))(piVar1[2],0);\n      iVar6 = iVar6 + iVar2;\n    }\n    iVar7 = iVar7 + 1;\n    iVar2 = iVar6;\n  }\n  return iVar2 + 4;\n}" ({ "{") (declaration "int *piVar1;" (primitive_type "int") (pointer_declarator "*piVar1" (* "*") (identifier "piVar1")) (; ";")) (declaration "int iVar2;" (primitive_type "int") (identifier "iVar2") (; ";")) (declaration "int iVar3;" (primitive_type "int") (identifier "iVar3") (; ";")) (declaration "undefined4 *puVar4;" (type_identifier "undefined4") (pointer_declarator "*puVar4" (* "*") (identifier "puVar4")) (; ";")) (declaration "int iVar5;" (primitive_type "int") (identifier "iVar5") (; ";")) (declaration "int iVar6;" (primitive_type "int") (identifier "iVar6") (; ";")) (declaration "int iVar7;" (primitive_type "int") (identifier "iVar7") (; ";")) (declaration "int iVar8;" (primitive_type "int") (identifier "iVar8") (; ";")) (declaration "int iVar9;" (primitive_type "int") (identifier "iVar9") (; ";")) (declaration "undefined *puVar10;" (type_identifier "undefined") (pointer_declarator "*puVar10" (* "*") (identifier "puVar10")) (; ";")) (expression_statement "piVar1 = (int *)safemalloc(1,0xc);" (assignment_expression "piVar1 = (int *)safemalloc(1,0xc)" (identifier "piVar1") (= "=") (cast_expression "(int *)safemalloc(1,0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "safemalloc(1,0xc)" (identifier "safemalloc") (argument_list "(1,0xc)" (( "(") (number_literal "1") (, ",") (number_literal "0xc") () ")"))))) (; ";")) (if_statement "if (*(int *)(PTR_s_Server_sent_command_exit_status___000bc188 + param_2 * 4 + -0x676c) == 0) {\n    if (*(int *)(PTR_s_Server_sent_command_exit_status___000bc188 + param_2 * 4 + -0x6a4c) == 4) {\n      *piVar1 = param_2;\n      iVar2 = (*(code *)PTR_fontspec_copy_000bc24c)(param_3);\n      piVar1[2] = iVar2;\n      iVar2 = FUN_0001c8cc(param_1,piVar1);\n      return iVar2;\n    }\n  }\n  else {\n    (*(code *)PTR___assert_fail_000bcb00)\n              (PTR_s_Server_sent_command_exit_status___000bc188 + -0x6c94,\n               PTR_s_Server_sent_command_exit_status___000bc188 + -0x6cb0,0x1d1,\n               PTR_s_Server_sent_command_exit_status___000bc188 + -0x6b90);\n  }" (if "if") (parenthesized_expression "(*(int *)(PTR_s_Server_sent_command_exit_status___000bc188 + param_2 * 4 + -0x676c) == 0)" (( "(") (binary_expression "*(int *)(PTR_s_Server_sent_command_exit_status___000bc188 + param_2 * 4 + -0x676c) == 0" (pointer_expression "*(int *)(PTR_s_Server_sent_command_exit_status___000bc188 + param_2 * 4 + -0x676c)" (* "*") (cast_expression "(int *)(PTR_s_Server_sent_command_exit_status___000bc188 + param_2 * 4 + -0x676c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_s_Server_sent_command_exit_status___000bc188 + param_2 * 4 + -0x676c)" (( "(") (binary_expression "PTR_s_Server_sent_command_exit_status___000bc188 + param_2 * 4 + -0x676c" (binary_expression "PTR_s_Server_sent_command_exit_status___000bc188 + param_2 * 4" (identifier "PTR_s_Server_sent_command_exit_status___000bc188") (+ "+") (binary_expression "param_2 * 4" (identifier "param_2") (* "*") (number_literal "4"))) (+ "+") (number_literal "-0x676c")) () ")")))) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n    if (*(int *)(PTR_s_Server_sent_command_exit_status___000bc188 + param_2 * 4 + -0x6a4c) == 4) {\n      *piVar1 = param_2;\n      iVar2 = (*(code *)PTR_fontspec_copy_000bc24c)(param_3);\n      piVar1[2] = iVar2;\n      iVar2 = FUN_0001c8cc(param_1,piVar1);\n      return iVar2;\n    }\n  }" ({ "{") (if_statement "if (*(int *)(PTR_s_Server_sent_command_exit_status___000bc188 + param_2 * 4 + -0x6a4c) == 4) {\n      *piVar1 = param_2;\n      iVar2 = (*(code *)PTR_fontspec_copy_000bc24c)(param_3);\n      piVar1[2] = iVar2;\n      iVar2 = FUN_0001c8cc(param_1,piVar1);\n      return iVar2;\n    }" (if "if") (parenthesized_expression "(*(int *)(PTR_s_Server_sent_command_exit_status___000bc188 + param_2 * 4 + -0x6a4c) == 4)" (( "(") (binary_expression "*(int *)(PTR_s_Server_sent_command_exit_status___000bc188 + param_2 * 4 + -0x6a4c) == 4" (pointer_expression "*(int *)(PTR_s_Server_sent_command_exit_status___000bc188 + param_2 * 4 + -0x6a4c)" (* "*") (cast_expression "(int *)(PTR_s_Server_sent_command_exit_status___000bc188 + param_2 * 4 + -0x6a4c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_s_Server_sent_command_exit_status___000bc188 + param_2 * 4 + -0x6a4c)" (( "(") (binary_expression "PTR_s_Server_sent_command_exit_status___000bc188 + param_2 * 4 + -0x6a4c" (binary_expression "PTR_s_Server_sent_command_exit_status___000bc188 + param_2 * 4" (identifier "PTR_s_Server_sent_command_exit_status___000bc188") (+ "+") (binary_expression "param_2 * 4" (identifier "param_2") (* "*") (number_literal "4"))) (+ "+") (number_literal "-0x6a4c")) () ")")))) (== "==") (number_literal "4")) () ")")) (compound_statement "{\n      *piVar1 = param_2;\n      iVar2 = (*(code *)PTR_fontspec_copy_000bc24c)(param_3);\n      piVar1[2] = iVar2;\n      iVar2 = FUN_0001c8cc(param_1,piVar1);\n      return iVar2;\n    }" ({ "{") (expression_statement "*piVar1 = param_2;" (assignment_expression "*piVar1 = param_2" (pointer_expression "*piVar1" (* "*") (identifier "piVar1")) (= "=") (identifier "param_2")) (; ";")) (expression_statement "iVar2 = (*(code *)PTR_fontspec_copy_000bc24c)(param_3);" (assignment_expression "iVar2 = (*(code *)PTR_fontspec_copy_000bc24c)(param_3)" (identifier "iVar2") (= "=") (call_expression "(*(code *)PTR_fontspec_copy_000bc24c)(param_3)" (parenthesized_expression "(*(code *)PTR_fontspec_copy_000bc24c)" (( "(") (pointer_expression "*(code *)PTR_fontspec_copy_000bc24c" (* "*") (cast_expression "(code *)PTR_fontspec_copy_000bc24c" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_fontspec_copy_000bc24c"))) () ")")) (argument_list "(param_3)" (( "(") (identifier "param_3") () ")")))) (; ";")) (expression_statement "piVar1[2] = iVar2;" (assignment_expression "piVar1[2] = iVar2" (subscript_expression "piVar1[2]" (identifier "piVar1") ([ "[") (number_literal "2") (] "]")) (= "=") (identifier "iVar2")) (; ";")) (expression_statement "iVar2 = FUN_0001c8cc(param_1,piVar1);" (assignment_expression "iVar2 = FUN_0001c8cc(param_1,piVar1)" (identifier "iVar2") (= "=") (call_expression "FUN_0001c8cc(param_1,piVar1)" (identifier "FUN_0001c8cc") (argument_list "(param_1,piVar1)" (( "(") (identifier "param_1") (, ",") (identifier "piVar1") () ")")))) (; ";")) (return_statement "return iVar2;" (return "return") (identifier "iVar2") (; ";")) (} "}"))) (} "}")) (else_clause "else {\n    (*(code *)PTR___assert_fail_000bcb00)\n              (PTR_s_Server_sent_command_exit_status___000bc188 + -0x6c94,\n               PTR_s_Server_sent_command_exit_status___000bc188 + -0x6cb0,0x1d1,\n               PTR_s_Server_sent_command_exit_status___000bc188 + -0x6b90);\n  }" (else "else") (compound_statement "{\n    (*(code *)PTR___assert_fail_000bcb00)\n              (PTR_s_Server_sent_command_exit_status___000bc188 + -0x6c94,\n               PTR_s_Server_sent_command_exit_status___000bc188 + -0x6cb0,0x1d1,\n               PTR_s_Server_sent_command_exit_status___000bc188 + -0x6b90);\n  }" ({ "{") (expression_statement "(*(code *)PTR___assert_fail_000bcb00)\n              (PTR_s_Server_sent_command_exit_status___000bc188 + -0x6c94,\n               PTR_s_Server_sent_command_exit_status___000bc188 + -0x6cb0,0x1d1,\n               PTR_s_Server_sent_command_exit_status___000bc188 + -0x6b90);" (call_expression "(*(code *)PTR___assert_fail_000bcb00)\n              (PTR_s_Server_sent_command_exit_status___000bc188 + -0x6c94,\n               PTR_s_Server_sent_command_exit_status___000bc188 + -0x6cb0,0x1d1,\n               PTR_s_Server_sent_command_exit_status___000bc188 + -0x6b90)" (parenthesized_expression "(*(code *)PTR___assert_fail_000bcb00)" (( "(") (pointer_expression "*(code *)PTR___assert_fail_000bcb00" (* "*") (cast_expression "(code *)PTR___assert_fail_000bcb00" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___assert_fail_000bcb00"))) () ")")) (argument_list "(PTR_s_Server_sent_command_exit_status___000bc188 + -0x6c94,\n               PTR_s_Server_sent_command_exit_status___000bc188 + -0x6cb0,0x1d1,\n               PTR_s_Server_sent_command_exit_status___000bc188 + -0x6b90)" (( "(") (binary_expression "PTR_s_Server_sent_command_exit_status___000bc188 + -0x6c94" (identifier "PTR_s_Server_sent_command_exit_status___000bc188") (+ "+") (number_literal "-0x6c94")) (, ",") (binary_expression "PTR_s_Server_sent_command_exit_status___000bc188 + -0x6cb0" (identifier "PTR_s_Server_sent_command_exit_status___000bc188") (+ "+") (number_literal "-0x6cb0")) (, ",") (number_literal "0x1d1") (, ",") (binary_expression "PTR_s_Server_sent_command_exit_status___000bc188 + -0x6b90" (identifier "PTR_s_Server_sent_command_exit_status___000bc188") (+ "+") (number_literal "-0x6b90")) () ")"))) (; ";")) (} "}")))) (expression_statement "puVar4 = (undefined4 *)(PTR_s_Server_sent_command_exit_status___000bc188 + -0x6bbc);" (assignment_expression "puVar4 = (undefined4 *)(PTR_s_Server_sent_command_exit_status___000bc188 + -0x6bbc)" (identifier "puVar4") (= "=") (cast_expression "(undefined4 *)(PTR_s_Server_sent_command_exit_status___000bc188 + -0x6bbc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_s_Server_sent_command_exit_status___000bc188 + -0x6bbc)" (( "(") (binary_expression "PTR_s_Server_sent_command_exit_status___000bc188 + -0x6bbc" (identifier "PTR_s_Server_sent_command_exit_status___000bc188") (+ "+") (number_literal "-0x6bbc")) () ")")))) (; ";")) (expression_statement "puVar10 = PTR___assert_fail_000bcb00;" (assignment_expression "puVar10 = PTR___assert_fail_000bcb00" (identifier "puVar10") (= "=") (identifier "PTR___assert_fail_000bcb00")) (; ";")) (expression_statement "(*(code *)PTR___assert_fail_000bcb00)\n            (puVar4,PTR_s_Server_sent_command_exit_status___000bc188 + -0x6cb0,0x1d2,\n             PTR_s_Server_sent_command_exit_status___000bc188 + -0x6b90);" (call_expression "(*(code *)PTR___assert_fail_000bcb00)\n            (puVar4,PTR_s_Server_sent_command_exit_status___000bc188 + -0x6cb0,0x1d2,\n             PTR_s_Server_sent_command_exit_status___000bc188 + -0x6b90)" (parenthesized_expression "(*(code *)PTR___assert_fail_000bcb00)" (( "(") (pointer_expression "*(code *)PTR___assert_fail_000bcb00" (* "*") (cast_expression "(code *)PTR___assert_fail_000bcb00" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___assert_fail_000bcb00"))) () ")")) (argument_list "(puVar4,PTR_s_Server_sent_command_exit_status___000bc188 + -0x6cb0,0x1d2,\n             PTR_s_Server_sent_command_exit_status___000bc188 + -0x6b90)" (( "(") (identifier "puVar4") (, ",") (binary_expression "PTR_s_Server_sent_command_exit_status___000bc188 + -0x6cb0" (identifier "PTR_s_Server_sent_command_exit_status___000bc188") (+ "+") (number_literal "-0x6cb0")) (, ",") (number_literal "0x1d2") (, ",") (binary_expression "PTR_s_Server_sent_command_exit_status___000bc188 + -0x6b90" (identifier "PTR_s_Server_sent_command_exit_status___000bc188") (+ "+") (number_literal "-0x6b90")) () ")"))) (; ";")) (expression_statement "iVar7 = 0;" (assignment_expression "iVar7 = 0" (identifier "iVar7") (= "=") (number_literal "0")) (; ";")) (expression_statement "iVar8 = *(int *)(puVar10 + 0x9e294);" (assignment_expression "iVar8 = *(int *)(puVar10 + 0x9e294)" (identifier "iVar8") (= "=") (pointer_expression "*(int *)(puVar10 + 0x9e294)" (* "*") (cast_expression "(int *)(puVar10 + 0x9e294)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar10 + 0x9e294)" (( "(") (binary_expression "puVar10 + 0x9e294" (identifier "puVar10") (+ "+") (number_literal "0x9e294")) () ")"))))) (; ";")) (expression_statement "iVar9 = *(int *)(puVar10 + 0x9e294);" (assignment_expression "iVar9 = *(int *)(puVar10 + 0x9e294)" (identifier "iVar9") (= "=") (pointer_expression "*(int *)(puVar10 + 0x9e294)" (* "*") (cast_expression "(int *)(puVar10 + 0x9e294)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar10 + 0x9e294)" (( "(") (binary_expression "puVar10 + 0x9e294" (identifier "puVar10") (+ "+") (number_literal "0x9e294")) () ")"))))) (; ";")) (expression_statement "iVar2 = 0;" (assignment_expression "iVar2 = 0" (identifier "iVar2") (= "=") (number_literal "0")) (; ";")) (while_statement "while( true ) {\n    piVar1 = (int *)(**(code **)(puVar10 + 0x9e354))(*puVar4,iVar7);\n    if (piVar1 == (int *)0x0) break;\n    iVar5 = *piVar1;\n    iVar3 = *(int *)(iVar5 * 4 + iVar8 + -0x676c);\n    iVar6 = iVar2 + 4;\n    if (iVar3 == 1) {\n      iVar6 = iVar2 + 8;\n    }\n    else if (iVar3 == 2) {\n      iVar6 = (**(code **)(puVar10 + 0x9ed30))(piVar1[1]);\n      iVar6 = iVar2 + 5 + iVar6;\n    }\n    iVar2 = *(int *)(iVar5 * 4 + iVar9 + -0x6a4c);\n    if (iVar2 == 2) {\n      iVar2 = (**(code **)(puVar10 + 0x9ed30))(piVar1[2]);\n      iVar6 = iVar6 + 1 + iVar2;\n    }\n    else if (iVar2 < 3) {\n      if (iVar2 == 1) {\n        iVar6 = iVar6 + 4;\n      }\n    }\n    else if (iVar2 == 3) {\n      iVar2 = (**(code **)(puVar10 + 0x9e37c))(piVar1[2],0);\n      iVar6 = iVar6 + iVar2;\n    }\n    else if (iVar2 == 4) {\n      iVar2 = (**(code **)(puVar10 + 0x9e378))(piVar1[2],0);\n      iVar6 = iVar6 + iVar2;\n    }\n    iVar7 = iVar7 + 1;\n    iVar2 = iVar6;\n  }" (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (compound_statement "{\n    piVar1 = (int *)(**(code **)(puVar10 + 0x9e354))(*puVar4,iVar7);\n    if (piVar1 == (int *)0x0) break;\n    iVar5 = *piVar1;\n    iVar3 = *(int *)(iVar5 * 4 + iVar8 + -0x676c);\n    iVar6 = iVar2 + 4;\n    if (iVar3 == 1) {\n      iVar6 = iVar2 + 8;\n    }\n    else if (iVar3 == 2) {\n      iVar6 = (**(code **)(puVar10 + 0x9ed30))(piVar1[1]);\n      iVar6 = iVar2 + 5 + iVar6;\n    }\n    iVar2 = *(int *)(iVar5 * 4 + iVar9 + -0x6a4c);\n    if (iVar2 == 2) {\n      iVar2 = (**(code **)(puVar10 + 0x9ed30))(piVar1[2]);\n      iVar6 = iVar6 + 1 + iVar2;\n    }\n    else if (iVar2 < 3) {\n      if (iVar2 == 1) {\n        iVar6 = iVar6 + 4;\n      }\n    }\n    else if (iVar2 == 3) {\n      iVar2 = (**(code **)(puVar10 + 0x9e37c))(piVar1[2],0);\n      iVar6 = iVar6 + iVar2;\n    }\n    else if (iVar2 == 4) {\n      iVar2 = (**(code **)(puVar10 + 0x9e378))(piVar1[2],0);\n      iVar6 = iVar6 + iVar2;\n    }\n    iVar7 = iVar7 + 1;\n    iVar2 = iVar6;\n  }" ({ "{") (expression_statement "piVar1 = (int *)(**(code **)(puVar10 + 0x9e354))(*puVar4,iVar7);" (assignment_expression "piVar1 = (int *)(**(code **)(puVar10 + 0x9e354))(*puVar4,iVar7)" (identifier "piVar1") (= "=") (cast_expression "(int *)(**(code **)(puVar10 + 0x9e354))(*puVar4,iVar7)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(**(code **)(puVar10 + 0x9e354))(*puVar4,iVar7)" (parenthesized_expression "(**(code **)(puVar10 + 0x9e354))" (( "(") (pointer_expression "**(code **)(puVar10 + 0x9e354)" (* "*") (pointer_expression "*(code **)(puVar10 + 0x9e354)" (* "*") (cast_expression "(code **)(puVar10 + 0x9e354)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar10 + 0x9e354)" (( "(") (binary_expression "puVar10 + 0x9e354" (identifier "puVar10") (+ "+") (number_literal "0x9e354")) () ")"))))) () ")")) (argument_list "(*puVar4,iVar7)" (( "(") (pointer_expression "*puVar4" (* "*") (identifier "puVar4")) (, ",") (identifier "iVar7") () ")"))))) (; ";")) (if_statement "if (piVar1 == (int *)0x0) break;" (if "if") (parenthesized_expression "(piVar1 == (int *)0x0)" (( "(") (binary_expression "piVar1 == (int *)0x0" (identifier "piVar1") (== "==") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "iVar5 = *piVar1;" (assignment_expression "iVar5 = *piVar1" (identifier "iVar5") (= "=") (pointer_expression "*piVar1" (* "*") (identifier "piVar1"))) (; ";")) (expression_statement "iVar3 = *(int *)(iVar5 * 4 + iVar8 + -0x676c);" (assignment_expression "iVar3 = *(int *)(iVar5 * 4 + iVar8 + -0x676c)" (identifier "iVar3") (= "=") (pointer_expression "*(int *)(iVar5 * 4 + iVar8 + -0x676c)" (* "*") (cast_expression "(int *)(iVar5 * 4 + iVar8 + -0x676c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar5 * 4 + iVar8 + -0x676c)" (( "(") (binary_expression "iVar5 * 4 + iVar8 + -0x676c" (binary_expression "iVar5 * 4 + iVar8" (binary_expression "iVar5 * 4" (identifier "iVar5") (* "*") (number_literal "4")) (+ "+") (identifier "iVar8")) (+ "+") (number_literal "-0x676c")) () ")"))))) (; ";")) (expression_statement "iVar6 = iVar2 + 4;" (assignment_expression "iVar6 = iVar2 + 4" (identifier "iVar6") (= "=") (binary_expression "iVar2 + 4" (identifier "iVar2") (+ "+") (number_literal "4"))) (; ";")) (if_statement "if (iVar3 == 1) {\n      iVar6 = iVar2 + 8;\n    }\n    else if (iVar3 == 2) {\n      iVar6 = (**(code **)(puVar10 + 0x9ed30))(piVar1[1]);\n      iVar6 = iVar2 + 5 + iVar6;\n    }" (if "if") (parenthesized_expression "(iVar3 == 1)" (( "(") (binary_expression "iVar3 == 1" (identifier "iVar3") (== "==") (number_literal "1")) () ")")) (compound_statement "{\n      iVar6 = iVar2 + 8;\n    }" ({ "{") (expression_statement "iVar6 = iVar2 + 8;" (assignment_expression "iVar6 = iVar2 + 8" (identifier "iVar6") (= "=") (binary_expression "iVar2 + 8" (identifier "iVar2") (+ "+") (number_literal "8"))) (; ";")) (} "}")) (else_clause "else if (iVar3 == 2) {\n      iVar6 = (**(code **)(puVar10 + 0x9ed30))(piVar1[1]);\n      iVar6 = iVar2 + 5 + iVar6;\n    }" (else "else") (if_statement "if (iVar3 == 2) {\n      iVar6 = (**(code **)(puVar10 + 0x9ed30))(piVar1[1]);\n      iVar6 = iVar2 + 5 + iVar6;\n    }" (if "if") (parenthesized_expression "(iVar3 == 2)" (( "(") (binary_expression "iVar3 == 2" (identifier "iVar3") (== "==") (number_literal "2")) () ")")) (compound_statement "{\n      iVar6 = (**(code **)(puVar10 + 0x9ed30))(piVar1[1]);\n      iVar6 = iVar2 + 5 + iVar6;\n    }" ({ "{") (expression_statement "iVar6 = (**(code **)(puVar10 + 0x9ed30))(piVar1[1]);" (assignment_expression "iVar6 = (**(code **)(puVar10 + 0x9ed30))(piVar1[1])" (identifier "iVar6") (= "=") (call_expression "(**(code **)(puVar10 + 0x9ed30))(piVar1[1])" (parenthesized_expression "(**(code **)(puVar10 + 0x9ed30))" (( "(") (pointer_expression "**(code **)(puVar10 + 0x9ed30)" (* "*") (pointer_expression "*(code **)(puVar10 + 0x9ed30)" (* "*") (cast_expression "(code **)(puVar10 + 0x9ed30)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar10 + 0x9ed30)" (( "(") (binary_expression "puVar10 + 0x9ed30" (identifier "puVar10") (+ "+") (number_literal "0x9ed30")) () ")"))))) () ")")) (argument_list "(piVar1[1])" (( "(") (subscript_expression "piVar1[1]" (identifier "piVar1") ([ "[") (number_literal "1") (] "]")) () ")")))) (; ";")) (expression_statement "iVar6 = iVar2 + 5 + iVar6;" (assignment_expression "iVar6 = iVar2 + 5 + iVar6" (identifier "iVar6") (= "=") (binary_expression "iVar2 + 5 + iVar6" (binary_expression "iVar2 + 5" (identifier "iVar2") (+ "+") (number_literal "5")) (+ "+") (identifier "iVar6"))) (; ";")) (} "}"))))) (expression_statement "iVar2 = *(int *)(iVar5 * 4 + iVar9 + -0x6a4c);" (assignment_expression "iVar2 = *(int *)(iVar5 * 4 + iVar9 + -0x6a4c)" (identifier "iVar2") (= "=") (pointer_expression "*(int *)(iVar5 * 4 + iVar9 + -0x6a4c)" (* "*") (cast_expression "(int *)(iVar5 * 4 + iVar9 + -0x6a4c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar5 * 4 + iVar9 + -0x6a4c)" (( "(") (binary_expression "iVar5 * 4 + iVar9 + -0x6a4c" (binary_expression "iVar5 * 4 + iVar9" (binary_expression "iVar5 * 4" (identifier "iVar5") (* "*") (number_literal "4")) (+ "+") (identifier "iVar9")) (+ "+") (number_literal "-0x6a4c")) () ")"))))) (; ";")) (if_statement "if (iVar2 == 2) {\n      iVar2 = (**(code **)(puVar10 + 0x9ed30))(piVar1[2]);\n      iVar6 = iVar6 + 1 + iVar2;\n    }\n    else if (iVar2 < 3) {\n      if (iVar2 == 1) {\n        iVar6 = iVar6 + 4;\n      }\n    }\n    else if (iVar2 == 3) {\n      iVar2 = (**(code **)(puVar10 + 0x9e37c))(piVar1[2],0);\n      iVar6 = iVar6 + iVar2;\n    }\n    else if (iVar2 == 4) {\n      iVar2 = (**(code **)(puVar10 + 0x9e378))(piVar1[2],0);\n      iVar6 = iVar6 + iVar2;\n    }" (if "if") (parenthesized_expression "(iVar2 == 2)" (( "(") (binary_expression "iVar2 == 2" (identifier "iVar2") (== "==") (number_literal "2")) () ")")) (compound_statement "{\n      iVar2 = (**(code **)(puVar10 + 0x9ed30))(piVar1[2]);\n      iVar6 = iVar6 + 1 + iVar2;\n    }" ({ "{") (expression_statement "iVar2 = (**(code **)(puVar10 + 0x9ed30))(piVar1[2]);" (assignment_expression "iVar2 = (**(code **)(puVar10 + 0x9ed30))(piVar1[2])" (identifier "iVar2") (= "=") (call_expression "(**(code **)(puVar10 + 0x9ed30))(piVar1[2])" (parenthesized_expression "(**(code **)(puVar10 + 0x9ed30))" (( "(") (pointer_expression "**(code **)(puVar10 + 0x9ed30)" (* "*") (pointer_expression "*(code **)(puVar10 + 0x9ed30)" (* "*") (cast_expression "(code **)(puVar10 + 0x9ed30)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar10 + 0x9ed30)" (( "(") (binary_expression "puVar10 + 0x9ed30" (identifier "puVar10") (+ "+") (number_literal "0x9ed30")) () ")"))))) () ")")) (argument_list "(piVar1[2])" (( "(") (subscript_expression "piVar1[2]" (identifier "piVar1") ([ "[") (number_literal "2") (] "]")) () ")")))) (; ";")) (expression_statement "iVar6 = iVar6 + 1 + iVar2;" (assignment_expression "iVar6 = iVar6 + 1 + iVar2" (identifier "iVar6") (= "=") (binary_expression "iVar6 + 1 + iVar2" (binary_expression "iVar6 + 1" (identifier "iVar6") (+ "+") (number_literal "1")) (+ "+") (identifier "iVar2"))) (; ";")) (} "}")) (else_clause "else if (iVar2 < 3) {\n      if (iVar2 == 1) {\n        iVar6 = iVar6 + 4;\n      }\n    }\n    else if (iVar2 == 3) {\n      iVar2 = (**(code **)(puVar10 + 0x9e37c))(piVar1[2],0);\n      iVar6 = iVar6 + iVar2;\n    }\n    else if (iVar2 == 4) {\n      iVar2 = (**(code **)(puVar10 + 0x9e378))(piVar1[2],0);\n      iVar6 = iVar6 + iVar2;\n    }" (else "else") (if_statement "if (iVar2 < 3) {\n      if (iVar2 == 1) {\n        iVar6 = iVar6 + 4;\n      }\n    }\n    else if (iVar2 == 3) {\n      iVar2 = (**(code **)(puVar10 + 0x9e37c))(piVar1[2],0);\n      iVar6 = iVar6 + iVar2;\n    }\n    else if (iVar2 == 4) {\n      iVar2 = (**(code **)(puVar10 + 0x9e378))(piVar1[2],0);\n      iVar6 = iVar6 + iVar2;\n    }" (if "if") (parenthesized_expression "(iVar2 < 3)" (( "(") (binary_expression "iVar2 < 3" (identifier "iVar2") (< "<") (number_literal "3")) () ")")) (compound_statement "{\n      if (iVar2 == 1) {\n        iVar6 = iVar6 + 4;\n      }\n    }" ({ "{") (if_statement "if (iVar2 == 1) {\n        iVar6 = iVar6 + 4;\n      }" (if "if") (parenthesized_expression "(iVar2 == 1)" (( "(") (binary_expression "iVar2 == 1" (identifier "iVar2") (== "==") (number_literal "1")) () ")")) (compound_statement "{\n        iVar6 = iVar6 + 4;\n      }" ({ "{") (expression_statement "iVar6 = iVar6 + 4;" (assignment_expression "iVar6 = iVar6 + 4" (identifier "iVar6") (= "=") (binary_expression "iVar6 + 4" (identifier "iVar6") (+ "+") (number_literal "4"))) (; ";")) (} "}"))) (} "}")) (else_clause "else if (iVar2 == 3) {\n      iVar2 = (**(code **)(puVar10 + 0x9e37c))(piVar1[2],0);\n      iVar6 = iVar6 + iVar2;\n    }\n    else if (iVar2 == 4) {\n      iVar2 = (**(code **)(puVar10 + 0x9e378))(piVar1[2],0);\n      iVar6 = iVar6 + iVar2;\n    }" (else "else") (if_statement "if (iVar2 == 3) {\n      iVar2 = (**(code **)(puVar10 + 0x9e37c))(piVar1[2],0);\n      iVar6 = iVar6 + iVar2;\n    }\n    else if (iVar2 == 4) {\n      iVar2 = (**(code **)(puVar10 + 0x9e378))(piVar1[2],0);\n      iVar6 = iVar6 + iVar2;\n    }" (if "if") (parenthesized_expression "(iVar2 == 3)" (( "(") (binary_expression "iVar2 == 3" (identifier "iVar2") (== "==") (number_literal "3")) () ")")) (compound_statement "{\n      iVar2 = (**(code **)(puVar10 + 0x9e37c))(piVar1[2],0);\n      iVar6 = iVar6 + iVar2;\n    }" ({ "{") (expression_statement "iVar2 = (**(code **)(puVar10 + 0x9e37c))(piVar1[2],0);" (assignment_expression "iVar2 = (**(code **)(puVar10 + 0x9e37c))(piVar1[2],0)" (identifier "iVar2") (= "=") (call_expression "(**(code **)(puVar10 + 0x9e37c))(piVar1[2],0)" (parenthesized_expression "(**(code **)(puVar10 + 0x9e37c))" (( "(") (pointer_expression "**(code **)(puVar10 + 0x9e37c)" (* "*") (pointer_expression "*(code **)(puVar10 + 0x9e37c)" (* "*") (cast_expression "(code **)(puVar10 + 0x9e37c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar10 + 0x9e37c)" (( "(") (binary_expression "puVar10 + 0x9e37c" (identifier "puVar10") (+ "+") (number_literal "0x9e37c")) () ")"))))) () ")")) (argument_list "(piVar1[2],0)" (( "(") (subscript_expression "piVar1[2]" (identifier "piVar1") ([ "[") (number_literal "2") (] "]")) (, ",") (number_literal "0") () ")")))) (; ";")) (expression_statement "iVar6 = iVar6 + iVar2;" (assignment_expression "iVar6 = iVar6 + iVar2" (identifier "iVar6") (= "=") (binary_expression "iVar6 + iVar2" (identifier "iVar6") (+ "+") (identifier "iVar2"))) (; ";")) (} "}")) (else_clause "else if (iVar2 == 4) {\n      iVar2 = (**(code **)(puVar10 + 0x9e378))(piVar1[2],0);\n      iVar6 = iVar6 + iVar2;\n    }" (else "else") (if_statement "if (iVar2 == 4) {\n      iVar2 = (**(code **)(puVar10 + 0x9e378))(piVar1[2],0);\n      iVar6 = iVar6 + iVar2;\n    }" (if "if") (parenthesized_expression "(iVar2 == 4)" (( "(") (binary_expression "iVar2 == 4" (identifier "iVar2") (== "==") (number_literal "4")) () ")")) (compound_statement "{\n      iVar2 = (**(code **)(puVar10 + 0x9e378))(piVar1[2],0);\n      iVar6 = iVar6 + iVar2;\n    }" ({ "{") (expression_statement "iVar2 = (**(code **)(puVar10 + 0x9e378))(piVar1[2],0);" (assignment_expression "iVar2 = (**(code **)(puVar10 + 0x9e378))(piVar1[2],0)" (identifier "iVar2") (= "=") (call_expression "(**(code **)(puVar10 + 0x9e378))(piVar1[2],0)" (parenthesized_expression "(**(code **)(puVar10 + 0x9e378))" (( "(") (pointer_expression "**(code **)(puVar10 + 0x9e378)" (* "*") (pointer_expression "*(code **)(puVar10 + 0x9e378)" (* "*") (cast_expression "(code **)(puVar10 + 0x9e378)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar10 + 0x9e378)" (( "(") (binary_expression "puVar10 + 0x9e378" (identifier "puVar10") (+ "+") (number_literal "0x9e378")) () ")"))))) () ")")) (argument_list "(piVar1[2],0)" (( "(") (subscript_expression "piVar1[2]" (identifier "piVar1") ([ "[") (number_literal "2") (] "]")) (, ",") (number_literal "0") () ")")))) (; ";")) (expression_statement "iVar6 = iVar6 + iVar2;" (assignment_expression "iVar6 = iVar6 + iVar2" (identifier "iVar6") (= "=") (binary_expression "iVar6 + iVar2" (identifier "iVar6") (+ "+") (identifier "iVar2"))) (; ";")) (} "}"))))))))) (expression_statement "iVar7 = iVar7 + 1;" (assignment_expression "iVar7 = iVar7 + 1" (identifier "iVar7") (= "=") (binary_expression "iVar7 + 1" (identifier "iVar7") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "iVar2 = iVar6;" (assignment_expression "iVar2 = iVar6" (identifier "iVar2") (= "=") (identifier "iVar6")) (; ";")) (} "}"))) (return_statement "return iVar2 + 4;" (return "return") (binary_expression "iVar2 + 4" (identifier "iVar2") (+ "+") (number_literal "4")) (; ";")) (} "}")))

void function_1(type_1 *conf,int primary,type_2 *value)

{
                    /* WARNING: Subroutine does not return */
  var_1(1,0xc);
}


(translation_unit (function_definition type: (primitive_type) declarator: (function_declarator declarator: (identifier) parameters: (parameter_list (parameter_declaration type: (type_identifier) declarator: (identifier)) (parameter_declaration type: (primitive_type) declarator: (identifier)) (parameter_declaration type: (type_identifier) declarator: (identifier)))) body: (compound_statement (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (call_expression function: (identifier) arguments: (argument_list (number_literal) (number_literal)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))))) right: (number_literal))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))))) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier))))) (return_statement (identifier))))) alternative: (else_clause (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)) (binary_expression left: (identifier) right: (number_literal)) (number_literal) (binary_expression left: (identifier) right: (number_literal)))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier) (binary_expression left: (identifier) right: (number_literal)) (number_literal) (binary_expression left: (identifier) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (while_statement condition: (parenthesized_expression (true)) body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (pointer_expression argument: (identifier)) (identifier)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (break_statement)) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (identifier)) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) alternative: (else_clause (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (subscript_expression argument: (identifier) index: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (identifier)))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (identifier)) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (subscript_expression argument: (identifier) index: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (identifier))))) alternative: (else_clause (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))))) alternative: (else_clause (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (subscript_expression argument: (identifier) index: (number_literal)) (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier))))) alternative: (else_clause (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (subscript_expression argument: (identifier) index: (number_literal)) (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier)))))))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))))) (return_statement (binary_expression left: (identifier) right: (number_literal))))))

int MASKED(undefined4 param_1,int param_2,undefined4 param_3)

{
  int *piVar1;
  int iVar2;
  int iVar3;
  undefined4 *puVar4;
  int iVar5;
  int iVar6;
  int iVar7;
  int iVar8;
  int iVar9;
  undefined *puVar10;
  
  piVar1 = (int *)safemalloc(1,0xc);
  if (*(int *)(PTR_s_Server_sent_command_exit_status___000bc188 + param_2 * 4 + -0x676c) == 0) {
    if (*(int *)(PTR_s_Server_sent_command_exit_status___000bc188 + param_2 * 4 + -0x6a4c) == 4) {
      *piVar1 = param_2;
      iVar2 = (*(code *)PTR_fontspec_copy_000bc24c)(param_3);
      piVar1[2] = iVar2;
      iVar2 = FUN_0001c8cc(param_1,piVar1);
      return iVar2;
    }
  }
  else {
    (*(code *)PTR___assert_fail_000bcb00)
              (PTR_s_Server_sent_command_exit_status___000bc188 + -0x6c94,
               PTR_s_Server_sent_command_exit_status___000bc188 + -0x6cb0,0x1d1,
               PTR_s_Server_sent_command_exit_status___000bc188 + -0x6b90);
  }
  puVar4 = (undefined4 *)(PTR_s_Server_sent_command_exit_status___000bc188 + -0x6bbc);
  puVar10 = PTR___assert_fail_000bcb00;
  (*(code *)PTR___assert_fail_000bcb00)
            (puVar4,PTR_s_Server_sent_command_exit_status___000bc188 + -0x6cb0,0x1d2,
             PTR_s_Server_sent_command_exit_status___000bc188 + -0x6b90);
  iVar7 = 0;
  iVar8 = *(int *)(puVar10 + 0x9e294);
  iVar9 = *(int *)(puVar10 + 0x9e294);
  iVar2 = 0;
  while( true ) {
    piVar1 = (int *)(**(code **)(puVar10 + 0x9e354))(*puVar4,iVar7);
    if (piVar1 == (int *)0x0) break;
    iVar5 = *piVar1;
    iVar3 = *(int *)(iVar5 * 4 + iVar8 + -0x676c);
    iVar6 = iVar2 + 4;
    if (iVar3 == 1) {
      iVar6 = iVar2 + 8;
    }
    else if (iVar3 == 2) {
      iVar6 = (**(code **)(puVar10 + 0x9ed30))(piVar1[1]);
      iVar6 = iVar2 + 5 + iVar6;
    }
    iVar2 = *(int *)(iVar5 * 4 + iVar9 + -0x6a4c);
    if (iVar2 == 2) {
      iVar2 = (**(code **)(puVar10 + 0x9ed30))(piVar1[2]);
      iVar6 = iVar6 + 1 + iVar2;
    }
    else if (iVar2 < 3) {
      if (iVar2 == 1) {
        iVar6 = iVar6 + 4;
      }
    }
    else if (iVar2 == 3) {
      iVar2 = (**(code **)(puVar10 + 0x9e37c))(piVar1[2],0);
      iVar6 = iVar6 + iVar2;
    }
    else if (iVar2 == 4) {
      iVar2 = (**(code **)(puVar10 + 0x9e378))(piVar1[2],0);
      iVar6 = iVar6 + iVar2;
    }
    iVar7 = iVar7 + 1;
    iVar2 = iVar6;
  }
  return iVar2 + 4;
}

