
/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */
/* WARNING: Unknown calling convention */

void script_add_data(void *closurev,int data_token,Expression *val)

{
  int size;
  bool is_signed;
  
  if (data_token == 0x150) {
    is_signed = false;
    size = 8;
  }
  else if (data_token < 0x151) {
    if (data_token == 0x11f) {
      is_signed = true;
      size = 1;
    }
    else {
      if (data_token != 0x13c) {
LAB_0017c381:
                    /* WARNING: Subroutine does not return */
        gold::do_gold_unreachable("../../gold/script.cc",0xc4d,"script_add_data");
      }
      is_signed = true;
      size = 4;
    }
  }
  else if (data_token == 0x154) {
    is_signed = true;
    size = 2;
  }
  else {
    if (data_token != 0x15b) goto LAB_0017c381;
    is_signed = true;
    size = 8;
  }
  gold::Script_sections::add_data
            ((Script_sections *)(*(int *)((int)closurev + 0x20) + 0xac),size,is_signed,val);
  return;
}



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

void FUN_0017c2e0(int param_1,int param_2,undefined4 param_3)

{
  undefined4 uVar1;
  undefined4 uVar2;
  
  if (param_2 == 0x150) {
    uVar2 = 0;
    uVar1 = 8;
  }
  else if (param_2 < 0x151) {
    if (param_2 == 0x11f) {
      uVar2 = 1;
      uVar1 = 1;
    }
    else {
      if (param_2 != 0x13c) {
LAB_0017c381:
                    /* WARNING: Subroutine does not return */
        FUN_0007ac80("../../gold/script.cc",0xc4d,"script_add_data",param_2);
      }
      uVar2 = 1;
      uVar1 = 4;
    }
  }
  else if (param_2 == 0x154) {
    uVar2 = 1;
    uVar1 = 2;
  }
  else {
    if (param_2 != 0x15b) goto LAB_0017c381;
    uVar2 = 1;
    uVar1 = 8;
  }
  FUN_0016f3a0(*(int *)(param_1 + 0x20) + 0xac,uVar1,uVar2,param_3);
  return;
}


PUSH EBX
CALL 0x00036db0
ADD EBX,0x22dd1a
SUB ESP,0x8
MOV EAX,dword ptr [ESP + 0x14]
CMP EAX,0x150
JZ 0x0017c378
JG 0x0017c338
CMP EAX,0x11f
JZ 0x0017c358
CMP EAX,0x13c
JNZ 0x0017c381
MOV EDX,0x1
MOV EAX,0x4
PUSH dword ptr [ESP + 0x18]
PUSH EDX
PUSH EAX
MOV EAX,dword ptr [ESP + 0x1c]
MOV EAX,dword ptr [EAX + 0x20]
ADD EAX,0xac
PUSH EAX
CALL 0x0016f3a0
ADD ESP,0x18
POP EBX
RET
CMP EAX,0x154
JZ 0x0017c368
CMP EAX,0x15b
JNZ 0x0017c381
MOV EDX,0x1
MOV EAX,0x8
JMP 0x0017c314
MOV EDX,0x1
MOV EAX,0x1
JMP 0x0017c314
MOV EDX,0x1
MOV EAX,0x2
JMP 0x0017c314
XOR EDX,EDX
MOV EAX,0x8
JMP 0x0017c314
PUSH EAX
LEA EAX,[EBX + 0xfff072c4]
PUSH EAX
LEA EAX,[EBX + 0xfff0634c]
PUSH 0xc4d
PUSH EAX
CALL 0x0007ac80
(translation_unit "/* WARNING: Function: __i686.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n\nvoid FUN_0017c2e0(int param_1,int param_2,undefined4 param_3)\n\n{\n  undefined4 uVar1;\n  undefined4 uVar2;\n  \n  if (param_2 == 0x150) {\n    uVar2 = 0;\n    uVar1 = 8;\n  }\n  else if (param_2 < 0x151) {\n    if (param_2 == 0x11f) {\n      uVar2 = 1;\n      uVar1 = 1;\n    }\n    else {\n      if (param_2 != 0x13c) {\nLAB_0017c381:\n                    /* WARNING: Subroutine does not return */\n        FUN_0007ac80("../../gold/script.cc",0xc4d,"script_add_data",param_2);\n      }\n      uVar2 = 1;\n      uVar1 = 4;\n    }\n  }\n  else if (param_2 == 0x154) {\n    uVar2 = 1;\n    uVar1 = 2;\n  }\n  else {\n    if (param_2 != 0x15b) goto LAB_0017c381;\n    uVar2 = 1;\n    uVar1 = 8;\n  }\n  FUN_0016f3a0(*(int *)(param_1 + 0x20) + 0xac,uVar1,uVar2,param_3);\n  return;\n}\n\n" comment (function_definition "void FUN_0017c2e0(int param_1,int param_2,undefined4 param_3)\n\n{\n  undefined4 uVar1;\n  undefined4 uVar2;\n  \n  if (param_2 == 0x150) {\n    uVar2 = 0;\n    uVar1 = 8;\n  }\n  else if (param_2 < 0x151) {\n    if (param_2 == 0x11f) {\n      uVar2 = 1;\n      uVar1 = 1;\n    }\n    else {\n      if (param_2 != 0x13c) {\nLAB_0017c381:\n                    /* WARNING: Subroutine does not return */\n        FUN_0007ac80("../../gold/script.cc",0xc4d,"script_add_data",param_2);\n      }\n      uVar2 = 1;\n      uVar1 = 4;\n    }\n  }\n  else if (param_2 == 0x154) {\n    uVar2 = 1;\n    uVar1 = 2;\n  }\n  else {\n    if (param_2 != 0x15b) goto LAB_0017c381;\n    uVar2 = 1;\n    uVar1 = 8;\n  }\n  FUN_0016f3a0(*(int *)(param_1 + 0x20) + 0xac,uVar1,uVar2,param_3);\n  return;\n}" primitive_type (function_declarator "FUN_0017c2e0(int param_1,int param_2,undefined4 param_3)" identifier (parameter_list "(int param_1,int param_2,undefined4 param_3)" ( (parameter_declaration "int param_1" primitive_type identifier) , (parameter_declaration "int param_2" primitive_type identifier) , (parameter_declaration "undefined4 param_3" type_identifier identifier) ))) (compound_statement "{\n  undefined4 uVar1;\n  undefined4 uVar2;\n  \n  if (param_2 == 0x150) {\n    uVar2 = 0;\n    uVar1 = 8;\n  }\n  else if (param_2 < 0x151) {\n    if (param_2 == 0x11f) {\n      uVar2 = 1;\n      uVar1 = 1;\n    }\n    else {\n      if (param_2 != 0x13c) {\nLAB_0017c381:\n                    /* WARNING: Subroutine does not return */\n        FUN_0007ac80("../../gold/script.cc",0xc4d,"script_add_data",param_2);\n      }\n      uVar2 = 1;\n      uVar1 = 4;\n    }\n  }\n  else if (param_2 == 0x154) {\n    uVar2 = 1;\n    uVar1 = 2;\n  }\n  else {\n    if (param_2 != 0x15b) goto LAB_0017c381;\n    uVar2 = 1;\n    uVar1 = 8;\n  }\n  FUN_0016f3a0(*(int *)(param_1 + 0x20) + 0xac,uVar1,uVar2,param_3);\n  return;\n}" { (declaration "undefined4 uVar1;" type_identifier identifier ;) (declaration "undefined4 uVar2;" type_identifier identifier ;) (if_statement "if (param_2 == 0x150) {\n    uVar2 = 0;\n    uVar1 = 8;\n  }\n  else if (param_2 < 0x151) {\n    if (param_2 == 0x11f) {\n      uVar2 = 1;\n      uVar1 = 1;\n    }\n    else {\n      if (param_2 != 0x13c) {\nLAB_0017c381:\n                    /* WARNING: Subroutine does not return */\n        FUN_0007ac80("../../gold/script.cc",0xc4d,"script_add_data",param_2);\n      }\n      uVar2 = 1;\n      uVar1 = 4;\n    }\n  }\n  else if (param_2 == 0x154) {\n    uVar2 = 1;\n    uVar1 = 2;\n  }\n  else {\n    if (param_2 != 0x15b) goto LAB_0017c381;\n    uVar2 = 1;\n    uVar1 = 8;\n  }" if (parenthesized_expression "(param_2 == 0x150)" ( (binary_expression "param_2 == 0x150" identifier == number_literal) )) (compound_statement "{\n    uVar2 = 0;\n    uVar1 = 8;\n  }" { (expression_statement "uVar2 = 0;" (assignment_expression "uVar2 = 0" identifier = number_literal) ;) (expression_statement "uVar1 = 8;" (assignment_expression "uVar1 = 8" identifier = number_literal) ;) }) (else_clause "else if (param_2 < 0x151) {\n    if (param_2 == 0x11f) {\n      uVar2 = 1;\n      uVar1 = 1;\n    }\n    else {\n      if (param_2 != 0x13c) {\nLAB_0017c381:\n                    /* WARNING: Subroutine does not return */\n        FUN_0007ac80("../../gold/script.cc",0xc4d,"script_add_data",param_2);\n      }\n      uVar2 = 1;\n      uVar1 = 4;\n    }\n  }\n  else if (param_2 == 0x154) {\n    uVar2 = 1;\n    uVar1 = 2;\n  }\n  else {\n    if (param_2 != 0x15b) goto LAB_0017c381;\n    uVar2 = 1;\n    uVar1 = 8;\n  }" else (if_statement "if (param_2 < 0x151) {\n    if (param_2 == 0x11f) {\n      uVar2 = 1;\n      uVar1 = 1;\n    }\n    else {\n      if (param_2 != 0x13c) {\nLAB_0017c381:\n                    /* WARNING: Subroutine does not return */\n        FUN_0007ac80("../../gold/script.cc",0xc4d,"script_add_data",param_2);\n      }\n      uVar2 = 1;\n      uVar1 = 4;\n    }\n  }\n  else if (param_2 == 0x154) {\n    uVar2 = 1;\n    uVar1 = 2;\n  }\n  else {\n    if (param_2 != 0x15b) goto LAB_0017c381;\n    uVar2 = 1;\n    uVar1 = 8;\n  }" if (parenthesized_expression "(param_2 < 0x151)" ( (binary_expression "param_2 < 0x151" identifier < number_literal) )) (compound_statement "{\n    if (param_2 == 0x11f) {\n      uVar2 = 1;\n      uVar1 = 1;\n    }\n    else {\n      if (param_2 != 0x13c) {\nLAB_0017c381:\n                    /* WARNING: Subroutine does not return */\n        FUN_0007ac80("../../gold/script.cc",0xc4d,"script_add_data",param_2);\n      }\n      uVar2 = 1;\n      uVar1 = 4;\n    }\n  }" { (if_statement "if (param_2 == 0x11f) {\n      uVar2 = 1;\n      uVar1 = 1;\n    }\n    else {\n      if (param_2 != 0x13c) {\nLAB_0017c381:\n                    /* WARNING: Subroutine does not return */\n        FUN_0007ac80("../../gold/script.cc",0xc4d,"script_add_data",param_2);\n      }\n      uVar2 = 1;\n      uVar1 = 4;\n    }" if (parenthesized_expression "(param_2 == 0x11f)" ( (binary_expression "param_2 == 0x11f" identifier == number_literal) )) (compound_statement "{\n      uVar2 = 1;\n      uVar1 = 1;\n    }" { (expression_statement "uVar2 = 1;" (assignment_expression "uVar2 = 1" identifier = number_literal) ;) (expression_statement "uVar1 = 1;" (assignment_expression "uVar1 = 1" identifier = number_literal) ;) }) (else_clause "else {\n      if (param_2 != 0x13c) {\nLAB_0017c381:\n                    /* WARNING: Subroutine does not return */\n        FUN_0007ac80("../../gold/script.cc",0xc4d,"script_add_data",param_2);\n      }\n      uVar2 = 1;\n      uVar1 = 4;\n    }" else (compound_statement "{\n      if (param_2 != 0x13c) {\nLAB_0017c381:\n                    /* WARNING: Subroutine does not return */\n        FUN_0007ac80("../../gold/script.cc",0xc4d,"script_add_data",param_2);\n      }\n      uVar2 = 1;\n      uVar1 = 4;\n    }" { (if_statement "if (param_2 != 0x13c) {\nLAB_0017c381:\n                    /* WARNING: Subroutine does not return */\n        FUN_0007ac80("../../gold/script.cc",0xc4d,"script_add_data",param_2);\n      }" if (parenthesized_expression "(param_2 != 0x13c)" ( (binary_expression "param_2 != 0x13c" identifier != number_literal) )) (compound_statement "{\nLAB_0017c381:\n                    /* WARNING: Subroutine does not return */\n        FUN_0007ac80("../../gold/script.cc",0xc4d,"script_add_data",param_2);\n      }" { (labeled_statement "LAB_0017c381:\n                    /* WARNING: Subroutine does not return */\n        FUN_0007ac80("../../gold/script.cc",0xc4d,"script_add_data",param_2);" statement_identifier : comment (expression_statement "FUN_0007ac80("../../gold/script.cc",0xc4d,"script_add_data",param_2);" (call_expression "FUN_0007ac80("../../gold/script.cc",0xc4d,"script_add_data",param_2)" identifier (argument_list "("../../gold/script.cc",0xc4d,"script_add_data",param_2)" ( (string_literal ""../../gold/script.cc"" " string_content ") , number_literal , (string_literal ""script_add_data"" " string_content ") , identifier ))) ;)) })) (expression_statement "uVar2 = 1;" (assignment_expression "uVar2 = 1" identifier = number_literal) ;) (expression_statement "uVar1 = 4;" (assignment_expression "uVar1 = 4" identifier = number_literal) ;) }))) }) (else_clause "else if (param_2 == 0x154) {\n    uVar2 = 1;\n    uVar1 = 2;\n  }\n  else {\n    if (param_2 != 0x15b) goto LAB_0017c381;\n    uVar2 = 1;\n    uVar1 = 8;\n  }" else (if_statement "if (param_2 == 0x154) {\n    uVar2 = 1;\n    uVar1 = 2;\n  }\n  else {\n    if (param_2 != 0x15b) goto LAB_0017c381;\n    uVar2 = 1;\n    uVar1 = 8;\n  }" if (parenthesized_expression "(param_2 == 0x154)" ( (binary_expression "param_2 == 0x154" identifier == number_literal) )) (compound_statement "{\n    uVar2 = 1;\n    uVar1 = 2;\n  }" { (expression_statement "uVar2 = 1;" (assignment_expression "uVar2 = 1" identifier = number_literal) ;) (expression_statement "uVar1 = 2;" (assignment_expression "uVar1 = 2" identifier = number_literal) ;) }) (else_clause "else {\n    if (param_2 != 0x15b) goto LAB_0017c381;\n    uVar2 = 1;\n    uVar1 = 8;\n  }" else (compound_statement "{\n    if (param_2 != 0x15b) goto LAB_0017c381;\n    uVar2 = 1;\n    uVar1 = 8;\n  }" { (if_statement "if (param_2 != 0x15b) goto LAB_0017c381;" if (parenthesized_expression "(param_2 != 0x15b)" ( (binary_expression "param_2 != 0x15b" identifier != number_literal) )) (goto_statement "goto LAB_0017c381;" goto statement_identifier ;)) (expression_statement "uVar2 = 1;" (assignment_expression "uVar2 = 1" identifier = number_literal) ;) (expression_statement "uVar1 = 8;" (assignment_expression "uVar1 = 8" identifier = number_literal) ;) }))))))) (expression_statement "FUN_0016f3a0(*(int *)(param_1 + 0x20) + 0xac,uVar1,uVar2,param_3);" (call_expression "FUN_0016f3a0(*(int *)(param_1 + 0x20) + 0xac,uVar1,uVar2,param_3)" identifier (argument_list "(*(int *)(param_1 + 0x20) + 0xac,uVar1,uVar2,param_3)" ( (binary_expression "*(int *)(param_1 + 0x20) + 0xac" (pointer_expression "*(int *)(param_1 + 0x20)" * (cast_expression "(int *)(param_1 + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x20)" ( (binary_expression "param_1 + 0x20" identifier + number_literal) )))) + number_literal) , identifier , identifier , identifier ))) ;) (return_statement "return;" return ;) })))
(translation_unit "/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n/* WARNING: Unknown calling convention */\n\nvoid script_add_data(void *closurev,int data_token,Expression *val)\n\n{\n  int size;\n  bool is_signed;\n  \n  if (data_token == 0x150) {\n    is_signed = false;\n    size = 8;\n  }\n  else if (data_token < 0x151) {\n    if (data_token == 0x11f) {\n      is_signed = true;\n      size = 1;\n    }\n    else {\n      if (data_token != 0x13c) {\nLAB_0017c381:\n                    /* WARNING: Subroutine does not return */\n        gold::do_gold_unreachable("../../gold/script.cc",0xc4d,"script_add_data");\n      }\n      is_signed = true;\n      size = 4;\n    }\n  }\n  else if (data_token == 0x154) {\n    is_signed = true;\n    size = 2;\n  }\n  else {\n    if (data_token != 0x15b) goto LAB_0017c381;\n    is_signed = true;\n    size = 8;\n  }\n  gold::Script_sections::add_data\n            ((Script_sections *)(*(int *)((int)closurev + 0x20) + 0xac),size,is_signed,val);\n  return;\n}\n\n" comment comment (function_definition "void script_add_data(void *closurev,int data_token,Expression *val)\n\n{\n  int size;\n  bool is_signed;\n  \n  if (data_token == 0x150) {\n    is_signed = false;\n    size = 8;\n  }\n  else if (data_token < 0x151) {\n    if (data_token == 0x11f) {\n      is_signed = true;\n      size = 1;\n    }\n    else {\n      if (data_token != 0x13c) {\nLAB_0017c381:\n                    /* WARNING: Subroutine does not return */\n        gold::do_gold_unreachable("../../gold/script.cc",0xc4d,"script_add_data");\n      }\n      is_signed = true;\n      size = 4;\n    }\n  }\n  else if (data_token == 0x154) {\n    is_signed = true;\n    size = 2;\n  }\n  else {\n    if (data_token != 0x15b) goto LAB_0017c381;\n    is_signed = true;\n    size = 8;\n  }\n  gold::Script_sections::add_data\n            ((Script_sections *)(*(int *)((int)closurev + 0x20) + 0xac),size,is_signed,val);\n  return;\n}" primitive_type (function_declarator "script_add_data(void *closurev,int data_token,Expression *val)" identifier (parameter_list "(void *closurev,int data_token,Expression *val)" ( (parameter_declaration "void *closurev" primitive_type (pointer_declarator "*closurev" * identifier)) , (parameter_declaration "int data_token" primitive_type identifier) , (parameter_declaration "Expression *val" type_identifier (pointer_declarator "*val" * identifier)) ))) (compound_statement "{\n  int size;\n  bool is_signed;\n  \n  if (data_token == 0x150) {\n    is_signed = false;\n    size = 8;\n  }\n  else if (data_token < 0x151) {\n    if (data_token == 0x11f) {\n      is_signed = true;\n      size = 1;\n    }\n    else {\n      if (data_token != 0x13c) {\nLAB_0017c381:\n                    /* WARNING: Subroutine does not return */\n        gold::do_gold_unreachable("../../gold/script.cc",0xc4d,"script_add_data");\n      }\n      is_signed = true;\n      size = 4;\n    }\n  }\n  else if (data_token == 0x154) {\n    is_signed = true;\n    size = 2;\n  }\n  else {\n    if (data_token != 0x15b) goto LAB_0017c381;\n    is_signed = true;\n    size = 8;\n  }\n  gold::Script_sections::add_data\n            ((Script_sections *)(*(int *)((int)closurev + 0x20) + 0xac),size,is_signed,val);\n  return;\n}" { (declaration "int size;" primitive_type identifier ;) (declaration "bool is_signed;" primitive_type identifier ;) (if_statement "if (data_token == 0x150) {\n    is_signed = false;\n    size = 8;\n  }\n  else if (data_token < 0x151) {\n    if (data_token == 0x11f) {\n      is_signed = true;\n      size = 1;\n    }\n    else {\n      if (data_token != 0x13c) {\nLAB_0017c381:\n                    /* WARNING: Subroutine does not return */\n        gold::do_gold_unreachable("../../gold/script.cc",0xc4d,"script_add_data");\n      }\n      is_signed = true;\n      size = 4;\n    }\n  }\n  else if (data_token == 0x154) {\n    is_signed = true;\n    size = 2;\n  }\n  else {\n    if (data_token != 0x15b) goto LAB_0017c381;\n    is_signed = true;\n    size = 8;\n  }" if (parenthesized_expression "(data_token == 0x150)" ( (binary_expression "data_token == 0x150" identifier == number_literal) )) (compound_statement "{\n    is_signed = false;\n    size = 8;\n  }" { (expression_statement "is_signed = false;" (assignment_expression "is_signed = false" identifier = false) ;) (expression_statement "size = 8;" (assignment_expression "size = 8" identifier = number_literal) ;) }) (else_clause "else if (data_token < 0x151) {\n    if (data_token == 0x11f) {\n      is_signed = true;\n      size = 1;\n    }\n    else {\n      if (data_token != 0x13c) {\nLAB_0017c381:\n                    /* WARNING: Subroutine does not return */\n        gold::do_gold_unreachable("../../gold/script.cc",0xc4d,"script_add_data");\n      }\n      is_signed = true;\n      size = 4;\n    }\n  }\n  else if (data_token == 0x154) {\n    is_signed = true;\n    size = 2;\n  }\n  else {\n    if (data_token != 0x15b) goto LAB_0017c381;\n    is_signed = true;\n    size = 8;\n  }" else (if_statement "if (data_token < 0x151) {\n    if (data_token == 0x11f) {\n      is_signed = true;\n      size = 1;\n    }\n    else {\n      if (data_token != 0x13c) {\nLAB_0017c381:\n                    /* WARNING: Subroutine does not return */\n        gold::do_gold_unreachable("../../gold/script.cc",0xc4d,"script_add_data");\n      }\n      is_signed = true;\n      size = 4;\n    }\n  }\n  else if (data_token == 0x154) {\n    is_signed = true;\n    size = 2;\n  }\n  else {\n    if (data_token != 0x15b) goto LAB_0017c381;\n    is_signed = true;\n    size = 8;\n  }" if (parenthesized_expression "(data_token < 0x151)" ( (binary_expression "data_token < 0x151" identifier < number_literal) )) (compound_statement "{\n    if (data_token == 0x11f) {\n      is_signed = true;\n      size = 1;\n    }\n    else {\n      if (data_token != 0x13c) {\nLAB_0017c381:\n                    /* WARNING: Subroutine does not return */\n        gold::do_gold_unreachable("../../gold/script.cc",0xc4d,"script_add_data");\n      }\n      is_signed = true;\n      size = 4;\n    }\n  }" { (if_statement "if (data_token == 0x11f) {\n      is_signed = true;\n      size = 1;\n    }\n    else {\n      if (data_token != 0x13c) {\nLAB_0017c381:\n                    /* WARNING: Subroutine does not return */\n        gold::do_gold_unreachable("../../gold/script.cc",0xc4d,"script_add_data");\n      }\n      is_signed = true;\n      size = 4;\n    }" if (parenthesized_expression "(data_token == 0x11f)" ( (binary_expression "data_token == 0x11f" identifier == number_literal) )) (compound_statement "{\n      is_signed = true;\n      size = 1;\n    }" { (expression_statement "is_signed = true;" (assignment_expression "is_signed = true" identifier = true) ;) (expression_statement "size = 1;" (assignment_expression "size = 1" identifier = number_literal) ;) }) (else_clause "else {\n      if (data_token != 0x13c) {\nLAB_0017c381:\n                    /* WARNING: Subroutine does not return */\n        gold::do_gold_unreachable("../../gold/script.cc",0xc4d,"script_add_data");\n      }\n      is_signed = true;\n      size = 4;\n    }" else (compound_statement "{\n      if (data_token != 0x13c) {\nLAB_0017c381:\n                    /* WARNING: Subroutine does not return */\n        gold::do_gold_unreachable("../../gold/script.cc",0xc4d,"script_add_data");\n      }\n      is_signed = true;\n      size = 4;\n    }" { (if_statement "if (data_token != 0x13c) {\nLAB_0017c381:\n                    /* WARNING: Subroutine does not return */\n        gold::do_gold_unreachable("../../gold/script.cc",0xc4d,"script_add_data");\n      }" if (parenthesized_expression "(data_token != 0x13c)" ( (binary_expression "data_token != 0x13c" identifier != number_literal) )) (compound_statement "{\nLAB_0017c381:\n                    /* WARNING: Subroutine does not return */\n        gold::do_gold_unreachable("../../gold/script.cc",0xc4d,"script_add_data");\n      }" { (labeled_statement "LAB_0017c381:\n                    /* WARNING: Subroutine does not return */\n        gold::do_gold_unreachable("../../gold/script.cc",0xc4d,"script_add_data");" statement_identifier : comment (labeled_statement "gold::do_gold_unreachable("../../gold/script.cc",0xc4d,"script_add_data");" statement_identifier : (ERROR ":" :) (expression_statement "do_gold_unreachable("../../gold/script.cc",0xc4d,"script_add_data");" (call_expression "do_gold_unreachable("../../gold/script.cc",0xc4d,"script_add_data")" identifier (argument_list "("../../gold/script.cc",0xc4d,"script_add_data")" ( (string_literal ""../../gold/script.cc"" " string_content ") , number_literal , (string_literal ""script_add_data"" " string_content ") ))) ;))) })) (expression_statement "is_signed = true;" (assignment_expression "is_signed = true" identifier = true) ;) (expression_statement "size = 4;" (assignment_expression "size = 4" identifier = number_literal) ;) }))) }) (else_clause "else if (data_token == 0x154) {\n    is_signed = true;\n    size = 2;\n  }\n  else {\n    if (data_token != 0x15b) goto LAB_0017c381;\n    is_signed = true;\n    size = 8;\n  }" else (if_statement "if (data_token == 0x154) {\n    is_signed = true;\n    size = 2;\n  }\n  else {\n    if (data_token != 0x15b) goto LAB_0017c381;\n    is_signed = true;\n    size = 8;\n  }" if (parenthesized_expression "(data_token == 0x154)" ( (binary_expression "data_token == 0x154" identifier == number_literal) )) (compound_statement "{\n    is_signed = true;\n    size = 2;\n  }" { (expression_statement "is_signed = true;" (assignment_expression "is_signed = true" identifier = true) ;) (expression_statement "size = 2;" (assignment_expression "size = 2" identifier = number_literal) ;) }) (else_clause "else {\n    if (data_token != 0x15b) goto LAB_0017c381;\n    is_signed = true;\n    size = 8;\n  }" else (compound_statement "{\n    if (data_token != 0x15b) goto LAB_0017c381;\n    is_signed = true;\n    size = 8;\n  }" { (if_statement "if (data_token != 0x15b) goto LAB_0017c381;" if (parenthesized_expression "(data_token != 0x15b)" ( (binary_expression "data_token != 0x15b" identifier != number_literal) )) (goto_statement "goto LAB_0017c381;" goto statement_identifier ;)) (expression_statement "is_signed = true;" (assignment_expression "is_signed = true" identifier = true) ;) (expression_statement "size = 8;" (assignment_expression "size = 8" identifier = number_literal) ;) }))))))) (labeled_statement "gold::Script_sections::add_data\n            ((Script_sections *)(*(int *)((int)closurev + 0x20) + 0xac),size,is_signed,val);" statement_identifier : (ERROR ":" :) (labeled_statement "Script_sections::add_data\n            ((Script_sections *)(*(int *)((int)closurev + 0x20) + 0xac),size,is_signed,val);" statement_identifier : (ERROR ":" :) (expression_statement "add_data\n            ((Script_sections *)(*(int *)((int)closurev + 0x20) + 0xac),size,is_signed,val);" (call_expression "add_data\n            ((Script_sections *)(*(int *)((int)closurev + 0x20) + 0xac),size,is_signed,val)" identifier (argument_list "((Script_sections *)(*(int *)((int)closurev + 0x20) + 0xac),size,is_signed,val)" ( (cast_expression "(Script_sections *)(*(int *)((int)closurev + 0x20) + 0xac)" ( (type_descriptor "Script_sections *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)((int)closurev + 0x20) + 0xac)" ( (binary_expression "*(int *)((int)closurev + 0x20) + 0xac" (pointer_expression "*(int *)((int)closurev + 0x20)" * (cast_expression "(int *)((int)closurev + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)closurev + 0x20)" ( (binary_expression "(int)closurev + 0x20" (cast_expression "(int)closurev" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) + number_literal) ))) , identifier , identifier , identifier ))) ;))) (return_statement "return;" return ;) })))
(translation_unit "void FUN_0017c2e0(int param_1,int param_2,undefined4 param_3)\n\n{\n  undefined4 uVar1;\n  undefined4 uVar2;\n  \n  if (param_2 == 0x150) {\n    uVar2 = 0;\n    uVar1 = 8;\n  }\n  else if (param_2 < 0x151) {\n    if (param_2 == 0x11f) {\n      uVar2 = 1;\n      uVar1 = 1;\n    }\n    else {\n      if (param_2 != 0x13c) {\nLAB_0017c381:\n                    \n        FUN_0007ac80("../../gold/script.cc",0xc4d,"script_add_data",param_2);\n      }\n      uVar2 = 1;\n      uVar1 = 4;\n    }\n  }\n  else if (param_2 == 0x154) {\n    uVar2 = 1;\n    uVar1 = 2;\n  }\n  else {\n    if (param_2 != 0x15b) goto LAB_0017c381;\n    uVar2 = 1;\n    uVar1 = 8;\n  }\n  FUN_0016f3a0(*(int *)(param_1 + 0x20) + 0xac,uVar1,uVar2,param_3);\n  return;\n}\n\n" (function_definition "void FUN_0017c2e0(int param_1,int param_2,undefined4 param_3)\n\n{\n  undefined4 uVar1;\n  undefined4 uVar2;\n  \n  if (param_2 == 0x150) {\n    uVar2 = 0;\n    uVar1 = 8;\n  }\n  else if (param_2 < 0x151) {\n    if (param_2 == 0x11f) {\n      uVar2 = 1;\n      uVar1 = 1;\n    }\n    else {\n      if (param_2 != 0x13c) {\nLAB_0017c381:\n                    \n        FUN_0007ac80("../../gold/script.cc",0xc4d,"script_add_data",param_2);\n      }\n      uVar2 = 1;\n      uVar1 = 4;\n    }\n  }\n  else if (param_2 == 0x154) {\n    uVar2 = 1;\n    uVar1 = 2;\n  }\n  else {\n    if (param_2 != 0x15b) goto LAB_0017c381;\n    uVar2 = 1;\n    uVar1 = 8;\n  }\n  FUN_0016f3a0(*(int *)(param_1 + 0x20) + 0xac,uVar1,uVar2,param_3);\n  return;\n}" primitive_type (function_declarator "FUN_0017c2e0(int param_1,int param_2,undefined4 param_3)" identifier (parameter_list "(int param_1,int param_2,undefined4 param_3)" ( (parameter_declaration "int param_1" primitive_type identifier) , (parameter_declaration "int param_2" primitive_type identifier) , (parameter_declaration "undefined4 param_3" type_identifier identifier) ))) (compound_statement "{\n  undefined4 uVar1;\n  undefined4 uVar2;\n  \n  if (param_2 == 0x150) {\n    uVar2 = 0;\n    uVar1 = 8;\n  }\n  else if (param_2 < 0x151) {\n    if (param_2 == 0x11f) {\n      uVar2 = 1;\n      uVar1 = 1;\n    }\n    else {\n      if (param_2 != 0x13c) {\nLAB_0017c381:\n                    \n        FUN_0007ac80("../../gold/script.cc",0xc4d,"script_add_data",param_2);\n      }\n      uVar2 = 1;\n      uVar1 = 4;\n    }\n  }\n  else if (param_2 == 0x154) {\n    uVar2 = 1;\n    uVar1 = 2;\n  }\n  else {\n    if (param_2 != 0x15b) goto LAB_0017c381;\n    uVar2 = 1;\n    uVar1 = 8;\n  }\n  FUN_0016f3a0(*(int *)(param_1 + 0x20) + 0xac,uVar1,uVar2,param_3);\n  return;\n}" { (declaration "undefined4 uVar1;" type_identifier identifier ;) (declaration "undefined4 uVar2;" type_identifier identifier ;) (if_statement "if (param_2 == 0x150) {\n    uVar2 = 0;\n    uVar1 = 8;\n  }\n  else if (param_2 < 0x151) {\n    if (param_2 == 0x11f) {\n      uVar2 = 1;\n      uVar1 = 1;\n    }\n    else {\n      if (param_2 != 0x13c) {\nLAB_0017c381:\n                    \n        FUN_0007ac80("../../gold/script.cc",0xc4d,"script_add_data",param_2);\n      }\n      uVar2 = 1;\n      uVar1 = 4;\n    }\n  }\n  else if (param_2 == 0x154) {\n    uVar2 = 1;\n    uVar1 = 2;\n  }\n  else {\n    if (param_2 != 0x15b) goto LAB_0017c381;\n    uVar2 = 1;\n    uVar1 = 8;\n  }" if (parenthesized_expression "(param_2 == 0x150)" ( (binary_expression "param_2 == 0x150" identifier == number_literal) )) (compound_statement "{\n    uVar2 = 0;\n    uVar1 = 8;\n  }" { (expression_statement "uVar2 = 0;" (assignment_expression "uVar2 = 0" identifier = number_literal) ;) (expression_statement "uVar1 = 8;" (assignment_expression "uVar1 = 8" identifier = number_literal) ;) }) (else_clause "else if (param_2 < 0x151) {\n    if (param_2 == 0x11f) {\n      uVar2 = 1;\n      uVar1 = 1;\n    }\n    else {\n      if (param_2 != 0x13c) {\nLAB_0017c381:\n                    \n        FUN_0007ac80("../../gold/script.cc",0xc4d,"script_add_data",param_2);\n      }\n      uVar2 = 1;\n      uVar1 = 4;\n    }\n  }\n  else if (param_2 == 0x154) {\n    uVar2 = 1;\n    uVar1 = 2;\n  }\n  else {\n    if (param_2 != 0x15b) goto LAB_0017c381;\n    uVar2 = 1;\n    uVar1 = 8;\n  }" else (if_statement "if (param_2 < 0x151) {\n    if (param_2 == 0x11f) {\n      uVar2 = 1;\n      uVar1 = 1;\n    }\n    else {\n      if (param_2 != 0x13c) {\nLAB_0017c381:\n                    \n        FUN_0007ac80("../../gold/script.cc",0xc4d,"script_add_data",param_2);\n      }\n      uVar2 = 1;\n      uVar1 = 4;\n    }\n  }\n  else if (param_2 == 0x154) {\n    uVar2 = 1;\n    uVar1 = 2;\n  }\n  else {\n    if (param_2 != 0x15b) goto LAB_0017c381;\n    uVar2 = 1;\n    uVar1 = 8;\n  }" if (parenthesized_expression "(param_2 < 0x151)" ( (binary_expression "param_2 < 0x151" identifier < number_literal) )) (compound_statement "{\n    if (param_2 == 0x11f) {\n      uVar2 = 1;\n      uVar1 = 1;\n    }\n    else {\n      if (param_2 != 0x13c) {\nLAB_0017c381:\n                    \n        FUN_0007ac80("../../gold/script.cc",0xc4d,"script_add_data",param_2);\n      }\n      uVar2 = 1;\n      uVar1 = 4;\n    }\n  }" { (if_statement "if (param_2 == 0x11f) {\n      uVar2 = 1;\n      uVar1 = 1;\n    }\n    else {\n      if (param_2 != 0x13c) {\nLAB_0017c381:\n                    \n        FUN_0007ac80("../../gold/script.cc",0xc4d,"script_add_data",param_2);\n      }\n      uVar2 = 1;\n      uVar1 = 4;\n    }" if (parenthesized_expression "(param_2 == 0x11f)" ( (binary_expression "param_2 == 0x11f" identifier == number_literal) )) (compound_statement "{\n      uVar2 = 1;\n      uVar1 = 1;\n    }" { (expression_statement "uVar2 = 1;" (assignment_expression "uVar2 = 1" identifier = number_literal) ;) (expression_statement "uVar1 = 1;" (assignment_expression "uVar1 = 1" identifier = number_literal) ;) }) (else_clause "else {\n      if (param_2 != 0x13c) {\nLAB_0017c381:\n                    \n        FUN_0007ac80("../../gold/script.cc",0xc4d,"script_add_data",param_2);\n      }\n      uVar2 = 1;\n      uVar1 = 4;\n    }" else (compound_statement "{\n      if (param_2 != 0x13c) {\nLAB_0017c381:\n                    \n        FUN_0007ac80("../../gold/script.cc",0xc4d,"script_add_data",param_2);\n      }\n      uVar2 = 1;\n      uVar1 = 4;\n    }" { (if_statement "if (param_2 != 0x13c) {\nLAB_0017c381:\n                    \n        FUN_0007ac80("../../gold/script.cc",0xc4d,"script_add_data",param_2);\n      }" if (parenthesized_expression "(param_2 != 0x13c)" ( (binary_expression "param_2 != 0x13c" identifier != number_literal) )) (compound_statement "{\nLAB_0017c381:\n                    \n        FUN_0007ac80("../../gold/script.cc",0xc4d,"script_add_data",param_2);\n      }" { (labeled_statement "LAB_0017c381:\n                    \n        FUN_0007ac80("../../gold/script.cc",0xc4d,"script_add_data",param_2);" statement_identifier : (expression_statement "FUN_0007ac80("../../gold/script.cc",0xc4d,"script_add_data",param_2);" (call_expression "FUN_0007ac80("../../gold/script.cc",0xc4d,"script_add_data",param_2)" identifier (argument_list "("../../gold/script.cc",0xc4d,"script_add_data",param_2)" ( (string_literal ""../../gold/script.cc"" " string_content ") , number_literal , (string_literal ""script_add_data"" " string_content ") , identifier ))) ;)) })) (expression_statement "uVar2 = 1;" (assignment_expression "uVar2 = 1" identifier = number_literal) ;) (expression_statement "uVar1 = 4;" (assignment_expression "uVar1 = 4" identifier = number_literal) ;) }))) }) (else_clause "else if (param_2 == 0x154) {\n    uVar2 = 1;\n    uVar1 = 2;\n  }\n  else {\n    if (param_2 != 0x15b) goto LAB_0017c381;\n    uVar2 = 1;\n    uVar1 = 8;\n  }" else (if_statement "if (param_2 == 0x154) {\n    uVar2 = 1;\n    uVar1 = 2;\n  }\n  else {\n    if (param_2 != 0x15b) goto LAB_0017c381;\n    uVar2 = 1;\n    uVar1 = 8;\n  }" if (parenthesized_expression "(param_2 == 0x154)" ( (binary_expression "param_2 == 0x154" identifier == number_literal) )) (compound_statement "{\n    uVar2 = 1;\n    uVar1 = 2;\n  }" { (expression_statement "uVar2 = 1;" (assignment_expression "uVar2 = 1" identifier = number_literal) ;) (expression_statement "uVar1 = 2;" (assignment_expression "uVar1 = 2" identifier = number_literal) ;) }) (else_clause "else {\n    if (param_2 != 0x15b) goto LAB_0017c381;\n    uVar2 = 1;\n    uVar1 = 8;\n  }" else (compound_statement "{\n    if (param_2 != 0x15b) goto LAB_0017c381;\n    uVar2 = 1;\n    uVar1 = 8;\n  }" { (if_statement "if (param_2 != 0x15b) goto LAB_0017c381;" if (parenthesized_expression "(param_2 != 0x15b)" ( (binary_expression "param_2 != 0x15b" identifier != number_literal) )) (goto_statement "goto LAB_0017c381;" goto statement_identifier ;)) (expression_statement "uVar2 = 1;" (assignment_expression "uVar2 = 1" identifier = number_literal) ;) (expression_statement "uVar1 = 8;" (assignment_expression "uVar1 = 8" identifier = number_literal) ;) }))))))) (expression_statement "FUN_0016f3a0(*(int *)(param_1 + 0x20) + 0xac,uVar1,uVar2,param_3);" (call_expression "FUN_0016f3a0(*(int *)(param_1 + 0x20) + 0xac,uVar1,uVar2,param_3)" identifier (argument_list "(*(int *)(param_1 + 0x20) + 0xac,uVar1,uVar2,param_3)" ( (binary_expression "*(int *)(param_1 + 0x20) + 0xac" (pointer_expression "*(int *)(param_1 + 0x20)" * (cast_expression "(int *)(param_1 + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x20)" ( (binary_expression "param_1 + 0x20" identifier + number_literal) )))) + number_literal) , identifier , identifier , identifier ))) ;) (return_statement "return;" return ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) ))) (compound_statement { (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (string_literal " string_content ") , IDENT ))) ;)) })) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) }))) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) }))))))) (expression_statement (call_expression IDENT (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , IDENT , IDENT , IDENT ))) ;) (return_statement return ;) })))
(function_definition "void FUN_0017c2e0(int param_1,int param_2,undefined4 param_3)\n\n{\n  undefined4 uVar1;\n  undefined4 uVar2;\n  \n  if (param_2 == 0x150) {\n    uVar2 = 0;\n    uVar1 = 8;\n  }\n  else if (param_2 < 0x151) {\n    if (param_2 == 0x11f) {\n      uVar2 = 1;\n      uVar1 = 1;\n    }\n    else {\n      if (param_2 != 0x13c) {\nLAB_0017c381:\n                    \n        FUN_0007ac80("../../gold/script.cc",0xc4d,"script_add_data",param_2);\n      }\n      uVar2 = 1;\n      uVar1 = 4;\n    }\n  }\n  else if (param_2 == 0x154) {\n    uVar2 = 1;\n    uVar1 = 2;\n  }\n  else {\n    if (param_2 != 0x15b) goto LAB_0017c381;\n    uVar2 = 1;\n    uVar1 = 8;\n  }\n  FUN_0016f3a0(*(int *)(param_1 + 0x20) + 0xac,uVar1,uVar2,param_3);\n  return;\n}" (primitive_type "void") (function_declarator "FUN_0017c2e0(int param_1,int param_2,undefined4 param_3)" (identifier "FUN_0017c2e0") (parameter_list "(int param_1,int param_2,undefined4 param_3)" (( "(") (parameter_declaration "int param_1" (primitive_type "int") (identifier "param_1")) (, ",") (parameter_declaration "int param_2" (primitive_type "int") (identifier "param_2")) (, ",") (parameter_declaration "undefined4 param_3" (type_identifier "undefined4") (identifier "param_3")) () ")"))) (compound_statement "{\n  undefined4 uVar1;\n  undefined4 uVar2;\n  \n  if (param_2 == 0x150) {\n    uVar2 = 0;\n    uVar1 = 8;\n  }\n  else if (param_2 < 0x151) {\n    if (param_2 == 0x11f) {\n      uVar2 = 1;\n      uVar1 = 1;\n    }\n    else {\n      if (param_2 != 0x13c) {\nLAB_0017c381:\n                    \n        FUN_0007ac80("../../gold/script.cc",0xc4d,"script_add_data",param_2);\n      }\n      uVar2 = 1;\n      uVar1 = 4;\n    }\n  }\n  else if (param_2 == 0x154) {\n    uVar2 = 1;\n    uVar1 = 2;\n  }\n  else {\n    if (param_2 != 0x15b) goto LAB_0017c381;\n    uVar2 = 1;\n    uVar1 = 8;\n  }\n  FUN_0016f3a0(*(int *)(param_1 + 0x20) + 0xac,uVar1,uVar2,param_3);\n  return;\n}" ({ "{") (declaration "undefined4 uVar1;" (type_identifier "undefined4") (identifier "uVar1") (; ";")) (declaration "undefined4 uVar2;" (type_identifier "undefined4") (identifier "uVar2") (; ";")) (if_statement "if (param_2 == 0x150) {\n    uVar2 = 0;\n    uVar1 = 8;\n  }\n  else if (param_2 < 0x151) {\n    if (param_2 == 0x11f) {\n      uVar2 = 1;\n      uVar1 = 1;\n    }\n    else {\n      if (param_2 != 0x13c) {\nLAB_0017c381:\n                    \n        FUN_0007ac80("../../gold/script.cc",0xc4d,"script_add_data",param_2);\n      }\n      uVar2 = 1;\n      uVar1 = 4;\n    }\n  }\n  else if (param_2 == 0x154) {\n    uVar2 = 1;\n    uVar1 = 2;\n  }\n  else {\n    if (param_2 != 0x15b) goto LAB_0017c381;\n    uVar2 = 1;\n    uVar1 = 8;\n  }" (if "if") (parenthesized_expression "(param_2 == 0x150)" (( "(") (binary_expression "param_2 == 0x150" (identifier "param_2") (== "==") (number_literal "0x150")) () ")")) (compound_statement "{\n    uVar2 = 0;\n    uVar1 = 8;\n  }" ({ "{") (expression_statement "uVar2 = 0;" (assignment_expression "uVar2 = 0" (identifier "uVar2") (= "=") (number_literal "0")) (; ";")) (expression_statement "uVar1 = 8;" (assignment_expression "uVar1 = 8" (identifier "uVar1") (= "=") (number_literal "8")) (; ";")) (} "}")) (else_clause "else if (param_2 < 0x151) {\n    if (param_2 == 0x11f) {\n      uVar2 = 1;\n      uVar1 = 1;\n    }\n    else {\n      if (param_2 != 0x13c) {\nLAB_0017c381:\n                    \n        FUN_0007ac80("../../gold/script.cc",0xc4d,"script_add_data",param_2);\n      }\n      uVar2 = 1;\n      uVar1 = 4;\n    }\n  }\n  else if (param_2 == 0x154) {\n    uVar2 = 1;\n    uVar1 = 2;\n  }\n  else {\n    if (param_2 != 0x15b) goto LAB_0017c381;\n    uVar2 = 1;\n    uVar1 = 8;\n  }" (else "else") (if_statement "if (param_2 < 0x151) {\n    if (param_2 == 0x11f) {\n      uVar2 = 1;\n      uVar1 = 1;\n    }\n    else {\n      if (param_2 != 0x13c) {\nLAB_0017c381:\n                    \n        FUN_0007ac80("../../gold/script.cc",0xc4d,"script_add_data",param_2);\n      }\n      uVar2 = 1;\n      uVar1 = 4;\n    }\n  }\n  else if (param_2 == 0x154) {\n    uVar2 = 1;\n    uVar1 = 2;\n  }\n  else {\n    if (param_2 != 0x15b) goto LAB_0017c381;\n    uVar2 = 1;\n    uVar1 = 8;\n  }" (if "if") (parenthesized_expression "(param_2 < 0x151)" (( "(") (binary_expression "param_2 < 0x151" (identifier "param_2") (< "<") (number_literal "0x151")) () ")")) (compound_statement "{\n    if (param_2 == 0x11f) {\n      uVar2 = 1;\n      uVar1 = 1;\n    }\n    else {\n      if (param_2 != 0x13c) {\nLAB_0017c381:\n                    \n        FUN_0007ac80("../../gold/script.cc",0xc4d,"script_add_data",param_2);\n      }\n      uVar2 = 1;\n      uVar1 = 4;\n    }\n  }" ({ "{") (if_statement "if (param_2 == 0x11f) {\n      uVar2 = 1;\n      uVar1 = 1;\n    }\n    else {\n      if (param_2 != 0x13c) {\nLAB_0017c381:\n                    \n        FUN_0007ac80("../../gold/script.cc",0xc4d,"script_add_data",param_2);\n      }\n      uVar2 = 1;\n      uVar1 = 4;\n    }" (if "if") (parenthesized_expression "(param_2 == 0x11f)" (( "(") (binary_expression "param_2 == 0x11f" (identifier "param_2") (== "==") (number_literal "0x11f")) () ")")) (compound_statement "{\n      uVar2 = 1;\n      uVar1 = 1;\n    }" ({ "{") (expression_statement "uVar2 = 1;" (assignment_expression "uVar2 = 1" (identifier "uVar2") (= "=") (number_literal "1")) (; ";")) (expression_statement "uVar1 = 1;" (assignment_expression "uVar1 = 1" (identifier "uVar1") (= "=") (number_literal "1")) (; ";")) (} "}")) (else_clause "else {\n      if (param_2 != 0x13c) {\nLAB_0017c381:\n                    \n        FUN_0007ac80("../../gold/script.cc",0xc4d,"script_add_data",param_2);\n      }\n      uVar2 = 1;\n      uVar1 = 4;\n    }" (else "else") (compound_statement "{\n      if (param_2 != 0x13c) {\nLAB_0017c381:\n                    \n        FUN_0007ac80("../../gold/script.cc",0xc4d,"script_add_data",param_2);\n      }\n      uVar2 = 1;\n      uVar1 = 4;\n    }" ({ "{") (if_statement "if (param_2 != 0x13c) {\nLAB_0017c381:\n                    \n        FUN_0007ac80("../../gold/script.cc",0xc4d,"script_add_data",param_2);\n      }" (if "if") (parenthesized_expression "(param_2 != 0x13c)" (( "(") (binary_expression "param_2 != 0x13c" (identifier "param_2") (!= "!=") (number_literal "0x13c")) () ")")) (compound_statement "{\nLAB_0017c381:\n                    \n        FUN_0007ac80("../../gold/script.cc",0xc4d,"script_add_data",param_2);\n      }" ({ "{") (labeled_statement "LAB_0017c381:\n                    \n        FUN_0007ac80("../../gold/script.cc",0xc4d,"script_add_data",param_2);" (statement_identifier "LAB_0017c381") (: ":") (expression_statement "FUN_0007ac80("../../gold/script.cc",0xc4d,"script_add_data",param_2);" (call_expression "FUN_0007ac80("../../gold/script.cc",0xc4d,"script_add_data",param_2)" (identifier "FUN_0007ac80") (argument_list "("../../gold/script.cc",0xc4d,"script_add_data",param_2)" (( "(") (string_literal ""../../gold/script.cc"" (" """) (string_content "../../gold/script.cc") (" """)) (, ",") (number_literal "0xc4d") (, ",") (string_literal ""script_add_data"" (" """) (string_content "script_add_data") (" """)) (, ",") (identifier "param_2") () ")"))) (; ";"))) (} "}"))) (expression_statement "uVar2 = 1;" (assignment_expression "uVar2 = 1" (identifier "uVar2") (= "=") (number_literal "1")) (; ";")) (expression_statement "uVar1 = 4;" (assignment_expression "uVar1 = 4" (identifier "uVar1") (= "=") (number_literal "4")) (; ";")) (} "}")))) (} "}")) (else_clause "else if (param_2 == 0x154) {\n    uVar2 = 1;\n    uVar1 = 2;\n  }\n  else {\n    if (param_2 != 0x15b) goto LAB_0017c381;\n    uVar2 = 1;\n    uVar1 = 8;\n  }" (else "else") (if_statement "if (param_2 == 0x154) {\n    uVar2 = 1;\n    uVar1 = 2;\n  }\n  else {\n    if (param_2 != 0x15b) goto LAB_0017c381;\n    uVar2 = 1;\n    uVar1 = 8;\n  }" (if "if") (parenthesized_expression "(param_2 == 0x154)" (( "(") (binary_expression "param_2 == 0x154" (identifier "param_2") (== "==") (number_literal "0x154")) () ")")) (compound_statement "{\n    uVar2 = 1;\n    uVar1 = 2;\n  }" ({ "{") (expression_statement "uVar2 = 1;" (assignment_expression "uVar2 = 1" (identifier "uVar2") (= "=") (number_literal "1")) (; ";")) (expression_statement "uVar1 = 2;" (assignment_expression "uVar1 = 2" (identifier "uVar1") (= "=") (number_literal "2")) (; ";")) (} "}")) (else_clause "else {\n    if (param_2 != 0x15b) goto LAB_0017c381;\n    uVar2 = 1;\n    uVar1 = 8;\n  }" (else "else") (compound_statement "{\n    if (param_2 != 0x15b) goto LAB_0017c381;\n    uVar2 = 1;\n    uVar1 = 8;\n  }" ({ "{") (if_statement "if (param_2 != 0x15b) goto LAB_0017c381;" (if "if") (parenthesized_expression "(param_2 != 0x15b)" (( "(") (binary_expression "param_2 != 0x15b" (identifier "param_2") (!= "!=") (number_literal "0x15b")) () ")")) (goto_statement "goto LAB_0017c381;" (goto "goto") (statement_identifier "LAB_0017c381") (; ";"))) (expression_statement "uVar2 = 1;" (assignment_expression "uVar2 = 1" (identifier "uVar2") (= "=") (number_literal "1")) (; ";")) (expression_statement "uVar1 = 8;" (assignment_expression "uVar1 = 8" (identifier "uVar1") (= "=") (number_literal "8")) (; ";")) (} "}")))))))) (expression_statement "FUN_0016f3a0(*(int *)(param_1 + 0x20) + 0xac,uVar1,uVar2,param_3);" (call_expression "FUN_0016f3a0(*(int *)(param_1 + 0x20) + 0xac,uVar1,uVar2,param_3)" (identifier "FUN_0016f3a0") (argument_list "(*(int *)(param_1 + 0x20) + 0xac,uVar1,uVar2,param_3)" (( "(") (binary_expression "*(int *)(param_1 + 0x20) + 0xac" (pointer_expression "*(int *)(param_1 + 0x20)" (* "*") (cast_expression "(int *)(param_1 + 0x20)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x20)" (( "(") (binary_expression "param_1 + 0x20" (identifier "param_1") (+ "+") (number_literal "0x20")) () ")")))) (+ "+") (number_literal "0xac")) (, ",") (identifier "uVar1") (, ",") (identifier "uVar2") (, ",") (identifier "param_3") () ")"))) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}")))

/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */
/* WARNING: Unknown calling convention */

void function_1(void *closurev,int var_1,type_1 *val)

{
  int size;
  bool is_signed;
  
  if (var_1 == 0x150) {
    is_signed = false;
    size = 8;
  }
  else if (var_1 < 0x151) {
    if (var_1 == 0x11f) {
      is_signed = true;
      size = 1;
    }
    else {
      if (var_1 != 0x13c) {
LAB_0017c381:
                    /* WARNING: Subroutine does not return */
        gold::var_2("../../gold/script.cc",0xc4d,"script_add_data");
      }
      is_signed = true;
      size = 4;
    }
  }
  else if (var_1 == 0x154) {
    is_signed = true;
    size = 2;
  }
  else {
    if (var_1 != 0x15b) goto LAB_0017c381;
    is_signed = true;
    size = 8;
  }
  gold::Script_sections::var_3
            ((type_2 *)(*(int *)((int)closurev + 0x20) + 0xac),size,is_signed,val);
  return;
}


(translation_unit (function_definition type: (primitive_type) declarator: (function_declarator declarator: (identifier) parameters: (parameter_list (parameter_declaration type: (primitive_type) declarator: (identifier)) (parameter_declaration type: (primitive_type) declarator: (identifier)) (parameter_declaration type: (type_identifier) declarator: (identifier)))) body: (compound_statement (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal)))) alternative: (else_clause (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal)))) alternative: (else_clause (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (labeled_statement label: (statement_identifier) (expression_statement (call_expression function: (identifier) arguments: (argument_list (string_literal (string_content)) (number_literal) (string_literal (string_content)) (identifier))))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))))))) alternative: (else_clause (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal)))) alternative: (else_clause (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal)))))))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (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)) (identifier) (identifier) (identifier)))) (return_statement))))

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

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

{
  undefined4 uVar1;
  undefined4 uVar2;
  
  if (param_2 == 0x150) {
    uVar2 = 0;
    uVar1 = 8;
  }
  else if (param_2 < 0x151) {
    if (param_2 == 0x11f) {
      uVar2 = 1;
      uVar1 = 1;
    }
    else {
      if (param_2 != 0x13c) {
LAB_0017c381:
                    /* WARNING: Subroutine does not return */
        FUN_0007ac80("../../gold/script.cc",0xc4d,"script_add_data",param_2);
      }
      uVar2 = 1;
      uVar1 = 4;
    }
  }
  else if (param_2 == 0x154) {
    uVar2 = 1;
    uVar1 = 2;
  }
  else {
    if (param_2 != 0x15b) goto LAB_0017c381;
    uVar2 = 1;
    uVar1 = 8;
  }
  FUN_0016f3a0(*(int *)(param_1 + 0x20) + 0xac,uVar1,uVar2,param_3);
  return;
}

