
/* WARNING: Enum "DT": Some values do not have unique names */
/* WARNING: Enum "ELFOSABI": Some values do not have unique names */

ld_plugin_status gold::message(int level,char *format,...)

{
  char in_AL;
  undefined8 in_RCX;
  undefined8 in_RDX;
  undefined8 in_R8;
  undefined8 in_R9;
  undefined8 in_XMM0_Qa;
  undefined8 in_XMM1_Qa;
  undefined8 in_XMM2_Qa;
  undefined8 in_XMM3_Qa;
  undefined8 in_XMM4_Qa;
  undefined8 in_XMM5_Qa;
  undefined8 in_XMM6_Qa;
  undefined8 in_XMM7_Qa;
  va_list args;
  undefined1 local_b8 [16];
  undefined8 local_a8;
  undefined8 local_a0;
  undefined8 local_98;
  undefined8 local_90;
  undefined8 local_88;
  undefined8 local_78;
  undefined8 local_68;
  undefined8 local_58;
  undefined8 local_48;
  undefined8 local_38;
  undefined8 local_28;
  undefined8 local_18;
  
  if (in_AL != '\0') {
    local_88 = in_XMM0_Qa;
    local_78 = in_XMM1_Qa;
    local_68 = in_XMM2_Qa;
    local_58 = in_XMM3_Qa;
    local_48 = in_XMM4_Qa;
    local_38 = in_XMM5_Qa;
    local_28 = in_XMM6_Qa;
    local_18 = in_XMM7_Qa;
  }
  args[0].overflow_arg_area = &stack0x00000008;
  args[0].gp_offset = 0x10;
  args[0].reg_save_area = local_b8;
  args[0].fp_offset = 0x30;
  local_a8 = in_RDX;
  local_a0 = in_RCX;
  local_98 = in_R8;
  local_90 = in_R9;
  if (level == 1) {
    Errors::warning(parameters->errors_,format,args);
    return LDPS_OK;
  }
  if (level == 3) {
                    /* WARNING: Subroutine does not return */
    Errors::fatal(parameters->errors_,format,args);
  }
  if (level != 0) {
    Errors::error(parameters->errors_,format,args);
    return LDPS_OK;
  }
  Errors::info(parameters->errors_,format,args);
  return LDPS_OK;
}



undefined8
FUN_002a0e90(undefined8 param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4,
            undefined8 param_5,undefined8 param_6,undefined8 param_7,undefined8 param_8,int param_9,
            undefined8 param_10,undefined8 param_11,undefined8 param_12,undefined8 param_13,
            undefined8 param_14)

{
  char in_AL;
  undefined8 uVar1;
  undefined8 *puVar2;
  undefined4 local_d0;
  undefined4 local_cc;
  undefined1 *local_c8;
  undefined1 *local_c0;
  undefined1 local_b8 [16];
  undefined8 local_a8;
  undefined8 local_a0;
  undefined8 local_98;
  undefined8 local_90;
  undefined8 local_88;
  undefined8 local_78;
  undefined8 local_68;
  undefined8 local_58;
  undefined8 local_48;
  undefined8 local_38;
  undefined8 local_28;
  undefined8 local_18;
  
  if (in_AL != '\0') {
    local_88 = param_1;
    local_78 = param_2;
    local_68 = param_3;
    local_58 = param_4;
    local_48 = param_5;
    local_38 = param_6;
    local_28 = param_7;
    local_18 = param_8;
  }
  local_c8 = &stack0x00000008;
  local_d0 = 0x10;
  local_c0 = local_b8;
  local_cc = 0x30;
  local_a8 = param_11;
  local_a0 = param_12;
  local_98 = param_13;
  local_90 = param_14;
  if (param_9 == 1) {
    FUN_001e1230(*(undefined8 *)PTR_DAT_004ba7c8,param_10,&local_d0);
    return 0;
  }
  if (param_9 == 3) {
    puVar2 = *(undefined8 **)PTR_DAT_004ba7c8;
    FUN_001e1100();
    *puVar2 = &DAT_004ae768;
    if ((undefined8 *)puVar2[2] != puVar2 + 4) {
      FUN_00338a40();
    }
    uVar1 = thunk_FUN_00338a40(puVar2,0x70);
    return uVar1;
  }
  if (param_9 != 0) {
    FUN_001e11c0();
    return 0;
  }
  FUN_001e12a0(*(undefined8 *)PTR_DAT_004ba7c8);
  return 0;
}


SUB RSP,0xd8
MOV qword ptr [RSP + 0x30],RDX
MOV qword ptr [RSP + 0x38],RCX
MOV qword ptr [RSP + 0x40],R8
MOV qword ptr [RSP + 0x48],R9
TEST AL,AL
JZ 0x002a0ee6
MOVAPS xmmword ptr [RSP + 0x50],XMM0
MOVAPS xmmword ptr [RSP + 0x60],XMM1
MOVAPS xmmword ptr [RSP + 0x70],XMM2
MOVAPS xmmword ptr [RSP + 0x80],XMM3
MOVAPS xmmword ptr [RSP + 0x90],XMM4
MOVAPS xmmword ptr [RSP + 0xa0],XMM5
MOVAPS xmmword ptr [RSP + 0xb0],XMM6
MOVAPS xmmword ptr [RSP + 0xc0],XMM7
LEA RAX,[RSP + 0xe0]
MOV dword ptr [RSP + 0x8],0x10
LEA RDX,[RSP + 0x8]
MOV qword ptr [RSP + 0x10],RAX
LEA RAX,[RSP + 0x20]
MOV qword ptr [RSP + 0x18],RAX
MOV RAX,qword ptr [0x004ba7c8]
MOV dword ptr [RSP + 0xc],0x30
CMP EDI,0x1
JZ 0x002a0f40
CMP EDI,0x3
JZ 0x002a0f67
TEST EDI,EDI
MOV RDI,qword ptr [RAX]
JZ 0x002a0f58
CALL 0x001e11c0
XOR EAX,EAX
ADD RSP,0xd8
RET
MOV RDI,qword ptr [RAX]
CALL 0x001e1230
XOR EAX,EAX
ADD RSP,0xd8
RET
CALL 0x001e12a0
XOR EAX,EAX
ADD RSP,0xd8
RET
MOV RDI,qword ptr [RAX]
CALL 0x001e1100
NOP
(translation_unit "undefined8\nFUN_002a0e90(undefined8 param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4,\n            undefined8 param_5,undefined8 param_6,undefined8 param_7,undefined8 param_8,int param_9,\n            undefined8 param_10,undefined8 param_11,undefined8 param_12,undefined8 param_13,\n            undefined8 param_14)\n\n{\n  char in_AL;\n  undefined8 uVar1;\n  undefined8 *puVar2;\n  undefined4 local_d0;\n  undefined4 local_cc;\n  undefined1 *local_c8;\n  undefined1 *local_c0;\n  undefined1 local_b8 [16];\n  undefined8 local_a8;\n  undefined8 local_a0;\n  undefined8 local_98;\n  undefined8 local_90;\n  undefined8 local_88;\n  undefined8 local_78;\n  undefined8 local_68;\n  undefined8 local_58;\n  undefined8 local_48;\n  undefined8 local_38;\n  undefined8 local_28;\n  undefined8 local_18;\n  \n  if (in_AL != '\0') {\n    local_88 = param_1;\n    local_78 = param_2;\n    local_68 = param_3;\n    local_58 = param_4;\n    local_48 = param_5;\n    local_38 = param_6;\n    local_28 = param_7;\n    local_18 = param_8;\n  }\n  local_c8 = &stack0x00000008;\n  local_d0 = 0x10;\n  local_c0 = local_b8;\n  local_cc = 0x30;\n  local_a8 = param_11;\n  local_a0 = param_12;\n  local_98 = param_13;\n  local_90 = param_14;\n  if (param_9 == 1) {\n    FUN_001e1230(*(undefined8 *)PTR_DAT_004ba7c8,param_10,&local_d0);\n    return 0;\n  }\n  if (param_9 == 3) {\n    puVar2 = *(undefined8 **)PTR_DAT_004ba7c8;\n    FUN_001e1100();\n    *puVar2 = &DAT_004ae768;\n    if ((undefined8 *)puVar2[2] != puVar2 + 4) {\n      FUN_00338a40();\n    }\n    uVar1 = thunk_FUN_00338a40(puVar2,0x70);\n    return uVar1;\n  }\n  if (param_9 != 0) {\n    FUN_001e11c0();\n    return 0;\n  }\n  FUN_001e12a0(*(undefined8 *)PTR_DAT_004ba7c8);\n  return 0;\n}\n\n" (function_definition "undefined8\nFUN_002a0e90(undefined8 param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4,\n            undefined8 param_5,undefined8 param_6,undefined8 param_7,undefined8 param_8,int param_9,\n            undefined8 param_10,undefined8 param_11,undefined8 param_12,undefined8 param_13,\n            undefined8 param_14)\n\n{\n  char in_AL;\n  undefined8 uVar1;\n  undefined8 *puVar2;\n  undefined4 local_d0;\n  undefined4 local_cc;\n  undefined1 *local_c8;\n  undefined1 *local_c0;\n  undefined1 local_b8 [16];\n  undefined8 local_a8;\n  undefined8 local_a0;\n  undefined8 local_98;\n  undefined8 local_90;\n  undefined8 local_88;\n  undefined8 local_78;\n  undefined8 local_68;\n  undefined8 local_58;\n  undefined8 local_48;\n  undefined8 local_38;\n  undefined8 local_28;\n  undefined8 local_18;\n  \n  if (in_AL != '\0') {\n    local_88 = param_1;\n    local_78 = param_2;\n    local_68 = param_3;\n    local_58 = param_4;\n    local_48 = param_5;\n    local_38 = param_6;\n    local_28 = param_7;\n    local_18 = param_8;\n  }\n  local_c8 = &stack0x00000008;\n  local_d0 = 0x10;\n  local_c0 = local_b8;\n  local_cc = 0x30;\n  local_a8 = param_11;\n  local_a0 = param_12;\n  local_98 = param_13;\n  local_90 = param_14;\n  if (param_9 == 1) {\n    FUN_001e1230(*(undefined8 *)PTR_DAT_004ba7c8,param_10,&local_d0);\n    return 0;\n  }\n  if (param_9 == 3) {\n    puVar2 = *(undefined8 **)PTR_DAT_004ba7c8;\n    FUN_001e1100();\n    *puVar2 = &DAT_004ae768;\n    if ((undefined8 *)puVar2[2] != puVar2 + 4) {\n      FUN_00338a40();\n    }\n    uVar1 = thunk_FUN_00338a40(puVar2,0x70);\n    return uVar1;\n  }\n  if (param_9 != 0) {\n    FUN_001e11c0();\n    return 0;\n  }\n  FUN_001e12a0(*(undefined8 *)PTR_DAT_004ba7c8);\n  return 0;\n}" type_identifier (function_declarator "FUN_002a0e90(undefined8 param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4,\n            undefined8 param_5,undefined8 param_6,undefined8 param_7,undefined8 param_8,int param_9,\n            undefined8 param_10,undefined8 param_11,undefined8 param_12,undefined8 param_13,\n            undefined8 param_14)" identifier (parameter_list "(undefined8 param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4,\n            undefined8 param_5,undefined8 param_6,undefined8 param_7,undefined8 param_8,int param_9,\n            undefined8 param_10,undefined8 param_11,undefined8 param_12,undefined8 param_13,\n            undefined8 param_14)" ( (parameter_declaration "undefined8 param_1" type_identifier identifier) , (parameter_declaration "undefined8 param_2" type_identifier identifier) , (parameter_declaration "undefined8 param_3" type_identifier identifier) , (parameter_declaration "undefined8 param_4" type_identifier identifier) , (parameter_declaration "undefined8 param_5" type_identifier identifier) , (parameter_declaration "undefined8 param_6" type_identifier identifier) , (parameter_declaration "undefined8 param_7" type_identifier identifier) , (parameter_declaration "undefined8 param_8" type_identifier identifier) , (parameter_declaration "int param_9" primitive_type identifier) , (parameter_declaration "undefined8 param_10" type_identifier identifier) , (parameter_declaration "undefined8 param_11" type_identifier identifier) , (parameter_declaration "undefined8 param_12" type_identifier identifier) , (parameter_declaration "undefined8 param_13" type_identifier identifier) , (parameter_declaration "undefined8 param_14" type_identifier identifier) ))) (compound_statement "{\n  char in_AL;\n  undefined8 uVar1;\n  undefined8 *puVar2;\n  undefined4 local_d0;\n  undefined4 local_cc;\n  undefined1 *local_c8;\n  undefined1 *local_c0;\n  undefined1 local_b8 [16];\n  undefined8 local_a8;\n  undefined8 local_a0;\n  undefined8 local_98;\n  undefined8 local_90;\n  undefined8 local_88;\n  undefined8 local_78;\n  undefined8 local_68;\n  undefined8 local_58;\n  undefined8 local_48;\n  undefined8 local_38;\n  undefined8 local_28;\n  undefined8 local_18;\n  \n  if (in_AL != '\0') {\n    local_88 = param_1;\n    local_78 = param_2;\n    local_68 = param_3;\n    local_58 = param_4;\n    local_48 = param_5;\n    local_38 = param_6;\n    local_28 = param_7;\n    local_18 = param_8;\n  }\n  local_c8 = &stack0x00000008;\n  local_d0 = 0x10;\n  local_c0 = local_b8;\n  local_cc = 0x30;\n  local_a8 = param_11;\n  local_a0 = param_12;\n  local_98 = param_13;\n  local_90 = param_14;\n  if (param_9 == 1) {\n    FUN_001e1230(*(undefined8 *)PTR_DAT_004ba7c8,param_10,&local_d0);\n    return 0;\n  }\n  if (param_9 == 3) {\n    puVar2 = *(undefined8 **)PTR_DAT_004ba7c8;\n    FUN_001e1100();\n    *puVar2 = &DAT_004ae768;\n    if ((undefined8 *)puVar2[2] != puVar2 + 4) {\n      FUN_00338a40();\n    }\n    uVar1 = thunk_FUN_00338a40(puVar2,0x70);\n    return uVar1;\n  }\n  if (param_9 != 0) {\n    FUN_001e11c0();\n    return 0;\n  }\n  FUN_001e12a0(*(undefined8 *)PTR_DAT_004ba7c8);\n  return 0;\n}" { (declaration "char in_AL;" primitive_type identifier ;) (declaration "undefined8 uVar1;" type_identifier identifier ;) (declaration "undefined8 *puVar2;" type_identifier (pointer_declarator "*puVar2" * identifier) ;) (declaration "undefined4 local_d0;" type_identifier identifier ;) (declaration "undefined4 local_cc;" type_identifier identifier ;) (declaration "undefined1 *local_c8;" type_identifier (pointer_declarator "*local_c8" * identifier) ;) (declaration "undefined1 *local_c0;" type_identifier (pointer_declarator "*local_c0" * identifier) ;) (declaration "undefined1 local_b8 [16];" type_identifier (array_declarator "local_b8 [16]" identifier [ number_literal ]) ;) (declaration "undefined8 local_a8;" type_identifier identifier ;) (declaration "undefined8 local_a0;" type_identifier identifier ;) (declaration "undefined8 local_98;" type_identifier identifier ;) (declaration "undefined8 local_90;" type_identifier identifier ;) (declaration "undefined8 local_88;" type_identifier identifier ;) (declaration "undefined8 local_78;" type_identifier identifier ;) (declaration "undefined8 local_68;" type_identifier identifier ;) (declaration "undefined8 local_58;" type_identifier identifier ;) (declaration "undefined8 local_48;" type_identifier identifier ;) (declaration "undefined8 local_38;" type_identifier identifier ;) (declaration "undefined8 local_28;" type_identifier identifier ;) (declaration "undefined8 local_18;" type_identifier identifier ;) (if_statement "if (in_AL != '\0') {\n    local_88 = param_1;\n    local_78 = param_2;\n    local_68 = param_3;\n    local_58 = param_4;\n    local_48 = param_5;\n    local_38 = param_6;\n    local_28 = param_7;\n    local_18 = param_8;\n  }" if (parenthesized_expression "(in_AL != '\0')" ( (binary_expression "in_AL != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n    local_88 = param_1;\n    local_78 = param_2;\n    local_68 = param_3;\n    local_58 = param_4;\n    local_48 = param_5;\n    local_38 = param_6;\n    local_28 = param_7;\n    local_18 = param_8;\n  }" { (expression_statement "local_88 = param_1;" (assignment_expression "local_88 = param_1" identifier = identifier) ;) (expression_statement "local_78 = param_2;" (assignment_expression "local_78 = param_2" identifier = identifier) ;) (expression_statement "local_68 = param_3;" (assignment_expression "local_68 = param_3" identifier = identifier) ;) (expression_statement "local_58 = param_4;" (assignment_expression "local_58 = param_4" identifier = identifier) ;) (expression_statement "local_48 = param_5;" (assignment_expression "local_48 = param_5" identifier = identifier) ;) (expression_statement "local_38 = param_6;" (assignment_expression "local_38 = param_6" identifier = identifier) ;) (expression_statement "local_28 = param_7;" (assignment_expression "local_28 = param_7" identifier = identifier) ;) (expression_statement "local_18 = param_8;" (assignment_expression "local_18 = param_8" identifier = identifier) ;) })) (expression_statement "local_c8 = &stack0x00000008;" (assignment_expression "local_c8 = &stack0x00000008" identifier = (pointer_expression "&stack0x00000008" & identifier)) ;) (expression_statement "local_d0 = 0x10;" (assignment_expression "local_d0 = 0x10" identifier = number_literal) ;) (expression_statement "local_c0 = local_b8;" (assignment_expression "local_c0 = local_b8" identifier = identifier) ;) (expression_statement "local_cc = 0x30;" (assignment_expression "local_cc = 0x30" identifier = number_literal) ;) (expression_statement "local_a8 = param_11;" (assignment_expression "local_a8 = param_11" identifier = identifier) ;) (expression_statement "local_a0 = param_12;" (assignment_expression "local_a0 = param_12" identifier = identifier) ;) (expression_statement "local_98 = param_13;" (assignment_expression "local_98 = param_13" identifier = identifier) ;) (expression_statement "local_90 = param_14;" (assignment_expression "local_90 = param_14" identifier = identifier) ;) (if_statement "if (param_9 == 1) {\n    FUN_001e1230(*(undefined8 *)PTR_DAT_004ba7c8,param_10,&local_d0);\n    return 0;\n  }" if (parenthesized_expression "(param_9 == 1)" ( (binary_expression "param_9 == 1" identifier == number_literal) )) (compound_statement "{\n    FUN_001e1230(*(undefined8 *)PTR_DAT_004ba7c8,param_10,&local_d0);\n    return 0;\n  }" { (expression_statement "FUN_001e1230(*(undefined8 *)PTR_DAT_004ba7c8,param_10,&local_d0);" (call_expression "FUN_001e1230(*(undefined8 *)PTR_DAT_004ba7c8,param_10,&local_d0)" identifier (argument_list "(*(undefined8 *)PTR_DAT_004ba7c8,param_10,&local_d0)" ( (pointer_expression "*(undefined8 *)PTR_DAT_004ba7c8" * (cast_expression "(undefined8 *)PTR_DAT_004ba7c8" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) , identifier , (pointer_expression "&local_d0" & identifier) ))) ;) (return_statement "return 0;" return number_literal ;) })) (if_statement "if (param_9 == 3) {\n    puVar2 = *(undefined8 **)PTR_DAT_004ba7c8;\n    FUN_001e1100();\n    *puVar2 = &DAT_004ae768;\n    if ((undefined8 *)puVar2[2] != puVar2 + 4) {\n      FUN_00338a40();\n    }\n    uVar1 = thunk_FUN_00338a40(puVar2,0x70);\n    return uVar1;\n  }" if (parenthesized_expression "(param_9 == 3)" ( (binary_expression "param_9 == 3" identifier == number_literal) )) (compound_statement "{\n    puVar2 = *(undefined8 **)PTR_DAT_004ba7c8;\n    FUN_001e1100();\n    *puVar2 = &DAT_004ae768;\n    if ((undefined8 *)puVar2[2] != puVar2 + 4) {\n      FUN_00338a40();\n    }\n    uVar1 = thunk_FUN_00338a40(puVar2,0x70);\n    return uVar1;\n  }" { (expression_statement "puVar2 = *(undefined8 **)PTR_DAT_004ba7c8;" (assignment_expression "puVar2 = *(undefined8 **)PTR_DAT_004ba7c8" identifier = (pointer_expression "*(undefined8 **)PTR_DAT_004ba7c8" * (cast_expression "(undefined8 **)PTR_DAT_004ba7c8" ( (type_descriptor "undefined8 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) (expression_statement "FUN_001e1100();" (call_expression "FUN_001e1100()" identifier (argument_list "()" ( ))) ;) (expression_statement "*puVar2 = &DAT_004ae768;" (assignment_expression "*puVar2 = &DAT_004ae768" (pointer_expression "*puVar2" * identifier) = (pointer_expression "&DAT_004ae768" & identifier)) ;) (if_statement "if ((undefined8 *)puVar2[2] != puVar2 + 4) {\n      FUN_00338a40();\n    }" if (parenthesized_expression "((undefined8 *)puVar2[2] != puVar2 + 4)" ( (binary_expression "(undefined8 *)puVar2[2] != puVar2 + 4" (cast_expression "(undefined8 *)puVar2[2]" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar2[2]" identifier [ number_literal ])) != (binary_expression "puVar2 + 4" identifier + number_literal)) )) (compound_statement "{\n      FUN_00338a40();\n    }" { (expression_statement "FUN_00338a40();" (call_expression "FUN_00338a40()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "uVar1 = thunk_FUN_00338a40(puVar2,0x70);" (assignment_expression "uVar1 = thunk_FUN_00338a40(puVar2,0x70)" identifier = (call_expression "thunk_FUN_00338a40(puVar2,0x70)" identifier (argument_list "(puVar2,0x70)" ( identifier , number_literal )))) ;) (return_statement "return uVar1;" return identifier ;) })) (if_statement "if (param_9 != 0) {\n    FUN_001e11c0();\n    return 0;\n  }" if (parenthesized_expression "(param_9 != 0)" ( (binary_expression "param_9 != 0" identifier != number_literal) )) (compound_statement "{\n    FUN_001e11c0();\n    return 0;\n  }" { (expression_statement "FUN_001e11c0();" (call_expression "FUN_001e11c0()" identifier (argument_list "()" ( ))) ;) (return_statement "return 0;" return number_literal ;) })) (expression_statement "FUN_001e12a0(*(undefined8 *)PTR_DAT_004ba7c8);" (call_expression "FUN_001e12a0(*(undefined8 *)PTR_DAT_004ba7c8)" identifier (argument_list "(*(undefined8 *)PTR_DAT_004ba7c8)" ( (pointer_expression "*(undefined8 *)PTR_DAT_004ba7c8" * (cast_expression "(undefined8 *)PTR_DAT_004ba7c8" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ))) ;) (return_statement "return 0;" return number_literal ;) })))
(translation_unit "/* WARNING: Enum "DT": Some values do not have unique names */\n/* WARNING: Enum "ELFOSABI": Some values do not have unique names */\n\nld_plugin_status gold::message(int level,char *format,...)\n\n{\n  char in_AL;\n  undefined8 in_RCX;\n  undefined8 in_RDX;\n  undefined8 in_R8;\n  undefined8 in_R9;\n  undefined8 in_XMM0_Qa;\n  undefined8 in_XMM1_Qa;\n  undefined8 in_XMM2_Qa;\n  undefined8 in_XMM3_Qa;\n  undefined8 in_XMM4_Qa;\n  undefined8 in_XMM5_Qa;\n  undefined8 in_XMM6_Qa;\n  undefined8 in_XMM7_Qa;\n  va_list args;\n  undefined1 local_b8 [16];\n  undefined8 local_a8;\n  undefined8 local_a0;\n  undefined8 local_98;\n  undefined8 local_90;\n  undefined8 local_88;\n  undefined8 local_78;\n  undefined8 local_68;\n  undefined8 local_58;\n  undefined8 local_48;\n  undefined8 local_38;\n  undefined8 local_28;\n  undefined8 local_18;\n  \n  if (in_AL != '\0') {\n    local_88 = in_XMM0_Qa;\n    local_78 = in_XMM1_Qa;\n    local_68 = in_XMM2_Qa;\n    local_58 = in_XMM3_Qa;\n    local_48 = in_XMM4_Qa;\n    local_38 = in_XMM5_Qa;\n    local_28 = in_XMM6_Qa;\n    local_18 = in_XMM7_Qa;\n  }\n  args[0].overflow_arg_area = &stack0x00000008;\n  args[0].gp_offset = 0x10;\n  args[0].reg_save_area = local_b8;\n  args[0].fp_offset = 0x30;\n  local_a8 = in_RDX;\n  local_a0 = in_RCX;\n  local_98 = in_R8;\n  local_90 = in_R9;\n  if (level == 1) {\n    Errors::warning(parameters->errors_,format,args);\n    return LDPS_OK;\n  }\n  if (level == 3) {\n                    /* WARNING: Subroutine does not return */\n    Errors::fatal(parameters->errors_,format,args);\n  }\n  if (level != 0) {\n    Errors::error(parameters->errors_,format,args);\n    return LDPS_OK;\n  }\n  Errors::info(parameters->errors_,format,args);\n  return LDPS_OK;\n}\n\n" comment comment (function_definition "ld_plugin_status gold::message(int level,char *format,...)\n\n{\n  char in_AL;\n  undefined8 in_RCX;\n  undefined8 in_RDX;\n  undefined8 in_R8;\n  undefined8 in_R9;\n  undefined8 in_XMM0_Qa;\n  undefined8 in_XMM1_Qa;\n  undefined8 in_XMM2_Qa;\n  undefined8 in_XMM3_Qa;\n  undefined8 in_XMM4_Qa;\n  undefined8 in_XMM5_Qa;\n  undefined8 in_XMM6_Qa;\n  undefined8 in_XMM7_Qa;\n  va_list args;\n  undefined1 local_b8 [16];\n  undefined8 local_a8;\n  undefined8 local_a0;\n  undefined8 local_98;\n  undefined8 local_90;\n  undefined8 local_88;\n  undefined8 local_78;\n  undefined8 local_68;\n  undefined8 local_58;\n  undefined8 local_48;\n  undefined8 local_38;\n  undefined8 local_28;\n  undefined8 local_18;\n  \n  if (in_AL != '\0') {\n    local_88 = in_XMM0_Qa;\n    local_78 = in_XMM1_Qa;\n    local_68 = in_XMM2_Qa;\n    local_58 = in_XMM3_Qa;\n    local_48 = in_XMM4_Qa;\n    local_38 = in_XMM5_Qa;\n    local_28 = in_XMM6_Qa;\n    local_18 = in_XMM7_Qa;\n  }\n  args[0].overflow_arg_area = &stack0x00000008;\n  args[0].gp_offset = 0x10;\n  args[0].reg_save_area = local_b8;\n  args[0].fp_offset = 0x30;\n  local_a8 = in_RDX;\n  local_a0 = in_RCX;\n  local_98 = in_R8;\n  local_90 = in_R9;\n  if (level == 1) {\n    Errors::warning(parameters->errors_,format,args);\n    return LDPS_OK;\n  }\n  if (level == 3) {\n                    /* WARNING: Subroutine does not return */\n    Errors::fatal(parameters->errors_,format,args);\n  }\n  if (level != 0) {\n    Errors::error(parameters->errors_,format,args);\n    return LDPS_OK;\n  }\n  Errors::info(parameters->errors_,format,args);\n  return LDPS_OK;\n}" type_identifier (ERROR "gold::" identifier : :) (function_declarator "message(int level,char *format,...)" identifier (parameter_list "(int level,char *format,...)" ( (parameter_declaration "int level" primitive_type identifier) , (parameter_declaration "char *format" primitive_type (pointer_declarator "*format" * identifier)) , (variadic_parameter "..." ...) ))) (compound_statement "{\n  char in_AL;\n  undefined8 in_RCX;\n  undefined8 in_RDX;\n  undefined8 in_R8;\n  undefined8 in_R9;\n  undefined8 in_XMM0_Qa;\n  undefined8 in_XMM1_Qa;\n  undefined8 in_XMM2_Qa;\n  undefined8 in_XMM3_Qa;\n  undefined8 in_XMM4_Qa;\n  undefined8 in_XMM5_Qa;\n  undefined8 in_XMM6_Qa;\n  undefined8 in_XMM7_Qa;\n  va_list args;\n  undefined1 local_b8 [16];\n  undefined8 local_a8;\n  undefined8 local_a0;\n  undefined8 local_98;\n  undefined8 local_90;\n  undefined8 local_88;\n  undefined8 local_78;\n  undefined8 local_68;\n  undefined8 local_58;\n  undefined8 local_48;\n  undefined8 local_38;\n  undefined8 local_28;\n  undefined8 local_18;\n  \n  if (in_AL != '\0') {\n    local_88 = in_XMM0_Qa;\n    local_78 = in_XMM1_Qa;\n    local_68 = in_XMM2_Qa;\n    local_58 = in_XMM3_Qa;\n    local_48 = in_XMM4_Qa;\n    local_38 = in_XMM5_Qa;\n    local_28 = in_XMM6_Qa;\n    local_18 = in_XMM7_Qa;\n  }\n  args[0].overflow_arg_area = &stack0x00000008;\n  args[0].gp_offset = 0x10;\n  args[0].reg_save_area = local_b8;\n  args[0].fp_offset = 0x30;\n  local_a8 = in_RDX;\n  local_a0 = in_RCX;\n  local_98 = in_R8;\n  local_90 = in_R9;\n  if (level == 1) {\n    Errors::warning(parameters->errors_,format,args);\n    return LDPS_OK;\n  }\n  if (level == 3) {\n                    /* WARNING: Subroutine does not return */\n    Errors::fatal(parameters->errors_,format,args);\n  }\n  if (level != 0) {\n    Errors::error(parameters->errors_,format,args);\n    return LDPS_OK;\n  }\n  Errors::info(parameters->errors_,format,args);\n  return LDPS_OK;\n}" { (declaration "char in_AL;" primitive_type identifier ;) (declaration "undefined8 in_RCX;" type_identifier identifier ;) (declaration "undefined8 in_RDX;" type_identifier identifier ;) (declaration "undefined8 in_R8;" type_identifier identifier ;) (declaration "undefined8 in_R9;" type_identifier identifier ;) (declaration "undefined8 in_XMM0_Qa;" type_identifier identifier ;) (declaration "undefined8 in_XMM1_Qa;" type_identifier identifier ;) (declaration "undefined8 in_XMM2_Qa;" type_identifier identifier ;) (declaration "undefined8 in_XMM3_Qa;" type_identifier identifier ;) (declaration "undefined8 in_XMM4_Qa;" type_identifier identifier ;) (declaration "undefined8 in_XMM5_Qa;" type_identifier identifier ;) (declaration "undefined8 in_XMM6_Qa;" type_identifier identifier ;) (declaration "undefined8 in_XMM7_Qa;" type_identifier identifier ;) (declaration "va_list args;" type_identifier identifier ;) (declaration "undefined1 local_b8 [16];" type_identifier (array_declarator "local_b8 [16]" identifier [ number_literal ]) ;) (declaration "undefined8 local_a8;" type_identifier identifier ;) (declaration "undefined8 local_a0;" type_identifier identifier ;) (declaration "undefined8 local_98;" type_identifier identifier ;) (declaration "undefined8 local_90;" type_identifier identifier ;) (declaration "undefined8 local_88;" type_identifier identifier ;) (declaration "undefined8 local_78;" type_identifier identifier ;) (declaration "undefined8 local_68;" type_identifier identifier ;) (declaration "undefined8 local_58;" type_identifier identifier ;) (declaration "undefined8 local_48;" type_identifier identifier ;) (declaration "undefined8 local_38;" type_identifier identifier ;) (declaration "undefined8 local_28;" type_identifier identifier ;) (declaration "undefined8 local_18;" type_identifier identifier ;) (if_statement "if (in_AL != '\0') {\n    local_88 = in_XMM0_Qa;\n    local_78 = in_XMM1_Qa;\n    local_68 = in_XMM2_Qa;\n    local_58 = in_XMM3_Qa;\n    local_48 = in_XMM4_Qa;\n    local_38 = in_XMM5_Qa;\n    local_28 = in_XMM6_Qa;\n    local_18 = in_XMM7_Qa;\n  }" if (parenthesized_expression "(in_AL != '\0')" ( (binary_expression "in_AL != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n    local_88 = in_XMM0_Qa;\n    local_78 = in_XMM1_Qa;\n    local_68 = in_XMM2_Qa;\n    local_58 = in_XMM3_Qa;\n    local_48 = in_XMM4_Qa;\n    local_38 = in_XMM5_Qa;\n    local_28 = in_XMM6_Qa;\n    local_18 = in_XMM7_Qa;\n  }" { (expression_statement "local_88 = in_XMM0_Qa;" (assignment_expression "local_88 = in_XMM0_Qa" identifier = identifier) ;) (expression_statement "local_78 = in_XMM1_Qa;" (assignment_expression "local_78 = in_XMM1_Qa" identifier = identifier) ;) (expression_statement "local_68 = in_XMM2_Qa;" (assignment_expression "local_68 = in_XMM2_Qa" identifier = identifier) ;) (expression_statement "local_58 = in_XMM3_Qa;" (assignment_expression "local_58 = in_XMM3_Qa" identifier = identifier) ;) (expression_statement "local_48 = in_XMM4_Qa;" (assignment_expression "local_48 = in_XMM4_Qa" identifier = identifier) ;) (expression_statement "local_38 = in_XMM5_Qa;" (assignment_expression "local_38 = in_XMM5_Qa" identifier = identifier) ;) (expression_statement "local_28 = in_XMM6_Qa;" (assignment_expression "local_28 = in_XMM6_Qa" identifier = identifier) ;) (expression_statement "local_18 = in_XMM7_Qa;" (assignment_expression "local_18 = in_XMM7_Qa" identifier = identifier) ;) })) (expression_statement "args[0].overflow_arg_area = &stack0x00000008;" (assignment_expression "args[0].overflow_arg_area = &stack0x00000008" (field_expression "args[0].overflow_arg_area" (subscript_expression "args[0]" identifier [ number_literal ]) . field_identifier) = (pointer_expression "&stack0x00000008" & identifier)) ;) (expression_statement "args[0].gp_offset = 0x10;" (assignment_expression "args[0].gp_offset = 0x10" (field_expression "args[0].gp_offset" (subscript_expression "args[0]" identifier [ number_literal ]) . field_identifier) = number_literal) ;) (expression_statement "args[0].reg_save_area = local_b8;" (assignment_expression "args[0].reg_save_area = local_b8" (field_expression "args[0].reg_save_area" (subscript_expression "args[0]" identifier [ number_literal ]) . field_identifier) = identifier) ;) (expression_statement "args[0].fp_offset = 0x30;" (assignment_expression "args[0].fp_offset = 0x30" (field_expression "args[0].fp_offset" (subscript_expression "args[0]" identifier [ number_literal ]) . field_identifier) = number_literal) ;) (expression_statement "local_a8 = in_RDX;" (assignment_expression "local_a8 = in_RDX" identifier = identifier) ;) (expression_statement "local_a0 = in_RCX;" (assignment_expression "local_a0 = in_RCX" identifier = identifier) ;) (expression_statement "local_98 = in_R8;" (assignment_expression "local_98 = in_R8" identifier = identifier) ;) (expression_statement "local_90 = in_R9;" (assignment_expression "local_90 = in_R9" identifier = identifier) ;) (if_statement "if (level == 1) {\n    Errors::warning(parameters->errors_,format,args);\n    return LDPS_OK;\n  }" if (parenthesized_expression "(level == 1)" ( (binary_expression "level == 1" identifier == number_literal) )) (compound_statement "{\n    Errors::warning(parameters->errors_,format,args);\n    return LDPS_OK;\n  }" { (labeled_statement "Errors::warning(parameters->errors_,format,args);" statement_identifier : (ERROR ":" :) (expression_statement "warning(parameters->errors_,format,args);" (call_expression "warning(parameters->errors_,format,args)" identifier (argument_list "(parameters->errors_,format,args)" ( (field_expression "parameters->errors_" identifier -> field_identifier) , identifier , identifier ))) ;)) (return_statement "return LDPS_OK;" return identifier ;) })) (if_statement "if (level == 3) {\n                    /* WARNING: Subroutine does not return */\n    Errors::fatal(parameters->errors_,format,args);\n  }" if (parenthesized_expression "(level == 3)" ( (binary_expression "level == 3" identifier == number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n    Errors::fatal(parameters->errors_,format,args);\n  }" { comment (labeled_statement "Errors::fatal(parameters->errors_,format,args);" statement_identifier : (ERROR ":" :) (expression_statement "fatal(parameters->errors_,format,args);" (call_expression "fatal(parameters->errors_,format,args)" identifier (argument_list "(parameters->errors_,format,args)" ( (field_expression "parameters->errors_" identifier -> field_identifier) , identifier , identifier ))) ;)) })) (if_statement "if (level != 0) {\n    Errors::error(parameters->errors_,format,args);\n    return LDPS_OK;\n  }" if (parenthesized_expression "(level != 0)" ( (binary_expression "level != 0" identifier != number_literal) )) (compound_statement "{\n    Errors::error(parameters->errors_,format,args);\n    return LDPS_OK;\n  }" { (labeled_statement "Errors::error(parameters->errors_,format,args);" statement_identifier : (ERROR ":" :) (expression_statement "error(parameters->errors_,format,args);" (call_expression "error(parameters->errors_,format,args)" identifier (argument_list "(parameters->errors_,format,args)" ( (field_expression "parameters->errors_" identifier -> field_identifier) , identifier , identifier ))) ;)) (return_statement "return LDPS_OK;" return identifier ;) })) (labeled_statement "Errors::info(parameters->errors_,format,args);" statement_identifier : (ERROR ":" :) (expression_statement "info(parameters->errors_,format,args);" (call_expression "info(parameters->errors_,format,args)" identifier (argument_list "(parameters->errors_,format,args)" ( (field_expression "parameters->errors_" identifier -> field_identifier) , identifier , identifier ))) ;)) (return_statement "return LDPS_OK;" return identifier ;) })))
(translation_unit "undefined8\nFUN_002a0e90(undefined8 param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4,\n            undefined8 param_5,undefined8 param_6,undefined8 param_7,undefined8 param_8,int param_9,\n            undefined8 param_10,undefined8 param_11,undefined8 param_12,undefined8 param_13,\n            undefined8 param_14)\n\n{\n  char in_AL;\n  undefined8 uVar1;\n  undefined8 *puVar2;\n  undefined4 local_d0;\n  undefined4 local_cc;\n  undefined1 *local_c8;\n  undefined1 *local_c0;\n  undefined1 local_b8 [16];\n  undefined8 local_a8;\n  undefined8 local_a0;\n  undefined8 local_98;\n  undefined8 local_90;\n  undefined8 local_88;\n  undefined8 local_78;\n  undefined8 local_68;\n  undefined8 local_58;\n  undefined8 local_48;\n  undefined8 local_38;\n  undefined8 local_28;\n  undefined8 local_18;\n  \n  if (in_AL != '\0') {\n    local_88 = param_1;\n    local_78 = param_2;\n    local_68 = param_3;\n    local_58 = param_4;\n    local_48 = param_5;\n    local_38 = param_6;\n    local_28 = param_7;\n    local_18 = param_8;\n  }\n  local_c8 = &stack0x00000008;\n  local_d0 = 0x10;\n  local_c0 = local_b8;\n  local_cc = 0x30;\n  local_a8 = param_11;\n  local_a0 = param_12;\n  local_98 = param_13;\n  local_90 = param_14;\n  if (param_9 == 1) {\n    FUN_001e1230(*(undefined8 *)PTR_DAT_004ba7c8,param_10,&local_d0);\n    return 0;\n  }\n  if (param_9 == 3) {\n    puVar2 = *(undefined8 **)PTR_DAT_004ba7c8;\n    FUN_001e1100();\n    *puVar2 = &DAT_004ae768;\n    if ((undefined8 *)puVar2[2] != puVar2 + 4) {\n      FUN_00338a40();\n    }\n    uVar1 = thunk_FUN_00338a40(puVar2,0x70);\n    return uVar1;\n  }\n  if (param_9 != 0) {\n    FUN_001e11c0();\n    return 0;\n  }\n  FUN_001e12a0(*(undefined8 *)PTR_DAT_004ba7c8);\n  return 0;\n}\n\n" (function_definition "undefined8\nFUN_002a0e90(undefined8 param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4,\n            undefined8 param_5,undefined8 param_6,undefined8 param_7,undefined8 param_8,int param_9,\n            undefined8 param_10,undefined8 param_11,undefined8 param_12,undefined8 param_13,\n            undefined8 param_14)\n\n{\n  char in_AL;\n  undefined8 uVar1;\n  undefined8 *puVar2;\n  undefined4 local_d0;\n  undefined4 local_cc;\n  undefined1 *local_c8;\n  undefined1 *local_c0;\n  undefined1 local_b8 [16];\n  undefined8 local_a8;\n  undefined8 local_a0;\n  undefined8 local_98;\n  undefined8 local_90;\n  undefined8 local_88;\n  undefined8 local_78;\n  undefined8 local_68;\n  undefined8 local_58;\n  undefined8 local_48;\n  undefined8 local_38;\n  undefined8 local_28;\n  undefined8 local_18;\n  \n  if (in_AL != '\0') {\n    local_88 = param_1;\n    local_78 = param_2;\n    local_68 = param_3;\n    local_58 = param_4;\n    local_48 = param_5;\n    local_38 = param_6;\n    local_28 = param_7;\n    local_18 = param_8;\n  }\n  local_c8 = &stack0x00000008;\n  local_d0 = 0x10;\n  local_c0 = local_b8;\n  local_cc = 0x30;\n  local_a8 = param_11;\n  local_a0 = param_12;\n  local_98 = param_13;\n  local_90 = param_14;\n  if (param_9 == 1) {\n    FUN_001e1230(*(undefined8 *)PTR_DAT_004ba7c8,param_10,&local_d0);\n    return 0;\n  }\n  if (param_9 == 3) {\n    puVar2 = *(undefined8 **)PTR_DAT_004ba7c8;\n    FUN_001e1100();\n    *puVar2 = &DAT_004ae768;\n    if ((undefined8 *)puVar2[2] != puVar2 + 4) {\n      FUN_00338a40();\n    }\n    uVar1 = thunk_FUN_00338a40(puVar2,0x70);\n    return uVar1;\n  }\n  if (param_9 != 0) {\n    FUN_001e11c0();\n    return 0;\n  }\n  FUN_001e12a0(*(undefined8 *)PTR_DAT_004ba7c8);\n  return 0;\n}" type_identifier (function_declarator "FUN_002a0e90(undefined8 param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4,\n            undefined8 param_5,undefined8 param_6,undefined8 param_7,undefined8 param_8,int param_9,\n            undefined8 param_10,undefined8 param_11,undefined8 param_12,undefined8 param_13,\n            undefined8 param_14)" identifier (parameter_list "(undefined8 param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4,\n            undefined8 param_5,undefined8 param_6,undefined8 param_7,undefined8 param_8,int param_9,\n            undefined8 param_10,undefined8 param_11,undefined8 param_12,undefined8 param_13,\n            undefined8 param_14)" ( (parameter_declaration "undefined8 param_1" type_identifier identifier) , (parameter_declaration "undefined8 param_2" type_identifier identifier) , (parameter_declaration "undefined8 param_3" type_identifier identifier) , (parameter_declaration "undefined8 param_4" type_identifier identifier) , (parameter_declaration "undefined8 param_5" type_identifier identifier) , (parameter_declaration "undefined8 param_6" type_identifier identifier) , (parameter_declaration "undefined8 param_7" type_identifier identifier) , (parameter_declaration "undefined8 param_8" type_identifier identifier) , (parameter_declaration "int param_9" primitive_type identifier) , (parameter_declaration "undefined8 param_10" type_identifier identifier) , (parameter_declaration "undefined8 param_11" type_identifier identifier) , (parameter_declaration "undefined8 param_12" type_identifier identifier) , (parameter_declaration "undefined8 param_13" type_identifier identifier) , (parameter_declaration "undefined8 param_14" type_identifier identifier) ))) (compound_statement "{\n  char in_AL;\n  undefined8 uVar1;\n  undefined8 *puVar2;\n  undefined4 local_d0;\n  undefined4 local_cc;\n  undefined1 *local_c8;\n  undefined1 *local_c0;\n  undefined1 local_b8 [16];\n  undefined8 local_a8;\n  undefined8 local_a0;\n  undefined8 local_98;\n  undefined8 local_90;\n  undefined8 local_88;\n  undefined8 local_78;\n  undefined8 local_68;\n  undefined8 local_58;\n  undefined8 local_48;\n  undefined8 local_38;\n  undefined8 local_28;\n  undefined8 local_18;\n  \n  if (in_AL != '\0') {\n    local_88 = param_1;\n    local_78 = param_2;\n    local_68 = param_3;\n    local_58 = param_4;\n    local_48 = param_5;\n    local_38 = param_6;\n    local_28 = param_7;\n    local_18 = param_8;\n  }\n  local_c8 = &stack0x00000008;\n  local_d0 = 0x10;\n  local_c0 = local_b8;\n  local_cc = 0x30;\n  local_a8 = param_11;\n  local_a0 = param_12;\n  local_98 = param_13;\n  local_90 = param_14;\n  if (param_9 == 1) {\n    FUN_001e1230(*(undefined8 *)PTR_DAT_004ba7c8,param_10,&local_d0);\n    return 0;\n  }\n  if (param_9 == 3) {\n    puVar2 = *(undefined8 **)PTR_DAT_004ba7c8;\n    FUN_001e1100();\n    *puVar2 = &DAT_004ae768;\n    if ((undefined8 *)puVar2[2] != puVar2 + 4) {\n      FUN_00338a40();\n    }\n    uVar1 = thunk_FUN_00338a40(puVar2,0x70);\n    return uVar1;\n  }\n  if (param_9 != 0) {\n    FUN_001e11c0();\n    return 0;\n  }\n  FUN_001e12a0(*(undefined8 *)PTR_DAT_004ba7c8);\n  return 0;\n}" { (declaration "char in_AL;" primitive_type identifier ;) (declaration "undefined8 uVar1;" type_identifier identifier ;) (declaration "undefined8 *puVar2;" type_identifier (pointer_declarator "*puVar2" * identifier) ;) (declaration "undefined4 local_d0;" type_identifier identifier ;) (declaration "undefined4 local_cc;" type_identifier identifier ;) (declaration "undefined1 *local_c8;" type_identifier (pointer_declarator "*local_c8" * identifier) ;) (declaration "undefined1 *local_c0;" type_identifier (pointer_declarator "*local_c0" * identifier) ;) (declaration "undefined1 local_b8 [16];" type_identifier (array_declarator "local_b8 [16]" identifier [ number_literal ]) ;) (declaration "undefined8 local_a8;" type_identifier identifier ;) (declaration "undefined8 local_a0;" type_identifier identifier ;) (declaration "undefined8 local_98;" type_identifier identifier ;) (declaration "undefined8 local_90;" type_identifier identifier ;) (declaration "undefined8 local_88;" type_identifier identifier ;) (declaration "undefined8 local_78;" type_identifier identifier ;) (declaration "undefined8 local_68;" type_identifier identifier ;) (declaration "undefined8 local_58;" type_identifier identifier ;) (declaration "undefined8 local_48;" type_identifier identifier ;) (declaration "undefined8 local_38;" type_identifier identifier ;) (declaration "undefined8 local_28;" type_identifier identifier ;) (declaration "undefined8 local_18;" type_identifier identifier ;) (if_statement "if (in_AL != '\0') {\n    local_88 = param_1;\n    local_78 = param_2;\n    local_68 = param_3;\n    local_58 = param_4;\n    local_48 = param_5;\n    local_38 = param_6;\n    local_28 = param_7;\n    local_18 = param_8;\n  }" if (parenthesized_expression "(in_AL != '\0')" ( (binary_expression "in_AL != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n    local_88 = param_1;\n    local_78 = param_2;\n    local_68 = param_3;\n    local_58 = param_4;\n    local_48 = param_5;\n    local_38 = param_6;\n    local_28 = param_7;\n    local_18 = param_8;\n  }" { (expression_statement "local_88 = param_1;" (assignment_expression "local_88 = param_1" identifier = identifier) ;) (expression_statement "local_78 = param_2;" (assignment_expression "local_78 = param_2" identifier = identifier) ;) (expression_statement "local_68 = param_3;" (assignment_expression "local_68 = param_3" identifier = identifier) ;) (expression_statement "local_58 = param_4;" (assignment_expression "local_58 = param_4" identifier = identifier) ;) (expression_statement "local_48 = param_5;" (assignment_expression "local_48 = param_5" identifier = identifier) ;) (expression_statement "local_38 = param_6;" (assignment_expression "local_38 = param_6" identifier = identifier) ;) (expression_statement "local_28 = param_7;" (assignment_expression "local_28 = param_7" identifier = identifier) ;) (expression_statement "local_18 = param_8;" (assignment_expression "local_18 = param_8" identifier = identifier) ;) })) (expression_statement "local_c8 = &stack0x00000008;" (assignment_expression "local_c8 = &stack0x00000008" identifier = (pointer_expression "&stack0x00000008" & identifier)) ;) (expression_statement "local_d0 = 0x10;" (assignment_expression "local_d0 = 0x10" identifier = number_literal) ;) (expression_statement "local_c0 = local_b8;" (assignment_expression "local_c0 = local_b8" identifier = identifier) ;) (expression_statement "local_cc = 0x30;" (assignment_expression "local_cc = 0x30" identifier = number_literal) ;) (expression_statement "local_a8 = param_11;" (assignment_expression "local_a8 = param_11" identifier = identifier) ;) (expression_statement "local_a0 = param_12;" (assignment_expression "local_a0 = param_12" identifier = identifier) ;) (expression_statement "local_98 = param_13;" (assignment_expression "local_98 = param_13" identifier = identifier) ;) (expression_statement "local_90 = param_14;" (assignment_expression "local_90 = param_14" identifier = identifier) ;) (if_statement "if (param_9 == 1) {\n    FUN_001e1230(*(undefined8 *)PTR_DAT_004ba7c8,param_10,&local_d0);\n    return 0;\n  }" if (parenthesized_expression "(param_9 == 1)" ( (binary_expression "param_9 == 1" identifier == number_literal) )) (compound_statement "{\n    FUN_001e1230(*(undefined8 *)PTR_DAT_004ba7c8,param_10,&local_d0);\n    return 0;\n  }" { (expression_statement "FUN_001e1230(*(undefined8 *)PTR_DAT_004ba7c8,param_10,&local_d0);" (call_expression "FUN_001e1230(*(undefined8 *)PTR_DAT_004ba7c8,param_10,&local_d0)" identifier (argument_list "(*(undefined8 *)PTR_DAT_004ba7c8,param_10,&local_d0)" ( (pointer_expression "*(undefined8 *)PTR_DAT_004ba7c8" * (cast_expression "(undefined8 *)PTR_DAT_004ba7c8" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) , identifier , (pointer_expression "&local_d0" & identifier) ))) ;) (return_statement "return 0;" return number_literal ;) })) (if_statement "if (param_9 == 3) {\n    puVar2 = *(undefined8 **)PTR_DAT_004ba7c8;\n    FUN_001e1100();\n    *puVar2 = &DAT_004ae768;\n    if ((undefined8 *)puVar2[2] != puVar2 + 4) {\n      FUN_00338a40();\n    }\n    uVar1 = thunk_FUN_00338a40(puVar2,0x70);\n    return uVar1;\n  }" if (parenthesized_expression "(param_9 == 3)" ( (binary_expression "param_9 == 3" identifier == number_literal) )) (compound_statement "{\n    puVar2 = *(undefined8 **)PTR_DAT_004ba7c8;\n    FUN_001e1100();\n    *puVar2 = &DAT_004ae768;\n    if ((undefined8 *)puVar2[2] != puVar2 + 4) {\n      FUN_00338a40();\n    }\n    uVar1 = thunk_FUN_00338a40(puVar2,0x70);\n    return uVar1;\n  }" { (expression_statement "puVar2 = *(undefined8 **)PTR_DAT_004ba7c8;" (assignment_expression "puVar2 = *(undefined8 **)PTR_DAT_004ba7c8" identifier = (pointer_expression "*(undefined8 **)PTR_DAT_004ba7c8" * (cast_expression "(undefined8 **)PTR_DAT_004ba7c8" ( (type_descriptor "undefined8 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) (expression_statement "FUN_001e1100();" (call_expression "FUN_001e1100()" identifier (argument_list "()" ( ))) ;) (expression_statement "*puVar2 = &DAT_004ae768;" (assignment_expression "*puVar2 = &DAT_004ae768" (pointer_expression "*puVar2" * identifier) = (pointer_expression "&DAT_004ae768" & identifier)) ;) (if_statement "if ((undefined8 *)puVar2[2] != puVar2 + 4) {\n      FUN_00338a40();\n    }" if (parenthesized_expression "((undefined8 *)puVar2[2] != puVar2 + 4)" ( (binary_expression "(undefined8 *)puVar2[2] != puVar2 + 4" (cast_expression "(undefined8 *)puVar2[2]" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar2[2]" identifier [ number_literal ])) != (binary_expression "puVar2 + 4" identifier + number_literal)) )) (compound_statement "{\n      FUN_00338a40();\n    }" { (expression_statement "FUN_00338a40();" (call_expression "FUN_00338a40()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "uVar1 = thunk_FUN_00338a40(puVar2,0x70);" (assignment_expression "uVar1 = thunk_FUN_00338a40(puVar2,0x70)" identifier = (call_expression "thunk_FUN_00338a40(puVar2,0x70)" identifier (argument_list "(puVar2,0x70)" ( identifier , number_literal )))) ;) (return_statement "return uVar1;" return identifier ;) })) (if_statement "if (param_9 != 0) {\n    FUN_001e11c0();\n    return 0;\n  }" if (parenthesized_expression "(param_9 != 0)" ( (binary_expression "param_9 != 0" identifier != number_literal) )) (compound_statement "{\n    FUN_001e11c0();\n    return 0;\n  }" { (expression_statement "FUN_001e11c0();" (call_expression "FUN_001e11c0()" identifier (argument_list "()" ( ))) ;) (return_statement "return 0;" return number_literal ;) })) (expression_statement "FUN_001e12a0(*(undefined8 *)PTR_DAT_004ba7c8);" (call_expression "FUN_001e12a0(*(undefined8 *)PTR_DAT_004ba7c8)" identifier (argument_list "(*(undefined8 *)PTR_DAT_004ba7c8)" ( (pointer_expression "*(undefined8 *)PTR_DAT_004ba7c8" * (cast_expression "(undefined8 *)PTR_DAT_004ba7c8" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ))) ;) (return_statement "return 0;" return number_literal ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) ))) (compound_statement { (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) , IDENT , (pointer_expression & IDENT) ))) ;) (return_statement return LIT ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT))) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (pointer_expression & IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ])) != (binary_expression IDENT + LIT)) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , LIT )))) ;) (return_statement return IDENT ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( ))) ;) (return_statement return LIT ;) })) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ))) ;) (return_statement return LIT ;) })))
(function_definition "undefined8\nFUN_002a0e90(undefined8 param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4,\n            undefined8 param_5,undefined8 param_6,undefined8 param_7,undefined8 param_8,int param_9,\n            undefined8 param_10,undefined8 param_11,undefined8 param_12,undefined8 param_13,\n            undefined8 param_14)\n\n{\n  char in_AL;\n  undefined8 uVar1;\n  undefined8 *puVar2;\n  undefined4 local_d0;\n  undefined4 local_cc;\n  undefined1 *local_c8;\n  undefined1 *local_c0;\n  undefined1 local_b8 [16];\n  undefined8 local_a8;\n  undefined8 local_a0;\n  undefined8 local_98;\n  undefined8 local_90;\n  undefined8 local_88;\n  undefined8 local_78;\n  undefined8 local_68;\n  undefined8 local_58;\n  undefined8 local_48;\n  undefined8 local_38;\n  undefined8 local_28;\n  undefined8 local_18;\n  \n  if (in_AL != '\0') {\n    local_88 = param_1;\n    local_78 = param_2;\n    local_68 = param_3;\n    local_58 = param_4;\n    local_48 = param_5;\n    local_38 = param_6;\n    local_28 = param_7;\n    local_18 = param_8;\n  }\n  local_c8 = &stack0x00000008;\n  local_d0 = 0x10;\n  local_c0 = local_b8;\n  local_cc = 0x30;\n  local_a8 = param_11;\n  local_a0 = param_12;\n  local_98 = param_13;\n  local_90 = param_14;\n  if (param_9 == 1) {\n    FUN_001e1230(*(undefined8 *)PTR_DAT_004ba7c8,param_10,&local_d0);\n    return 0;\n  }\n  if (param_9 == 3) {\n    puVar2 = *(undefined8 **)PTR_DAT_004ba7c8;\n    FUN_001e1100();\n    *puVar2 = &DAT_004ae768;\n    if ((undefined8 *)puVar2[2] != puVar2 + 4) {\n      FUN_00338a40();\n    }\n    uVar1 = thunk_FUN_00338a40(puVar2,0x70);\n    return uVar1;\n  }\n  if (param_9 != 0) {\n    FUN_001e11c0();\n    return 0;\n  }\n  FUN_001e12a0(*(undefined8 *)PTR_DAT_004ba7c8);\n  return 0;\n}" (type_identifier "undefined8") (function_declarator "FUN_002a0e90(undefined8 param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4,\n            undefined8 param_5,undefined8 param_6,undefined8 param_7,undefined8 param_8,int param_9,\n            undefined8 param_10,undefined8 param_11,undefined8 param_12,undefined8 param_13,\n            undefined8 param_14)" (identifier "FUN_002a0e90") (parameter_list "(undefined8 param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4,\n            undefined8 param_5,undefined8 param_6,undefined8 param_7,undefined8 param_8,int param_9,\n            undefined8 param_10,undefined8 param_11,undefined8 param_12,undefined8 param_13,\n            undefined8 param_14)" (( "(") (parameter_declaration "undefined8 param_1" (type_identifier "undefined8") (identifier "param_1")) (, ",") (parameter_declaration "undefined8 param_2" (type_identifier "undefined8") (identifier "param_2")) (, ",") (parameter_declaration "undefined8 param_3" (type_identifier "undefined8") (identifier "param_3")) (, ",") (parameter_declaration "undefined8 param_4" (type_identifier "undefined8") (identifier "param_4")) (, ",") (parameter_declaration "undefined8 param_5" (type_identifier "undefined8") (identifier "param_5")) (, ",") (parameter_declaration "undefined8 param_6" (type_identifier "undefined8") (identifier "param_6")) (, ",") (parameter_declaration "undefined8 param_7" (type_identifier "undefined8") (identifier "param_7")) (, ",") (parameter_declaration "undefined8 param_8" (type_identifier "undefined8") (identifier "param_8")) (, ",") (parameter_declaration "int param_9" (primitive_type "int") (identifier "param_9")) (, ",") (parameter_declaration "undefined8 param_10" (type_identifier "undefined8") (identifier "param_10")) (, ",") (parameter_declaration "undefined8 param_11" (type_identifier "undefined8") (identifier "param_11")) (, ",") (parameter_declaration "undefined8 param_12" (type_identifier "undefined8") (identifier "param_12")) (, ",") (parameter_declaration "undefined8 param_13" (type_identifier "undefined8") (identifier "param_13")) (, ",") (parameter_declaration "undefined8 param_14" (type_identifier "undefined8") (identifier "param_14")) () ")"))) (compound_statement "{\n  char in_AL;\n  undefined8 uVar1;\n  undefined8 *puVar2;\n  undefined4 local_d0;\n  undefined4 local_cc;\n  undefined1 *local_c8;\n  undefined1 *local_c0;\n  undefined1 local_b8 [16];\n  undefined8 local_a8;\n  undefined8 local_a0;\n  undefined8 local_98;\n  undefined8 local_90;\n  undefined8 local_88;\n  undefined8 local_78;\n  undefined8 local_68;\n  undefined8 local_58;\n  undefined8 local_48;\n  undefined8 local_38;\n  undefined8 local_28;\n  undefined8 local_18;\n  \n  if (in_AL != '\0') {\n    local_88 = param_1;\n    local_78 = param_2;\n    local_68 = param_3;\n    local_58 = param_4;\n    local_48 = param_5;\n    local_38 = param_6;\n    local_28 = param_7;\n    local_18 = param_8;\n  }\n  local_c8 = &stack0x00000008;\n  local_d0 = 0x10;\n  local_c0 = local_b8;\n  local_cc = 0x30;\n  local_a8 = param_11;\n  local_a0 = param_12;\n  local_98 = param_13;\n  local_90 = param_14;\n  if (param_9 == 1) {\n    FUN_001e1230(*(undefined8 *)PTR_DAT_004ba7c8,param_10,&local_d0);\n    return 0;\n  }\n  if (param_9 == 3) {\n    puVar2 = *(undefined8 **)PTR_DAT_004ba7c8;\n    FUN_001e1100();\n    *puVar2 = &DAT_004ae768;\n    if ((undefined8 *)puVar2[2] != puVar2 + 4) {\n      FUN_00338a40();\n    }\n    uVar1 = thunk_FUN_00338a40(puVar2,0x70);\n    return uVar1;\n  }\n  if (param_9 != 0) {\n    FUN_001e11c0();\n    return 0;\n  }\n  FUN_001e12a0(*(undefined8 *)PTR_DAT_004ba7c8);\n  return 0;\n}" ({ "{") (declaration "char in_AL;" (primitive_type "char") (identifier "in_AL") (; ";")) (declaration "undefined8 uVar1;" (type_identifier "undefined8") (identifier "uVar1") (; ";")) (declaration "undefined8 *puVar2;" (type_identifier "undefined8") (pointer_declarator "*puVar2" (* "*") (identifier "puVar2")) (; ";")) (declaration "undefined4 local_d0;" (type_identifier "undefined4") (identifier "local_d0") (; ";")) (declaration "undefined4 local_cc;" (type_identifier "undefined4") (identifier "local_cc") (; ";")) (declaration "undefined1 *local_c8;" (type_identifier "undefined1") (pointer_declarator "*local_c8" (* "*") (identifier "local_c8")) (; ";")) (declaration "undefined1 *local_c0;" (type_identifier "undefined1") (pointer_declarator "*local_c0" (* "*") (identifier "local_c0")) (; ";")) (declaration "undefined1 local_b8 [16];" (type_identifier "undefined1") (array_declarator "local_b8 [16]" (identifier "local_b8") ([ "[") (number_literal "16") (] "]")) (; ";")) (declaration "undefined8 local_a8;" (type_identifier "undefined8") (identifier "local_a8") (; ";")) (declaration "undefined8 local_a0;" (type_identifier "undefined8") (identifier "local_a0") (; ";")) (declaration "undefined8 local_98;" (type_identifier "undefined8") (identifier "local_98") (; ";")) (declaration "undefined8 local_90;" (type_identifier "undefined8") (identifier "local_90") (; ";")) (declaration "undefined8 local_88;" (type_identifier "undefined8") (identifier "local_88") (; ";")) (declaration "undefined8 local_78;" (type_identifier "undefined8") (identifier "local_78") (; ";")) (declaration "undefined8 local_68;" (type_identifier "undefined8") (identifier "local_68") (; ";")) (declaration "undefined8 local_58;" (type_identifier "undefined8") (identifier "local_58") (; ";")) (declaration "undefined8 local_48;" (type_identifier "undefined8") (identifier "local_48") (; ";")) (declaration "undefined8 local_38;" (type_identifier "undefined8") (identifier "local_38") (; ";")) (declaration "undefined8 local_28;" (type_identifier "undefined8") (identifier "local_28") (; ";")) (declaration "undefined8 local_18;" (type_identifier "undefined8") (identifier "local_18") (; ";")) (if_statement "if (in_AL != '\0') {\n    local_88 = param_1;\n    local_78 = param_2;\n    local_68 = param_3;\n    local_58 = param_4;\n    local_48 = param_5;\n    local_38 = param_6;\n    local_28 = param_7;\n    local_18 = param_8;\n  }" (if "if") (parenthesized_expression "(in_AL != '\0')" (( "(") (binary_expression "in_AL != '\0'" (identifier "in_AL") (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n    local_88 = param_1;\n    local_78 = param_2;\n    local_68 = param_3;\n    local_58 = param_4;\n    local_48 = param_5;\n    local_38 = param_6;\n    local_28 = param_7;\n    local_18 = param_8;\n  }" ({ "{") (expression_statement "local_88 = param_1;" (assignment_expression "local_88 = param_1" (identifier "local_88") (= "=") (identifier "param_1")) (; ";")) (expression_statement "local_78 = param_2;" (assignment_expression "local_78 = param_2" (identifier "local_78") (= "=") (identifier "param_2")) (; ";")) (expression_statement "local_68 = param_3;" (assignment_expression "local_68 = param_3" (identifier "local_68") (= "=") (identifier "param_3")) (; ";")) (expression_statement "local_58 = param_4;" (assignment_expression "local_58 = param_4" (identifier "local_58") (= "=") (identifier "param_4")) (; ";")) (expression_statement "local_48 = param_5;" (assignment_expression "local_48 = param_5" (identifier "local_48") (= "=") (identifier "param_5")) (; ";")) (expression_statement "local_38 = param_6;" (assignment_expression "local_38 = param_6" (identifier "local_38") (= "=") (identifier "param_6")) (; ";")) (expression_statement "local_28 = param_7;" (assignment_expression "local_28 = param_7" (identifier "local_28") (= "=") (identifier "param_7")) (; ";")) (expression_statement "local_18 = param_8;" (assignment_expression "local_18 = param_8" (identifier "local_18") (= "=") (identifier "param_8")) (; ";")) (} "}"))) (expression_statement "local_c8 = &stack0x00000008;" (assignment_expression "local_c8 = &stack0x00000008" (identifier "local_c8") (= "=") (pointer_expression "&stack0x00000008" (& "&") (identifier "stack0x00000008"))) (; ";")) (expression_statement "local_d0 = 0x10;" (assignment_expression "local_d0 = 0x10" (identifier "local_d0") (= "=") (number_literal "0x10")) (; ";")) (expression_statement "local_c0 = local_b8;" (assignment_expression "local_c0 = local_b8" (identifier "local_c0") (= "=") (identifier "local_b8")) (; ";")) (expression_statement "local_cc = 0x30;" (assignment_expression "local_cc = 0x30" (identifier "local_cc") (= "=") (number_literal "0x30")) (; ";")) (expression_statement "local_a8 = param_11;" (assignment_expression "local_a8 = param_11" (identifier "local_a8") (= "=") (identifier "param_11")) (; ";")) (expression_statement "local_a0 = param_12;" (assignment_expression "local_a0 = param_12" (identifier "local_a0") (= "=") (identifier "param_12")) (; ";")) (expression_statement "local_98 = param_13;" (assignment_expression "local_98 = param_13" (identifier "local_98") (= "=") (identifier "param_13")) (; ";")) (expression_statement "local_90 = param_14;" (assignment_expression "local_90 = param_14" (identifier "local_90") (= "=") (identifier "param_14")) (; ";")) (if_statement "if (param_9 == 1) {\n    FUN_001e1230(*(undefined8 *)PTR_DAT_004ba7c8,param_10,&local_d0);\n    return 0;\n  }" (if "if") (parenthesized_expression "(param_9 == 1)" (( "(") (binary_expression "param_9 == 1" (identifier "param_9") (== "==") (number_literal "1")) () ")")) (compound_statement "{\n    FUN_001e1230(*(undefined8 *)PTR_DAT_004ba7c8,param_10,&local_d0);\n    return 0;\n  }" ({ "{") (expression_statement "FUN_001e1230(*(undefined8 *)PTR_DAT_004ba7c8,param_10,&local_d0);" (call_expression "FUN_001e1230(*(undefined8 *)PTR_DAT_004ba7c8,param_10,&local_d0)" (identifier "FUN_001e1230") (argument_list "(*(undefined8 *)PTR_DAT_004ba7c8,param_10,&local_d0)" (( "(") (pointer_expression "*(undefined8 *)PTR_DAT_004ba7c8" (* "*") (cast_expression "(undefined8 *)PTR_DAT_004ba7c8" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_DAT_004ba7c8"))) (, ",") (identifier "param_10") (, ",") (pointer_expression "&local_d0" (& "&") (identifier "local_d0")) () ")"))) (; ";")) (return_statement "return 0;" (return "return") (number_literal "0") (; ";")) (} "}"))) (if_statement "if (param_9 == 3) {\n    puVar2 = *(undefined8 **)PTR_DAT_004ba7c8;\n    FUN_001e1100();\n    *puVar2 = &DAT_004ae768;\n    if ((undefined8 *)puVar2[2] != puVar2 + 4) {\n      FUN_00338a40();\n    }\n    uVar1 = thunk_FUN_00338a40(puVar2,0x70);\n    return uVar1;\n  }" (if "if") (parenthesized_expression "(param_9 == 3)" (( "(") (binary_expression "param_9 == 3" (identifier "param_9") (== "==") (number_literal "3")) () ")")) (compound_statement "{\n    puVar2 = *(undefined8 **)PTR_DAT_004ba7c8;\n    FUN_001e1100();\n    *puVar2 = &DAT_004ae768;\n    if ((undefined8 *)puVar2[2] != puVar2 + 4) {\n      FUN_00338a40();\n    }\n    uVar1 = thunk_FUN_00338a40(puVar2,0x70);\n    return uVar1;\n  }" ({ "{") (expression_statement "puVar2 = *(undefined8 **)PTR_DAT_004ba7c8;" (assignment_expression "puVar2 = *(undefined8 **)PTR_DAT_004ba7c8" (identifier "puVar2") (= "=") (pointer_expression "*(undefined8 **)PTR_DAT_004ba7c8" (* "*") (cast_expression "(undefined8 **)PTR_DAT_004ba7c8" (( "(") (type_descriptor "undefined8 **" (type_identifier "undefined8") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "PTR_DAT_004ba7c8")))) (; ";")) (expression_statement "FUN_001e1100();" (call_expression "FUN_001e1100()" (identifier "FUN_001e1100") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "*puVar2 = &DAT_004ae768;" (assignment_expression "*puVar2 = &DAT_004ae768" (pointer_expression "*puVar2" (* "*") (identifier "puVar2")) (= "=") (pointer_expression "&DAT_004ae768" (& "&") (identifier "DAT_004ae768"))) (; ";")) (if_statement "if ((undefined8 *)puVar2[2] != puVar2 + 4) {\n      FUN_00338a40();\n    }" (if "if") (parenthesized_expression "((undefined8 *)puVar2[2] != puVar2 + 4)" (( "(") (binary_expression "(undefined8 *)puVar2[2] != puVar2 + 4" (cast_expression "(undefined8 *)puVar2[2]" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "puVar2[2]" (identifier "puVar2") ([ "[") (number_literal "2") (] "]"))) (!= "!=") (binary_expression "puVar2 + 4" (identifier "puVar2") (+ "+") (number_literal "4"))) () ")")) (compound_statement "{\n      FUN_00338a40();\n    }" ({ "{") (expression_statement "FUN_00338a40();" (call_expression "FUN_00338a40()" (identifier "FUN_00338a40") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (expression_statement "uVar1 = thunk_FUN_00338a40(puVar2,0x70);" (assignment_expression "uVar1 = thunk_FUN_00338a40(puVar2,0x70)" (identifier "uVar1") (= "=") (call_expression "thunk_FUN_00338a40(puVar2,0x70)" (identifier "thunk_FUN_00338a40") (argument_list "(puVar2,0x70)" (( "(") (identifier "puVar2") (, ",") (number_literal "0x70") () ")")))) (; ";")) (return_statement "return uVar1;" (return "return") (identifier "uVar1") (; ";")) (} "}"))) (if_statement "if (param_9 != 0) {\n    FUN_001e11c0();\n    return 0;\n  }" (if "if") (parenthesized_expression "(param_9 != 0)" (( "(") (binary_expression "param_9 != 0" (identifier "param_9") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n    FUN_001e11c0();\n    return 0;\n  }" ({ "{") (expression_statement "FUN_001e11c0();" (call_expression "FUN_001e11c0()" (identifier "FUN_001e11c0") (argument_list "()" (( "(") () ")"))) (; ";")) (return_statement "return 0;" (return "return") (number_literal "0") (; ";")) (} "}"))) (expression_statement "FUN_001e12a0(*(undefined8 *)PTR_DAT_004ba7c8);" (call_expression "FUN_001e12a0(*(undefined8 *)PTR_DAT_004ba7c8)" (identifier "FUN_001e12a0") (argument_list "(*(undefined8 *)PTR_DAT_004ba7c8)" (( "(") (pointer_expression "*(undefined8 *)PTR_DAT_004ba7c8" (* "*") (cast_expression "(undefined8 *)PTR_DAT_004ba7c8" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_DAT_004ba7c8"))) () ")"))) (; ";")) (return_statement "return 0;" (return "return") (number_literal "0") (; ";")) (} "}")))

/* WARNING: Enum "DT": Some values do not have unique names */
/* WARNING: Enum "ELFOSABI": Some values do not have unique names */

type_1 gold::function_1(int var_2,char *format,...)

{
  char var_1;
  type_2 in_RCX;
  type_2 in_RDX;
  type_2 in_R8;
  type_2 in_R9;
  type_2 in_XMM0_Qa;
  type_2 in_XMM1_Qa;
  type_2 in_XMM2_Qa;
  type_2 in_XMM3_Qa;
  type_2 in_XMM4_Qa;
  type_2 in_XMM5_Qa;
  type_2 in_XMM6_Qa;
  type_2 in_XMM7_Qa;
  type_3 args;
  type_4 local_b8 [16];
  type_2 local_a8;
  type_2 local_a0;
  type_2 local_98;
  type_2 local_90;
  type_2 local_88;
  type_2 local_78;
  type_2 local_68;
  type_2 local_58;
  type_2 local_48;
  type_2 local_38;
  type_2 local_28;
  type_2 local_18;
  
  if (var_1 != '\0') {
    local_88 = in_XMM0_Qa;
    local_78 = in_XMM1_Qa;
    local_68 = in_XMM2_Qa;
    local_58 = in_XMM3_Qa;
    local_48 = in_XMM4_Qa;
    local_38 = in_XMM5_Qa;
    local_28 = in_XMM6_Qa;
    local_18 = in_XMM7_Qa;
  }
  args[0].overflow_arg_area = &stack0x00000008;
  args[0].gp_offset = 0x10;
  args[0].reg_save_area = local_b8;
  args[0].fp_offset = 0x30;
  local_a8 = in_RDX;
  local_a0 = in_RCX;
  local_98 = in_R8;
  local_90 = in_R9;
  if (var_2 == 1) {
    Errors::var_3(parameters->errors_,format,args);
    return LDPS_OK;
  }
  if (var_2 == 3) {
                    /* WARNING: Subroutine does not return */
    Errors::var_4(parameters->errors_,format,args);
  }
  if (var_2 != 0) {
    Errors::var_5(parameters->errors_,format,args);
    return LDPS_OK;
  }
  Errors::var_6(parameters->errors_,format,args);
  return LDPS_OK;
}


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

undefined8
MASKED(undefined8 param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4,
            undefined8 param_5,undefined8 param_6,undefined8 param_7,undefined8 param_8,int param_9,
            undefined8 param_10,undefined8 param_11,undefined8 param_12,undefined8 param_13,
            undefined8 param_14)

{
  char in_AL;
  undefined8 uVar1;
  undefined8 *puVar2;
  undefined4 local_d0;
  undefined4 local_cc;
  undefined1 *local_c8;
  undefined1 *local_c0;
  undefined1 local_b8 [16];
  undefined8 local_a8;
  undefined8 local_a0;
  undefined8 local_98;
  undefined8 local_90;
  undefined8 local_88;
  undefined8 local_78;
  undefined8 local_68;
  undefined8 local_58;
  undefined8 local_48;
  undefined8 local_38;
  undefined8 local_28;
  undefined8 local_18;
  
  if (in_AL != '\0') {
    local_88 = param_1;
    local_78 = param_2;
    local_68 = param_3;
    local_58 = param_4;
    local_48 = param_5;
    local_38 = param_6;
    local_28 = param_7;
    local_18 = param_8;
  }
  local_c8 = &stack0x00000008;
  local_d0 = 0x10;
  local_c0 = local_b8;
  local_cc = 0x30;
  local_a8 = param_11;
  local_a0 = param_12;
  local_98 = param_13;
  local_90 = param_14;
  if (param_9 == 1) {
    FUN_001e1230(*(undefined8 *)PTR_DAT_004ba7c8,param_10,&local_d0);
    return 0;
  }
  if (param_9 == 3) {
    puVar2 = *(undefined8 **)PTR_DAT_004ba7c8;
    FUN_001e1100();
    *puVar2 = &DAT_004ae768;
    if ((undefined8 *)puVar2[2] != puVar2 + 4) {
      FUN_00338a40();
    }
    uVar1 = thunk_FUN_00338a40(puVar2,0x70);
    return uVar1;
  }
  if (param_9 != 0) {
    FUN_001e11c0();
    return 0;
  }
  FUN_001e12a0(*(undefined8 *)PTR_DAT_004ba7c8);
  return 0;
}

