
void print_stats(char *str)

{
  uint uVar1;
  int iVar2;
  undefined4 uVar3;
  int unaff_EDI;
  
  uVar3 = __x86_get_pc_thunk_di();
  if (*(int *)(unaff_EDI + 0x7346) != 0 || *(int *)(unaff_EDI + 0x7342) != 0) {
    pr2serr(unaff_EDI + 0x430e,*(int *)(unaff_EDI + 0x7342),*(int *)(unaff_EDI + 0x7346));
  }
  uVar1 = *(uint *)(unaff_EDI + 0x741a);
  pr2serr(unaff_EDI + 0x432c,uVar3,*(uint *)(unaff_EDI + 0x7422) - uVar1,
          (*(int *)(unaff_EDI + 0x7426) - ((int)uVar1 >> 0x1f)) -
          (uint)(*(uint *)(unaff_EDI + 0x7422) < uVar1),uVar1);
  uVar1 = *(uint *)(unaff_EDI + 0x740a);
  pr2serr(unaff_EDI + 0x4342,uVar3,*(uint *)(unaff_EDI + 0x7412) - uVar1,
          (*(int *)(unaff_EDI + 0x7416) - ((int)uVar1 >> 0x1f)) -
          (uint)(*(uint *)(unaff_EDI + 0x7412) < uVar1),uVar1);
  if (*(char *)(unaff_EDI + 0x7393) != '\0') {
    pr2serr(unaff_EDI + 0x4359,uVar3,*(undefined4 *)(unaff_EDI + 0x7402),
            *(undefined4 *)(unaff_EDI + 0x7406));
  }
  if (0 < *(int *)(unaff_EDI + 0x73fe)) {
    pr2serr(unaff_EDI + 0x4376,uVar3,*(int *)(unaff_EDI + 0x73fe));
  }
  if (0 < *(int *)(unaff_EDI + 0x73f2)) {
    pr2serr(unaff_EDI + 0x438d,uVar3,*(int *)(unaff_EDI + 0x73f2));
  }
  iVar2 = *(int *)(unaff_EDI + 0x73fa);
  if (*(int *)(unaff_EDI + 0x73ba) == 0 && *(int *)(unaff_EDI + 0x739a) == 0) {
    if (iVar2 == 0) {
      return;
    }
    pr2serr(unaff_EDI + 0x43be,uVar3,iVar2);
    return;
  }
  pr2serr(unaff_EDI + 0x43a5,uVar3,iVar2);
  pr2serr(unaff_EDI + 0x2d16,uVar3,*(undefined4 *)(unaff_EDI + 0x73f6));
  return;
}



void FUN_00014cd0(void)

{
  uint uVar1;
  int iVar2;
  undefined4 uVar3;
  int unaff_EDI;
  
  uVar3 = FUN_00016b65();
  if (*(int *)(unaff_EDI + 0x7346) != 0 || *(int *)(unaff_EDI + 0x7342) != 0) {
    pr2serr(unaff_EDI + 0x430e,*(int *)(unaff_EDI + 0x7342),*(int *)(unaff_EDI + 0x7346));
  }
  uVar1 = *(uint *)(unaff_EDI + 0x741a);
  pr2serr(unaff_EDI + 0x432c,uVar3,*(uint *)(unaff_EDI + 0x7422) - uVar1,
          (*(int *)(unaff_EDI + 0x7426) - ((int)uVar1 >> 0x1f)) -
          (uint)(*(uint *)(unaff_EDI + 0x7422) < uVar1),uVar1);
  uVar1 = *(uint *)(unaff_EDI + 0x740a);
  pr2serr(unaff_EDI + 0x4342,uVar3,*(uint *)(unaff_EDI + 0x7412) - uVar1,
          (*(int *)(unaff_EDI + 0x7416) - ((int)uVar1 >> 0x1f)) -
          (uint)(*(uint *)(unaff_EDI + 0x7412) < uVar1),uVar1);
  if (*(char *)(unaff_EDI + 0x7393) != '\0') {
    pr2serr(unaff_EDI + 0x4359,uVar3,*(undefined4 *)(unaff_EDI + 0x7402),
            *(undefined4 *)(unaff_EDI + 0x7406));
  }
  if (0 < *(int *)(unaff_EDI + 0x73fe)) {
    pr2serr(unaff_EDI + 0x4376,uVar3,*(int *)(unaff_EDI + 0x73fe));
  }
  if (0 < *(int *)(unaff_EDI + 0x73f2)) {
    pr2serr(unaff_EDI + 0x438d,uVar3,*(int *)(unaff_EDI + 0x73f2));
  }
  iVar2 = *(int *)(unaff_EDI + 0x73fa);
  if (*(int *)(unaff_EDI + 0x73ba) == 0 && *(int *)(unaff_EDI + 0x739a) == 0) {
    if (iVar2 == 0) {
      return;
    }
    pr2serr(unaff_EDI + 0x43be,uVar3,iVar2);
    return;
  }
  pr2serr(unaff_EDI + 0x43a5,uVar3,iVar2);
  pr2serr(unaff_EDI + 0x2d16,uVar3,*(undefined4 *)(unaff_EDI + 0x73f6));
  return;
}


PUSH EDI
CALL 0x00016b65
ADD EDI,0x7242
PUSH ESI
MOV ESI,EAX
PUSH EBX
MOV EDX,dword ptr [EDI + 0x104]
MOV EAX,dword ptr [EDI + 0x100]
MOV EBX,EDX
OR EBX,EAX
JNZ 0x00014e18
MOV EAX,dword ptr [EDI + 0x1d8]
MOV ECX,dword ptr [EDI + 0x1e0]
SUB ESP,0xc
MOV EBX,dword ptr [EDI + 0x1e4]
CDQ
SUB ECX,EAX
PUSH EAX
LEA EAX,[EDI + 0xffffd0ea]
SBB EBX,EDX
PUSH EBX
MOV EBX,EDI
PUSH ECX
PUSH ESI
PUSH EAX
CALL 0x00011120
MOV EAX,dword ptr [EDI + 0x1c8]
MOV ECX,dword ptr [EDI + 0x1d0]
ADD ESP,0x14
MOV EBX,dword ptr [EDI + 0x1d4]
CDQ
SUB ECX,EAX
PUSH EAX
LEA EAX,[EDI + 0xffffd100]
SBB EBX,EDX
PUSH EBX
MOV EBX,EDI
PUSH ECX
PUSH ESI
PUSH EAX
CALL 0x00011120
ADD ESP,0x20
CMP byte ptr [EDI + 0x151],0x0
JNZ 0x00014df0
MOV EAX,dword ptr [EDI + 0x1bc]
TEST EAX,EAX
JLE 0x00014d7e
SUB ESP,0x4
MOV EBX,EDI
PUSH EAX
LEA EAX,[EDI + 0xffffd134]
PUSH ESI
PUSH EAX
CALL 0x00011120
ADD ESP,0x10
MOV EAX,dword ptr [EDI + 0x1b0]
TEST EAX,EAX
JLE 0x00014d9e
SUB ESP,0x4
MOV EBX,EDI
PUSH EAX
LEA EAX,[EDI + 0xffffd14b]
PUSH ESI
PUSH EAX
CALL 0x00011120
ADD ESP,0x10
MOV EDX,dword ptr [EDI + 0x178]
OR EDX,dword ptr [EDI + 0x158]
MOV EAX,dword ptr [EDI + 0x1b8]
JNZ 0x00014dc0
TEST EAX,EAX
JNZ 0x00014e38
POP EBX
POP ESI
POP EDI
RET
SUB ESP,0x4
MOV EBX,EDI
PUSH EAX
LEA EAX,[EDI + 0xffffd163]
PUSH ESI
PUSH EAX
CALL 0x00011120
ADD ESP,0xc
LEA EAX,[EDI + 0xffffbad4]
PUSH dword ptr [EDI + 0x1b4]
PUSH ESI
PUSH EAX
CALL 0x00011120
ADD ESP,0x10
POP EBX
POP ESI
POP EDI
RET
LEA EAX,[EDI + 0xffffd117]
PUSH dword ptr [EDI + 0x1c4]
PUSH dword ptr [EDI + 0x1c0]
PUSH ESI
PUSH EAX
CALL 0x00011120
ADD ESP,0x10
JMP 0x00014d5e
SUB ESP,0x4
MOV EBX,EDI
PUSH EDX
PUSH EAX
LEA EAX,[EDI + 0xffffd0cc]
PUSH EAX
CALL 0x00011120
ADD ESP,0x10
JMP 0x00014cf6
SUB ESP,0x4
MOV EBX,EDI
PUSH EAX
LEA EAX,[EDI + 0xffffd17c]
PUSH ESI
PUSH EAX
CALL 0x00011120
ADD ESP,0x10
POP EBX
POP ESI
POP EDI
RET
(translation_unit "void FUN_00014cd0(void)\n\n{\n  uint uVar1;\n  int iVar2;\n  undefined4 uVar3;\n  int unaff_EDI;\n  \n  uVar3 = FUN_00016b65();\n  if (*(int *)(unaff_EDI + 0x7346) != 0 || *(int *)(unaff_EDI + 0x7342) != 0) {\n    pr2serr(unaff_EDI + 0x430e,*(int *)(unaff_EDI + 0x7342),*(int *)(unaff_EDI + 0x7346));\n  }\n  uVar1 = *(uint *)(unaff_EDI + 0x741a);\n  pr2serr(unaff_EDI + 0x432c,uVar3,*(uint *)(unaff_EDI + 0x7422) - uVar1,\n          (*(int *)(unaff_EDI + 0x7426) - ((int)uVar1 >> 0x1f)) -\n          (uint)(*(uint *)(unaff_EDI + 0x7422) < uVar1),uVar1);\n  uVar1 = *(uint *)(unaff_EDI + 0x740a);\n  pr2serr(unaff_EDI + 0x4342,uVar3,*(uint *)(unaff_EDI + 0x7412) - uVar1,\n          (*(int *)(unaff_EDI + 0x7416) - ((int)uVar1 >> 0x1f)) -\n          (uint)(*(uint *)(unaff_EDI + 0x7412) < uVar1),uVar1);\n  if (*(char *)(unaff_EDI + 0x7393) != '\0') {\n    pr2serr(unaff_EDI + 0x4359,uVar3,*(undefined4 *)(unaff_EDI + 0x7402),\n            *(undefined4 *)(unaff_EDI + 0x7406));\n  }\n  if (0 < *(int *)(unaff_EDI + 0x73fe)) {\n    pr2serr(unaff_EDI + 0x4376,uVar3,*(int *)(unaff_EDI + 0x73fe));\n  }\n  if (0 < *(int *)(unaff_EDI + 0x73f2)) {\n    pr2serr(unaff_EDI + 0x438d,uVar3,*(int *)(unaff_EDI + 0x73f2));\n  }\n  iVar2 = *(int *)(unaff_EDI + 0x73fa);\n  if (*(int *)(unaff_EDI + 0x73ba) == 0 && *(int *)(unaff_EDI + 0x739a) == 0) {\n    if (iVar2 == 0) {\n      return;\n    }\n    pr2serr(unaff_EDI + 0x43be,uVar3,iVar2);\n    return;\n  }\n  pr2serr(unaff_EDI + 0x43a5,uVar3,iVar2);\n  pr2serr(unaff_EDI + 0x2d16,uVar3,*(undefined4 *)(unaff_EDI + 0x73f6));\n  return;\n}\n\n" (function_definition "void FUN_00014cd0(void)\n\n{\n  uint uVar1;\n  int iVar2;\n  undefined4 uVar3;\n  int unaff_EDI;\n  \n  uVar3 = FUN_00016b65();\n  if (*(int *)(unaff_EDI + 0x7346) != 0 || *(int *)(unaff_EDI + 0x7342) != 0) {\n    pr2serr(unaff_EDI + 0x430e,*(int *)(unaff_EDI + 0x7342),*(int *)(unaff_EDI + 0x7346));\n  }\n  uVar1 = *(uint *)(unaff_EDI + 0x741a);\n  pr2serr(unaff_EDI + 0x432c,uVar3,*(uint *)(unaff_EDI + 0x7422) - uVar1,\n          (*(int *)(unaff_EDI + 0x7426) - ((int)uVar1 >> 0x1f)) -\n          (uint)(*(uint *)(unaff_EDI + 0x7422) < uVar1),uVar1);\n  uVar1 = *(uint *)(unaff_EDI + 0x740a);\n  pr2serr(unaff_EDI + 0x4342,uVar3,*(uint *)(unaff_EDI + 0x7412) - uVar1,\n          (*(int *)(unaff_EDI + 0x7416) - ((int)uVar1 >> 0x1f)) -\n          (uint)(*(uint *)(unaff_EDI + 0x7412) < uVar1),uVar1);\n  if (*(char *)(unaff_EDI + 0x7393) != '\0') {\n    pr2serr(unaff_EDI + 0x4359,uVar3,*(undefined4 *)(unaff_EDI + 0x7402),\n            *(undefined4 *)(unaff_EDI + 0x7406));\n  }\n  if (0 < *(int *)(unaff_EDI + 0x73fe)) {\n    pr2serr(unaff_EDI + 0x4376,uVar3,*(int *)(unaff_EDI + 0x73fe));\n  }\n  if (0 < *(int *)(unaff_EDI + 0x73f2)) {\n    pr2serr(unaff_EDI + 0x438d,uVar3,*(int *)(unaff_EDI + 0x73f2));\n  }\n  iVar2 = *(int *)(unaff_EDI + 0x73fa);\n  if (*(int *)(unaff_EDI + 0x73ba) == 0 && *(int *)(unaff_EDI + 0x739a) == 0) {\n    if (iVar2 == 0) {\n      return;\n    }\n    pr2serr(unaff_EDI + 0x43be,uVar3,iVar2);\n    return;\n  }\n  pr2serr(unaff_EDI + 0x43a5,uVar3,iVar2);\n  pr2serr(unaff_EDI + 0x2d16,uVar3,*(undefined4 *)(unaff_EDI + 0x73f6));\n  return;\n}" primitive_type (function_declarator "FUN_00014cd0(void)" identifier (parameter_list "(void)" ( (parameter_declaration "void" primitive_type) ))) (compound_statement "{\n  uint uVar1;\n  int iVar2;\n  undefined4 uVar3;\n  int unaff_EDI;\n  \n  uVar3 = FUN_00016b65();\n  if (*(int *)(unaff_EDI + 0x7346) != 0 || *(int *)(unaff_EDI + 0x7342) != 0) {\n    pr2serr(unaff_EDI + 0x430e,*(int *)(unaff_EDI + 0x7342),*(int *)(unaff_EDI + 0x7346));\n  }\n  uVar1 = *(uint *)(unaff_EDI + 0x741a);\n  pr2serr(unaff_EDI + 0x432c,uVar3,*(uint *)(unaff_EDI + 0x7422) - uVar1,\n          (*(int *)(unaff_EDI + 0x7426) - ((int)uVar1 >> 0x1f)) -\n          (uint)(*(uint *)(unaff_EDI + 0x7422) < uVar1),uVar1);\n  uVar1 = *(uint *)(unaff_EDI + 0x740a);\n  pr2serr(unaff_EDI + 0x4342,uVar3,*(uint *)(unaff_EDI + 0x7412) - uVar1,\n          (*(int *)(unaff_EDI + 0x7416) - ((int)uVar1 >> 0x1f)) -\n          (uint)(*(uint *)(unaff_EDI + 0x7412) < uVar1),uVar1);\n  if (*(char *)(unaff_EDI + 0x7393) != '\0') {\n    pr2serr(unaff_EDI + 0x4359,uVar3,*(undefined4 *)(unaff_EDI + 0x7402),\n            *(undefined4 *)(unaff_EDI + 0x7406));\n  }\n  if (0 < *(int *)(unaff_EDI + 0x73fe)) {\n    pr2serr(unaff_EDI + 0x4376,uVar3,*(int *)(unaff_EDI + 0x73fe));\n  }\n  if (0 < *(int *)(unaff_EDI + 0x73f2)) {\n    pr2serr(unaff_EDI + 0x438d,uVar3,*(int *)(unaff_EDI + 0x73f2));\n  }\n  iVar2 = *(int *)(unaff_EDI + 0x73fa);\n  if (*(int *)(unaff_EDI + 0x73ba) == 0 && *(int *)(unaff_EDI + 0x739a) == 0) {\n    if (iVar2 == 0) {\n      return;\n    }\n    pr2serr(unaff_EDI + 0x43be,uVar3,iVar2);\n    return;\n  }\n  pr2serr(unaff_EDI + 0x43a5,uVar3,iVar2);\n  pr2serr(unaff_EDI + 0x2d16,uVar3,*(undefined4 *)(unaff_EDI + 0x73f6));\n  return;\n}" { (declaration "uint uVar1;" type_identifier identifier ;) (declaration "int iVar2;" primitive_type identifier ;) (declaration "undefined4 uVar3;" type_identifier identifier ;) (declaration "int unaff_EDI;" primitive_type identifier ;) (expression_statement "uVar3 = FUN_00016b65();" (assignment_expression "uVar3 = FUN_00016b65()" identifier = (call_expression "FUN_00016b65()" identifier (argument_list "()" ( )))) ;) (if_statement "if (*(int *)(unaff_EDI + 0x7346) != 0 || *(int *)(unaff_EDI + 0x7342) != 0) {\n    pr2serr(unaff_EDI + 0x430e,*(int *)(unaff_EDI + 0x7342),*(int *)(unaff_EDI + 0x7346));\n  }" if (parenthesized_expression "(*(int *)(unaff_EDI + 0x7346) != 0 || *(int *)(unaff_EDI + 0x7342) != 0)" ( (binary_expression "*(int *)(unaff_EDI + 0x7346) != 0 || *(int *)(unaff_EDI + 0x7342) != 0" (binary_expression "*(int *)(unaff_EDI + 0x7346) != 0" (pointer_expression "*(int *)(unaff_EDI + 0x7346)" * (cast_expression "(int *)(unaff_EDI + 0x7346)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EDI + 0x7346)" ( (binary_expression "unaff_EDI + 0x7346" identifier + number_literal) )))) != number_literal) || (binary_expression "*(int *)(unaff_EDI + 0x7342) != 0" (pointer_expression "*(int *)(unaff_EDI + 0x7342)" * (cast_expression "(int *)(unaff_EDI + 0x7342)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EDI + 0x7342)" ( (binary_expression "unaff_EDI + 0x7342" identifier + number_literal) )))) != number_literal)) )) (compound_statement "{\n    pr2serr(unaff_EDI + 0x430e,*(int *)(unaff_EDI + 0x7342),*(int *)(unaff_EDI + 0x7346));\n  }" { (expression_statement "pr2serr(unaff_EDI + 0x430e,*(int *)(unaff_EDI + 0x7342),*(int *)(unaff_EDI + 0x7346));" (call_expression "pr2serr(unaff_EDI + 0x430e,*(int *)(unaff_EDI + 0x7342),*(int *)(unaff_EDI + 0x7346))" identifier (argument_list "(unaff_EDI + 0x430e,*(int *)(unaff_EDI + 0x7342),*(int *)(unaff_EDI + 0x7346))" ( (binary_expression "unaff_EDI + 0x430e" identifier + number_literal) , (pointer_expression "*(int *)(unaff_EDI + 0x7342)" * (cast_expression "(int *)(unaff_EDI + 0x7342)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EDI + 0x7342)" ( (binary_expression "unaff_EDI + 0x7342" identifier + number_literal) )))) , (pointer_expression "*(int *)(unaff_EDI + 0x7346)" * (cast_expression "(int *)(unaff_EDI + 0x7346)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EDI + 0x7346)" ( (binary_expression "unaff_EDI + 0x7346" identifier + number_literal) )))) ))) ;) })) (expression_statement "uVar1 = *(uint *)(unaff_EDI + 0x741a);" (assignment_expression "uVar1 = *(uint *)(unaff_EDI + 0x741a)" identifier = (pointer_expression "*(uint *)(unaff_EDI + 0x741a)" * (cast_expression "(uint *)(unaff_EDI + 0x741a)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EDI + 0x741a)" ( (binary_expression "unaff_EDI + 0x741a" identifier + number_literal) ))))) ;) (expression_statement "pr2serr(unaff_EDI + 0x432c,uVar3,*(uint *)(unaff_EDI + 0x7422) - uVar1,\n          (*(int *)(unaff_EDI + 0x7426) - ((int)uVar1 >> 0x1f)) -\n          (uint)(*(uint *)(unaff_EDI + 0x7422) < uVar1),uVar1);" (call_expression "pr2serr(unaff_EDI + 0x432c,uVar3,*(uint *)(unaff_EDI + 0x7422) - uVar1,\n          (*(int *)(unaff_EDI + 0x7426) - ((int)uVar1 >> 0x1f)) -\n          (uint)(*(uint *)(unaff_EDI + 0x7422) < uVar1),uVar1)" identifier (argument_list "(unaff_EDI + 0x432c,uVar3,*(uint *)(unaff_EDI + 0x7422) - uVar1,\n          (*(int *)(unaff_EDI + 0x7426) - ((int)uVar1 >> 0x1f)) -\n          (uint)(*(uint *)(unaff_EDI + 0x7422) < uVar1),uVar1)" ( (binary_expression "unaff_EDI + 0x432c" identifier + number_literal) , identifier , (binary_expression "*(uint *)(unaff_EDI + 0x7422) - uVar1" (pointer_expression "*(uint *)(unaff_EDI + 0x7422)" * (cast_expression "(uint *)(unaff_EDI + 0x7422)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EDI + 0x7422)" ( (binary_expression "unaff_EDI + 0x7422" identifier + number_literal) )))) - identifier) , (binary_expression "(*(int *)(unaff_EDI + 0x7426) - ((int)uVar1 >> 0x1f)) -\n          (uint)(*(uint *)(unaff_EDI + 0x7422) < uVar1)" (parenthesized_expression "(*(int *)(unaff_EDI + 0x7426) - ((int)uVar1 >> 0x1f))" ( (binary_expression "*(int *)(unaff_EDI + 0x7426) - ((int)uVar1 >> 0x1f)" (pointer_expression "*(int *)(unaff_EDI + 0x7426)" * (cast_expression "(int *)(unaff_EDI + 0x7426)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EDI + 0x7426)" ( (binary_expression "unaff_EDI + 0x7426" identifier + number_literal) )))) - (parenthesized_expression "((int)uVar1 >> 0x1f)" ( (binary_expression "(int)uVar1 >> 0x1f" (cast_expression "(int)uVar1" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal) ))) )) - (call_expression "(uint)(*(uint *)(unaff_EDI + 0x7422) < uVar1)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(*(uint *)(unaff_EDI + 0x7422) < uVar1)" ( (binary_expression "*(uint *)(unaff_EDI + 0x7422) < uVar1" (pointer_expression "*(uint *)(unaff_EDI + 0x7422)" * (cast_expression "(uint *)(unaff_EDI + 0x7422)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EDI + 0x7422)" ( (binary_expression "unaff_EDI + 0x7422" identifier + number_literal) )))) < identifier) )))) , identifier ))) ;) (expression_statement "uVar1 = *(uint *)(unaff_EDI + 0x740a);" (assignment_expression "uVar1 = *(uint *)(unaff_EDI + 0x740a)" identifier = (pointer_expression "*(uint *)(unaff_EDI + 0x740a)" * (cast_expression "(uint *)(unaff_EDI + 0x740a)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EDI + 0x740a)" ( (binary_expression "unaff_EDI + 0x740a" identifier + number_literal) ))))) ;) (expression_statement "pr2serr(unaff_EDI + 0x4342,uVar3,*(uint *)(unaff_EDI + 0x7412) - uVar1,\n          (*(int *)(unaff_EDI + 0x7416) - ((int)uVar1 >> 0x1f)) -\n          (uint)(*(uint *)(unaff_EDI + 0x7412) < uVar1),uVar1);" (call_expression "pr2serr(unaff_EDI + 0x4342,uVar3,*(uint *)(unaff_EDI + 0x7412) - uVar1,\n          (*(int *)(unaff_EDI + 0x7416) - ((int)uVar1 >> 0x1f)) -\n          (uint)(*(uint *)(unaff_EDI + 0x7412) < uVar1),uVar1)" identifier (argument_list "(unaff_EDI + 0x4342,uVar3,*(uint *)(unaff_EDI + 0x7412) - uVar1,\n          (*(int *)(unaff_EDI + 0x7416) - ((int)uVar1 >> 0x1f)) -\n          (uint)(*(uint *)(unaff_EDI + 0x7412) < uVar1),uVar1)" ( (binary_expression "unaff_EDI + 0x4342" identifier + number_literal) , identifier , (binary_expression "*(uint *)(unaff_EDI + 0x7412) - uVar1" (pointer_expression "*(uint *)(unaff_EDI + 0x7412)" * (cast_expression "(uint *)(unaff_EDI + 0x7412)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EDI + 0x7412)" ( (binary_expression "unaff_EDI + 0x7412" identifier + number_literal) )))) - identifier) , (binary_expression "(*(int *)(unaff_EDI + 0x7416) - ((int)uVar1 >> 0x1f)) -\n          (uint)(*(uint *)(unaff_EDI + 0x7412) < uVar1)" (parenthesized_expression "(*(int *)(unaff_EDI + 0x7416) - ((int)uVar1 >> 0x1f))" ( (binary_expression "*(int *)(unaff_EDI + 0x7416) - ((int)uVar1 >> 0x1f)" (pointer_expression "*(int *)(unaff_EDI + 0x7416)" * (cast_expression "(int *)(unaff_EDI + 0x7416)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EDI + 0x7416)" ( (binary_expression "unaff_EDI + 0x7416" identifier + number_literal) )))) - (parenthesized_expression "((int)uVar1 >> 0x1f)" ( (binary_expression "(int)uVar1 >> 0x1f" (cast_expression "(int)uVar1" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal) ))) )) - (call_expression "(uint)(*(uint *)(unaff_EDI + 0x7412) < uVar1)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(*(uint *)(unaff_EDI + 0x7412) < uVar1)" ( (binary_expression "*(uint *)(unaff_EDI + 0x7412) < uVar1" (pointer_expression "*(uint *)(unaff_EDI + 0x7412)" * (cast_expression "(uint *)(unaff_EDI + 0x7412)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EDI + 0x7412)" ( (binary_expression "unaff_EDI + 0x7412" identifier + number_literal) )))) < identifier) )))) , identifier ))) ;) (if_statement "if (*(char *)(unaff_EDI + 0x7393) != '\0') {\n    pr2serr(unaff_EDI + 0x4359,uVar3,*(undefined4 *)(unaff_EDI + 0x7402),\n            *(undefined4 *)(unaff_EDI + 0x7406));\n  }" if (parenthesized_expression "(*(char *)(unaff_EDI + 0x7393) != '\0')" ( (binary_expression "*(char *)(unaff_EDI + 0x7393) != '\0'" (pointer_expression "*(char *)(unaff_EDI + 0x7393)" * (cast_expression "(char *)(unaff_EDI + 0x7393)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EDI + 0x7393)" ( (binary_expression "unaff_EDI + 0x7393" identifier + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n    pr2serr(unaff_EDI + 0x4359,uVar3,*(undefined4 *)(unaff_EDI + 0x7402),\n            *(undefined4 *)(unaff_EDI + 0x7406));\n  }" { (expression_statement "pr2serr(unaff_EDI + 0x4359,uVar3,*(undefined4 *)(unaff_EDI + 0x7402),\n            *(undefined4 *)(unaff_EDI + 0x7406));" (call_expression "pr2serr(unaff_EDI + 0x4359,uVar3,*(undefined4 *)(unaff_EDI + 0x7402),\n            *(undefined4 *)(unaff_EDI + 0x7406))" identifier (argument_list "(unaff_EDI + 0x4359,uVar3,*(undefined4 *)(unaff_EDI + 0x7402),\n            *(undefined4 *)(unaff_EDI + 0x7406))" ( (binary_expression "unaff_EDI + 0x4359" identifier + number_literal) , identifier , (pointer_expression "*(undefined4 *)(unaff_EDI + 0x7402)" * (cast_expression "(undefined4 *)(unaff_EDI + 0x7402)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EDI + 0x7402)" ( (binary_expression "unaff_EDI + 0x7402" identifier + number_literal) )))) , (pointer_expression "*(undefined4 *)(unaff_EDI + 0x7406)" * (cast_expression "(undefined4 *)(unaff_EDI + 0x7406)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EDI + 0x7406)" ( (binary_expression "unaff_EDI + 0x7406" identifier + number_literal) )))) ))) ;) })) (if_statement "if (0 < *(int *)(unaff_EDI + 0x73fe)) {\n    pr2serr(unaff_EDI + 0x4376,uVar3,*(int *)(unaff_EDI + 0x73fe));\n  }" if (parenthesized_expression "(0 < *(int *)(unaff_EDI + 0x73fe))" ( (binary_expression "0 < *(int *)(unaff_EDI + 0x73fe)" number_literal < (pointer_expression "*(int *)(unaff_EDI + 0x73fe)" * (cast_expression "(int *)(unaff_EDI + 0x73fe)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EDI + 0x73fe)" ( (binary_expression "unaff_EDI + 0x73fe" identifier + number_literal) ))))) )) (compound_statement "{\n    pr2serr(unaff_EDI + 0x4376,uVar3,*(int *)(unaff_EDI + 0x73fe));\n  }" { (expression_statement "pr2serr(unaff_EDI + 0x4376,uVar3,*(int *)(unaff_EDI + 0x73fe));" (call_expression "pr2serr(unaff_EDI + 0x4376,uVar3,*(int *)(unaff_EDI + 0x73fe))" identifier (argument_list "(unaff_EDI + 0x4376,uVar3,*(int *)(unaff_EDI + 0x73fe))" ( (binary_expression "unaff_EDI + 0x4376" identifier + number_literal) , identifier , (pointer_expression "*(int *)(unaff_EDI + 0x73fe)" * (cast_expression "(int *)(unaff_EDI + 0x73fe)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EDI + 0x73fe)" ( (binary_expression "unaff_EDI + 0x73fe" identifier + number_literal) )))) ))) ;) })) (if_statement "if (0 < *(int *)(unaff_EDI + 0x73f2)) {\n    pr2serr(unaff_EDI + 0x438d,uVar3,*(int *)(unaff_EDI + 0x73f2));\n  }" if (parenthesized_expression "(0 < *(int *)(unaff_EDI + 0x73f2))" ( (binary_expression "0 < *(int *)(unaff_EDI + 0x73f2)" number_literal < (pointer_expression "*(int *)(unaff_EDI + 0x73f2)" * (cast_expression "(int *)(unaff_EDI + 0x73f2)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EDI + 0x73f2)" ( (binary_expression "unaff_EDI + 0x73f2" identifier + number_literal) ))))) )) (compound_statement "{\n    pr2serr(unaff_EDI + 0x438d,uVar3,*(int *)(unaff_EDI + 0x73f2));\n  }" { (expression_statement "pr2serr(unaff_EDI + 0x438d,uVar3,*(int *)(unaff_EDI + 0x73f2));" (call_expression "pr2serr(unaff_EDI + 0x438d,uVar3,*(int *)(unaff_EDI + 0x73f2))" identifier (argument_list "(unaff_EDI + 0x438d,uVar3,*(int *)(unaff_EDI + 0x73f2))" ( (binary_expression "unaff_EDI + 0x438d" identifier + number_literal) , identifier , (pointer_expression "*(int *)(unaff_EDI + 0x73f2)" * (cast_expression "(int *)(unaff_EDI + 0x73f2)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EDI + 0x73f2)" ( (binary_expression "unaff_EDI + 0x73f2" identifier + number_literal) )))) ))) ;) })) (expression_statement "iVar2 = *(int *)(unaff_EDI + 0x73fa);" (assignment_expression "iVar2 = *(int *)(unaff_EDI + 0x73fa)" identifier = (pointer_expression "*(int *)(unaff_EDI + 0x73fa)" * (cast_expression "(int *)(unaff_EDI + 0x73fa)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EDI + 0x73fa)" ( (binary_expression "unaff_EDI + 0x73fa" identifier + number_literal) ))))) ;) (if_statement "if (*(int *)(unaff_EDI + 0x73ba) == 0 && *(int *)(unaff_EDI + 0x739a) == 0) {\n    if (iVar2 == 0) {\n      return;\n    }\n    pr2serr(unaff_EDI + 0x43be,uVar3,iVar2);\n    return;\n  }" if (parenthesized_expression "(*(int *)(unaff_EDI + 0x73ba) == 0 && *(int *)(unaff_EDI + 0x739a) == 0)" ( (binary_expression "*(int *)(unaff_EDI + 0x73ba) == 0 && *(int *)(unaff_EDI + 0x739a) == 0" (binary_expression "*(int *)(unaff_EDI + 0x73ba) == 0" (pointer_expression "*(int *)(unaff_EDI + 0x73ba)" * (cast_expression "(int *)(unaff_EDI + 0x73ba)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EDI + 0x73ba)" ( (binary_expression "unaff_EDI + 0x73ba" identifier + number_literal) )))) == number_literal) && (binary_expression "*(int *)(unaff_EDI + 0x739a) == 0" (pointer_expression "*(int *)(unaff_EDI + 0x739a)" * (cast_expression "(int *)(unaff_EDI + 0x739a)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EDI + 0x739a)" ( (binary_expression "unaff_EDI + 0x739a" identifier + number_literal) )))) == number_literal)) )) (compound_statement "{\n    if (iVar2 == 0) {\n      return;\n    }\n    pr2serr(unaff_EDI + 0x43be,uVar3,iVar2);\n    return;\n  }" { (if_statement "if (iVar2 == 0) {\n      return;\n    }" if (parenthesized_expression "(iVar2 == 0)" ( (binary_expression "iVar2 == 0" identifier == number_literal) )) (compound_statement "{\n      return;\n    }" { (return_statement "return;" return ;) })) (expression_statement "pr2serr(unaff_EDI + 0x43be,uVar3,iVar2);" (call_expression "pr2serr(unaff_EDI + 0x43be,uVar3,iVar2)" identifier (argument_list "(unaff_EDI + 0x43be,uVar3,iVar2)" ( (binary_expression "unaff_EDI + 0x43be" identifier + number_literal) , identifier , identifier ))) ;) (return_statement "return;" return ;) })) (expression_statement "pr2serr(unaff_EDI + 0x43a5,uVar3,iVar2);" (call_expression "pr2serr(unaff_EDI + 0x43a5,uVar3,iVar2)" identifier (argument_list "(unaff_EDI + 0x43a5,uVar3,iVar2)" ( (binary_expression "unaff_EDI + 0x43a5" identifier + number_literal) , identifier , identifier ))) ;) (expression_statement "pr2serr(unaff_EDI + 0x2d16,uVar3,*(undefined4 *)(unaff_EDI + 0x73f6));" (call_expression "pr2serr(unaff_EDI + 0x2d16,uVar3,*(undefined4 *)(unaff_EDI + 0x73f6))" identifier (argument_list "(unaff_EDI + 0x2d16,uVar3,*(undefined4 *)(unaff_EDI + 0x73f6))" ( (binary_expression "unaff_EDI + 0x2d16" identifier + number_literal) , identifier , (pointer_expression "*(undefined4 *)(unaff_EDI + 0x73f6)" * (cast_expression "(undefined4 *)(unaff_EDI + 0x73f6)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EDI + 0x73f6)" ( (binary_expression "unaff_EDI + 0x73f6" identifier + number_literal) )))) ))) ;) (return_statement "return;" return ;) })))
(translation_unit "void print_stats(char *str)\n\n{\n  uint uVar1;\n  int iVar2;\n  undefined4 uVar3;\n  int unaff_EDI;\n  \n  uVar3 = __x86_get_pc_thunk_di();\n  if (*(int *)(unaff_EDI + 0x7346) != 0 || *(int *)(unaff_EDI + 0x7342) != 0) {\n    pr2serr(unaff_EDI + 0x430e,*(int *)(unaff_EDI + 0x7342),*(int *)(unaff_EDI + 0x7346));\n  }\n  uVar1 = *(uint *)(unaff_EDI + 0x741a);\n  pr2serr(unaff_EDI + 0x432c,uVar3,*(uint *)(unaff_EDI + 0x7422) - uVar1,\n          (*(int *)(unaff_EDI + 0x7426) - ((int)uVar1 >> 0x1f)) -\n          (uint)(*(uint *)(unaff_EDI + 0x7422) < uVar1),uVar1);\n  uVar1 = *(uint *)(unaff_EDI + 0x740a);\n  pr2serr(unaff_EDI + 0x4342,uVar3,*(uint *)(unaff_EDI + 0x7412) - uVar1,\n          (*(int *)(unaff_EDI + 0x7416) - ((int)uVar1 >> 0x1f)) -\n          (uint)(*(uint *)(unaff_EDI + 0x7412) < uVar1),uVar1);\n  if (*(char *)(unaff_EDI + 0x7393) != '\0') {\n    pr2serr(unaff_EDI + 0x4359,uVar3,*(undefined4 *)(unaff_EDI + 0x7402),\n            *(undefined4 *)(unaff_EDI + 0x7406));\n  }\n  if (0 < *(int *)(unaff_EDI + 0x73fe)) {\n    pr2serr(unaff_EDI + 0x4376,uVar3,*(int *)(unaff_EDI + 0x73fe));\n  }\n  if (0 < *(int *)(unaff_EDI + 0x73f2)) {\n    pr2serr(unaff_EDI + 0x438d,uVar3,*(int *)(unaff_EDI + 0x73f2));\n  }\n  iVar2 = *(int *)(unaff_EDI + 0x73fa);\n  if (*(int *)(unaff_EDI + 0x73ba) == 0 && *(int *)(unaff_EDI + 0x739a) == 0) {\n    if (iVar2 == 0) {\n      return;\n    }\n    pr2serr(unaff_EDI + 0x43be,uVar3,iVar2);\n    return;\n  }\n  pr2serr(unaff_EDI + 0x43a5,uVar3,iVar2);\n  pr2serr(unaff_EDI + 0x2d16,uVar3,*(undefined4 *)(unaff_EDI + 0x73f6));\n  return;\n}\n\n" (function_definition "void print_stats(char *str)\n\n{\n  uint uVar1;\n  int iVar2;\n  undefined4 uVar3;\n  int unaff_EDI;\n  \n  uVar3 = __x86_get_pc_thunk_di();\n  if (*(int *)(unaff_EDI + 0x7346) != 0 || *(int *)(unaff_EDI + 0x7342) != 0) {\n    pr2serr(unaff_EDI + 0x430e,*(int *)(unaff_EDI + 0x7342),*(int *)(unaff_EDI + 0x7346));\n  }\n  uVar1 = *(uint *)(unaff_EDI + 0x741a);\n  pr2serr(unaff_EDI + 0x432c,uVar3,*(uint *)(unaff_EDI + 0x7422) - uVar1,\n          (*(int *)(unaff_EDI + 0x7426) - ((int)uVar1 >> 0x1f)) -\n          (uint)(*(uint *)(unaff_EDI + 0x7422) < uVar1),uVar1);\n  uVar1 = *(uint *)(unaff_EDI + 0x740a);\n  pr2serr(unaff_EDI + 0x4342,uVar3,*(uint *)(unaff_EDI + 0x7412) - uVar1,\n          (*(int *)(unaff_EDI + 0x7416) - ((int)uVar1 >> 0x1f)) -\n          (uint)(*(uint *)(unaff_EDI + 0x7412) < uVar1),uVar1);\n  if (*(char *)(unaff_EDI + 0x7393) != '\0') {\n    pr2serr(unaff_EDI + 0x4359,uVar3,*(undefined4 *)(unaff_EDI + 0x7402),\n            *(undefined4 *)(unaff_EDI + 0x7406));\n  }\n  if (0 < *(int *)(unaff_EDI + 0x73fe)) {\n    pr2serr(unaff_EDI + 0x4376,uVar3,*(int *)(unaff_EDI + 0x73fe));\n  }\n  if (0 < *(int *)(unaff_EDI + 0x73f2)) {\n    pr2serr(unaff_EDI + 0x438d,uVar3,*(int *)(unaff_EDI + 0x73f2));\n  }\n  iVar2 = *(int *)(unaff_EDI + 0x73fa);\n  if (*(int *)(unaff_EDI + 0x73ba) == 0 && *(int *)(unaff_EDI + 0x739a) == 0) {\n    if (iVar2 == 0) {\n      return;\n    }\n    pr2serr(unaff_EDI + 0x43be,uVar3,iVar2);\n    return;\n  }\n  pr2serr(unaff_EDI + 0x43a5,uVar3,iVar2);\n  pr2serr(unaff_EDI + 0x2d16,uVar3,*(undefined4 *)(unaff_EDI + 0x73f6));\n  return;\n}" primitive_type (function_declarator "print_stats(char *str)" identifier (parameter_list "(char *str)" ( (parameter_declaration "char *str" primitive_type (pointer_declarator "*str" * identifier)) ))) (compound_statement "{\n  uint uVar1;\n  int iVar2;\n  undefined4 uVar3;\n  int unaff_EDI;\n  \n  uVar3 = __x86_get_pc_thunk_di();\n  if (*(int *)(unaff_EDI + 0x7346) != 0 || *(int *)(unaff_EDI + 0x7342) != 0) {\n    pr2serr(unaff_EDI + 0x430e,*(int *)(unaff_EDI + 0x7342),*(int *)(unaff_EDI + 0x7346));\n  }\n  uVar1 = *(uint *)(unaff_EDI + 0x741a);\n  pr2serr(unaff_EDI + 0x432c,uVar3,*(uint *)(unaff_EDI + 0x7422) - uVar1,\n          (*(int *)(unaff_EDI + 0x7426) - ((int)uVar1 >> 0x1f)) -\n          (uint)(*(uint *)(unaff_EDI + 0x7422) < uVar1),uVar1);\n  uVar1 = *(uint *)(unaff_EDI + 0x740a);\n  pr2serr(unaff_EDI + 0x4342,uVar3,*(uint *)(unaff_EDI + 0x7412) - uVar1,\n          (*(int *)(unaff_EDI + 0x7416) - ((int)uVar1 >> 0x1f)) -\n          (uint)(*(uint *)(unaff_EDI + 0x7412) < uVar1),uVar1);\n  if (*(char *)(unaff_EDI + 0x7393) != '\0') {\n    pr2serr(unaff_EDI + 0x4359,uVar3,*(undefined4 *)(unaff_EDI + 0x7402),\n            *(undefined4 *)(unaff_EDI + 0x7406));\n  }\n  if (0 < *(int *)(unaff_EDI + 0x73fe)) {\n    pr2serr(unaff_EDI + 0x4376,uVar3,*(int *)(unaff_EDI + 0x73fe));\n  }\n  if (0 < *(int *)(unaff_EDI + 0x73f2)) {\n    pr2serr(unaff_EDI + 0x438d,uVar3,*(int *)(unaff_EDI + 0x73f2));\n  }\n  iVar2 = *(int *)(unaff_EDI + 0x73fa);\n  if (*(int *)(unaff_EDI + 0x73ba) == 0 && *(int *)(unaff_EDI + 0x739a) == 0) {\n    if (iVar2 == 0) {\n      return;\n    }\n    pr2serr(unaff_EDI + 0x43be,uVar3,iVar2);\n    return;\n  }\n  pr2serr(unaff_EDI + 0x43a5,uVar3,iVar2);\n  pr2serr(unaff_EDI + 0x2d16,uVar3,*(undefined4 *)(unaff_EDI + 0x73f6));\n  return;\n}" { (declaration "uint uVar1;" type_identifier identifier ;) (declaration "int iVar2;" primitive_type identifier ;) (declaration "undefined4 uVar3;" type_identifier identifier ;) (declaration "int unaff_EDI;" primitive_type identifier ;) (expression_statement "uVar3 = __x86_get_pc_thunk_di();" (assignment_expression "uVar3 = __x86_get_pc_thunk_di()" identifier = (call_expression "__x86_get_pc_thunk_di()" identifier (argument_list "()" ( )))) ;) (if_statement "if (*(int *)(unaff_EDI + 0x7346) != 0 || *(int *)(unaff_EDI + 0x7342) != 0) {\n    pr2serr(unaff_EDI + 0x430e,*(int *)(unaff_EDI + 0x7342),*(int *)(unaff_EDI + 0x7346));\n  }" if (parenthesized_expression "(*(int *)(unaff_EDI + 0x7346) != 0 || *(int *)(unaff_EDI + 0x7342) != 0)" ( (binary_expression "*(int *)(unaff_EDI + 0x7346) != 0 || *(int *)(unaff_EDI + 0x7342) != 0" (binary_expression "*(int *)(unaff_EDI + 0x7346) != 0" (pointer_expression "*(int *)(unaff_EDI + 0x7346)" * (cast_expression "(int *)(unaff_EDI + 0x7346)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EDI + 0x7346)" ( (binary_expression "unaff_EDI + 0x7346" identifier + number_literal) )))) != number_literal) || (binary_expression "*(int *)(unaff_EDI + 0x7342) != 0" (pointer_expression "*(int *)(unaff_EDI + 0x7342)" * (cast_expression "(int *)(unaff_EDI + 0x7342)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EDI + 0x7342)" ( (binary_expression "unaff_EDI + 0x7342" identifier + number_literal) )))) != number_literal)) )) (compound_statement "{\n    pr2serr(unaff_EDI + 0x430e,*(int *)(unaff_EDI + 0x7342),*(int *)(unaff_EDI + 0x7346));\n  }" { (expression_statement "pr2serr(unaff_EDI + 0x430e,*(int *)(unaff_EDI + 0x7342),*(int *)(unaff_EDI + 0x7346));" (call_expression "pr2serr(unaff_EDI + 0x430e,*(int *)(unaff_EDI + 0x7342),*(int *)(unaff_EDI + 0x7346))" identifier (argument_list "(unaff_EDI + 0x430e,*(int *)(unaff_EDI + 0x7342),*(int *)(unaff_EDI + 0x7346))" ( (binary_expression "unaff_EDI + 0x430e" identifier + number_literal) , (pointer_expression "*(int *)(unaff_EDI + 0x7342)" * (cast_expression "(int *)(unaff_EDI + 0x7342)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EDI + 0x7342)" ( (binary_expression "unaff_EDI + 0x7342" identifier + number_literal) )))) , (pointer_expression "*(int *)(unaff_EDI + 0x7346)" * (cast_expression "(int *)(unaff_EDI + 0x7346)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EDI + 0x7346)" ( (binary_expression "unaff_EDI + 0x7346" identifier + number_literal) )))) ))) ;) })) (expression_statement "uVar1 = *(uint *)(unaff_EDI + 0x741a);" (assignment_expression "uVar1 = *(uint *)(unaff_EDI + 0x741a)" identifier = (pointer_expression "*(uint *)(unaff_EDI + 0x741a)" * (cast_expression "(uint *)(unaff_EDI + 0x741a)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EDI + 0x741a)" ( (binary_expression "unaff_EDI + 0x741a" identifier + number_literal) ))))) ;) (expression_statement "pr2serr(unaff_EDI + 0x432c,uVar3,*(uint *)(unaff_EDI + 0x7422) - uVar1,\n          (*(int *)(unaff_EDI + 0x7426) - ((int)uVar1 >> 0x1f)) -\n          (uint)(*(uint *)(unaff_EDI + 0x7422) < uVar1),uVar1);" (call_expression "pr2serr(unaff_EDI + 0x432c,uVar3,*(uint *)(unaff_EDI + 0x7422) - uVar1,\n          (*(int *)(unaff_EDI + 0x7426) - ((int)uVar1 >> 0x1f)) -\n          (uint)(*(uint *)(unaff_EDI + 0x7422) < uVar1),uVar1)" identifier (argument_list "(unaff_EDI + 0x432c,uVar3,*(uint *)(unaff_EDI + 0x7422) - uVar1,\n          (*(int *)(unaff_EDI + 0x7426) - ((int)uVar1 >> 0x1f)) -\n          (uint)(*(uint *)(unaff_EDI + 0x7422) < uVar1),uVar1)" ( (binary_expression "unaff_EDI + 0x432c" identifier + number_literal) , identifier , (binary_expression "*(uint *)(unaff_EDI + 0x7422) - uVar1" (pointer_expression "*(uint *)(unaff_EDI + 0x7422)" * (cast_expression "(uint *)(unaff_EDI + 0x7422)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EDI + 0x7422)" ( (binary_expression "unaff_EDI + 0x7422" identifier + number_literal) )))) - identifier) , (binary_expression "(*(int *)(unaff_EDI + 0x7426) - ((int)uVar1 >> 0x1f)) -\n          (uint)(*(uint *)(unaff_EDI + 0x7422) < uVar1)" (parenthesized_expression "(*(int *)(unaff_EDI + 0x7426) - ((int)uVar1 >> 0x1f))" ( (binary_expression "*(int *)(unaff_EDI + 0x7426) - ((int)uVar1 >> 0x1f)" (pointer_expression "*(int *)(unaff_EDI + 0x7426)" * (cast_expression "(int *)(unaff_EDI + 0x7426)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EDI + 0x7426)" ( (binary_expression "unaff_EDI + 0x7426" identifier + number_literal) )))) - (parenthesized_expression "((int)uVar1 >> 0x1f)" ( (binary_expression "(int)uVar1 >> 0x1f" (cast_expression "(int)uVar1" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal) ))) )) - (call_expression "(uint)(*(uint *)(unaff_EDI + 0x7422) < uVar1)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(*(uint *)(unaff_EDI + 0x7422) < uVar1)" ( (binary_expression "*(uint *)(unaff_EDI + 0x7422) < uVar1" (pointer_expression "*(uint *)(unaff_EDI + 0x7422)" * (cast_expression "(uint *)(unaff_EDI + 0x7422)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EDI + 0x7422)" ( (binary_expression "unaff_EDI + 0x7422" identifier + number_literal) )))) < identifier) )))) , identifier ))) ;) (expression_statement "uVar1 = *(uint *)(unaff_EDI + 0x740a);" (assignment_expression "uVar1 = *(uint *)(unaff_EDI + 0x740a)" identifier = (pointer_expression "*(uint *)(unaff_EDI + 0x740a)" * (cast_expression "(uint *)(unaff_EDI + 0x740a)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EDI + 0x740a)" ( (binary_expression "unaff_EDI + 0x740a" identifier + number_literal) ))))) ;) (expression_statement "pr2serr(unaff_EDI + 0x4342,uVar3,*(uint *)(unaff_EDI + 0x7412) - uVar1,\n          (*(int *)(unaff_EDI + 0x7416) - ((int)uVar1 >> 0x1f)) -\n          (uint)(*(uint *)(unaff_EDI + 0x7412) < uVar1),uVar1);" (call_expression "pr2serr(unaff_EDI + 0x4342,uVar3,*(uint *)(unaff_EDI + 0x7412) - uVar1,\n          (*(int *)(unaff_EDI + 0x7416) - ((int)uVar1 >> 0x1f)) -\n          (uint)(*(uint *)(unaff_EDI + 0x7412) < uVar1),uVar1)" identifier (argument_list "(unaff_EDI + 0x4342,uVar3,*(uint *)(unaff_EDI + 0x7412) - uVar1,\n          (*(int *)(unaff_EDI + 0x7416) - ((int)uVar1 >> 0x1f)) -\n          (uint)(*(uint *)(unaff_EDI + 0x7412) < uVar1),uVar1)" ( (binary_expression "unaff_EDI + 0x4342" identifier + number_literal) , identifier , (binary_expression "*(uint *)(unaff_EDI + 0x7412) - uVar1" (pointer_expression "*(uint *)(unaff_EDI + 0x7412)" * (cast_expression "(uint *)(unaff_EDI + 0x7412)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EDI + 0x7412)" ( (binary_expression "unaff_EDI + 0x7412" identifier + number_literal) )))) - identifier) , (binary_expression "(*(int *)(unaff_EDI + 0x7416) - ((int)uVar1 >> 0x1f)) -\n          (uint)(*(uint *)(unaff_EDI + 0x7412) < uVar1)" (parenthesized_expression "(*(int *)(unaff_EDI + 0x7416) - ((int)uVar1 >> 0x1f))" ( (binary_expression "*(int *)(unaff_EDI + 0x7416) - ((int)uVar1 >> 0x1f)" (pointer_expression "*(int *)(unaff_EDI + 0x7416)" * (cast_expression "(int *)(unaff_EDI + 0x7416)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EDI + 0x7416)" ( (binary_expression "unaff_EDI + 0x7416" identifier + number_literal) )))) - (parenthesized_expression "((int)uVar1 >> 0x1f)" ( (binary_expression "(int)uVar1 >> 0x1f" (cast_expression "(int)uVar1" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal) ))) )) - (call_expression "(uint)(*(uint *)(unaff_EDI + 0x7412) < uVar1)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(*(uint *)(unaff_EDI + 0x7412) < uVar1)" ( (binary_expression "*(uint *)(unaff_EDI + 0x7412) < uVar1" (pointer_expression "*(uint *)(unaff_EDI + 0x7412)" * (cast_expression "(uint *)(unaff_EDI + 0x7412)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EDI + 0x7412)" ( (binary_expression "unaff_EDI + 0x7412" identifier + number_literal) )))) < identifier) )))) , identifier ))) ;) (if_statement "if (*(char *)(unaff_EDI + 0x7393) != '\0') {\n    pr2serr(unaff_EDI + 0x4359,uVar3,*(undefined4 *)(unaff_EDI + 0x7402),\n            *(undefined4 *)(unaff_EDI + 0x7406));\n  }" if (parenthesized_expression "(*(char *)(unaff_EDI + 0x7393) != '\0')" ( (binary_expression "*(char *)(unaff_EDI + 0x7393) != '\0'" (pointer_expression "*(char *)(unaff_EDI + 0x7393)" * (cast_expression "(char *)(unaff_EDI + 0x7393)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EDI + 0x7393)" ( (binary_expression "unaff_EDI + 0x7393" identifier + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n    pr2serr(unaff_EDI + 0x4359,uVar3,*(undefined4 *)(unaff_EDI + 0x7402),\n            *(undefined4 *)(unaff_EDI + 0x7406));\n  }" { (expression_statement "pr2serr(unaff_EDI + 0x4359,uVar3,*(undefined4 *)(unaff_EDI + 0x7402),\n            *(undefined4 *)(unaff_EDI + 0x7406));" (call_expression "pr2serr(unaff_EDI + 0x4359,uVar3,*(undefined4 *)(unaff_EDI + 0x7402),\n            *(undefined4 *)(unaff_EDI + 0x7406))" identifier (argument_list "(unaff_EDI + 0x4359,uVar3,*(undefined4 *)(unaff_EDI + 0x7402),\n            *(undefined4 *)(unaff_EDI + 0x7406))" ( (binary_expression "unaff_EDI + 0x4359" identifier + number_literal) , identifier , (pointer_expression "*(undefined4 *)(unaff_EDI + 0x7402)" * (cast_expression "(undefined4 *)(unaff_EDI + 0x7402)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EDI + 0x7402)" ( (binary_expression "unaff_EDI + 0x7402" identifier + number_literal) )))) , (pointer_expression "*(undefined4 *)(unaff_EDI + 0x7406)" * (cast_expression "(undefined4 *)(unaff_EDI + 0x7406)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EDI + 0x7406)" ( (binary_expression "unaff_EDI + 0x7406" identifier + number_literal) )))) ))) ;) })) (if_statement "if (0 < *(int *)(unaff_EDI + 0x73fe)) {\n    pr2serr(unaff_EDI + 0x4376,uVar3,*(int *)(unaff_EDI + 0x73fe));\n  }" if (parenthesized_expression "(0 < *(int *)(unaff_EDI + 0x73fe))" ( (binary_expression "0 < *(int *)(unaff_EDI + 0x73fe)" number_literal < (pointer_expression "*(int *)(unaff_EDI + 0x73fe)" * (cast_expression "(int *)(unaff_EDI + 0x73fe)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EDI + 0x73fe)" ( (binary_expression "unaff_EDI + 0x73fe" identifier + number_literal) ))))) )) (compound_statement "{\n    pr2serr(unaff_EDI + 0x4376,uVar3,*(int *)(unaff_EDI + 0x73fe));\n  }" { (expression_statement "pr2serr(unaff_EDI + 0x4376,uVar3,*(int *)(unaff_EDI + 0x73fe));" (call_expression "pr2serr(unaff_EDI + 0x4376,uVar3,*(int *)(unaff_EDI + 0x73fe))" identifier (argument_list "(unaff_EDI + 0x4376,uVar3,*(int *)(unaff_EDI + 0x73fe))" ( (binary_expression "unaff_EDI + 0x4376" identifier + number_literal) , identifier , (pointer_expression "*(int *)(unaff_EDI + 0x73fe)" * (cast_expression "(int *)(unaff_EDI + 0x73fe)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EDI + 0x73fe)" ( (binary_expression "unaff_EDI + 0x73fe" identifier + number_literal) )))) ))) ;) })) (if_statement "if (0 < *(int *)(unaff_EDI + 0x73f2)) {\n    pr2serr(unaff_EDI + 0x438d,uVar3,*(int *)(unaff_EDI + 0x73f2));\n  }" if (parenthesized_expression "(0 < *(int *)(unaff_EDI + 0x73f2))" ( (binary_expression "0 < *(int *)(unaff_EDI + 0x73f2)" number_literal < (pointer_expression "*(int *)(unaff_EDI + 0x73f2)" * (cast_expression "(int *)(unaff_EDI + 0x73f2)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EDI + 0x73f2)" ( (binary_expression "unaff_EDI + 0x73f2" identifier + number_literal) ))))) )) (compound_statement "{\n    pr2serr(unaff_EDI + 0x438d,uVar3,*(int *)(unaff_EDI + 0x73f2));\n  }" { (expression_statement "pr2serr(unaff_EDI + 0x438d,uVar3,*(int *)(unaff_EDI + 0x73f2));" (call_expression "pr2serr(unaff_EDI + 0x438d,uVar3,*(int *)(unaff_EDI + 0x73f2))" identifier (argument_list "(unaff_EDI + 0x438d,uVar3,*(int *)(unaff_EDI + 0x73f2))" ( (binary_expression "unaff_EDI + 0x438d" identifier + number_literal) , identifier , (pointer_expression "*(int *)(unaff_EDI + 0x73f2)" * (cast_expression "(int *)(unaff_EDI + 0x73f2)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EDI + 0x73f2)" ( (binary_expression "unaff_EDI + 0x73f2" identifier + number_literal) )))) ))) ;) })) (expression_statement "iVar2 = *(int *)(unaff_EDI + 0x73fa);" (assignment_expression "iVar2 = *(int *)(unaff_EDI + 0x73fa)" identifier = (pointer_expression "*(int *)(unaff_EDI + 0x73fa)" * (cast_expression "(int *)(unaff_EDI + 0x73fa)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EDI + 0x73fa)" ( (binary_expression "unaff_EDI + 0x73fa" identifier + number_literal) ))))) ;) (if_statement "if (*(int *)(unaff_EDI + 0x73ba) == 0 && *(int *)(unaff_EDI + 0x739a) == 0) {\n    if (iVar2 == 0) {\n      return;\n    }\n    pr2serr(unaff_EDI + 0x43be,uVar3,iVar2);\n    return;\n  }" if (parenthesized_expression "(*(int *)(unaff_EDI + 0x73ba) == 0 && *(int *)(unaff_EDI + 0x739a) == 0)" ( (binary_expression "*(int *)(unaff_EDI + 0x73ba) == 0 && *(int *)(unaff_EDI + 0x739a) == 0" (binary_expression "*(int *)(unaff_EDI + 0x73ba) == 0" (pointer_expression "*(int *)(unaff_EDI + 0x73ba)" * (cast_expression "(int *)(unaff_EDI + 0x73ba)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EDI + 0x73ba)" ( (binary_expression "unaff_EDI + 0x73ba" identifier + number_literal) )))) == number_literal) && (binary_expression "*(int *)(unaff_EDI + 0x739a) == 0" (pointer_expression "*(int *)(unaff_EDI + 0x739a)" * (cast_expression "(int *)(unaff_EDI + 0x739a)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EDI + 0x739a)" ( (binary_expression "unaff_EDI + 0x739a" identifier + number_literal) )))) == number_literal)) )) (compound_statement "{\n    if (iVar2 == 0) {\n      return;\n    }\n    pr2serr(unaff_EDI + 0x43be,uVar3,iVar2);\n    return;\n  }" { (if_statement "if (iVar2 == 0) {\n      return;\n    }" if (parenthesized_expression "(iVar2 == 0)" ( (binary_expression "iVar2 == 0" identifier == number_literal) )) (compound_statement "{\n      return;\n    }" { (return_statement "return;" return ;) })) (expression_statement "pr2serr(unaff_EDI + 0x43be,uVar3,iVar2);" (call_expression "pr2serr(unaff_EDI + 0x43be,uVar3,iVar2)" identifier (argument_list "(unaff_EDI + 0x43be,uVar3,iVar2)" ( (binary_expression "unaff_EDI + 0x43be" identifier + number_literal) , identifier , identifier ))) ;) (return_statement "return;" return ;) })) (expression_statement "pr2serr(unaff_EDI + 0x43a5,uVar3,iVar2);" (call_expression "pr2serr(unaff_EDI + 0x43a5,uVar3,iVar2)" identifier (argument_list "(unaff_EDI + 0x43a5,uVar3,iVar2)" ( (binary_expression "unaff_EDI + 0x43a5" identifier + number_literal) , identifier , identifier ))) ;) (expression_statement "pr2serr(unaff_EDI + 0x2d16,uVar3,*(undefined4 *)(unaff_EDI + 0x73f6));" (call_expression "pr2serr(unaff_EDI + 0x2d16,uVar3,*(undefined4 *)(unaff_EDI + 0x73f6))" identifier (argument_list "(unaff_EDI + 0x2d16,uVar3,*(undefined4 *)(unaff_EDI + 0x73f6))" ( (binary_expression "unaff_EDI + 0x2d16" identifier + number_literal) , identifier , (pointer_expression "*(undefined4 *)(unaff_EDI + 0x73f6)" * (cast_expression "(undefined4 *)(unaff_EDI + 0x73f6)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EDI + 0x73f6)" ( (binary_expression "unaff_EDI + 0x73f6" identifier + number_literal) )))) ))) ;) (return_statement "return;" return ;) })))
(translation_unit "void FUN_00014cd0(void)\n\n{\n  uint uVar1;\n  int iVar2;\n  undefined4 uVar3;\n  int unaff_EDI;\n  \n  uVar3 = FUN_00016b65();\n  if (*(int *)(unaff_EDI + 0x7346) != 0 || *(int *)(unaff_EDI + 0x7342) != 0) {\n    pr2serr(unaff_EDI + 0x430e,*(int *)(unaff_EDI + 0x7342),*(int *)(unaff_EDI + 0x7346));\n  }\n  uVar1 = *(uint *)(unaff_EDI + 0x741a);\n  pr2serr(unaff_EDI + 0x432c,uVar3,*(uint *)(unaff_EDI + 0x7422) - uVar1,\n          (*(int *)(unaff_EDI + 0x7426) - ((int)uVar1 >> 0x1f)) -\n          (uint)(*(uint *)(unaff_EDI + 0x7422) < uVar1),uVar1);\n  uVar1 = *(uint *)(unaff_EDI + 0x740a);\n  pr2serr(unaff_EDI + 0x4342,uVar3,*(uint *)(unaff_EDI + 0x7412) - uVar1,\n          (*(int *)(unaff_EDI + 0x7416) - ((int)uVar1 >> 0x1f)) -\n          (uint)(*(uint *)(unaff_EDI + 0x7412) < uVar1),uVar1);\n  if (*(char *)(unaff_EDI + 0x7393) != '\0') {\n    pr2serr(unaff_EDI + 0x4359,uVar3,*(undefined4 *)(unaff_EDI + 0x7402),\n            *(undefined4 *)(unaff_EDI + 0x7406));\n  }\n  if (0 < *(int *)(unaff_EDI + 0x73fe)) {\n    pr2serr(unaff_EDI + 0x4376,uVar3,*(int *)(unaff_EDI + 0x73fe));\n  }\n  if (0 < *(int *)(unaff_EDI + 0x73f2)) {\n    pr2serr(unaff_EDI + 0x438d,uVar3,*(int *)(unaff_EDI + 0x73f2));\n  }\n  iVar2 = *(int *)(unaff_EDI + 0x73fa);\n  if (*(int *)(unaff_EDI + 0x73ba) == 0 && *(int *)(unaff_EDI + 0x739a) == 0) {\n    if (iVar2 == 0) {\n      return;\n    }\n    pr2serr(unaff_EDI + 0x43be,uVar3,iVar2);\n    return;\n  }\n  pr2serr(unaff_EDI + 0x43a5,uVar3,iVar2);\n  pr2serr(unaff_EDI + 0x2d16,uVar3,*(undefined4 *)(unaff_EDI + 0x73f6));\n  return;\n}\n\n" (function_definition "void FUN_00014cd0(void)\n\n{\n  uint uVar1;\n  int iVar2;\n  undefined4 uVar3;\n  int unaff_EDI;\n  \n  uVar3 = FUN_00016b65();\n  if (*(int *)(unaff_EDI + 0x7346) != 0 || *(int *)(unaff_EDI + 0x7342) != 0) {\n    pr2serr(unaff_EDI + 0x430e,*(int *)(unaff_EDI + 0x7342),*(int *)(unaff_EDI + 0x7346));\n  }\n  uVar1 = *(uint *)(unaff_EDI + 0x741a);\n  pr2serr(unaff_EDI + 0x432c,uVar3,*(uint *)(unaff_EDI + 0x7422) - uVar1,\n          (*(int *)(unaff_EDI + 0x7426) - ((int)uVar1 >> 0x1f)) -\n          (uint)(*(uint *)(unaff_EDI + 0x7422) < uVar1),uVar1);\n  uVar1 = *(uint *)(unaff_EDI + 0x740a);\n  pr2serr(unaff_EDI + 0x4342,uVar3,*(uint *)(unaff_EDI + 0x7412) - uVar1,\n          (*(int *)(unaff_EDI + 0x7416) - ((int)uVar1 >> 0x1f)) -\n          (uint)(*(uint *)(unaff_EDI + 0x7412) < uVar1),uVar1);\n  if (*(char *)(unaff_EDI + 0x7393) != '\0') {\n    pr2serr(unaff_EDI + 0x4359,uVar3,*(undefined4 *)(unaff_EDI + 0x7402),\n            *(undefined4 *)(unaff_EDI + 0x7406));\n  }\n  if (0 < *(int *)(unaff_EDI + 0x73fe)) {\n    pr2serr(unaff_EDI + 0x4376,uVar3,*(int *)(unaff_EDI + 0x73fe));\n  }\n  if (0 < *(int *)(unaff_EDI + 0x73f2)) {\n    pr2serr(unaff_EDI + 0x438d,uVar3,*(int *)(unaff_EDI + 0x73f2));\n  }\n  iVar2 = *(int *)(unaff_EDI + 0x73fa);\n  if (*(int *)(unaff_EDI + 0x73ba) == 0 && *(int *)(unaff_EDI + 0x739a) == 0) {\n    if (iVar2 == 0) {\n      return;\n    }\n    pr2serr(unaff_EDI + 0x43be,uVar3,iVar2);\n    return;\n  }\n  pr2serr(unaff_EDI + 0x43a5,uVar3,iVar2);\n  pr2serr(unaff_EDI + 0x2d16,uVar3,*(undefined4 *)(unaff_EDI + 0x73f6));\n  return;\n}" primitive_type (function_declarator "FUN_00014cd0(void)" identifier (parameter_list "(void)" ( (parameter_declaration "void" primitive_type) ))) (compound_statement "{\n  uint uVar1;\n  int iVar2;\n  undefined4 uVar3;\n  int unaff_EDI;\n  \n  uVar3 = FUN_00016b65();\n  if (*(int *)(unaff_EDI + 0x7346) != 0 || *(int *)(unaff_EDI + 0x7342) != 0) {\n    pr2serr(unaff_EDI + 0x430e,*(int *)(unaff_EDI + 0x7342),*(int *)(unaff_EDI + 0x7346));\n  }\n  uVar1 = *(uint *)(unaff_EDI + 0x741a);\n  pr2serr(unaff_EDI + 0x432c,uVar3,*(uint *)(unaff_EDI + 0x7422) - uVar1,\n          (*(int *)(unaff_EDI + 0x7426) - ((int)uVar1 >> 0x1f)) -\n          (uint)(*(uint *)(unaff_EDI + 0x7422) < uVar1),uVar1);\n  uVar1 = *(uint *)(unaff_EDI + 0x740a);\n  pr2serr(unaff_EDI + 0x4342,uVar3,*(uint *)(unaff_EDI + 0x7412) - uVar1,\n          (*(int *)(unaff_EDI + 0x7416) - ((int)uVar1 >> 0x1f)) -\n          (uint)(*(uint *)(unaff_EDI + 0x7412) < uVar1),uVar1);\n  if (*(char *)(unaff_EDI + 0x7393) != '\0') {\n    pr2serr(unaff_EDI + 0x4359,uVar3,*(undefined4 *)(unaff_EDI + 0x7402),\n            *(undefined4 *)(unaff_EDI + 0x7406));\n  }\n  if (0 < *(int *)(unaff_EDI + 0x73fe)) {\n    pr2serr(unaff_EDI + 0x4376,uVar3,*(int *)(unaff_EDI + 0x73fe));\n  }\n  if (0 < *(int *)(unaff_EDI + 0x73f2)) {\n    pr2serr(unaff_EDI + 0x438d,uVar3,*(int *)(unaff_EDI + 0x73f2));\n  }\n  iVar2 = *(int *)(unaff_EDI + 0x73fa);\n  if (*(int *)(unaff_EDI + 0x73ba) == 0 && *(int *)(unaff_EDI + 0x739a) == 0) {\n    if (iVar2 == 0) {\n      return;\n    }\n    pr2serr(unaff_EDI + 0x43be,uVar3,iVar2);\n    return;\n  }\n  pr2serr(unaff_EDI + 0x43a5,uVar3,iVar2);\n  pr2serr(unaff_EDI + 0x2d16,uVar3,*(undefined4 *)(unaff_EDI + 0x73f6));\n  return;\n}" { (declaration "uint uVar1;" type_identifier identifier ;) (declaration "int iVar2;" primitive_type identifier ;) (declaration "undefined4 uVar3;" type_identifier identifier ;) (declaration "int unaff_EDI;" primitive_type identifier ;) (expression_statement "uVar3 = FUN_00016b65();" (assignment_expression "uVar3 = FUN_00016b65()" identifier = (call_expression "FUN_00016b65()" identifier (argument_list "()" ( )))) ;) (if_statement "if (*(int *)(unaff_EDI + 0x7346) != 0 || *(int *)(unaff_EDI + 0x7342) != 0) {\n    pr2serr(unaff_EDI + 0x430e,*(int *)(unaff_EDI + 0x7342),*(int *)(unaff_EDI + 0x7346));\n  }" if (parenthesized_expression "(*(int *)(unaff_EDI + 0x7346) != 0 || *(int *)(unaff_EDI + 0x7342) != 0)" ( (binary_expression "*(int *)(unaff_EDI + 0x7346) != 0 || *(int *)(unaff_EDI + 0x7342) != 0" (binary_expression "*(int *)(unaff_EDI + 0x7346) != 0" (pointer_expression "*(int *)(unaff_EDI + 0x7346)" * (cast_expression "(int *)(unaff_EDI + 0x7346)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EDI + 0x7346)" ( (binary_expression "unaff_EDI + 0x7346" identifier + number_literal) )))) != number_literal) || (binary_expression "*(int *)(unaff_EDI + 0x7342) != 0" (pointer_expression "*(int *)(unaff_EDI + 0x7342)" * (cast_expression "(int *)(unaff_EDI + 0x7342)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EDI + 0x7342)" ( (binary_expression "unaff_EDI + 0x7342" identifier + number_literal) )))) != number_literal)) )) (compound_statement "{\n    pr2serr(unaff_EDI + 0x430e,*(int *)(unaff_EDI + 0x7342),*(int *)(unaff_EDI + 0x7346));\n  }" { (expression_statement "pr2serr(unaff_EDI + 0x430e,*(int *)(unaff_EDI + 0x7342),*(int *)(unaff_EDI + 0x7346));" (call_expression "pr2serr(unaff_EDI + 0x430e,*(int *)(unaff_EDI + 0x7342),*(int *)(unaff_EDI + 0x7346))" identifier (argument_list "(unaff_EDI + 0x430e,*(int *)(unaff_EDI + 0x7342),*(int *)(unaff_EDI + 0x7346))" ( (binary_expression "unaff_EDI + 0x430e" identifier + number_literal) , (pointer_expression "*(int *)(unaff_EDI + 0x7342)" * (cast_expression "(int *)(unaff_EDI + 0x7342)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EDI + 0x7342)" ( (binary_expression "unaff_EDI + 0x7342" identifier + number_literal) )))) , (pointer_expression "*(int *)(unaff_EDI + 0x7346)" * (cast_expression "(int *)(unaff_EDI + 0x7346)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EDI + 0x7346)" ( (binary_expression "unaff_EDI + 0x7346" identifier + number_literal) )))) ))) ;) })) (expression_statement "uVar1 = *(uint *)(unaff_EDI + 0x741a);" (assignment_expression "uVar1 = *(uint *)(unaff_EDI + 0x741a)" identifier = (pointer_expression "*(uint *)(unaff_EDI + 0x741a)" * (cast_expression "(uint *)(unaff_EDI + 0x741a)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EDI + 0x741a)" ( (binary_expression "unaff_EDI + 0x741a" identifier + number_literal) ))))) ;) (expression_statement "pr2serr(unaff_EDI + 0x432c,uVar3,*(uint *)(unaff_EDI + 0x7422) - uVar1,\n          (*(int *)(unaff_EDI + 0x7426) - ((int)uVar1 >> 0x1f)) -\n          (uint)(*(uint *)(unaff_EDI + 0x7422) < uVar1),uVar1);" (call_expression "pr2serr(unaff_EDI + 0x432c,uVar3,*(uint *)(unaff_EDI + 0x7422) - uVar1,\n          (*(int *)(unaff_EDI + 0x7426) - ((int)uVar1 >> 0x1f)) -\n          (uint)(*(uint *)(unaff_EDI + 0x7422) < uVar1),uVar1)" identifier (argument_list "(unaff_EDI + 0x432c,uVar3,*(uint *)(unaff_EDI + 0x7422) - uVar1,\n          (*(int *)(unaff_EDI + 0x7426) - ((int)uVar1 >> 0x1f)) -\n          (uint)(*(uint *)(unaff_EDI + 0x7422) < uVar1),uVar1)" ( (binary_expression "unaff_EDI + 0x432c" identifier + number_literal) , identifier , (binary_expression "*(uint *)(unaff_EDI + 0x7422) - uVar1" (pointer_expression "*(uint *)(unaff_EDI + 0x7422)" * (cast_expression "(uint *)(unaff_EDI + 0x7422)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EDI + 0x7422)" ( (binary_expression "unaff_EDI + 0x7422" identifier + number_literal) )))) - identifier) , (binary_expression "(*(int *)(unaff_EDI + 0x7426) - ((int)uVar1 >> 0x1f)) -\n          (uint)(*(uint *)(unaff_EDI + 0x7422) < uVar1)" (parenthesized_expression "(*(int *)(unaff_EDI + 0x7426) - ((int)uVar1 >> 0x1f))" ( (binary_expression "*(int *)(unaff_EDI + 0x7426) - ((int)uVar1 >> 0x1f)" (pointer_expression "*(int *)(unaff_EDI + 0x7426)" * (cast_expression "(int *)(unaff_EDI + 0x7426)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EDI + 0x7426)" ( (binary_expression "unaff_EDI + 0x7426" identifier + number_literal) )))) - (parenthesized_expression "((int)uVar1 >> 0x1f)" ( (binary_expression "(int)uVar1 >> 0x1f" (cast_expression "(int)uVar1" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal) ))) )) - (call_expression "(uint)(*(uint *)(unaff_EDI + 0x7422) < uVar1)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(*(uint *)(unaff_EDI + 0x7422) < uVar1)" ( (binary_expression "*(uint *)(unaff_EDI + 0x7422) < uVar1" (pointer_expression "*(uint *)(unaff_EDI + 0x7422)" * (cast_expression "(uint *)(unaff_EDI + 0x7422)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EDI + 0x7422)" ( (binary_expression "unaff_EDI + 0x7422" identifier + number_literal) )))) < identifier) )))) , identifier ))) ;) (expression_statement "uVar1 = *(uint *)(unaff_EDI + 0x740a);" (assignment_expression "uVar1 = *(uint *)(unaff_EDI + 0x740a)" identifier = (pointer_expression "*(uint *)(unaff_EDI + 0x740a)" * (cast_expression "(uint *)(unaff_EDI + 0x740a)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EDI + 0x740a)" ( (binary_expression "unaff_EDI + 0x740a" identifier + number_literal) ))))) ;) (expression_statement "pr2serr(unaff_EDI + 0x4342,uVar3,*(uint *)(unaff_EDI + 0x7412) - uVar1,\n          (*(int *)(unaff_EDI + 0x7416) - ((int)uVar1 >> 0x1f)) -\n          (uint)(*(uint *)(unaff_EDI + 0x7412) < uVar1),uVar1);" (call_expression "pr2serr(unaff_EDI + 0x4342,uVar3,*(uint *)(unaff_EDI + 0x7412) - uVar1,\n          (*(int *)(unaff_EDI + 0x7416) - ((int)uVar1 >> 0x1f)) -\n          (uint)(*(uint *)(unaff_EDI + 0x7412) < uVar1),uVar1)" identifier (argument_list "(unaff_EDI + 0x4342,uVar3,*(uint *)(unaff_EDI + 0x7412) - uVar1,\n          (*(int *)(unaff_EDI + 0x7416) - ((int)uVar1 >> 0x1f)) -\n          (uint)(*(uint *)(unaff_EDI + 0x7412) < uVar1),uVar1)" ( (binary_expression "unaff_EDI + 0x4342" identifier + number_literal) , identifier , (binary_expression "*(uint *)(unaff_EDI + 0x7412) - uVar1" (pointer_expression "*(uint *)(unaff_EDI + 0x7412)" * (cast_expression "(uint *)(unaff_EDI + 0x7412)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EDI + 0x7412)" ( (binary_expression "unaff_EDI + 0x7412" identifier + number_literal) )))) - identifier) , (binary_expression "(*(int *)(unaff_EDI + 0x7416) - ((int)uVar1 >> 0x1f)) -\n          (uint)(*(uint *)(unaff_EDI + 0x7412) < uVar1)" (parenthesized_expression "(*(int *)(unaff_EDI + 0x7416) - ((int)uVar1 >> 0x1f))" ( (binary_expression "*(int *)(unaff_EDI + 0x7416) - ((int)uVar1 >> 0x1f)" (pointer_expression "*(int *)(unaff_EDI + 0x7416)" * (cast_expression "(int *)(unaff_EDI + 0x7416)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EDI + 0x7416)" ( (binary_expression "unaff_EDI + 0x7416" identifier + number_literal) )))) - (parenthesized_expression "((int)uVar1 >> 0x1f)" ( (binary_expression "(int)uVar1 >> 0x1f" (cast_expression "(int)uVar1" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal) ))) )) - (call_expression "(uint)(*(uint *)(unaff_EDI + 0x7412) < uVar1)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(*(uint *)(unaff_EDI + 0x7412) < uVar1)" ( (binary_expression "*(uint *)(unaff_EDI + 0x7412) < uVar1" (pointer_expression "*(uint *)(unaff_EDI + 0x7412)" * (cast_expression "(uint *)(unaff_EDI + 0x7412)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EDI + 0x7412)" ( (binary_expression "unaff_EDI + 0x7412" identifier + number_literal) )))) < identifier) )))) , identifier ))) ;) (if_statement "if (*(char *)(unaff_EDI + 0x7393) != '\0') {\n    pr2serr(unaff_EDI + 0x4359,uVar3,*(undefined4 *)(unaff_EDI + 0x7402),\n            *(undefined4 *)(unaff_EDI + 0x7406));\n  }" if (parenthesized_expression "(*(char *)(unaff_EDI + 0x7393) != '\0')" ( (binary_expression "*(char *)(unaff_EDI + 0x7393) != '\0'" (pointer_expression "*(char *)(unaff_EDI + 0x7393)" * (cast_expression "(char *)(unaff_EDI + 0x7393)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EDI + 0x7393)" ( (binary_expression "unaff_EDI + 0x7393" identifier + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n    pr2serr(unaff_EDI + 0x4359,uVar3,*(undefined4 *)(unaff_EDI + 0x7402),\n            *(undefined4 *)(unaff_EDI + 0x7406));\n  }" { (expression_statement "pr2serr(unaff_EDI + 0x4359,uVar3,*(undefined4 *)(unaff_EDI + 0x7402),\n            *(undefined4 *)(unaff_EDI + 0x7406));" (call_expression "pr2serr(unaff_EDI + 0x4359,uVar3,*(undefined4 *)(unaff_EDI + 0x7402),\n            *(undefined4 *)(unaff_EDI + 0x7406))" identifier (argument_list "(unaff_EDI + 0x4359,uVar3,*(undefined4 *)(unaff_EDI + 0x7402),\n            *(undefined4 *)(unaff_EDI + 0x7406))" ( (binary_expression "unaff_EDI + 0x4359" identifier + number_literal) , identifier , (pointer_expression "*(undefined4 *)(unaff_EDI + 0x7402)" * (cast_expression "(undefined4 *)(unaff_EDI + 0x7402)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EDI + 0x7402)" ( (binary_expression "unaff_EDI + 0x7402" identifier + number_literal) )))) , (pointer_expression "*(undefined4 *)(unaff_EDI + 0x7406)" * (cast_expression "(undefined4 *)(unaff_EDI + 0x7406)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EDI + 0x7406)" ( (binary_expression "unaff_EDI + 0x7406" identifier + number_literal) )))) ))) ;) })) (if_statement "if (0 < *(int *)(unaff_EDI + 0x73fe)) {\n    pr2serr(unaff_EDI + 0x4376,uVar3,*(int *)(unaff_EDI + 0x73fe));\n  }" if (parenthesized_expression "(0 < *(int *)(unaff_EDI + 0x73fe))" ( (binary_expression "0 < *(int *)(unaff_EDI + 0x73fe)" number_literal < (pointer_expression "*(int *)(unaff_EDI + 0x73fe)" * (cast_expression "(int *)(unaff_EDI + 0x73fe)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EDI + 0x73fe)" ( (binary_expression "unaff_EDI + 0x73fe" identifier + number_literal) ))))) )) (compound_statement "{\n    pr2serr(unaff_EDI + 0x4376,uVar3,*(int *)(unaff_EDI + 0x73fe));\n  }" { (expression_statement "pr2serr(unaff_EDI + 0x4376,uVar3,*(int *)(unaff_EDI + 0x73fe));" (call_expression "pr2serr(unaff_EDI + 0x4376,uVar3,*(int *)(unaff_EDI + 0x73fe))" identifier (argument_list "(unaff_EDI + 0x4376,uVar3,*(int *)(unaff_EDI + 0x73fe))" ( (binary_expression "unaff_EDI + 0x4376" identifier + number_literal) , identifier , (pointer_expression "*(int *)(unaff_EDI + 0x73fe)" * (cast_expression "(int *)(unaff_EDI + 0x73fe)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EDI + 0x73fe)" ( (binary_expression "unaff_EDI + 0x73fe" identifier + number_literal) )))) ))) ;) })) (if_statement "if (0 < *(int *)(unaff_EDI + 0x73f2)) {\n    pr2serr(unaff_EDI + 0x438d,uVar3,*(int *)(unaff_EDI + 0x73f2));\n  }" if (parenthesized_expression "(0 < *(int *)(unaff_EDI + 0x73f2))" ( (binary_expression "0 < *(int *)(unaff_EDI + 0x73f2)" number_literal < (pointer_expression "*(int *)(unaff_EDI + 0x73f2)" * (cast_expression "(int *)(unaff_EDI + 0x73f2)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EDI + 0x73f2)" ( (binary_expression "unaff_EDI + 0x73f2" identifier + number_literal) ))))) )) (compound_statement "{\n    pr2serr(unaff_EDI + 0x438d,uVar3,*(int *)(unaff_EDI + 0x73f2));\n  }" { (expression_statement "pr2serr(unaff_EDI + 0x438d,uVar3,*(int *)(unaff_EDI + 0x73f2));" (call_expression "pr2serr(unaff_EDI + 0x438d,uVar3,*(int *)(unaff_EDI + 0x73f2))" identifier (argument_list "(unaff_EDI + 0x438d,uVar3,*(int *)(unaff_EDI + 0x73f2))" ( (binary_expression "unaff_EDI + 0x438d" identifier + number_literal) , identifier , (pointer_expression "*(int *)(unaff_EDI + 0x73f2)" * (cast_expression "(int *)(unaff_EDI + 0x73f2)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EDI + 0x73f2)" ( (binary_expression "unaff_EDI + 0x73f2" identifier + number_literal) )))) ))) ;) })) (expression_statement "iVar2 = *(int *)(unaff_EDI + 0x73fa);" (assignment_expression "iVar2 = *(int *)(unaff_EDI + 0x73fa)" identifier = (pointer_expression "*(int *)(unaff_EDI + 0x73fa)" * (cast_expression "(int *)(unaff_EDI + 0x73fa)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EDI + 0x73fa)" ( (binary_expression "unaff_EDI + 0x73fa" identifier + number_literal) ))))) ;) (if_statement "if (*(int *)(unaff_EDI + 0x73ba) == 0 && *(int *)(unaff_EDI + 0x739a) == 0) {\n    if (iVar2 == 0) {\n      return;\n    }\n    pr2serr(unaff_EDI + 0x43be,uVar3,iVar2);\n    return;\n  }" if (parenthesized_expression "(*(int *)(unaff_EDI + 0x73ba) == 0 && *(int *)(unaff_EDI + 0x739a) == 0)" ( (binary_expression "*(int *)(unaff_EDI + 0x73ba) == 0 && *(int *)(unaff_EDI + 0x739a) == 0" (binary_expression "*(int *)(unaff_EDI + 0x73ba) == 0" (pointer_expression "*(int *)(unaff_EDI + 0x73ba)" * (cast_expression "(int *)(unaff_EDI + 0x73ba)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EDI + 0x73ba)" ( (binary_expression "unaff_EDI + 0x73ba" identifier + number_literal) )))) == number_literal) && (binary_expression "*(int *)(unaff_EDI + 0x739a) == 0" (pointer_expression "*(int *)(unaff_EDI + 0x739a)" * (cast_expression "(int *)(unaff_EDI + 0x739a)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EDI + 0x739a)" ( (binary_expression "unaff_EDI + 0x739a" identifier + number_literal) )))) == number_literal)) )) (compound_statement "{\n    if (iVar2 == 0) {\n      return;\n    }\n    pr2serr(unaff_EDI + 0x43be,uVar3,iVar2);\n    return;\n  }" { (if_statement "if (iVar2 == 0) {\n      return;\n    }" if (parenthesized_expression "(iVar2 == 0)" ( (binary_expression "iVar2 == 0" identifier == number_literal) )) (compound_statement "{\n      return;\n    }" { (return_statement "return;" return ;) })) (expression_statement "pr2serr(unaff_EDI + 0x43be,uVar3,iVar2);" (call_expression "pr2serr(unaff_EDI + 0x43be,uVar3,iVar2)" identifier (argument_list "(unaff_EDI + 0x43be,uVar3,iVar2)" ( (binary_expression "unaff_EDI + 0x43be" identifier + number_literal) , identifier , identifier ))) ;) (return_statement "return;" return ;) })) (expression_statement "pr2serr(unaff_EDI + 0x43a5,uVar3,iVar2);" (call_expression "pr2serr(unaff_EDI + 0x43a5,uVar3,iVar2)" identifier (argument_list "(unaff_EDI + 0x43a5,uVar3,iVar2)" ( (binary_expression "unaff_EDI + 0x43a5" identifier + number_literal) , identifier , identifier ))) ;) (expression_statement "pr2serr(unaff_EDI + 0x2d16,uVar3,*(undefined4 *)(unaff_EDI + 0x73f6));" (call_expression "pr2serr(unaff_EDI + 0x2d16,uVar3,*(undefined4 *)(unaff_EDI + 0x73f6))" identifier (argument_list "(unaff_EDI + 0x2d16,uVar3,*(undefined4 *)(unaff_EDI + 0x73f6))" ( (binary_expression "unaff_EDI + 0x2d16" identifier + number_literal) , identifier , (pointer_expression "*(undefined4 *)(unaff_EDI + 0x73f6)" * (cast_expression "(undefined4 *)(unaff_EDI + 0x73f6)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EDI + 0x73f6)" ( (binary_expression "unaff_EDI + 0x73f6" identifier + number_literal) )))) ))) ;) (return_statement "return;" return ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE) ))) (compound_statement { (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != LIT) || (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != LIT)) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (binary_expression IDENT + LIT) , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , (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 (call_expression IDENT (argument_list ( (binary_expression IDENT + LIT) , IDENT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) - IDENT) , (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) - (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) ))) )) - (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) < IDENT) )))) , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (call_expression IDENT (argument_list ( (binary_expression IDENT + LIT) , IDENT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) - IDENT) , (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) - (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) ))) )) - (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) < IDENT) )))) , IDENT ))) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (binary_expression IDENT + LIT) , IDENT , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression LIT < (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (binary_expression IDENT + LIT) , IDENT , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression LIT < (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (binary_expression IDENT + LIT) , 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) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == LIT) && (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == LIT)) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (return_statement return ;) })) (expression_statement (call_expression IDENT (argument_list ( (binary_expression IDENT + LIT) , IDENT , IDENT ))) ;) (return_statement return ;) })) (expression_statement (call_expression IDENT (argument_list ( (binary_expression IDENT + LIT) , IDENT , IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( (binary_expression IDENT + LIT) , IDENT , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ))) ;) (return_statement return ;) })))
(function_definition "void FUN_00014cd0(void)\n\n{\n  uint uVar1;\n  int iVar2;\n  undefined4 uVar3;\n  int unaff_EDI;\n  \n  uVar3 = FUN_00016b65();\n  if (*(int *)(unaff_EDI + 0x7346) != 0 || *(int *)(unaff_EDI + 0x7342) != 0) {\n    pr2serr(unaff_EDI + 0x430e,*(int *)(unaff_EDI + 0x7342),*(int *)(unaff_EDI + 0x7346));\n  }\n  uVar1 = *(uint *)(unaff_EDI + 0x741a);\n  pr2serr(unaff_EDI + 0x432c,uVar3,*(uint *)(unaff_EDI + 0x7422) - uVar1,\n          (*(int *)(unaff_EDI + 0x7426) - ((int)uVar1 >> 0x1f)) -\n          (uint)(*(uint *)(unaff_EDI + 0x7422) < uVar1),uVar1);\n  uVar1 = *(uint *)(unaff_EDI + 0x740a);\n  pr2serr(unaff_EDI + 0x4342,uVar3,*(uint *)(unaff_EDI + 0x7412) - uVar1,\n          (*(int *)(unaff_EDI + 0x7416) - ((int)uVar1 >> 0x1f)) -\n          (uint)(*(uint *)(unaff_EDI + 0x7412) < uVar1),uVar1);\n  if (*(char *)(unaff_EDI + 0x7393) != '\0') {\n    pr2serr(unaff_EDI + 0x4359,uVar3,*(undefined4 *)(unaff_EDI + 0x7402),\n            *(undefined4 *)(unaff_EDI + 0x7406));\n  }\n  if (0 < *(int *)(unaff_EDI + 0x73fe)) {\n    pr2serr(unaff_EDI + 0x4376,uVar3,*(int *)(unaff_EDI + 0x73fe));\n  }\n  if (0 < *(int *)(unaff_EDI + 0x73f2)) {\n    pr2serr(unaff_EDI + 0x438d,uVar3,*(int *)(unaff_EDI + 0x73f2));\n  }\n  iVar2 = *(int *)(unaff_EDI + 0x73fa);\n  if (*(int *)(unaff_EDI + 0x73ba) == 0 && *(int *)(unaff_EDI + 0x739a) == 0) {\n    if (iVar2 == 0) {\n      return;\n    }\n    pr2serr(unaff_EDI + 0x43be,uVar3,iVar2);\n    return;\n  }\n  pr2serr(unaff_EDI + 0x43a5,uVar3,iVar2);\n  pr2serr(unaff_EDI + 0x2d16,uVar3,*(undefined4 *)(unaff_EDI + 0x73f6));\n  return;\n}" (primitive_type "void") (function_declarator "FUN_00014cd0(void)" (identifier "FUN_00014cd0") (parameter_list "(void)" (( "(") (parameter_declaration "void" (primitive_type "void")) () ")"))) (compound_statement "{\n  uint uVar1;\n  int iVar2;\n  undefined4 uVar3;\n  int unaff_EDI;\n  \n  uVar3 = FUN_00016b65();\n  if (*(int *)(unaff_EDI + 0x7346) != 0 || *(int *)(unaff_EDI + 0x7342) != 0) {\n    pr2serr(unaff_EDI + 0x430e,*(int *)(unaff_EDI + 0x7342),*(int *)(unaff_EDI + 0x7346));\n  }\n  uVar1 = *(uint *)(unaff_EDI + 0x741a);\n  pr2serr(unaff_EDI + 0x432c,uVar3,*(uint *)(unaff_EDI + 0x7422) - uVar1,\n          (*(int *)(unaff_EDI + 0x7426) - ((int)uVar1 >> 0x1f)) -\n          (uint)(*(uint *)(unaff_EDI + 0x7422) < uVar1),uVar1);\n  uVar1 = *(uint *)(unaff_EDI + 0x740a);\n  pr2serr(unaff_EDI + 0x4342,uVar3,*(uint *)(unaff_EDI + 0x7412) - uVar1,\n          (*(int *)(unaff_EDI + 0x7416) - ((int)uVar1 >> 0x1f)) -\n          (uint)(*(uint *)(unaff_EDI + 0x7412) < uVar1),uVar1);\n  if (*(char *)(unaff_EDI + 0x7393) != '\0') {\n    pr2serr(unaff_EDI + 0x4359,uVar3,*(undefined4 *)(unaff_EDI + 0x7402),\n            *(undefined4 *)(unaff_EDI + 0x7406));\n  }\n  if (0 < *(int *)(unaff_EDI + 0x73fe)) {\n    pr2serr(unaff_EDI + 0x4376,uVar3,*(int *)(unaff_EDI + 0x73fe));\n  }\n  if (0 < *(int *)(unaff_EDI + 0x73f2)) {\n    pr2serr(unaff_EDI + 0x438d,uVar3,*(int *)(unaff_EDI + 0x73f2));\n  }\n  iVar2 = *(int *)(unaff_EDI + 0x73fa);\n  if (*(int *)(unaff_EDI + 0x73ba) == 0 && *(int *)(unaff_EDI + 0x739a) == 0) {\n    if (iVar2 == 0) {\n      return;\n    }\n    pr2serr(unaff_EDI + 0x43be,uVar3,iVar2);\n    return;\n  }\n  pr2serr(unaff_EDI + 0x43a5,uVar3,iVar2);\n  pr2serr(unaff_EDI + 0x2d16,uVar3,*(undefined4 *)(unaff_EDI + 0x73f6));\n  return;\n}" ({ "{") (declaration "uint uVar1;" (type_identifier "uint") (identifier "uVar1") (; ";")) (declaration "int iVar2;" (primitive_type "int") (identifier "iVar2") (; ";")) (declaration "undefined4 uVar3;" (type_identifier "undefined4") (identifier "uVar3") (; ";")) (declaration "int unaff_EDI;" (primitive_type "int") (identifier "unaff_EDI") (; ";")) (expression_statement "uVar3 = FUN_00016b65();" (assignment_expression "uVar3 = FUN_00016b65()" (identifier "uVar3") (= "=") (call_expression "FUN_00016b65()" (identifier "FUN_00016b65") (argument_list "()" (( "(") () ")")))) (; ";")) (if_statement "if (*(int *)(unaff_EDI + 0x7346) != 0 || *(int *)(unaff_EDI + 0x7342) != 0) {\n    pr2serr(unaff_EDI + 0x430e,*(int *)(unaff_EDI + 0x7342),*(int *)(unaff_EDI + 0x7346));\n  }" (if "if") (parenthesized_expression "(*(int *)(unaff_EDI + 0x7346) != 0 || *(int *)(unaff_EDI + 0x7342) != 0)" (( "(") (binary_expression "*(int *)(unaff_EDI + 0x7346) != 0 || *(int *)(unaff_EDI + 0x7342) != 0" (binary_expression "*(int *)(unaff_EDI + 0x7346) != 0" (pointer_expression "*(int *)(unaff_EDI + 0x7346)" (* "*") (cast_expression "(int *)(unaff_EDI + 0x7346)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(unaff_EDI + 0x7346)" (( "(") (binary_expression "unaff_EDI + 0x7346" (identifier "unaff_EDI") (+ "+") (number_literal "0x7346")) () ")")))) (!= "!=") (number_literal "0")) (|| "||") (binary_expression "*(int *)(unaff_EDI + 0x7342) != 0" (pointer_expression "*(int *)(unaff_EDI + 0x7342)" (* "*") (cast_expression "(int *)(unaff_EDI + 0x7342)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(unaff_EDI + 0x7342)" (( "(") (binary_expression "unaff_EDI + 0x7342" (identifier "unaff_EDI") (+ "+") (number_literal "0x7342")) () ")")))) (!= "!=") (number_literal "0"))) () ")")) (compound_statement "{\n    pr2serr(unaff_EDI + 0x430e,*(int *)(unaff_EDI + 0x7342),*(int *)(unaff_EDI + 0x7346));\n  }" ({ "{") (expression_statement "pr2serr(unaff_EDI + 0x430e,*(int *)(unaff_EDI + 0x7342),*(int *)(unaff_EDI + 0x7346));" (call_expression "pr2serr(unaff_EDI + 0x430e,*(int *)(unaff_EDI + 0x7342),*(int *)(unaff_EDI + 0x7346))" (identifier "pr2serr") (argument_list "(unaff_EDI + 0x430e,*(int *)(unaff_EDI + 0x7342),*(int *)(unaff_EDI + 0x7346))" (( "(") (binary_expression "unaff_EDI + 0x430e" (identifier "unaff_EDI") (+ "+") (number_literal "0x430e")) (, ",") (pointer_expression "*(int *)(unaff_EDI + 0x7342)" (* "*") (cast_expression "(int *)(unaff_EDI + 0x7342)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(unaff_EDI + 0x7342)" (( "(") (binary_expression "unaff_EDI + 0x7342" (identifier "unaff_EDI") (+ "+") (number_literal "0x7342")) () ")")))) (, ",") (pointer_expression "*(int *)(unaff_EDI + 0x7346)" (* "*") (cast_expression "(int *)(unaff_EDI + 0x7346)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(unaff_EDI + 0x7346)" (( "(") (binary_expression "unaff_EDI + 0x7346" (identifier "unaff_EDI") (+ "+") (number_literal "0x7346")) () ")")))) () ")"))) (; ";")) (} "}"))) (expression_statement "uVar1 = *(uint *)(unaff_EDI + 0x741a);" (assignment_expression "uVar1 = *(uint *)(unaff_EDI + 0x741a)" (identifier "uVar1") (= "=") (pointer_expression "*(uint *)(unaff_EDI + 0x741a)" (* "*") (cast_expression "(uint *)(unaff_EDI + 0x741a)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(unaff_EDI + 0x741a)" (( "(") (binary_expression "unaff_EDI + 0x741a" (identifier "unaff_EDI") (+ "+") (number_literal "0x741a")) () ")"))))) (; ";")) (expression_statement "pr2serr(unaff_EDI + 0x432c,uVar3,*(uint *)(unaff_EDI + 0x7422) - uVar1,\n          (*(int *)(unaff_EDI + 0x7426) - ((int)uVar1 >> 0x1f)) -\n          (uint)(*(uint *)(unaff_EDI + 0x7422) < uVar1),uVar1);" (call_expression "pr2serr(unaff_EDI + 0x432c,uVar3,*(uint *)(unaff_EDI + 0x7422) - uVar1,\n          (*(int *)(unaff_EDI + 0x7426) - ((int)uVar1 >> 0x1f)) -\n          (uint)(*(uint *)(unaff_EDI + 0x7422) < uVar1),uVar1)" (identifier "pr2serr") (argument_list "(unaff_EDI + 0x432c,uVar3,*(uint *)(unaff_EDI + 0x7422) - uVar1,\n          (*(int *)(unaff_EDI + 0x7426) - ((int)uVar1 >> 0x1f)) -\n          (uint)(*(uint *)(unaff_EDI + 0x7422) < uVar1),uVar1)" (( "(") (binary_expression "unaff_EDI + 0x432c" (identifier "unaff_EDI") (+ "+") (number_literal "0x432c")) (, ",") (identifier "uVar3") (, ",") (binary_expression "*(uint *)(unaff_EDI + 0x7422) - uVar1" (pointer_expression "*(uint *)(unaff_EDI + 0x7422)" (* "*") (cast_expression "(uint *)(unaff_EDI + 0x7422)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(unaff_EDI + 0x7422)" (( "(") (binary_expression "unaff_EDI + 0x7422" (identifier "unaff_EDI") (+ "+") (number_literal "0x7422")) () ")")))) (- "-") (identifier "uVar1")) (, ",") (binary_expression "(*(int *)(unaff_EDI + 0x7426) - ((int)uVar1 >> 0x1f)) -\n          (uint)(*(uint *)(unaff_EDI + 0x7422) < uVar1)" (parenthesized_expression "(*(int *)(unaff_EDI + 0x7426) - ((int)uVar1 >> 0x1f))" (( "(") (binary_expression "*(int *)(unaff_EDI + 0x7426) - ((int)uVar1 >> 0x1f)" (pointer_expression "*(int *)(unaff_EDI + 0x7426)" (* "*") (cast_expression "(int *)(unaff_EDI + 0x7426)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(unaff_EDI + 0x7426)" (( "(") (binary_expression "unaff_EDI + 0x7426" (identifier "unaff_EDI") (+ "+") (number_literal "0x7426")) () ")")))) (- "-") (parenthesized_expression "((int)uVar1 >> 0x1f)" (( "(") (binary_expression "(int)uVar1 >> 0x1f" (cast_expression "(int)uVar1" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar1")) (>> ">>") (number_literal "0x1f")) () ")"))) () ")")) (- "-") (call_expression "(uint)(*(uint *)(unaff_EDI + 0x7422) < uVar1)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(*(uint *)(unaff_EDI + 0x7422) < uVar1)" (( "(") (binary_expression "*(uint *)(unaff_EDI + 0x7422) < uVar1" (pointer_expression "*(uint *)(unaff_EDI + 0x7422)" (* "*") (cast_expression "(uint *)(unaff_EDI + 0x7422)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(unaff_EDI + 0x7422)" (( "(") (binary_expression "unaff_EDI + 0x7422" (identifier "unaff_EDI") (+ "+") (number_literal "0x7422")) () ")")))) (< "<") (identifier "uVar1")) () ")")))) (, ",") (identifier "uVar1") () ")"))) (; ";")) (expression_statement "uVar1 = *(uint *)(unaff_EDI + 0x740a);" (assignment_expression "uVar1 = *(uint *)(unaff_EDI + 0x740a)" (identifier "uVar1") (= "=") (pointer_expression "*(uint *)(unaff_EDI + 0x740a)" (* "*") (cast_expression "(uint *)(unaff_EDI + 0x740a)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(unaff_EDI + 0x740a)" (( "(") (binary_expression "unaff_EDI + 0x740a" (identifier "unaff_EDI") (+ "+") (number_literal "0x740a")) () ")"))))) (; ";")) (expression_statement "pr2serr(unaff_EDI + 0x4342,uVar3,*(uint *)(unaff_EDI + 0x7412) - uVar1,\n          (*(int *)(unaff_EDI + 0x7416) - ((int)uVar1 >> 0x1f)) -\n          (uint)(*(uint *)(unaff_EDI + 0x7412) < uVar1),uVar1);" (call_expression "pr2serr(unaff_EDI + 0x4342,uVar3,*(uint *)(unaff_EDI + 0x7412) - uVar1,\n          (*(int *)(unaff_EDI + 0x7416) - ((int)uVar1 >> 0x1f)) -\n          (uint)(*(uint *)(unaff_EDI + 0x7412) < uVar1),uVar1)" (identifier "pr2serr") (argument_list "(unaff_EDI + 0x4342,uVar3,*(uint *)(unaff_EDI + 0x7412) - uVar1,\n          (*(int *)(unaff_EDI + 0x7416) - ((int)uVar1 >> 0x1f)) -\n          (uint)(*(uint *)(unaff_EDI + 0x7412) < uVar1),uVar1)" (( "(") (binary_expression "unaff_EDI + 0x4342" (identifier "unaff_EDI") (+ "+") (number_literal "0x4342")) (, ",") (identifier "uVar3") (, ",") (binary_expression "*(uint *)(unaff_EDI + 0x7412) - uVar1" (pointer_expression "*(uint *)(unaff_EDI + 0x7412)" (* "*") (cast_expression "(uint *)(unaff_EDI + 0x7412)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(unaff_EDI + 0x7412)" (( "(") (binary_expression "unaff_EDI + 0x7412" (identifier "unaff_EDI") (+ "+") (number_literal "0x7412")) () ")")))) (- "-") (identifier "uVar1")) (, ",") (binary_expression "(*(int *)(unaff_EDI + 0x7416) - ((int)uVar1 >> 0x1f)) -\n          (uint)(*(uint *)(unaff_EDI + 0x7412) < uVar1)" (parenthesized_expression "(*(int *)(unaff_EDI + 0x7416) - ((int)uVar1 >> 0x1f))" (( "(") (binary_expression "*(int *)(unaff_EDI + 0x7416) - ((int)uVar1 >> 0x1f)" (pointer_expression "*(int *)(unaff_EDI + 0x7416)" (* "*") (cast_expression "(int *)(unaff_EDI + 0x7416)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(unaff_EDI + 0x7416)" (( "(") (binary_expression "unaff_EDI + 0x7416" (identifier "unaff_EDI") (+ "+") (number_literal "0x7416")) () ")")))) (- "-") (parenthesized_expression "((int)uVar1 >> 0x1f)" (( "(") (binary_expression "(int)uVar1 >> 0x1f" (cast_expression "(int)uVar1" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar1")) (>> ">>") (number_literal "0x1f")) () ")"))) () ")")) (- "-") (call_expression "(uint)(*(uint *)(unaff_EDI + 0x7412) < uVar1)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(*(uint *)(unaff_EDI + 0x7412) < uVar1)" (( "(") (binary_expression "*(uint *)(unaff_EDI + 0x7412) < uVar1" (pointer_expression "*(uint *)(unaff_EDI + 0x7412)" (* "*") (cast_expression "(uint *)(unaff_EDI + 0x7412)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(unaff_EDI + 0x7412)" (( "(") (binary_expression "unaff_EDI + 0x7412" (identifier "unaff_EDI") (+ "+") (number_literal "0x7412")) () ")")))) (< "<") (identifier "uVar1")) () ")")))) (, ",") (identifier "uVar1") () ")"))) (; ";")) (if_statement "if (*(char *)(unaff_EDI + 0x7393) != '\0') {\n    pr2serr(unaff_EDI + 0x4359,uVar3,*(undefined4 *)(unaff_EDI + 0x7402),\n            *(undefined4 *)(unaff_EDI + 0x7406));\n  }" (if "if") (parenthesized_expression "(*(char *)(unaff_EDI + 0x7393) != '\0')" (( "(") (binary_expression "*(char *)(unaff_EDI + 0x7393) != '\0'" (pointer_expression "*(char *)(unaff_EDI + 0x7393)" (* "*") (cast_expression "(char *)(unaff_EDI + 0x7393)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(unaff_EDI + 0x7393)" (( "(") (binary_expression "unaff_EDI + 0x7393" (identifier "unaff_EDI") (+ "+") (number_literal "0x7393")) () ")")))) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n    pr2serr(unaff_EDI + 0x4359,uVar3,*(undefined4 *)(unaff_EDI + 0x7402),\n            *(undefined4 *)(unaff_EDI + 0x7406));\n  }" ({ "{") (expression_statement "pr2serr(unaff_EDI + 0x4359,uVar3,*(undefined4 *)(unaff_EDI + 0x7402),\n            *(undefined4 *)(unaff_EDI + 0x7406));" (call_expression "pr2serr(unaff_EDI + 0x4359,uVar3,*(undefined4 *)(unaff_EDI + 0x7402),\n            *(undefined4 *)(unaff_EDI + 0x7406))" (identifier "pr2serr") (argument_list "(unaff_EDI + 0x4359,uVar3,*(undefined4 *)(unaff_EDI + 0x7402),\n            *(undefined4 *)(unaff_EDI + 0x7406))" (( "(") (binary_expression "unaff_EDI + 0x4359" (identifier "unaff_EDI") (+ "+") (number_literal "0x4359")) (, ",") (identifier "uVar3") (, ",") (pointer_expression "*(undefined4 *)(unaff_EDI + 0x7402)" (* "*") (cast_expression "(undefined4 *)(unaff_EDI + 0x7402)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(unaff_EDI + 0x7402)" (( "(") (binary_expression "unaff_EDI + 0x7402" (identifier "unaff_EDI") (+ "+") (number_literal "0x7402")) () ")")))) (, ",") (pointer_expression "*(undefined4 *)(unaff_EDI + 0x7406)" (* "*") (cast_expression "(undefined4 *)(unaff_EDI + 0x7406)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(unaff_EDI + 0x7406)" (( "(") (binary_expression "unaff_EDI + 0x7406" (identifier "unaff_EDI") (+ "+") (number_literal "0x7406")) () ")")))) () ")"))) (; ";")) (} "}"))) (if_statement "if (0 < *(int *)(unaff_EDI + 0x73fe)) {\n    pr2serr(unaff_EDI + 0x4376,uVar3,*(int *)(unaff_EDI + 0x73fe));\n  }" (if "if") (parenthesized_expression "(0 < *(int *)(unaff_EDI + 0x73fe))" (( "(") (binary_expression "0 < *(int *)(unaff_EDI + 0x73fe)" (number_literal "0") (< "<") (pointer_expression "*(int *)(unaff_EDI + 0x73fe)" (* "*") (cast_expression "(int *)(unaff_EDI + 0x73fe)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(unaff_EDI + 0x73fe)" (( "(") (binary_expression "unaff_EDI + 0x73fe" (identifier "unaff_EDI") (+ "+") (number_literal "0x73fe")) () ")"))))) () ")")) (compound_statement "{\n    pr2serr(unaff_EDI + 0x4376,uVar3,*(int *)(unaff_EDI + 0x73fe));\n  }" ({ "{") (expression_statement "pr2serr(unaff_EDI + 0x4376,uVar3,*(int *)(unaff_EDI + 0x73fe));" (call_expression "pr2serr(unaff_EDI + 0x4376,uVar3,*(int *)(unaff_EDI + 0x73fe))" (identifier "pr2serr") (argument_list "(unaff_EDI + 0x4376,uVar3,*(int *)(unaff_EDI + 0x73fe))" (( "(") (binary_expression "unaff_EDI + 0x4376" (identifier "unaff_EDI") (+ "+") (number_literal "0x4376")) (, ",") (identifier "uVar3") (, ",") (pointer_expression "*(int *)(unaff_EDI + 0x73fe)" (* "*") (cast_expression "(int *)(unaff_EDI + 0x73fe)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(unaff_EDI + 0x73fe)" (( "(") (binary_expression "unaff_EDI + 0x73fe" (identifier "unaff_EDI") (+ "+") (number_literal "0x73fe")) () ")")))) () ")"))) (; ";")) (} "}"))) (if_statement "if (0 < *(int *)(unaff_EDI + 0x73f2)) {\n    pr2serr(unaff_EDI + 0x438d,uVar3,*(int *)(unaff_EDI + 0x73f2));\n  }" (if "if") (parenthesized_expression "(0 < *(int *)(unaff_EDI + 0x73f2))" (( "(") (binary_expression "0 < *(int *)(unaff_EDI + 0x73f2)" (number_literal "0") (< "<") (pointer_expression "*(int *)(unaff_EDI + 0x73f2)" (* "*") (cast_expression "(int *)(unaff_EDI + 0x73f2)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(unaff_EDI + 0x73f2)" (( "(") (binary_expression "unaff_EDI + 0x73f2" (identifier "unaff_EDI") (+ "+") (number_literal "0x73f2")) () ")"))))) () ")")) (compound_statement "{\n    pr2serr(unaff_EDI + 0x438d,uVar3,*(int *)(unaff_EDI + 0x73f2));\n  }" ({ "{") (expression_statement "pr2serr(unaff_EDI + 0x438d,uVar3,*(int *)(unaff_EDI + 0x73f2));" (call_expression "pr2serr(unaff_EDI + 0x438d,uVar3,*(int *)(unaff_EDI + 0x73f2))" (identifier "pr2serr") (argument_list "(unaff_EDI + 0x438d,uVar3,*(int *)(unaff_EDI + 0x73f2))" (( "(") (binary_expression "unaff_EDI + 0x438d" (identifier "unaff_EDI") (+ "+") (number_literal "0x438d")) (, ",") (identifier "uVar3") (, ",") (pointer_expression "*(int *)(unaff_EDI + 0x73f2)" (* "*") (cast_expression "(int *)(unaff_EDI + 0x73f2)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(unaff_EDI + 0x73f2)" (( "(") (binary_expression "unaff_EDI + 0x73f2" (identifier "unaff_EDI") (+ "+") (number_literal "0x73f2")) () ")")))) () ")"))) (; ";")) (} "}"))) (expression_statement "iVar2 = *(int *)(unaff_EDI + 0x73fa);" (assignment_expression "iVar2 = *(int *)(unaff_EDI + 0x73fa)" (identifier "iVar2") (= "=") (pointer_expression "*(int *)(unaff_EDI + 0x73fa)" (* "*") (cast_expression "(int *)(unaff_EDI + 0x73fa)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(unaff_EDI + 0x73fa)" (( "(") (binary_expression "unaff_EDI + 0x73fa" (identifier "unaff_EDI") (+ "+") (number_literal "0x73fa")) () ")"))))) (; ";")) (if_statement "if (*(int *)(unaff_EDI + 0x73ba) == 0 && *(int *)(unaff_EDI + 0x739a) == 0) {\n    if (iVar2 == 0) {\n      return;\n    }\n    pr2serr(unaff_EDI + 0x43be,uVar3,iVar2);\n    return;\n  }" (if "if") (parenthesized_expression "(*(int *)(unaff_EDI + 0x73ba) == 0 && *(int *)(unaff_EDI + 0x739a) == 0)" (( "(") (binary_expression "*(int *)(unaff_EDI + 0x73ba) == 0 && *(int *)(unaff_EDI + 0x739a) == 0" (binary_expression "*(int *)(unaff_EDI + 0x73ba) == 0" (pointer_expression "*(int *)(unaff_EDI + 0x73ba)" (* "*") (cast_expression "(int *)(unaff_EDI + 0x73ba)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(unaff_EDI + 0x73ba)" (( "(") (binary_expression "unaff_EDI + 0x73ba" (identifier "unaff_EDI") (+ "+") (number_literal "0x73ba")) () ")")))) (== "==") (number_literal "0")) (&& "&&") (binary_expression "*(int *)(unaff_EDI + 0x739a) == 0" (pointer_expression "*(int *)(unaff_EDI + 0x739a)" (* "*") (cast_expression "(int *)(unaff_EDI + 0x739a)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(unaff_EDI + 0x739a)" (( "(") (binary_expression "unaff_EDI + 0x739a" (identifier "unaff_EDI") (+ "+") (number_literal "0x739a")) () ")")))) (== "==") (number_literal "0"))) () ")")) (compound_statement "{\n    if (iVar2 == 0) {\n      return;\n    }\n    pr2serr(unaff_EDI + 0x43be,uVar3,iVar2);\n    return;\n  }" ({ "{") (if_statement "if (iVar2 == 0) {\n      return;\n    }" (if "if") (parenthesized_expression "(iVar2 == 0)" (( "(") (binary_expression "iVar2 == 0" (identifier "iVar2") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      return;\n    }" ({ "{") (return_statement "return;" (return "return") (; ";")) (} "}"))) (expression_statement "pr2serr(unaff_EDI + 0x43be,uVar3,iVar2);" (call_expression "pr2serr(unaff_EDI + 0x43be,uVar3,iVar2)" (identifier "pr2serr") (argument_list "(unaff_EDI + 0x43be,uVar3,iVar2)" (( "(") (binary_expression "unaff_EDI + 0x43be" (identifier "unaff_EDI") (+ "+") (number_literal "0x43be")) (, ",") (identifier "uVar3") (, ",") (identifier "iVar2") () ")"))) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}"))) (expression_statement "pr2serr(unaff_EDI + 0x43a5,uVar3,iVar2);" (call_expression "pr2serr(unaff_EDI + 0x43a5,uVar3,iVar2)" (identifier "pr2serr") (argument_list "(unaff_EDI + 0x43a5,uVar3,iVar2)" (( "(") (binary_expression "unaff_EDI + 0x43a5" (identifier "unaff_EDI") (+ "+") (number_literal "0x43a5")) (, ",") (identifier "uVar3") (, ",") (identifier "iVar2") () ")"))) (; ";")) (expression_statement "pr2serr(unaff_EDI + 0x2d16,uVar3,*(undefined4 *)(unaff_EDI + 0x73f6));" (call_expression "pr2serr(unaff_EDI + 0x2d16,uVar3,*(undefined4 *)(unaff_EDI + 0x73f6))" (identifier "pr2serr") (argument_list "(unaff_EDI + 0x2d16,uVar3,*(undefined4 *)(unaff_EDI + 0x73f6))" (( "(") (binary_expression "unaff_EDI + 0x2d16" (identifier "unaff_EDI") (+ "+") (number_literal "0x2d16")) (, ",") (identifier "uVar3") (, ",") (pointer_expression "*(undefined4 *)(unaff_EDI + 0x73f6)" (* "*") (cast_expression "(undefined4 *)(unaff_EDI + 0x73f6)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(unaff_EDI + 0x73f6)" (( "(") (binary_expression "unaff_EDI + 0x73f6" (identifier "unaff_EDI") (+ "+") (number_literal "0x73f6")) () ")")))) () ")"))) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}")))

void function_1(char *str)

{
  type_1 var_4;
  int var_5;
  type_2 uVar3;
  int var_2;
  
  uVar3 = var_1();
  if (*(int *)(var_2 + 0x7346) != 0 || *(int *)(var_2 + 0x7342) != 0) {
    var_3(var_2 + 0x430e,*(int *)(var_2 + 0x7342),*(int *)(var_2 + 0x7346));
  }
  var_4 = *(type_1 *)(var_2 + 0x741a);
  var_3(var_2 + 0x432c,uVar3,*(type_1 *)(var_2 + 0x7422) - var_4,
          (*(int *)(var_2 + 0x7426) - ((int)var_4 >> 0x1f)) -
          (type_1)(*(type_1 *)(var_2 + 0x7422) < var_4),var_4);
  var_4 = *(type_1 *)(var_2 + 0x740a);
  var_3(var_2 + 0x4342,uVar3,*(type_1 *)(var_2 + 0x7412) - var_4,
          (*(int *)(var_2 + 0x7416) - ((int)var_4 >> 0x1f)) -
          (type_1)(*(type_1 *)(var_2 + 0x7412) < var_4),var_4);
  if (*(char *)(var_2 + 0x7393) != '\0') {
    var_3(var_2 + 0x4359,uVar3,*(type_2 *)(var_2 + 0x7402),
            *(type_2 *)(var_2 + 0x7406));
  }
  if (0 < *(int *)(var_2 + 0x73fe)) {
    var_3(var_2 + 0x4376,uVar3,*(int *)(var_2 + 0x73fe));
  }
  if (0 < *(int *)(var_2 + 0x73f2)) {
    var_3(var_2 + 0x438d,uVar3,*(int *)(var_2 + 0x73f2));
  }
  var_5 = *(int *)(var_2 + 0x73fa);
  if (*(int *)(var_2 + 0x73ba) == 0 && *(int *)(var_2 + 0x739a) == 0) {
    if (var_5 == 0) {
      return;
    }
    var_3(var_2 + 0x43be,uVar3,var_5);
    return;
  }
  var_3(var_2 + 0x43a5,uVar3,var_5);
  var_3(var_2 + 0x2d16,uVar3,*(type_2 *)(var_2 + 0x73f6));
  return;
}


(translation_unit (function_definition type: (primitive_type) declarator: (function_declarator declarator: (identifier) parameters: (parameter_list (parameter_declaration type: (primitive_type)))) body: (compound_statement (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list)))) (if_statement condition: (parenthesized_expression (binary_expression left: (binary_expression left: (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))))) right: (number_literal)) right: (binary_expression left: (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))))) right: (number_literal)))) consequence: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)) (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))))) (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: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)) (identifier) (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier)) (binary_expression left: (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: (identifier) right: (number_literal))))) right: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))) right: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))))) (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)) (identifier) (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier)) (binary_expression left: (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: (identifier) right: (number_literal))))) right: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))) right: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))))) (identifier)))) (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: (identifier) right: (number_literal))))) right: (char_literal (escape_sequence)))) consequence: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)) (identifier) (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) 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))))))) consequence: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)) (identifier) (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)))))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) 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))))))) consequence: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)) (identifier) (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))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (binary_expression left: (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))))) right: (number_literal)) right: (binary_expression left: (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))))) right: (number_literal)))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (return_statement))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)) (identifier) (identifier)))) (return_statement))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)) (identifier) (identifier)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)) (identifier) (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))) (return_statement))))

void MASKED(void)

{
  uint uVar1;
  int iVar2;
  undefined4 uVar3;
  int unaff_EDI;
  
  uVar3 = FUN_00016b65();
  if (*(int *)(unaff_EDI + 0x7346) != 0 || *(int *)(unaff_EDI + 0x7342) != 0) {
    pr2serr(unaff_EDI + 0x430e,*(int *)(unaff_EDI + 0x7342),*(int *)(unaff_EDI + 0x7346));
  }
  uVar1 = *(uint *)(unaff_EDI + 0x741a);
  pr2serr(unaff_EDI + 0x432c,uVar3,*(uint *)(unaff_EDI + 0x7422) - uVar1,
          (*(int *)(unaff_EDI + 0x7426) - ((int)uVar1 >> 0x1f)) -
          (uint)(*(uint *)(unaff_EDI + 0x7422) < uVar1),uVar1);
  uVar1 = *(uint *)(unaff_EDI + 0x740a);
  pr2serr(unaff_EDI + 0x4342,uVar3,*(uint *)(unaff_EDI + 0x7412) - uVar1,
          (*(int *)(unaff_EDI + 0x7416) - ((int)uVar1 >> 0x1f)) -
          (uint)(*(uint *)(unaff_EDI + 0x7412) < uVar1),uVar1);
  if (*(char *)(unaff_EDI + 0x7393) != '\0') {
    pr2serr(unaff_EDI + 0x4359,uVar3,*(undefined4 *)(unaff_EDI + 0x7402),
            *(undefined4 *)(unaff_EDI + 0x7406));
  }
  if (0 < *(int *)(unaff_EDI + 0x73fe)) {
    pr2serr(unaff_EDI + 0x4376,uVar3,*(int *)(unaff_EDI + 0x73fe));
  }
  if (0 < *(int *)(unaff_EDI + 0x73f2)) {
    pr2serr(unaff_EDI + 0x438d,uVar3,*(int *)(unaff_EDI + 0x73f2));
  }
  iVar2 = *(int *)(unaff_EDI + 0x73fa);
  if (*(int *)(unaff_EDI + 0x73ba) == 0 && *(int *)(unaff_EDI + 0x739a) == 0) {
    if (iVar2 == 0) {
      return;
    }
    pr2serr(unaff_EDI + 0x43be,uVar3,iVar2);
    return;
  }
  pr2serr(unaff_EDI + 0x43a5,uVar3,iVar2);
  pr2serr(unaff_EDI + 0x2d16,uVar3,*(undefined4 *)(unaff_EDI + 0x73f6));
  return;
}

