
/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */
/* WARNING: Enum "DT": Some values do not have unique names */
/* DWARF original prototype: void run(Check_library * this, Workqueue * param_1) */

void __thiscall gold::Check_library::run(Check_library *this,Workqueue *param_2)

{
}



/* WARNING: Function: __i686.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */

void __regparm2 FUN_001acca0(undefined4 param_1,undefined4 param_2,int param_3)

{
  char cVar1;
  int iVar2;
  int iVar3;
  int iVar4;
  undefined4 uVar5;
  
  iVar2 = *(int *)(*(int *)(param_3 + 0x24) + 0x1d0);
  if (iVar2 == 0) {
                    /* WARNING: Subroutine does not return */
    FUN_000da200("../../gold/readsyms.cc",0x2ef,&DAT_003089d0,param_2);
  }
  iVar3 = *(int *)(*(int *)(param_3 + 0x28) + 0x10);
  iVar4 = *(int *)(iVar3 + *(int *)(param_3 + 0x2c) * 4);
  if (iVar4 != 0) {
    FUN_000e25d0(iVar4);
    cVar1 = *(char *)(iVar4 + 0x38);
    *(undefined1 *)(iVar4 + 0x38) = 1;
    if (cVar1 == '\0') {
      uVar5 = (**(code **)(**(int **)(iVar4 + 0x28) + 0x14))(*(int **)(iVar4 + 0x28));
      FUN_000e1df0(iVar2,iVar4,uVar5,
                   *(undefined4 *)
                    (*(int *)(*(int *)(param_3 + 0x28) + 0x1c) + *(int *)(iVar4 + 0x24) * 4));
    }
    FUN_000e24a0(iVar2,iVar4);
    return;
  }
                    /* WARNING: Subroutine does not return */
  FUN_000da200("../../gold/readsyms.cc",0x2f1,&DAT_003089d0,iVar3);
}


PUSH EBP
PUSH EDI
PUSH ESI
PUSH EBX
CALL 0x0003a210
ADD EBX,0x267357
SUB ESP,0xc
MOV EDI,dword ptr [ESP + 0x20]
MOV EAX,dword ptr [EDI + 0x24]
MOV EBP,dword ptr [EAX + 0x1d0]
TEST EBP,EBP
JZ 0x001acd3c
MOV EAX,dword ptr [EDI + 0x28]
MOV EDX,dword ptr [EDI + 0x2c]
MOV EAX,dword ptr [EAX + 0x10]
MOV ESI,dword ptr [EAX + EDX*0x4]
TEST ESI,ESI
JZ 0x001acd23
SUB ESP,0xc
PUSH ESI
CALL 0x000e25d0
MOVZX EAX,byte ptr [ESI + 0x38]
ADD ESP,0x10
MOV byte ptr [ESI + 0x38],0x1
TEST AL,AL
JNZ 0x001acd11
MOV EAX,dword ptr [ESI + 0x28]
SUB ESP,0xc
MOV EDX,dword ptr [EAX]
PUSH EAX
CALL dword ptr [EDX + 0x14]
MOV EDX,dword ptr [EDI + 0x28]
MOV ECX,dword ptr [ESI + 0x24]
ADD ESP,0x10
MOV EDX,dword ptr [EDX + 0x1c]
PUSH dword ptr [EDX + ECX*0x4]
PUSH EAX
PUSH ESI
PUSH EBP
CALL 0x000e1df0
ADD ESP,0x10
SUB ESP,0x8
PUSH ESI
PUSH EBP
CALL 0x000e24a0
ADD ESP,0x1c
POP EBX
POP ESI
POP EDI
POP EBP
RET
PUSH EAX
LEA EAX,[EBX + 0xffef49d0]
PUSH EAX
LEA EAX,[EBX + 0xffef4884]
PUSH 0x2f1
PUSH EAX
CALL 0x000da200
LEA EAX,[EBX + 0xffef49d0]
PUSH EDX
PUSH EAX
LEA EAX,[EBX + 0xffef4884]
PUSH 0x2ef
PUSH EAX
CALL 0x000da200
(translation_unit "/* WARNING: Function: __i686.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n\nvoid __regparm2 FUN_001acca0(undefined4 param_1,undefined4 param_2,int param_3)\n\n{\n  char cVar1;\n  int iVar2;\n  int iVar3;\n  int iVar4;\n  undefined4 uVar5;\n  \n  iVar2 = *(int *)(*(int *)(param_3 + 0x24) + 0x1d0);\n  if (iVar2 == 0) {\n                    /* WARNING: Subroutine does not return */\n    FUN_000da200("../../gold/readsyms.cc",0x2ef,&DAT_003089d0,param_2);\n  }\n  iVar3 = *(int *)(*(int *)(param_3 + 0x28) + 0x10);\n  iVar4 = *(int *)(iVar3 + *(int *)(param_3 + 0x2c) * 4);\n  if (iVar4 != 0) {\n    FUN_000e25d0(iVar4);\n    cVar1 = *(char *)(iVar4 + 0x38);\n    *(undefined1 *)(iVar4 + 0x38) = 1;\n    if (cVar1 == '\0') {\n      uVar5 = (**(code **)(**(int **)(iVar4 + 0x28) + 0x14))(*(int **)(iVar4 + 0x28));\n      FUN_000e1df0(iVar2,iVar4,uVar5,\n                   *(undefined4 *)\n                    (*(int *)(*(int *)(param_3 + 0x28) + 0x1c) + *(int *)(iVar4 + 0x24) * 4));\n    }\n    FUN_000e24a0(iVar2,iVar4);\n    return;\n  }\n                    /* WARNING: Subroutine does not return */\n  FUN_000da200("../../gold/readsyms.cc",0x2f1,&DAT_003089d0,iVar3);\n}\n\n" comment (function_definition "void __regparm2 FUN_001acca0(undefined4 param_1,undefined4 param_2,int param_3)\n\n{\n  char cVar1;\n  int iVar2;\n  int iVar3;\n  int iVar4;\n  undefined4 uVar5;\n  \n  iVar2 = *(int *)(*(int *)(param_3 + 0x24) + 0x1d0);\n  if (iVar2 == 0) {\n                    /* WARNING: Subroutine does not return */\n    FUN_000da200("../../gold/readsyms.cc",0x2ef,&DAT_003089d0,param_2);\n  }\n  iVar3 = *(int *)(*(int *)(param_3 + 0x28) + 0x10);\n  iVar4 = *(int *)(iVar3 + *(int *)(param_3 + 0x2c) * 4);\n  if (iVar4 != 0) {\n    FUN_000e25d0(iVar4);\n    cVar1 = *(char *)(iVar4 + 0x38);\n    *(undefined1 *)(iVar4 + 0x38) = 1;\n    if (cVar1 == '\0') {\n      uVar5 = (**(code **)(**(int **)(iVar4 + 0x28) + 0x14))(*(int **)(iVar4 + 0x28));\n      FUN_000e1df0(iVar2,iVar4,uVar5,\n                   *(undefined4 *)\n                    (*(int *)(*(int *)(param_3 + 0x28) + 0x1c) + *(int *)(iVar4 + 0x24) * 4));\n    }\n    FUN_000e24a0(iVar2,iVar4);\n    return;\n  }\n                    /* WARNING: Subroutine does not return */\n  FUN_000da200("../../gold/readsyms.cc",0x2f1,&DAT_003089d0,iVar3);\n}" primitive_type (ERROR "__regparm2" identifier) (function_declarator "FUN_001acca0(undefined4 param_1,undefined4 param_2,int param_3)" identifier (parameter_list "(undefined4 param_1,undefined4 param_2,int param_3)" ( (parameter_declaration "undefined4 param_1" type_identifier identifier) , (parameter_declaration "undefined4 param_2" type_identifier identifier) , (parameter_declaration "int param_3" primitive_type identifier) ))) (compound_statement "{\n  char cVar1;\n  int iVar2;\n  int iVar3;\n  int iVar4;\n  undefined4 uVar5;\n  \n  iVar2 = *(int *)(*(int *)(param_3 + 0x24) + 0x1d0);\n  if (iVar2 == 0) {\n                    /* WARNING: Subroutine does not return */\n    FUN_000da200("../../gold/readsyms.cc",0x2ef,&DAT_003089d0,param_2);\n  }\n  iVar3 = *(int *)(*(int *)(param_3 + 0x28) + 0x10);\n  iVar4 = *(int *)(iVar3 + *(int *)(param_3 + 0x2c) * 4);\n  if (iVar4 != 0) {\n    FUN_000e25d0(iVar4);\n    cVar1 = *(char *)(iVar4 + 0x38);\n    *(undefined1 *)(iVar4 + 0x38) = 1;\n    if (cVar1 == '\0') {\n      uVar5 = (**(code **)(**(int **)(iVar4 + 0x28) + 0x14))(*(int **)(iVar4 + 0x28));\n      FUN_000e1df0(iVar2,iVar4,uVar5,\n                   *(undefined4 *)\n                    (*(int *)(*(int *)(param_3 + 0x28) + 0x1c) + *(int *)(iVar4 + 0x24) * 4));\n    }\n    FUN_000e24a0(iVar2,iVar4);\n    return;\n  }\n                    /* WARNING: Subroutine does not return */\n  FUN_000da200("../../gold/readsyms.cc",0x2f1,&DAT_003089d0,iVar3);\n}" { (declaration "char cVar1;" primitive_type identifier ;) (declaration "int iVar2;" primitive_type identifier ;) (declaration "int iVar3;" primitive_type identifier ;) (declaration "int iVar4;" primitive_type identifier ;) (declaration "undefined4 uVar5;" type_identifier identifier ;) (expression_statement "iVar2 = *(int *)(*(int *)(param_3 + 0x24) + 0x1d0);" (assignment_expression "iVar2 = *(int *)(*(int *)(param_3 + 0x24) + 0x1d0)" identifier = (pointer_expression "*(int *)(*(int *)(param_3 + 0x24) + 0x1d0)" * (cast_expression "(int *)(*(int *)(param_3 + 0x24) + 0x1d0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(param_3 + 0x24) + 0x1d0)" ( (binary_expression "*(int *)(param_3 + 0x24) + 0x1d0" (pointer_expression "*(int *)(param_3 + 0x24)" * (cast_expression "(int *)(param_3 + 0x24)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 0x24)" ( (binary_expression "param_3 + 0x24" identifier + number_literal) )))) + number_literal) ))))) ;) (if_statement "if (iVar2 == 0) {\n                    /* WARNING: Subroutine does not return */\n    FUN_000da200("../../gold/readsyms.cc",0x2ef,&DAT_003089d0,param_2);\n  }" if (parenthesized_expression "(iVar2 == 0)" ( (binary_expression "iVar2 == 0" identifier == number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n    FUN_000da200("../../gold/readsyms.cc",0x2ef,&DAT_003089d0,param_2);\n  }" { comment (expression_statement "FUN_000da200("../../gold/readsyms.cc",0x2ef,&DAT_003089d0,param_2);" (call_expression "FUN_000da200("../../gold/readsyms.cc",0x2ef,&DAT_003089d0,param_2)" identifier (argument_list "("../../gold/readsyms.cc",0x2ef,&DAT_003089d0,param_2)" ( (string_literal ""../../gold/readsyms.cc"" " string_content ") , number_literal , (pointer_expression "&DAT_003089d0" & identifier) , identifier ))) ;) })) (expression_statement "iVar3 = *(int *)(*(int *)(param_3 + 0x28) + 0x10);" (assignment_expression "iVar3 = *(int *)(*(int *)(param_3 + 0x28) + 0x10)" identifier = (pointer_expression "*(int *)(*(int *)(param_3 + 0x28) + 0x10)" * (cast_expression "(int *)(*(int *)(param_3 + 0x28) + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(param_3 + 0x28) + 0x10)" ( (binary_expression "*(int *)(param_3 + 0x28) + 0x10" (pointer_expression "*(int *)(param_3 + 0x28)" * (cast_expression "(int *)(param_3 + 0x28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 0x28)" ( (binary_expression "param_3 + 0x28" identifier + number_literal) )))) + number_literal) ))))) ;) (expression_statement "iVar4 = *(int *)(iVar3 + *(int *)(param_3 + 0x2c) * 4);" (assignment_expression "iVar4 = *(int *)(iVar3 + *(int *)(param_3 + 0x2c) * 4)" identifier = (pointer_expression "*(int *)(iVar3 + *(int *)(param_3 + 0x2c) * 4)" * (cast_expression "(int *)(iVar3 + *(int *)(param_3 + 0x2c) * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + *(int *)(param_3 + 0x2c) * 4)" ( (binary_expression "iVar3 + *(int *)(param_3 + 0x2c) * 4" identifier + (binary_expression "*(int *)(param_3 + 0x2c) * 4" (pointer_expression "*(int *)(param_3 + 0x2c)" * (cast_expression "(int *)(param_3 + 0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 0x2c)" ( (binary_expression "param_3 + 0x2c" identifier + number_literal) )))) * number_literal)) ))))) ;) (if_statement "if (iVar4 != 0) {\n    FUN_000e25d0(iVar4);\n    cVar1 = *(char *)(iVar4 + 0x38);\n    *(undefined1 *)(iVar4 + 0x38) = 1;\n    if (cVar1 == '\0') {\n      uVar5 = (**(code **)(**(int **)(iVar4 + 0x28) + 0x14))(*(int **)(iVar4 + 0x28));\n      FUN_000e1df0(iVar2,iVar4,uVar5,\n                   *(undefined4 *)\n                    (*(int *)(*(int *)(param_3 + 0x28) + 0x1c) + *(int *)(iVar4 + 0x24) * 4));\n    }\n    FUN_000e24a0(iVar2,iVar4);\n    return;\n  }" if (parenthesized_expression "(iVar4 != 0)" ( (binary_expression "iVar4 != 0" identifier != number_literal) )) (compound_statement "{\n    FUN_000e25d0(iVar4);\n    cVar1 = *(char *)(iVar4 + 0x38);\n    *(undefined1 *)(iVar4 + 0x38) = 1;\n    if (cVar1 == '\0') {\n      uVar5 = (**(code **)(**(int **)(iVar4 + 0x28) + 0x14))(*(int **)(iVar4 + 0x28));\n      FUN_000e1df0(iVar2,iVar4,uVar5,\n                   *(undefined4 *)\n                    (*(int *)(*(int *)(param_3 + 0x28) + 0x1c) + *(int *)(iVar4 + 0x24) * 4));\n    }\n    FUN_000e24a0(iVar2,iVar4);\n    return;\n  }" { (expression_statement "FUN_000e25d0(iVar4);" (call_expression "FUN_000e25d0(iVar4)" identifier (argument_list "(iVar4)" ( identifier ))) ;) (expression_statement "cVar1 = *(char *)(iVar4 + 0x38);" (assignment_expression "cVar1 = *(char *)(iVar4 + 0x38)" identifier = (pointer_expression "*(char *)(iVar4 + 0x38)" * (cast_expression "(char *)(iVar4 + 0x38)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x38)" ( (binary_expression "iVar4 + 0x38" identifier + number_literal) ))))) ;) (expression_statement "*(undefined1 *)(iVar4 + 0x38) = 1;" (assignment_expression "*(undefined1 *)(iVar4 + 0x38) = 1" (pointer_expression "*(undefined1 *)(iVar4 + 0x38)" * (cast_expression "(undefined1 *)(iVar4 + 0x38)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x38)" ( (binary_expression "iVar4 + 0x38" identifier + number_literal) )))) = number_literal) ;) (if_statement "if (cVar1 == '\0') {\n      uVar5 = (**(code **)(**(int **)(iVar4 + 0x28) + 0x14))(*(int **)(iVar4 + 0x28));\n      FUN_000e1df0(iVar2,iVar4,uVar5,\n                   *(undefined4 *)\n                    (*(int *)(*(int *)(param_3 + 0x28) + 0x1c) + *(int *)(iVar4 + 0x24) * 4));\n    }" if (parenthesized_expression "(cVar1 == '\0')" ( (binary_expression "cVar1 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n      uVar5 = (**(code **)(**(int **)(iVar4 + 0x28) + 0x14))(*(int **)(iVar4 + 0x28));\n      FUN_000e1df0(iVar2,iVar4,uVar5,\n                   *(undefined4 *)\n                    (*(int *)(*(int *)(param_3 + 0x28) + 0x1c) + *(int *)(iVar4 + 0x24) * 4));\n    }" { (expression_statement "uVar5 = (**(code **)(**(int **)(iVar4 + 0x28) + 0x14))(*(int **)(iVar4 + 0x28));" (assignment_expression "uVar5 = (**(code **)(**(int **)(iVar4 + 0x28) + 0x14))(*(int **)(iVar4 + 0x28))" identifier = (call_expression "(**(code **)(**(int **)(iVar4 + 0x28) + 0x14))(*(int **)(iVar4 + 0x28))" (parenthesized_expression "(**(code **)(**(int **)(iVar4 + 0x28) + 0x14))" ( (pointer_expression "**(code **)(**(int **)(iVar4 + 0x28) + 0x14)" * (pointer_expression "*(code **)(**(int **)(iVar4 + 0x28) + 0x14)" * (cast_expression "(code **)(**(int **)(iVar4 + 0x28) + 0x14)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(**(int **)(iVar4 + 0x28) + 0x14)" ( (binary_expression "**(int **)(iVar4 + 0x28) + 0x14" (pointer_expression "**(int **)(iVar4 + 0x28)" * (pointer_expression "*(int **)(iVar4 + 0x28)" * (cast_expression "(int **)(iVar4 + 0x28)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar4 + 0x28)" ( (binary_expression "iVar4 + 0x28" identifier + number_literal) ))))) + number_literal) ))))) )) (argument_list "(*(int **)(iVar4 + 0x28))" ( (pointer_expression "*(int **)(iVar4 + 0x28)" * (cast_expression "(int **)(iVar4 + 0x28)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar4 + 0x28)" ( (binary_expression "iVar4 + 0x28" identifier + number_literal) )))) )))) ;) (expression_statement "FUN_000e1df0(iVar2,iVar4,uVar5,\n                   *(undefined4 *)\n                    (*(int *)(*(int *)(param_3 + 0x28) + 0x1c) + *(int *)(iVar4 + 0x24) * 4));" (call_expression "FUN_000e1df0(iVar2,iVar4,uVar5,\n                   *(undefined4 *)\n                    (*(int *)(*(int *)(param_3 + 0x28) + 0x1c) + *(int *)(iVar4 + 0x24) * 4))" identifier (argument_list "(iVar2,iVar4,uVar5,\n                   *(undefined4 *)\n                    (*(int *)(*(int *)(param_3 + 0x28) + 0x1c) + *(int *)(iVar4 + 0x24) * 4))" ( identifier , identifier , identifier , (pointer_expression "*(undefined4 *)\n                    (*(int *)(*(int *)(param_3 + 0x28) + 0x1c) + *(int *)(iVar4 + 0x24) * 4)" * (cast_expression "(undefined4 *)\n                    (*(int *)(*(int *)(param_3 + 0x28) + 0x1c) + *(int *)(iVar4 + 0x24) * 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(*(int *)(param_3 + 0x28) + 0x1c) + *(int *)(iVar4 + 0x24) * 4)" ( (binary_expression "*(int *)(*(int *)(param_3 + 0x28) + 0x1c) + *(int *)(iVar4 + 0x24) * 4" (pointer_expression "*(int *)(*(int *)(param_3 + 0x28) + 0x1c)" * (cast_expression "(int *)(*(int *)(param_3 + 0x28) + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(param_3 + 0x28) + 0x1c)" ( (binary_expression "*(int *)(param_3 + 0x28) + 0x1c" (pointer_expression "*(int *)(param_3 + 0x28)" * (cast_expression "(int *)(param_3 + 0x28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 0x28)" ( (binary_expression "param_3 + 0x28" identifier + number_literal) )))) + number_literal) )))) + (binary_expression "*(int *)(iVar4 + 0x24) * 4" (pointer_expression "*(int *)(iVar4 + 0x24)" * (cast_expression "(int *)(iVar4 + 0x24)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x24)" ( (binary_expression "iVar4 + 0x24" identifier + number_literal) )))) * number_literal)) )))) ))) ;) })) (expression_statement "FUN_000e24a0(iVar2,iVar4);" (call_expression "FUN_000e24a0(iVar2,iVar4)" identifier (argument_list "(iVar2,iVar4)" ( identifier , identifier ))) ;) (return_statement "return;" return ;) })) comment (expression_statement "FUN_000da200("../../gold/readsyms.cc",0x2f1,&DAT_003089d0,iVar3);" (call_expression "FUN_000da200("../../gold/readsyms.cc",0x2f1,&DAT_003089d0,iVar3)" identifier (argument_list "("../../gold/readsyms.cc",0x2f1,&DAT_003089d0,iVar3)" ( (string_literal ""../../gold/readsyms.cc"" " string_content ") , number_literal , (pointer_expression "&DAT_003089d0" & identifier) , identifier ))) ;) })))
(translation_unit "/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n/* WARNING: Enum "DT": Some values do not have unique names */\n/* DWARF original prototype: void run(Check_library * this, Workqueue * param_1) */\n\nvoid __thiscall gold::Check_library::run(Check_library *this,Workqueue *param_2)\n\n{\n}\n\n" comment comment comment (function_definition "void __thiscall gold::Check_library::run(Check_library *this,Workqueue *param_2)\n\n{\n}" primitive_type (ms_call_modifier "__thiscall" __thiscall) (ERROR "gold::Check_library::" identifier : : identifier : :) (function_declarator "run(Check_library *this,Workqueue *param_2)" identifier (parameter_list "(Check_library *this,Workqueue *param_2)" ( (parameter_declaration "Check_library *this" type_identifier (pointer_declarator "*this" * identifier)) , (parameter_declaration "Workqueue *param_2" type_identifier (pointer_declarator "*param_2" * identifier)) ))) (compound_statement "{\n}" { })))
(translation_unit "void __regparm2 FUN_001acca0(undefined4 param_1,undefined4 param_2,int param_3)\n\n{\n  char cVar1;\n  int iVar2;\n  int iVar3;\n  int iVar4;\n  undefined4 uVar5;\n  \n  iVar2 = *(int *)(*(int *)(param_3 + 0x24) + 0x1d0);\n  if (iVar2 == 0) {\n                    \n    FUN_000da200("../../gold/readsyms.cc",0x2ef,&DAT_003089d0,param_2);\n  }\n  iVar3 = *(int *)(*(int *)(param_3 + 0x28) + 0x10);\n  iVar4 = *(int *)(iVar3 + *(int *)(param_3 + 0x2c) * 4);\n  if (iVar4 != 0) {\n    FUN_000e25d0(iVar4);\n    cVar1 = *(char *)(iVar4 + 0x38);\n    *(undefined1 *)(iVar4 + 0x38) = 1;\n    if (cVar1 == '\0') {\n      uVar5 = (**(code **)(**(int **)(iVar4 + 0x28) + 0x14))(*(int **)(iVar4 + 0x28));\n      FUN_000e1df0(iVar2,iVar4,uVar5,\n                   *(undefined4 *)\n                    (*(int *)(*(int *)(param_3 + 0x28) + 0x1c) + *(int *)(iVar4 + 0x24) * 4));\n    }\n    FUN_000e24a0(iVar2,iVar4);\n    return;\n  }\n                    \n  FUN_000da200("../../gold/readsyms.cc",0x2f1,&DAT_003089d0,iVar3);\n}\n\n" (function_definition "void __regparm2 FUN_001acca0(undefined4 param_1,undefined4 param_2,int param_3)\n\n{\n  char cVar1;\n  int iVar2;\n  int iVar3;\n  int iVar4;\n  undefined4 uVar5;\n  \n  iVar2 = *(int *)(*(int *)(param_3 + 0x24) + 0x1d0);\n  if (iVar2 == 0) {\n                    \n    FUN_000da200("../../gold/readsyms.cc",0x2ef,&DAT_003089d0,param_2);\n  }\n  iVar3 = *(int *)(*(int *)(param_3 + 0x28) + 0x10);\n  iVar4 = *(int *)(iVar3 + *(int *)(param_3 + 0x2c) * 4);\n  if (iVar4 != 0) {\n    FUN_000e25d0(iVar4);\n    cVar1 = *(char *)(iVar4 + 0x38);\n    *(undefined1 *)(iVar4 + 0x38) = 1;\n    if (cVar1 == '\0') {\n      uVar5 = (**(code **)(**(int **)(iVar4 + 0x28) + 0x14))(*(int **)(iVar4 + 0x28));\n      FUN_000e1df0(iVar2,iVar4,uVar5,\n                   *(undefined4 *)\n                    (*(int *)(*(int *)(param_3 + 0x28) + 0x1c) + *(int *)(iVar4 + 0x24) * 4));\n    }\n    FUN_000e24a0(iVar2,iVar4);\n    return;\n  }\n                    \n  FUN_000da200("../../gold/readsyms.cc",0x2f1,&DAT_003089d0,iVar3);\n}" primitive_type (ERROR "__regparm2" identifier) (function_declarator "FUN_001acca0(undefined4 param_1,undefined4 param_2,int param_3)" identifier (parameter_list "(undefined4 param_1,undefined4 param_2,int param_3)" ( (parameter_declaration "undefined4 param_1" type_identifier identifier) , (parameter_declaration "undefined4 param_2" type_identifier identifier) , (parameter_declaration "int param_3" primitive_type identifier) ))) (compound_statement "{\n  char cVar1;\n  int iVar2;\n  int iVar3;\n  int iVar4;\n  undefined4 uVar5;\n  \n  iVar2 = *(int *)(*(int *)(param_3 + 0x24) + 0x1d0);\n  if (iVar2 == 0) {\n                    \n    FUN_000da200("../../gold/readsyms.cc",0x2ef,&DAT_003089d0,param_2);\n  }\n  iVar3 = *(int *)(*(int *)(param_3 + 0x28) + 0x10);\n  iVar4 = *(int *)(iVar3 + *(int *)(param_3 + 0x2c) * 4);\n  if (iVar4 != 0) {\n    FUN_000e25d0(iVar4);\n    cVar1 = *(char *)(iVar4 + 0x38);\n    *(undefined1 *)(iVar4 + 0x38) = 1;\n    if (cVar1 == '\0') {\n      uVar5 = (**(code **)(**(int **)(iVar4 + 0x28) + 0x14))(*(int **)(iVar4 + 0x28));\n      FUN_000e1df0(iVar2,iVar4,uVar5,\n                   *(undefined4 *)\n                    (*(int *)(*(int *)(param_3 + 0x28) + 0x1c) + *(int *)(iVar4 + 0x24) * 4));\n    }\n    FUN_000e24a0(iVar2,iVar4);\n    return;\n  }\n                    \n  FUN_000da200("../../gold/readsyms.cc",0x2f1,&DAT_003089d0,iVar3);\n}" { (declaration "char cVar1;" primitive_type identifier ;) (declaration "int iVar2;" primitive_type identifier ;) (declaration "int iVar3;" primitive_type identifier ;) (declaration "int iVar4;" primitive_type identifier ;) (declaration "undefined4 uVar5;" type_identifier identifier ;) (expression_statement "iVar2 = *(int *)(*(int *)(param_3 + 0x24) + 0x1d0);" (assignment_expression "iVar2 = *(int *)(*(int *)(param_3 + 0x24) + 0x1d0)" identifier = (pointer_expression "*(int *)(*(int *)(param_3 + 0x24) + 0x1d0)" * (cast_expression "(int *)(*(int *)(param_3 + 0x24) + 0x1d0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(param_3 + 0x24) + 0x1d0)" ( (binary_expression "*(int *)(param_3 + 0x24) + 0x1d0" (pointer_expression "*(int *)(param_3 + 0x24)" * (cast_expression "(int *)(param_3 + 0x24)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 0x24)" ( (binary_expression "param_3 + 0x24" identifier + number_literal) )))) + number_literal) ))))) ;) (if_statement "if (iVar2 == 0) {\n                    \n    FUN_000da200("../../gold/readsyms.cc",0x2ef,&DAT_003089d0,param_2);\n  }" if (parenthesized_expression "(iVar2 == 0)" ( (binary_expression "iVar2 == 0" identifier == number_literal) )) (compound_statement "{\n                    \n    FUN_000da200("../../gold/readsyms.cc",0x2ef,&DAT_003089d0,param_2);\n  }" { (expression_statement "FUN_000da200("../../gold/readsyms.cc",0x2ef,&DAT_003089d0,param_2);" (call_expression "FUN_000da200("../../gold/readsyms.cc",0x2ef,&DAT_003089d0,param_2)" identifier (argument_list "("../../gold/readsyms.cc",0x2ef,&DAT_003089d0,param_2)" ( (string_literal ""../../gold/readsyms.cc"" " string_content ") , number_literal , (pointer_expression "&DAT_003089d0" & identifier) , identifier ))) ;) })) (expression_statement "iVar3 = *(int *)(*(int *)(param_3 + 0x28) + 0x10);" (assignment_expression "iVar3 = *(int *)(*(int *)(param_3 + 0x28) + 0x10)" identifier = (pointer_expression "*(int *)(*(int *)(param_3 + 0x28) + 0x10)" * (cast_expression "(int *)(*(int *)(param_3 + 0x28) + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(param_3 + 0x28) + 0x10)" ( (binary_expression "*(int *)(param_3 + 0x28) + 0x10" (pointer_expression "*(int *)(param_3 + 0x28)" * (cast_expression "(int *)(param_3 + 0x28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 0x28)" ( (binary_expression "param_3 + 0x28" identifier + number_literal) )))) + number_literal) ))))) ;) (expression_statement "iVar4 = *(int *)(iVar3 + *(int *)(param_3 + 0x2c) * 4);" (assignment_expression "iVar4 = *(int *)(iVar3 + *(int *)(param_3 + 0x2c) * 4)" identifier = (pointer_expression "*(int *)(iVar3 + *(int *)(param_3 + 0x2c) * 4)" * (cast_expression "(int *)(iVar3 + *(int *)(param_3 + 0x2c) * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + *(int *)(param_3 + 0x2c) * 4)" ( (binary_expression "iVar3 + *(int *)(param_3 + 0x2c) * 4" identifier + (binary_expression "*(int *)(param_3 + 0x2c) * 4" (pointer_expression "*(int *)(param_3 + 0x2c)" * (cast_expression "(int *)(param_3 + 0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 0x2c)" ( (binary_expression "param_3 + 0x2c" identifier + number_literal) )))) * number_literal)) ))))) ;) (if_statement "if (iVar4 != 0) {\n    FUN_000e25d0(iVar4);\n    cVar1 = *(char *)(iVar4 + 0x38);\n    *(undefined1 *)(iVar4 + 0x38) = 1;\n    if (cVar1 == '\0') {\n      uVar5 = (**(code **)(**(int **)(iVar4 + 0x28) + 0x14))(*(int **)(iVar4 + 0x28));\n      FUN_000e1df0(iVar2,iVar4,uVar5,\n                   *(undefined4 *)\n                    (*(int *)(*(int *)(param_3 + 0x28) + 0x1c) + *(int *)(iVar4 + 0x24) * 4));\n    }\n    FUN_000e24a0(iVar2,iVar4);\n    return;\n  }" if (parenthesized_expression "(iVar4 != 0)" ( (binary_expression "iVar4 != 0" identifier != number_literal) )) (compound_statement "{\n    FUN_000e25d0(iVar4);\n    cVar1 = *(char *)(iVar4 + 0x38);\n    *(undefined1 *)(iVar4 + 0x38) = 1;\n    if (cVar1 == '\0') {\n      uVar5 = (**(code **)(**(int **)(iVar4 + 0x28) + 0x14))(*(int **)(iVar4 + 0x28));\n      FUN_000e1df0(iVar2,iVar4,uVar5,\n                   *(undefined4 *)\n                    (*(int *)(*(int *)(param_3 + 0x28) + 0x1c) + *(int *)(iVar4 + 0x24) * 4));\n    }\n    FUN_000e24a0(iVar2,iVar4);\n    return;\n  }" { (expression_statement "FUN_000e25d0(iVar4);" (call_expression "FUN_000e25d0(iVar4)" identifier (argument_list "(iVar4)" ( identifier ))) ;) (expression_statement "cVar1 = *(char *)(iVar4 + 0x38);" (assignment_expression "cVar1 = *(char *)(iVar4 + 0x38)" identifier = (pointer_expression "*(char *)(iVar4 + 0x38)" * (cast_expression "(char *)(iVar4 + 0x38)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x38)" ( (binary_expression "iVar4 + 0x38" identifier + number_literal) ))))) ;) (expression_statement "*(undefined1 *)(iVar4 + 0x38) = 1;" (assignment_expression "*(undefined1 *)(iVar4 + 0x38) = 1" (pointer_expression "*(undefined1 *)(iVar4 + 0x38)" * (cast_expression "(undefined1 *)(iVar4 + 0x38)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x38)" ( (binary_expression "iVar4 + 0x38" identifier + number_literal) )))) = number_literal) ;) (if_statement "if (cVar1 == '\0') {\n      uVar5 = (**(code **)(**(int **)(iVar4 + 0x28) + 0x14))(*(int **)(iVar4 + 0x28));\n      FUN_000e1df0(iVar2,iVar4,uVar5,\n                   *(undefined4 *)\n                    (*(int *)(*(int *)(param_3 + 0x28) + 0x1c) + *(int *)(iVar4 + 0x24) * 4));\n    }" if (parenthesized_expression "(cVar1 == '\0')" ( (binary_expression "cVar1 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n      uVar5 = (**(code **)(**(int **)(iVar4 + 0x28) + 0x14))(*(int **)(iVar4 + 0x28));\n      FUN_000e1df0(iVar2,iVar4,uVar5,\n                   *(undefined4 *)\n                    (*(int *)(*(int *)(param_3 + 0x28) + 0x1c) + *(int *)(iVar4 + 0x24) * 4));\n    }" { (expression_statement "uVar5 = (**(code **)(**(int **)(iVar4 + 0x28) + 0x14))(*(int **)(iVar4 + 0x28));" (assignment_expression "uVar5 = (**(code **)(**(int **)(iVar4 + 0x28) + 0x14))(*(int **)(iVar4 + 0x28))" identifier = (call_expression "(**(code **)(**(int **)(iVar4 + 0x28) + 0x14))(*(int **)(iVar4 + 0x28))" (parenthesized_expression "(**(code **)(**(int **)(iVar4 + 0x28) + 0x14))" ( (pointer_expression "**(code **)(**(int **)(iVar4 + 0x28) + 0x14)" * (pointer_expression "*(code **)(**(int **)(iVar4 + 0x28) + 0x14)" * (cast_expression "(code **)(**(int **)(iVar4 + 0x28) + 0x14)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(**(int **)(iVar4 + 0x28) + 0x14)" ( (binary_expression "**(int **)(iVar4 + 0x28) + 0x14" (pointer_expression "**(int **)(iVar4 + 0x28)" * (pointer_expression "*(int **)(iVar4 + 0x28)" * (cast_expression "(int **)(iVar4 + 0x28)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar4 + 0x28)" ( (binary_expression "iVar4 + 0x28" identifier + number_literal) ))))) + number_literal) ))))) )) (argument_list "(*(int **)(iVar4 + 0x28))" ( (pointer_expression "*(int **)(iVar4 + 0x28)" * (cast_expression "(int **)(iVar4 + 0x28)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar4 + 0x28)" ( (binary_expression "iVar4 + 0x28" identifier + number_literal) )))) )))) ;) (expression_statement "FUN_000e1df0(iVar2,iVar4,uVar5,\n                   *(undefined4 *)\n                    (*(int *)(*(int *)(param_3 + 0x28) + 0x1c) + *(int *)(iVar4 + 0x24) * 4));" (call_expression "FUN_000e1df0(iVar2,iVar4,uVar5,\n                   *(undefined4 *)\n                    (*(int *)(*(int *)(param_3 + 0x28) + 0x1c) + *(int *)(iVar4 + 0x24) * 4))" identifier (argument_list "(iVar2,iVar4,uVar5,\n                   *(undefined4 *)\n                    (*(int *)(*(int *)(param_3 + 0x28) + 0x1c) + *(int *)(iVar4 + 0x24) * 4))" ( identifier , identifier , identifier , (pointer_expression "*(undefined4 *)\n                    (*(int *)(*(int *)(param_3 + 0x28) + 0x1c) + *(int *)(iVar4 + 0x24) * 4)" * (cast_expression "(undefined4 *)\n                    (*(int *)(*(int *)(param_3 + 0x28) + 0x1c) + *(int *)(iVar4 + 0x24) * 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(*(int *)(param_3 + 0x28) + 0x1c) + *(int *)(iVar4 + 0x24) * 4)" ( (binary_expression "*(int *)(*(int *)(param_3 + 0x28) + 0x1c) + *(int *)(iVar4 + 0x24) * 4" (pointer_expression "*(int *)(*(int *)(param_3 + 0x28) + 0x1c)" * (cast_expression "(int *)(*(int *)(param_3 + 0x28) + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(param_3 + 0x28) + 0x1c)" ( (binary_expression "*(int *)(param_3 + 0x28) + 0x1c" (pointer_expression "*(int *)(param_3 + 0x28)" * (cast_expression "(int *)(param_3 + 0x28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 0x28)" ( (binary_expression "param_3 + 0x28" identifier + number_literal) )))) + number_literal) )))) + (binary_expression "*(int *)(iVar4 + 0x24) * 4" (pointer_expression "*(int *)(iVar4 + 0x24)" * (cast_expression "(int *)(iVar4 + 0x24)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x24)" ( (binary_expression "iVar4 + 0x24" identifier + number_literal) )))) * number_literal)) )))) ))) ;) })) (expression_statement "FUN_000e24a0(iVar2,iVar4);" (call_expression "FUN_000e24a0(iVar2,iVar4)" identifier (argument_list "(iVar2,iVar4)" ( identifier , identifier ))) ;) (return_statement "return;" return ;) })) (expression_statement "FUN_000da200("../../gold/readsyms.cc",0x2f1,&DAT_003089d0,iVar3);" (call_expression "FUN_000da200("../../gold/readsyms.cc",0x2f1,&DAT_003089d0,iVar3)" identifier (argument_list "("../../gold/readsyms.cc",0x2f1,&DAT_003089d0,iVar3)" ( (string_literal ""../../gold/readsyms.cc"" " string_content ") , number_literal , (pointer_expression "&DAT_003089d0" & identifier) , identifier ))) ;) })))
(translation_unit (function_definition TYPE (ERROR IDENT) (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) ))) (compound_statement { (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (pointer_expression & IDENT) , IDENT ))) ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) * LIT)) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) + LIT) ))))) )) (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_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)) )))) ))) ;) })) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) (return_statement return ;) })) (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (pointer_expression & IDENT) , IDENT ))) ;) })))
(function_definition "void __regparm2 FUN_001acca0(undefined4 param_1,undefined4 param_2,int param_3)\n\n{\n  char cVar1;\n  int iVar2;\n  int iVar3;\n  int iVar4;\n  undefined4 uVar5;\n  \n  iVar2 = *(int *)(*(int *)(param_3 + 0x24) + 0x1d0);\n  if (iVar2 == 0) {\n                    \n    FUN_000da200("../../gold/readsyms.cc",0x2ef,&DAT_003089d0,param_2);\n  }\n  iVar3 = *(int *)(*(int *)(param_3 + 0x28) + 0x10);\n  iVar4 = *(int *)(iVar3 + *(int *)(param_3 + 0x2c) * 4);\n  if (iVar4 != 0) {\n    FUN_000e25d0(iVar4);\n    cVar1 = *(char *)(iVar4 + 0x38);\n    *(undefined1 *)(iVar4 + 0x38) = 1;\n    if (cVar1 == '\0') {\n      uVar5 = (**(code **)(**(int **)(iVar4 + 0x28) + 0x14))(*(int **)(iVar4 + 0x28));\n      FUN_000e1df0(iVar2,iVar4,uVar5,\n                   *(undefined4 *)\n                    (*(int *)(*(int *)(param_3 + 0x28) + 0x1c) + *(int *)(iVar4 + 0x24) * 4));\n    }\n    FUN_000e24a0(iVar2,iVar4);\n    return;\n  }\n                    \n  FUN_000da200("../../gold/readsyms.cc",0x2f1,&DAT_003089d0,iVar3);\n}" (primitive_type "void") (ERROR "__regparm2" (identifier "__regparm2")) (function_declarator "FUN_001acca0(undefined4 param_1,undefined4 param_2,int param_3)" (identifier "FUN_001acca0") (parameter_list "(undefined4 param_1,undefined4 param_2,int param_3)" (( "(") (parameter_declaration "undefined4 param_1" (type_identifier "undefined4") (identifier "param_1")) (, ",") (parameter_declaration "undefined4 param_2" (type_identifier "undefined4") (identifier "param_2")) (, ",") (parameter_declaration "int param_3" (primitive_type "int") (identifier "param_3")) () ")"))) (compound_statement "{\n  char cVar1;\n  int iVar2;\n  int iVar3;\n  int iVar4;\n  undefined4 uVar5;\n  \n  iVar2 = *(int *)(*(int *)(param_3 + 0x24) + 0x1d0);\n  if (iVar2 == 0) {\n                    \n    FUN_000da200("../../gold/readsyms.cc",0x2ef,&DAT_003089d0,param_2);\n  }\n  iVar3 = *(int *)(*(int *)(param_3 + 0x28) + 0x10);\n  iVar4 = *(int *)(iVar3 + *(int *)(param_3 + 0x2c) * 4);\n  if (iVar4 != 0) {\n    FUN_000e25d0(iVar4);\n    cVar1 = *(char *)(iVar4 + 0x38);\n    *(undefined1 *)(iVar4 + 0x38) = 1;\n    if (cVar1 == '\0') {\n      uVar5 = (**(code **)(**(int **)(iVar4 + 0x28) + 0x14))(*(int **)(iVar4 + 0x28));\n      FUN_000e1df0(iVar2,iVar4,uVar5,\n                   *(undefined4 *)\n                    (*(int *)(*(int *)(param_3 + 0x28) + 0x1c) + *(int *)(iVar4 + 0x24) * 4));\n    }\n    FUN_000e24a0(iVar2,iVar4);\n    return;\n  }\n                    \n  FUN_000da200("../../gold/readsyms.cc",0x2f1,&DAT_003089d0,iVar3);\n}" ({ "{") (declaration "char cVar1;" (primitive_type "char") (identifier "cVar1") (; ";")) (declaration "int iVar2;" (primitive_type "int") (identifier "iVar2") (; ";")) (declaration "int iVar3;" (primitive_type "int") (identifier "iVar3") (; ";")) (declaration "int iVar4;" (primitive_type "int") (identifier "iVar4") (; ";")) (declaration "undefined4 uVar5;" (type_identifier "undefined4") (identifier "uVar5") (; ";")) (expression_statement "iVar2 = *(int *)(*(int *)(param_3 + 0x24) + 0x1d0);" (assignment_expression "iVar2 = *(int *)(*(int *)(param_3 + 0x24) + 0x1d0)" (identifier "iVar2") (= "=") (pointer_expression "*(int *)(*(int *)(param_3 + 0x24) + 0x1d0)" (* "*") (cast_expression "(int *)(*(int *)(param_3 + 0x24) + 0x1d0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(param_3 + 0x24) + 0x1d0)" (( "(") (binary_expression "*(int *)(param_3 + 0x24) + 0x1d0" (pointer_expression "*(int *)(param_3 + 0x24)" (* "*") (cast_expression "(int *)(param_3 + 0x24)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_3 + 0x24)" (( "(") (binary_expression "param_3 + 0x24" (identifier "param_3") (+ "+") (number_literal "0x24")) () ")")))) (+ "+") (number_literal "0x1d0")) () ")"))))) (; ";")) (if_statement "if (iVar2 == 0) {\n                    \n    FUN_000da200("../../gold/readsyms.cc",0x2ef,&DAT_003089d0,param_2);\n  }" (if "if") (parenthesized_expression "(iVar2 == 0)" (( "(") (binary_expression "iVar2 == 0" (identifier "iVar2") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                    \n    FUN_000da200("../../gold/readsyms.cc",0x2ef,&DAT_003089d0,param_2);\n  }" ({ "{") (expression_statement "FUN_000da200("../../gold/readsyms.cc",0x2ef,&DAT_003089d0,param_2);" (call_expression "FUN_000da200("../../gold/readsyms.cc",0x2ef,&DAT_003089d0,param_2)" (identifier "FUN_000da200") (argument_list "("../../gold/readsyms.cc",0x2ef,&DAT_003089d0,param_2)" (( "(") (string_literal ""../../gold/readsyms.cc"" (" """) (string_content "../../gold/readsyms.cc") (" """)) (, ",") (number_literal "0x2ef") (, ",") (pointer_expression "&DAT_003089d0" (& "&") (identifier "DAT_003089d0")) (, ",") (identifier "param_2") () ")"))) (; ";")) (} "}"))) (expression_statement "iVar3 = *(int *)(*(int *)(param_3 + 0x28) + 0x10);" (assignment_expression "iVar3 = *(int *)(*(int *)(param_3 + 0x28) + 0x10)" (identifier "iVar3") (= "=") (pointer_expression "*(int *)(*(int *)(param_3 + 0x28) + 0x10)" (* "*") (cast_expression "(int *)(*(int *)(param_3 + 0x28) + 0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(param_3 + 0x28) + 0x10)" (( "(") (binary_expression "*(int *)(param_3 + 0x28) + 0x10" (pointer_expression "*(int *)(param_3 + 0x28)" (* "*") (cast_expression "(int *)(param_3 + 0x28)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_3 + 0x28)" (( "(") (binary_expression "param_3 + 0x28" (identifier "param_3") (+ "+") (number_literal "0x28")) () ")")))) (+ "+") (number_literal "0x10")) () ")"))))) (; ";")) (expression_statement "iVar4 = *(int *)(iVar3 + *(int *)(param_3 + 0x2c) * 4);" (assignment_expression "iVar4 = *(int *)(iVar3 + *(int *)(param_3 + 0x2c) * 4)" (identifier "iVar4") (= "=") (pointer_expression "*(int *)(iVar3 + *(int *)(param_3 + 0x2c) * 4)" (* "*") (cast_expression "(int *)(iVar3 + *(int *)(param_3 + 0x2c) * 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar3 + *(int *)(param_3 + 0x2c) * 4)" (( "(") (binary_expression "iVar3 + *(int *)(param_3 + 0x2c) * 4" (identifier "iVar3") (+ "+") (binary_expression "*(int *)(param_3 + 0x2c) * 4" (pointer_expression "*(int *)(param_3 + 0x2c)" (* "*") (cast_expression "(int *)(param_3 + 0x2c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_3 + 0x2c)" (( "(") (binary_expression "param_3 + 0x2c" (identifier "param_3") (+ "+") (number_literal "0x2c")) () ")")))) (* "*") (number_literal "4"))) () ")"))))) (; ";")) (if_statement "if (iVar4 != 0) {\n    FUN_000e25d0(iVar4);\n    cVar1 = *(char *)(iVar4 + 0x38);\n    *(undefined1 *)(iVar4 + 0x38) = 1;\n    if (cVar1 == '\0') {\n      uVar5 = (**(code **)(**(int **)(iVar4 + 0x28) + 0x14))(*(int **)(iVar4 + 0x28));\n      FUN_000e1df0(iVar2,iVar4,uVar5,\n                   *(undefined4 *)\n                    (*(int *)(*(int *)(param_3 + 0x28) + 0x1c) + *(int *)(iVar4 + 0x24) * 4));\n    }\n    FUN_000e24a0(iVar2,iVar4);\n    return;\n  }" (if "if") (parenthesized_expression "(iVar4 != 0)" (( "(") (binary_expression "iVar4 != 0" (identifier "iVar4") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n    FUN_000e25d0(iVar4);\n    cVar1 = *(char *)(iVar4 + 0x38);\n    *(undefined1 *)(iVar4 + 0x38) = 1;\n    if (cVar1 == '\0') {\n      uVar5 = (**(code **)(**(int **)(iVar4 + 0x28) + 0x14))(*(int **)(iVar4 + 0x28));\n      FUN_000e1df0(iVar2,iVar4,uVar5,\n                   *(undefined4 *)\n                    (*(int *)(*(int *)(param_3 + 0x28) + 0x1c) + *(int *)(iVar4 + 0x24) * 4));\n    }\n    FUN_000e24a0(iVar2,iVar4);\n    return;\n  }" ({ "{") (expression_statement "FUN_000e25d0(iVar4);" (call_expression "FUN_000e25d0(iVar4)" (identifier "FUN_000e25d0") (argument_list "(iVar4)" (( "(") (identifier "iVar4") () ")"))) (; ";")) (expression_statement "cVar1 = *(char *)(iVar4 + 0x38);" (assignment_expression "cVar1 = *(char *)(iVar4 + 0x38)" (identifier "cVar1") (= "=") (pointer_expression "*(char *)(iVar4 + 0x38)" (* "*") (cast_expression "(char *)(iVar4 + 0x38)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 0x38)" (( "(") (binary_expression "iVar4 + 0x38" (identifier "iVar4") (+ "+") (number_literal "0x38")) () ")"))))) (; ";")) (expression_statement "*(undefined1 *)(iVar4 + 0x38) = 1;" (assignment_expression "*(undefined1 *)(iVar4 + 0x38) = 1" (pointer_expression "*(undefined1 *)(iVar4 + 0x38)" (* "*") (cast_expression "(undefined1 *)(iVar4 + 0x38)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 0x38)" (( "(") (binary_expression "iVar4 + 0x38" (identifier "iVar4") (+ "+") (number_literal "0x38")) () ")")))) (= "=") (number_literal "1")) (; ";")) (if_statement "if (cVar1 == '\0') {\n      uVar5 = (**(code **)(**(int **)(iVar4 + 0x28) + 0x14))(*(int **)(iVar4 + 0x28));\n      FUN_000e1df0(iVar2,iVar4,uVar5,\n                   *(undefined4 *)\n                    (*(int *)(*(int *)(param_3 + 0x28) + 0x1c) + *(int *)(iVar4 + 0x24) * 4));\n    }" (if "if") (parenthesized_expression "(cVar1 == '\0')" (( "(") (binary_expression "cVar1 == '\0'" (identifier "cVar1") (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n      uVar5 = (**(code **)(**(int **)(iVar4 + 0x28) + 0x14))(*(int **)(iVar4 + 0x28));\n      FUN_000e1df0(iVar2,iVar4,uVar5,\n                   *(undefined4 *)\n                    (*(int *)(*(int *)(param_3 + 0x28) + 0x1c) + *(int *)(iVar4 + 0x24) * 4));\n    }" ({ "{") (expression_statement "uVar5 = (**(code **)(**(int **)(iVar4 + 0x28) + 0x14))(*(int **)(iVar4 + 0x28));" (assignment_expression "uVar5 = (**(code **)(**(int **)(iVar4 + 0x28) + 0x14))(*(int **)(iVar4 + 0x28))" (identifier "uVar5") (= "=") (call_expression "(**(code **)(**(int **)(iVar4 + 0x28) + 0x14))(*(int **)(iVar4 + 0x28))" (parenthesized_expression "(**(code **)(**(int **)(iVar4 + 0x28) + 0x14))" (( "(") (pointer_expression "**(code **)(**(int **)(iVar4 + 0x28) + 0x14)" (* "*") (pointer_expression "*(code **)(**(int **)(iVar4 + 0x28) + 0x14)" (* "*") (cast_expression "(code **)(**(int **)(iVar4 + 0x28) + 0x14)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(**(int **)(iVar4 + 0x28) + 0x14)" (( "(") (binary_expression "**(int **)(iVar4 + 0x28) + 0x14" (pointer_expression "**(int **)(iVar4 + 0x28)" (* "*") (pointer_expression "*(int **)(iVar4 + 0x28)" (* "*") (cast_expression "(int **)(iVar4 + 0x28)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar4 + 0x28)" (( "(") (binary_expression "iVar4 + 0x28" (identifier "iVar4") (+ "+") (number_literal "0x28")) () ")"))))) (+ "+") (number_literal "0x14")) () ")"))))) () ")")) (argument_list "(*(int **)(iVar4 + 0x28))" (( "(") (pointer_expression "*(int **)(iVar4 + 0x28)" (* "*") (cast_expression "(int **)(iVar4 + 0x28)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar4 + 0x28)" (( "(") (binary_expression "iVar4 + 0x28" (identifier "iVar4") (+ "+") (number_literal "0x28")) () ")")))) () ")")))) (; ";")) (expression_statement "FUN_000e1df0(iVar2,iVar4,uVar5,\n                   *(undefined4 *)\n                    (*(int *)(*(int *)(param_3 + 0x28) + 0x1c) + *(int *)(iVar4 + 0x24) * 4));" (call_expression "FUN_000e1df0(iVar2,iVar4,uVar5,\n                   *(undefined4 *)\n                    (*(int *)(*(int *)(param_3 + 0x28) + 0x1c) + *(int *)(iVar4 + 0x24) * 4))" (identifier "FUN_000e1df0") (argument_list "(iVar2,iVar4,uVar5,\n                   *(undefined4 *)\n                    (*(int *)(*(int *)(param_3 + 0x28) + 0x1c) + *(int *)(iVar4 + 0x24) * 4))" (( "(") (identifier "iVar2") (, ",") (identifier "iVar4") (, ",") (identifier "uVar5") (, ",") (pointer_expression "*(undefined4 *)\n                    (*(int *)(*(int *)(param_3 + 0x28) + 0x1c) + *(int *)(iVar4 + 0x24) * 4)" (* "*") (cast_expression "(undefined4 *)\n                    (*(int *)(*(int *)(param_3 + 0x28) + 0x1c) + *(int *)(iVar4 + 0x24) * 4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(*(int *)(param_3 + 0x28) + 0x1c) + *(int *)(iVar4 + 0x24) * 4)" (( "(") (binary_expression "*(int *)(*(int *)(param_3 + 0x28) + 0x1c) + *(int *)(iVar4 + 0x24) * 4" (pointer_expression "*(int *)(*(int *)(param_3 + 0x28) + 0x1c)" (* "*") (cast_expression "(int *)(*(int *)(param_3 + 0x28) + 0x1c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(param_3 + 0x28) + 0x1c)" (( "(") (binary_expression "*(int *)(param_3 + 0x28) + 0x1c" (pointer_expression "*(int *)(param_3 + 0x28)" (* "*") (cast_expression "(int *)(param_3 + 0x28)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_3 + 0x28)" (( "(") (binary_expression "param_3 + 0x28" (identifier "param_3") (+ "+") (number_literal "0x28")) () ")")))) (+ "+") (number_literal "0x1c")) () ")")))) (+ "+") (binary_expression "*(int *)(iVar4 + 0x24) * 4" (pointer_expression "*(int *)(iVar4 + 0x24)" (* "*") (cast_expression "(int *)(iVar4 + 0x24)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 0x24)" (( "(") (binary_expression "iVar4 + 0x24" (identifier "iVar4") (+ "+") (number_literal "0x24")) () ")")))) (* "*") (number_literal "4"))) () ")")))) () ")"))) (; ";")) (} "}"))) (expression_statement "FUN_000e24a0(iVar2,iVar4);" (call_expression "FUN_000e24a0(iVar2,iVar4)" (identifier "FUN_000e24a0") (argument_list "(iVar2,iVar4)" (( "(") (identifier "iVar2") (, ",") (identifier "iVar4") () ")"))) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}"))) (expression_statement "FUN_000da200("../../gold/readsyms.cc",0x2f1,&DAT_003089d0,iVar3);" (call_expression "FUN_000da200("../../gold/readsyms.cc",0x2f1,&DAT_003089d0,iVar3)" (identifier "FUN_000da200") (argument_list "("../../gold/readsyms.cc",0x2f1,&DAT_003089d0,iVar3)" (( "(") (string_literal ""../../gold/readsyms.cc"" (" """) (string_content "../../gold/readsyms.cc") (" """)) (, ",") (number_literal "0x2f1") (, ",") (pointer_expression "&DAT_003089d0" (& "&") (identifier "DAT_003089d0")) (, ",") (identifier "iVar3") () ")"))) (; ";")) (} "}")))

/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */
/* WARNING: Enum "DT": Some values do not have unique names */
/* DWARF original prototype: void run(Check_library * this, Workqueue * param_1) */

void __thiscall gold::type_1::function_1(type_1 *this,type_2 *param_2)

{
}


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

/* WARNING: Function: __i686.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */

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

{
  char cVar1;
  int iVar2;
  int iVar3;
  int iVar4;
  undefined4 uVar5;
  
  iVar2 = *(int *)(*(int *)(param_3 + 0x24) + 0x1d0);
  if (iVar2 == 0) {
                    /* WARNING: Subroutine does not return */
    FUN_000da200("../../gold/readsyms.cc",0x2ef,&DAT_003089d0,param_2);
  }
  iVar3 = *(int *)(*(int *)(param_3 + 0x28) + 0x10);
  iVar4 = *(int *)(iVar3 + *(int *)(param_3 + 0x2c) * 4);
  if (iVar4 != 0) {
    FUN_000e25d0(iVar4);
    cVar1 = *(char *)(iVar4 + 0x38);
    *(undefined1 *)(iVar4 + 0x38) = 1;
    if (cVar1 == '\0') {
      uVar5 = (**(code **)(**(int **)(iVar4 + 0x28) + 0x14))(*(int **)(iVar4 + 0x28));
      FUN_000e1df0(iVar2,iVar4,uVar5,
                   *(undefined4 *)
                    (*(int *)(*(int *)(param_3 + 0x28) + 0x1c) + *(int *)(iVar4 + 0x24) * 4));
    }
    FUN_000e24a0(iVar2,iVar4);
    return;
  }
                    /* WARNING: Subroutine does not return */
  FUN_000da200("../../gold/readsyms.cc",0x2f1,&DAT_003089d0,iVar3);
}

