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

void __regparm3 exp_print_token(token_code_type code,int infix_p)

{
  int iVar1;
  int iVar2;
  
  iVar1 = 0x102;
  iVar2 = 0;
  do {
    if (iVar1 == code) {
      if (infix_p != 0) {
        fputc(0x20,(FILE *)config.map_file);
      }
      fputs(*(char **)(table_10512 + iVar2 * 8 + 4),(FILE *)config.map_file);
LAB_0002d93f:
      if (infix_p == 0) {
        return;
      }
      fputc(0x20,(FILE *)config.map_file);
      return;
    }
    iVar2 = iVar2 + 1;
    if (iVar2 == 0x33) {
      if (infix_p != 0) {
        fputc(0x20,(FILE *)config.map_file);
      }
      if (code < 0x7f) {
        fputc(code,(FILE *)config.map_file);
      }
      else {
        fprintf((FILE *)config.map_file,"<code %d>",code);
      }
      goto LAB_0002d93f;
    }
    iVar1 = *(int *)(table_10512 + iVar2 * 8);
  } while( true );
}



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

void __regparm3 FUN_0002d8e0(int param_1,int param_2)

{
  int iVar1;
  int iVar2;
  
  iVar1 = 0x102;
  iVar2 = 0;
  do {
    if (iVar1 == param_1) {
      if (param_2 != 0) {
        fputc(0x20,DAT_00091d70);
      }
      fputs((&PTR_s_int_00090c24)[iVar2 * 2],DAT_00091d70);
LAB_0002d93f:
      if (param_2 == 0) {
        return;
      }
      fputc(0x20,DAT_00091d70);
      return;
    }
    iVar2 = iVar2 + 1;
    if (iVar2 == 0x33) {
      if (param_2 != 0) {
        fputc(0x20,DAT_00091d70);
      }
      if (param_1 < 0x7f) {
        fputc(param_1,DAT_00091d70);
      }
      else {
        fprintf(DAT_00091d70,"<code %d>",param_1);
      }
      goto LAB_0002d93f;
    }
    iVar1 = *(int *)(&DAT_00090c20 + iVar2 * 8);
  } while( true );
}


PUSH EBP
MOV EBP,EDX
PUSH EDI
MOV EDI,EAX
MOV EAX,0x102
PUSH ESI
XOR ESI,ESI
PUSH EBX
CALL 0x00015a80
ADD EBX,0x6370c
SUB ESP,0x1c
JMP 0x0002d913
ADD ESI,0x1
CMP ESI,0x33
JZ 0x0002d990
MOV EAX,dword ptr [EBX + ESI*0x8 + 0xfffffc20]
CMP EAX,EDI
JNZ 0x0002d900
LEA EDX,[EBX + 0xd20]
MOV EAX,dword ptr [EDX + 0x50]
TEST EBP,EBP
JNZ 0x0002d950
MOV dword ptr [ESP + 0xc],EDX
SUB ESP,0x8
PUSH EAX
PUSH dword ptr [EBX + ESI*0x8 + 0xfffffc24]
CALL 0x00014c00
ADD ESP,0x10
MOV EDX,dword ptr [ESP + 0xc]
TEST EBP,EBP
JNZ 0x0002d970
ADD ESP,0x1c
POP EBX
POP ESI
POP EDI
POP EBP
RET
MOV dword ptr [ESP + 0xc],EDX
SUB ESP,0x8
PUSH EAX
PUSH 0x20
CALL 0x00014970
MOV EDX,dword ptr [ESP + 0x1c]
ADD ESP,0x10
MOV EAX,dword ptr [EDX + 0x50]
JMP 0x0002d924
SUB ESP,0x8
PUSH dword ptr [EDX + 0x50]
PUSH 0x20
CALL 0x00014970
ADD ESP,0x10
ADD ESP,0x1c
POP EBX
POP ESI
POP EDI
POP EBP
RET
LEA EDX,[EBX + 0xd20]
MOV EAX,dword ptr [EDX + 0x50]
TEST EBP,EBP
JNZ 0x0002d9dd
MOV dword ptr [ESP + 0xc],EDX
CMP EDI,0x7e
JG 0x0002d9c0
SUB ESP,0x8
PUSH EAX
PUSH EDI
CALL 0x00014970
ADD ESP,0x10
MOV EDX,dword ptr [ESP + 0xc]
JMP 0x0002d93f
SUB ESP,0x4
LEA ECX,[EBX + 0xfffbd221]
PUSH EDI
PUSH ECX
PUSH EAX
CALL 0x00014760
ADD ESP,0x10
MOV EDX,dword ptr [ESP + 0xc]
JMP 0x0002d93f
MOV dword ptr [ESP + 0xc],EDX
SUB ESP,0x8
PUSH EAX
PUSH 0x20
CALL 0x00014970
MOV EDX,dword ptr [ESP + 0x1c]
ADD ESP,0x10
MOV EAX,dword ptr [EDX + 0x50]
JMP 0x0002d99d
(translation_unit "/* WARNING: Function: __i686.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n\nvoid __regparm3 FUN_0002d8e0(int param_1,int param_2)\n\n{\n  int iVar1;\n  int iVar2;\n  \n  iVar1 = 0x102;\n  iVar2 = 0;\n  do {\n    if (iVar1 == param_1) {\n      if (param_2 != 0) {\n        fputc(0x20,DAT_00091d70);\n      }\n      fputs((&PTR_s_int_00090c24)[iVar2 * 2],DAT_00091d70);\nLAB_0002d93f:\n      if (param_2 == 0) {\n        return;\n      }\n      fputc(0x20,DAT_00091d70);\n      return;\n    }\n    iVar2 = iVar2 + 1;\n    if (iVar2 == 0x33) {\n      if (param_2 != 0) {\n        fputc(0x20,DAT_00091d70);\n      }\n      if (param_1 < 0x7f) {\n        fputc(param_1,DAT_00091d70);\n      }\n      else {\n        fprintf(DAT_00091d70,"<code %d>",param_1);\n      }\n      goto LAB_0002d93f;\n    }\n    iVar1 = *(int *)(&DAT_00090c20 + iVar2 * 8);\n  } while( true );\n}\n\n" comment (function_definition "void __regparm3 FUN_0002d8e0(int param_1,int param_2)\n\n{\n  int iVar1;\n  int iVar2;\n  \n  iVar1 = 0x102;\n  iVar2 = 0;\n  do {\n    if (iVar1 == param_1) {\n      if (param_2 != 0) {\n        fputc(0x20,DAT_00091d70);\n      }\n      fputs((&PTR_s_int_00090c24)[iVar2 * 2],DAT_00091d70);\nLAB_0002d93f:\n      if (param_2 == 0) {\n        return;\n      }\n      fputc(0x20,DAT_00091d70);\n      return;\n    }\n    iVar2 = iVar2 + 1;\n    if (iVar2 == 0x33) {\n      if (param_2 != 0) {\n        fputc(0x20,DAT_00091d70);\n      }\n      if (param_1 < 0x7f) {\n        fputc(param_1,DAT_00091d70);\n      }\n      else {\n        fprintf(DAT_00091d70,"<code %d>",param_1);\n      }\n      goto LAB_0002d93f;\n    }\n    iVar1 = *(int *)(&DAT_00090c20 + iVar2 * 8);\n  } while( true );\n}" primitive_type (ERROR "__regparm3" identifier) (function_declarator "FUN_0002d8e0(int param_1,int param_2)" identifier (parameter_list "(int param_1,int param_2)" ( (parameter_declaration "int param_1" primitive_type identifier) , (parameter_declaration "int param_2" primitive_type identifier) ))) (compound_statement "{\n  int iVar1;\n  int iVar2;\n  \n  iVar1 = 0x102;\n  iVar2 = 0;\n  do {\n    if (iVar1 == param_1) {\n      if (param_2 != 0) {\n        fputc(0x20,DAT_00091d70);\n      }\n      fputs((&PTR_s_int_00090c24)[iVar2 * 2],DAT_00091d70);\nLAB_0002d93f:\n      if (param_2 == 0) {\n        return;\n      }\n      fputc(0x20,DAT_00091d70);\n      return;\n    }\n    iVar2 = iVar2 + 1;\n    if (iVar2 == 0x33) {\n      if (param_2 != 0) {\n        fputc(0x20,DAT_00091d70);\n      }\n      if (param_1 < 0x7f) {\n        fputc(param_1,DAT_00091d70);\n      }\n      else {\n        fprintf(DAT_00091d70,"<code %d>",param_1);\n      }\n      goto LAB_0002d93f;\n    }\n    iVar1 = *(int *)(&DAT_00090c20 + iVar2 * 8);\n  } while( true );\n}" { (declaration "int iVar1;" primitive_type identifier ;) (declaration "int iVar2;" primitive_type identifier ;) (expression_statement "iVar1 = 0x102;" (assignment_expression "iVar1 = 0x102" identifier = number_literal) ;) (expression_statement "iVar2 = 0;" (assignment_expression "iVar2 = 0" identifier = number_literal) ;) (do_statement "do {\n    if (iVar1 == param_1) {\n      if (param_2 != 0) {\n        fputc(0x20,DAT_00091d70);\n      }\n      fputs((&PTR_s_int_00090c24)[iVar2 * 2],DAT_00091d70);\nLAB_0002d93f:\n      if (param_2 == 0) {\n        return;\n      }\n      fputc(0x20,DAT_00091d70);\n      return;\n    }\n    iVar2 = iVar2 + 1;\n    if (iVar2 == 0x33) {\n      if (param_2 != 0) {\n        fputc(0x20,DAT_00091d70);\n      }\n      if (param_1 < 0x7f) {\n        fputc(param_1,DAT_00091d70);\n      }\n      else {\n        fprintf(DAT_00091d70,"<code %d>",param_1);\n      }\n      goto LAB_0002d93f;\n    }\n    iVar1 = *(int *)(&DAT_00090c20 + iVar2 * 8);\n  } while( true );" do (compound_statement "{\n    if (iVar1 == param_1) {\n      if (param_2 != 0) {\n        fputc(0x20,DAT_00091d70);\n      }\n      fputs((&PTR_s_int_00090c24)[iVar2 * 2],DAT_00091d70);\nLAB_0002d93f:\n      if (param_2 == 0) {\n        return;\n      }\n      fputc(0x20,DAT_00091d70);\n      return;\n    }\n    iVar2 = iVar2 + 1;\n    if (iVar2 == 0x33) {\n      if (param_2 != 0) {\n        fputc(0x20,DAT_00091d70);\n      }\n      if (param_1 < 0x7f) {\n        fputc(param_1,DAT_00091d70);\n      }\n      else {\n        fprintf(DAT_00091d70,"<code %d>",param_1);\n      }\n      goto LAB_0002d93f;\n    }\n    iVar1 = *(int *)(&DAT_00090c20 + iVar2 * 8);\n  }" { (if_statement "if (iVar1 == param_1) {\n      if (param_2 != 0) {\n        fputc(0x20,DAT_00091d70);\n      }\n      fputs((&PTR_s_int_00090c24)[iVar2 * 2],DAT_00091d70);\nLAB_0002d93f:\n      if (param_2 == 0) {\n        return;\n      }\n      fputc(0x20,DAT_00091d70);\n      return;\n    }" if (parenthesized_expression "(iVar1 == param_1)" ( (binary_expression "iVar1 == param_1" identifier == identifier) )) (compound_statement "{\n      if (param_2 != 0) {\n        fputc(0x20,DAT_00091d70);\n      }\n      fputs((&PTR_s_int_00090c24)[iVar2 * 2],DAT_00091d70);\nLAB_0002d93f:\n      if (param_2 == 0) {\n        return;\n      }\n      fputc(0x20,DAT_00091d70);\n      return;\n    }" { (if_statement "if (param_2 != 0) {\n        fputc(0x20,DAT_00091d70);\n      }" if (parenthesized_expression "(param_2 != 0)" ( (binary_expression "param_2 != 0" identifier != number_literal) )) (compound_statement "{\n        fputc(0x20,DAT_00091d70);\n      }" { (expression_statement "fputc(0x20,DAT_00091d70);" (call_expression "fputc(0x20,DAT_00091d70)" identifier (argument_list "(0x20,DAT_00091d70)" ( number_literal , identifier ))) ;) })) (expression_statement "fputs((&PTR_s_int_00090c24)[iVar2 * 2],DAT_00091d70);" (call_expression "fputs((&PTR_s_int_00090c24)[iVar2 * 2],DAT_00091d70)" identifier (argument_list "((&PTR_s_int_00090c24)[iVar2 * 2],DAT_00091d70)" ( (subscript_expression "(&PTR_s_int_00090c24)[iVar2 * 2]" (parenthesized_expression "(&PTR_s_int_00090c24)" ( (pointer_expression "&PTR_s_int_00090c24" & identifier) )) [ (binary_expression "iVar2 * 2" identifier * number_literal) ]) , identifier ))) ;) (labeled_statement "LAB_0002d93f:\n      if (param_2 == 0) {\n        return;\n      }" statement_identifier : (if_statement "if (param_2 == 0) {\n        return;\n      }" if (parenthesized_expression "(param_2 == 0)" ( (binary_expression "param_2 == 0" identifier == number_literal) )) (compound_statement "{\n        return;\n      }" { (return_statement "return;" return ;) }))) (expression_statement "fputc(0x20,DAT_00091d70);" (call_expression "fputc(0x20,DAT_00091d70)" identifier (argument_list "(0x20,DAT_00091d70)" ( number_literal , identifier ))) ;) (return_statement "return;" return ;) })) (expression_statement "iVar2 = iVar2 + 1;" (assignment_expression "iVar2 = iVar2 + 1" identifier = (binary_expression "iVar2 + 1" identifier + number_literal)) ;) (if_statement "if (iVar2 == 0x33) {\n      if (param_2 != 0) {\n        fputc(0x20,DAT_00091d70);\n      }\n      if (param_1 < 0x7f) {\n        fputc(param_1,DAT_00091d70);\n      }\n      else {\n        fprintf(DAT_00091d70,"<code %d>",param_1);\n      }\n      goto LAB_0002d93f;\n    }" if (parenthesized_expression "(iVar2 == 0x33)" ( (binary_expression "iVar2 == 0x33" identifier == number_literal) )) (compound_statement "{\n      if (param_2 != 0) {\n        fputc(0x20,DAT_00091d70);\n      }\n      if (param_1 < 0x7f) {\n        fputc(param_1,DAT_00091d70);\n      }\n      else {\n        fprintf(DAT_00091d70,"<code %d>",param_1);\n      }\n      goto LAB_0002d93f;\n    }" { (if_statement "if (param_2 != 0) {\n        fputc(0x20,DAT_00091d70);\n      }" if (parenthesized_expression "(param_2 != 0)" ( (binary_expression "param_2 != 0" identifier != number_literal) )) (compound_statement "{\n        fputc(0x20,DAT_00091d70);\n      }" { (expression_statement "fputc(0x20,DAT_00091d70);" (call_expression "fputc(0x20,DAT_00091d70)" identifier (argument_list "(0x20,DAT_00091d70)" ( number_literal , identifier ))) ;) })) (if_statement "if (param_1 < 0x7f) {\n        fputc(param_1,DAT_00091d70);\n      }\n      else {\n        fprintf(DAT_00091d70,"<code %d>",param_1);\n      }" if (parenthesized_expression "(param_1 < 0x7f)" ( (binary_expression "param_1 < 0x7f" identifier < number_literal) )) (compound_statement "{\n        fputc(param_1,DAT_00091d70);\n      }" { (expression_statement "fputc(param_1,DAT_00091d70);" (call_expression "fputc(param_1,DAT_00091d70)" identifier (argument_list "(param_1,DAT_00091d70)" ( identifier , identifier ))) ;) }) (else_clause "else {\n        fprintf(DAT_00091d70,"<code %d>",param_1);\n      }" else (compound_statement "{\n        fprintf(DAT_00091d70,"<code %d>",param_1);\n      }" { (expression_statement "fprintf(DAT_00091d70,"<code %d>",param_1);" (call_expression "fprintf(DAT_00091d70,"<code %d>",param_1)" identifier (argument_list "(DAT_00091d70,"<code %d>",param_1)" ( identifier , (string_literal ""<code %d>"" " string_content ") , identifier ))) ;) }))) (goto_statement "goto LAB_0002d93f;" goto statement_identifier ;) })) (expression_statement "iVar1 = *(int *)(&DAT_00090c20 + iVar2 * 8);" (assignment_expression "iVar1 = *(int *)(&DAT_00090c20 + iVar2 * 8)" identifier = (pointer_expression "*(int *)(&DAT_00090c20 + iVar2 * 8)" * (cast_expression "(int *)(&DAT_00090c20 + iVar2 * 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00090c20 + iVar2 * 8)" ( (binary_expression "&DAT_00090c20 + iVar2 * 8" (pointer_expression "&DAT_00090c20" & identifier) + (binary_expression "iVar2 * 8" identifier * number_literal)) ))))) ;) }) while (parenthesized_expression "( true )" ( true )) ;) })))
(translation_unit "/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n\nvoid __regparm3 exp_print_token(token_code_type code,int infix_p)\n\n{\n  int iVar1;\n  int iVar2;\n  \n  iVar1 = 0x102;\n  iVar2 = 0;\n  do {\n    if (iVar1 == code) {\n      if (infix_p != 0) {\n        fputc(0x20,(FILE *)config.map_file);\n      }\n      fputs(*(char **)(table_10512 + iVar2 * 8 + 4),(FILE *)config.map_file);\nLAB_0002d93f:\n      if (infix_p == 0) {\n        return;\n      }\n      fputc(0x20,(FILE *)config.map_file);\n      return;\n    }\n    iVar2 = iVar2 + 1;\n    if (iVar2 == 0x33) {\n      if (infix_p != 0) {\n        fputc(0x20,(FILE *)config.map_file);\n      }\n      if (code < 0x7f) {\n        fputc(code,(FILE *)config.map_file);\n      }\n      else {\n        fprintf((FILE *)config.map_file,"<code %d>",code);\n      }\n      goto LAB_0002d93f;\n    }\n    iVar1 = *(int *)(table_10512 + iVar2 * 8);\n  } while( true );\n}\n\n" comment (function_definition "void __regparm3 exp_print_token(token_code_type code,int infix_p)\n\n{\n  int iVar1;\n  int iVar2;\n  \n  iVar1 = 0x102;\n  iVar2 = 0;\n  do {\n    if (iVar1 == code) {\n      if (infix_p != 0) {\n        fputc(0x20,(FILE *)config.map_file);\n      }\n      fputs(*(char **)(table_10512 + iVar2 * 8 + 4),(FILE *)config.map_file);\nLAB_0002d93f:\n      if (infix_p == 0) {\n        return;\n      }\n      fputc(0x20,(FILE *)config.map_file);\n      return;\n    }\n    iVar2 = iVar2 + 1;\n    if (iVar2 == 0x33) {\n      if (infix_p != 0) {\n        fputc(0x20,(FILE *)config.map_file);\n      }\n      if (code < 0x7f) {\n        fputc(code,(FILE *)config.map_file);\n      }\n      else {\n        fprintf((FILE *)config.map_file,"<code %d>",code);\n      }\n      goto LAB_0002d93f;\n    }\n    iVar1 = *(int *)(table_10512 + iVar2 * 8);\n  } while( true );\n}" primitive_type (ERROR "__regparm3" identifier) (function_declarator "exp_print_token(token_code_type code,int infix_p)" identifier (parameter_list "(token_code_type code,int infix_p)" ( (parameter_declaration "token_code_type code" type_identifier identifier) , (parameter_declaration "int infix_p" primitive_type identifier) ))) (compound_statement "{\n  int iVar1;\n  int iVar2;\n  \n  iVar1 = 0x102;\n  iVar2 = 0;\n  do {\n    if (iVar1 == code) {\n      if (infix_p != 0) {\n        fputc(0x20,(FILE *)config.map_file);\n      }\n      fputs(*(char **)(table_10512 + iVar2 * 8 + 4),(FILE *)config.map_file);\nLAB_0002d93f:\n      if (infix_p == 0) {\n        return;\n      }\n      fputc(0x20,(FILE *)config.map_file);\n      return;\n    }\n    iVar2 = iVar2 + 1;\n    if (iVar2 == 0x33) {\n      if (infix_p != 0) {\n        fputc(0x20,(FILE *)config.map_file);\n      }\n      if (code < 0x7f) {\n        fputc(code,(FILE *)config.map_file);\n      }\n      else {\n        fprintf((FILE *)config.map_file,"<code %d>",code);\n      }\n      goto LAB_0002d93f;\n    }\n    iVar1 = *(int *)(table_10512 + iVar2 * 8);\n  } while( true );\n}" { (declaration "int iVar1;" primitive_type identifier ;) (declaration "int iVar2;" primitive_type identifier ;) (expression_statement "iVar1 = 0x102;" (assignment_expression "iVar1 = 0x102" identifier = number_literal) ;) (expression_statement "iVar2 = 0;" (assignment_expression "iVar2 = 0" identifier = number_literal) ;) (do_statement "do {\n    if (iVar1 == code) {\n      if (infix_p != 0) {\n        fputc(0x20,(FILE *)config.map_file);\n      }\n      fputs(*(char **)(table_10512 + iVar2 * 8 + 4),(FILE *)config.map_file);\nLAB_0002d93f:\n      if (infix_p == 0) {\n        return;\n      }\n      fputc(0x20,(FILE *)config.map_file);\n      return;\n    }\n    iVar2 = iVar2 + 1;\n    if (iVar2 == 0x33) {\n      if (infix_p != 0) {\n        fputc(0x20,(FILE *)config.map_file);\n      }\n      if (code < 0x7f) {\n        fputc(code,(FILE *)config.map_file);\n      }\n      else {\n        fprintf((FILE *)config.map_file,"<code %d>",code);\n      }\n      goto LAB_0002d93f;\n    }\n    iVar1 = *(int *)(table_10512 + iVar2 * 8);\n  } while( true );" do (compound_statement "{\n    if (iVar1 == code) {\n      if (infix_p != 0) {\n        fputc(0x20,(FILE *)config.map_file);\n      }\n      fputs(*(char **)(table_10512 + iVar2 * 8 + 4),(FILE *)config.map_file);\nLAB_0002d93f:\n      if (infix_p == 0) {\n        return;\n      }\n      fputc(0x20,(FILE *)config.map_file);\n      return;\n    }\n    iVar2 = iVar2 + 1;\n    if (iVar2 == 0x33) {\n      if (infix_p != 0) {\n        fputc(0x20,(FILE *)config.map_file);\n      }\n      if (code < 0x7f) {\n        fputc(code,(FILE *)config.map_file);\n      }\n      else {\n        fprintf((FILE *)config.map_file,"<code %d>",code);\n      }\n      goto LAB_0002d93f;\n    }\n    iVar1 = *(int *)(table_10512 + iVar2 * 8);\n  }" { (if_statement "if (iVar1 == code) {\n      if (infix_p != 0) {\n        fputc(0x20,(FILE *)config.map_file);\n      }\n      fputs(*(char **)(table_10512 + iVar2 * 8 + 4),(FILE *)config.map_file);\nLAB_0002d93f:\n      if (infix_p == 0) {\n        return;\n      }\n      fputc(0x20,(FILE *)config.map_file);\n      return;\n    }" if (parenthesized_expression "(iVar1 == code)" ( (binary_expression "iVar1 == code" identifier == identifier) )) (compound_statement "{\n      if (infix_p != 0) {\n        fputc(0x20,(FILE *)config.map_file);\n      }\n      fputs(*(char **)(table_10512 + iVar2 * 8 + 4),(FILE *)config.map_file);\nLAB_0002d93f:\n      if (infix_p == 0) {\n        return;\n      }\n      fputc(0x20,(FILE *)config.map_file);\n      return;\n    }" { (if_statement "if (infix_p != 0) {\n        fputc(0x20,(FILE *)config.map_file);\n      }" if (parenthesized_expression "(infix_p != 0)" ( (binary_expression "infix_p != 0" identifier != number_literal) )) (compound_statement "{\n        fputc(0x20,(FILE *)config.map_file);\n      }" { (expression_statement "fputc(0x20,(FILE *)config.map_file);" (call_expression "fputc(0x20,(FILE *)config.map_file)" identifier (argument_list "(0x20,(FILE *)config.map_file)" ( number_literal , (cast_expression "(FILE *)config.map_file" ( (type_descriptor "FILE *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "config.map_file" identifier . field_identifier)) ))) ;) })) (expression_statement "fputs(*(char **)(table_10512 + iVar2 * 8 + 4),(FILE *)config.map_file);" (call_expression "fputs(*(char **)(table_10512 + iVar2 * 8 + 4),(FILE *)config.map_file)" identifier (argument_list "(*(char **)(table_10512 + iVar2 * 8 + 4),(FILE *)config.map_file)" ( (pointer_expression "*(char **)(table_10512 + iVar2 * 8 + 4)" * (cast_expression "(char **)(table_10512 + iVar2 * 8 + 4)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(table_10512 + iVar2 * 8 + 4)" ( (binary_expression "table_10512 + iVar2 * 8 + 4" (binary_expression "table_10512 + iVar2 * 8" identifier + (binary_expression "iVar2 * 8" identifier * number_literal)) + number_literal) )))) , (cast_expression "(FILE *)config.map_file" ( (type_descriptor "FILE *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "config.map_file" identifier . field_identifier)) ))) ;) (labeled_statement "LAB_0002d93f:\n      if (infix_p == 0) {\n        return;\n      }" statement_identifier : (if_statement "if (infix_p == 0) {\n        return;\n      }" if (parenthesized_expression "(infix_p == 0)" ( (binary_expression "infix_p == 0" identifier == number_literal) )) (compound_statement "{\n        return;\n      }" { (return_statement "return;" return ;) }))) (expression_statement "fputc(0x20,(FILE *)config.map_file);" (call_expression "fputc(0x20,(FILE *)config.map_file)" identifier (argument_list "(0x20,(FILE *)config.map_file)" ( number_literal , (cast_expression "(FILE *)config.map_file" ( (type_descriptor "FILE *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "config.map_file" identifier . field_identifier)) ))) ;) (return_statement "return;" return ;) })) (expression_statement "iVar2 = iVar2 + 1;" (assignment_expression "iVar2 = iVar2 + 1" identifier = (binary_expression "iVar2 + 1" identifier + number_literal)) ;) (if_statement "if (iVar2 == 0x33) {\n      if (infix_p != 0) {\n        fputc(0x20,(FILE *)config.map_file);\n      }\n      if (code < 0x7f) {\n        fputc(code,(FILE *)config.map_file);\n      }\n      else {\n        fprintf((FILE *)config.map_file,"<code %d>",code);\n      }\n      goto LAB_0002d93f;\n    }" if (parenthesized_expression "(iVar2 == 0x33)" ( (binary_expression "iVar2 == 0x33" identifier == number_literal) )) (compound_statement "{\n      if (infix_p != 0) {\n        fputc(0x20,(FILE *)config.map_file);\n      }\n      if (code < 0x7f) {\n        fputc(code,(FILE *)config.map_file);\n      }\n      else {\n        fprintf((FILE *)config.map_file,"<code %d>",code);\n      }\n      goto LAB_0002d93f;\n    }" { (if_statement "if (infix_p != 0) {\n        fputc(0x20,(FILE *)config.map_file);\n      }" if (parenthesized_expression "(infix_p != 0)" ( (binary_expression "infix_p != 0" identifier != number_literal) )) (compound_statement "{\n        fputc(0x20,(FILE *)config.map_file);\n      }" { (expression_statement "fputc(0x20,(FILE *)config.map_file);" (call_expression "fputc(0x20,(FILE *)config.map_file)" identifier (argument_list "(0x20,(FILE *)config.map_file)" ( number_literal , (cast_expression "(FILE *)config.map_file" ( (type_descriptor "FILE *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "config.map_file" identifier . field_identifier)) ))) ;) })) (if_statement "if (code < 0x7f) {\n        fputc(code,(FILE *)config.map_file);\n      }\n      else {\n        fprintf((FILE *)config.map_file,"<code %d>",code);\n      }" if (parenthesized_expression "(code < 0x7f)" ( (binary_expression "code < 0x7f" identifier < number_literal) )) (compound_statement "{\n        fputc(code,(FILE *)config.map_file);\n      }" { (expression_statement "fputc(code,(FILE *)config.map_file);" (call_expression "fputc(code,(FILE *)config.map_file)" identifier (argument_list "(code,(FILE *)config.map_file)" ( identifier , (cast_expression "(FILE *)config.map_file" ( (type_descriptor "FILE *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "config.map_file" identifier . field_identifier)) ))) ;) }) (else_clause "else {\n        fprintf((FILE *)config.map_file,"<code %d>",code);\n      }" else (compound_statement "{\n        fprintf((FILE *)config.map_file,"<code %d>",code);\n      }" { (expression_statement "fprintf((FILE *)config.map_file,"<code %d>",code);" (call_expression "fprintf((FILE *)config.map_file,"<code %d>",code)" identifier (argument_list "((FILE *)config.map_file,"<code %d>",code)" ( (cast_expression "(FILE *)config.map_file" ( (type_descriptor "FILE *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "config.map_file" identifier . field_identifier)) , (string_literal ""<code %d>"" " string_content ") , identifier ))) ;) }))) (goto_statement "goto LAB_0002d93f;" goto statement_identifier ;) })) (expression_statement "iVar1 = *(int *)(table_10512 + iVar2 * 8);" (assignment_expression "iVar1 = *(int *)(table_10512 + iVar2 * 8)" identifier = (pointer_expression "*(int *)(table_10512 + iVar2 * 8)" * (cast_expression "(int *)(table_10512 + iVar2 * 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(table_10512 + iVar2 * 8)" ( (binary_expression "table_10512 + iVar2 * 8" identifier + (binary_expression "iVar2 * 8" identifier * number_literal)) ))))) ;) }) while (parenthesized_expression "( true )" ( true )) ;) })))
(translation_unit "void __regparm3 FUN_0002d8e0(int param_1,int param_2)\n\n{\n  int iVar1;\n  int iVar2;\n  \n  iVar1 = 0x102;\n  iVar2 = 0;\n  do {\n    if (iVar1 == param_1) {\n      if (param_2 != 0) {\n        fputc(0x20,DAT_00091d70);\n      }\n      fputs((&PTR_s_int_00090c24)[iVar2 * 2],DAT_00091d70);\nLAB_0002d93f:\n      if (param_2 == 0) {\n        return;\n      }\n      fputc(0x20,DAT_00091d70);\n      return;\n    }\n    iVar2 = iVar2 + 1;\n    if (iVar2 == 0x33) {\n      if (param_2 != 0) {\n        fputc(0x20,DAT_00091d70);\n      }\n      if (param_1 < 0x7f) {\n        fputc(param_1,DAT_00091d70);\n      }\n      else {\n        fprintf(DAT_00091d70,"<code %d>",param_1);\n      }\n      goto LAB_0002d93f;\n    }\n    iVar1 = *(int *)(&DAT_00090c20 + iVar2 * 8);\n  } while( true );\n}\n\n" (function_definition "void __regparm3 FUN_0002d8e0(int param_1,int param_2)\n\n{\n  int iVar1;\n  int iVar2;\n  \n  iVar1 = 0x102;\n  iVar2 = 0;\n  do {\n    if (iVar1 == param_1) {\n      if (param_2 != 0) {\n        fputc(0x20,DAT_00091d70);\n      }\n      fputs((&PTR_s_int_00090c24)[iVar2 * 2],DAT_00091d70);\nLAB_0002d93f:\n      if (param_2 == 0) {\n        return;\n      }\n      fputc(0x20,DAT_00091d70);\n      return;\n    }\n    iVar2 = iVar2 + 1;\n    if (iVar2 == 0x33) {\n      if (param_2 != 0) {\n        fputc(0x20,DAT_00091d70);\n      }\n      if (param_1 < 0x7f) {\n        fputc(param_1,DAT_00091d70);\n      }\n      else {\n        fprintf(DAT_00091d70,"<code %d>",param_1);\n      }\n      goto LAB_0002d93f;\n    }\n    iVar1 = *(int *)(&DAT_00090c20 + iVar2 * 8);\n  } while( true );\n}" primitive_type (ERROR "__regparm3" identifier) (function_declarator "FUN_0002d8e0(int param_1,int param_2)" identifier (parameter_list "(int param_1,int param_2)" ( (parameter_declaration "int param_1" primitive_type identifier) , (parameter_declaration "int param_2" primitive_type identifier) ))) (compound_statement "{\n  int iVar1;\n  int iVar2;\n  \n  iVar1 = 0x102;\n  iVar2 = 0;\n  do {\n    if (iVar1 == param_1) {\n      if (param_2 != 0) {\n        fputc(0x20,DAT_00091d70);\n      }\n      fputs((&PTR_s_int_00090c24)[iVar2 * 2],DAT_00091d70);\nLAB_0002d93f:\n      if (param_2 == 0) {\n        return;\n      }\n      fputc(0x20,DAT_00091d70);\n      return;\n    }\n    iVar2 = iVar2 + 1;\n    if (iVar2 == 0x33) {\n      if (param_2 != 0) {\n        fputc(0x20,DAT_00091d70);\n      }\n      if (param_1 < 0x7f) {\n        fputc(param_1,DAT_00091d70);\n      }\n      else {\n        fprintf(DAT_00091d70,"<code %d>",param_1);\n      }\n      goto LAB_0002d93f;\n    }\n    iVar1 = *(int *)(&DAT_00090c20 + iVar2 * 8);\n  } while( true );\n}" { (declaration "int iVar1;" primitive_type identifier ;) (declaration "int iVar2;" primitive_type identifier ;) (expression_statement "iVar1 = 0x102;" (assignment_expression "iVar1 = 0x102" identifier = number_literal) ;) (expression_statement "iVar2 = 0;" (assignment_expression "iVar2 = 0" identifier = number_literal) ;) (do_statement "do {\n    if (iVar1 == param_1) {\n      if (param_2 != 0) {\n        fputc(0x20,DAT_00091d70);\n      }\n      fputs((&PTR_s_int_00090c24)[iVar2 * 2],DAT_00091d70);\nLAB_0002d93f:\n      if (param_2 == 0) {\n        return;\n      }\n      fputc(0x20,DAT_00091d70);\n      return;\n    }\n    iVar2 = iVar2 + 1;\n    if (iVar2 == 0x33) {\n      if (param_2 != 0) {\n        fputc(0x20,DAT_00091d70);\n      }\n      if (param_1 < 0x7f) {\n        fputc(param_1,DAT_00091d70);\n      }\n      else {\n        fprintf(DAT_00091d70,"<code %d>",param_1);\n      }\n      goto LAB_0002d93f;\n    }\n    iVar1 = *(int *)(&DAT_00090c20 + iVar2 * 8);\n  } while( true );" do (compound_statement "{\n    if (iVar1 == param_1) {\n      if (param_2 != 0) {\n        fputc(0x20,DAT_00091d70);\n      }\n      fputs((&PTR_s_int_00090c24)[iVar2 * 2],DAT_00091d70);\nLAB_0002d93f:\n      if (param_2 == 0) {\n        return;\n      }\n      fputc(0x20,DAT_00091d70);\n      return;\n    }\n    iVar2 = iVar2 + 1;\n    if (iVar2 == 0x33) {\n      if (param_2 != 0) {\n        fputc(0x20,DAT_00091d70);\n      }\n      if (param_1 < 0x7f) {\n        fputc(param_1,DAT_00091d70);\n      }\n      else {\n        fprintf(DAT_00091d70,"<code %d>",param_1);\n      }\n      goto LAB_0002d93f;\n    }\n    iVar1 = *(int *)(&DAT_00090c20 + iVar2 * 8);\n  }" { (if_statement "if (iVar1 == param_1) {\n      if (param_2 != 0) {\n        fputc(0x20,DAT_00091d70);\n      }\n      fputs((&PTR_s_int_00090c24)[iVar2 * 2],DAT_00091d70);\nLAB_0002d93f:\n      if (param_2 == 0) {\n        return;\n      }\n      fputc(0x20,DAT_00091d70);\n      return;\n    }" if (parenthesized_expression "(iVar1 == param_1)" ( (binary_expression "iVar1 == param_1" identifier == identifier) )) (compound_statement "{\n      if (param_2 != 0) {\n        fputc(0x20,DAT_00091d70);\n      }\n      fputs((&PTR_s_int_00090c24)[iVar2 * 2],DAT_00091d70);\nLAB_0002d93f:\n      if (param_2 == 0) {\n        return;\n      }\n      fputc(0x20,DAT_00091d70);\n      return;\n    }" { (if_statement "if (param_2 != 0) {\n        fputc(0x20,DAT_00091d70);\n      }" if (parenthesized_expression "(param_2 != 0)" ( (binary_expression "param_2 != 0" identifier != number_literal) )) (compound_statement "{\n        fputc(0x20,DAT_00091d70);\n      }" { (expression_statement "fputc(0x20,DAT_00091d70);" (call_expression "fputc(0x20,DAT_00091d70)" identifier (argument_list "(0x20,DAT_00091d70)" ( number_literal , identifier ))) ;) })) (expression_statement "fputs((&PTR_s_int_00090c24)[iVar2 * 2],DAT_00091d70);" (call_expression "fputs((&PTR_s_int_00090c24)[iVar2 * 2],DAT_00091d70)" identifier (argument_list "((&PTR_s_int_00090c24)[iVar2 * 2],DAT_00091d70)" ( (subscript_expression "(&PTR_s_int_00090c24)[iVar2 * 2]" (parenthesized_expression "(&PTR_s_int_00090c24)" ( (pointer_expression "&PTR_s_int_00090c24" & identifier) )) [ (binary_expression "iVar2 * 2" identifier * number_literal) ]) , identifier ))) ;) (labeled_statement "LAB_0002d93f:\n      if (param_2 == 0) {\n        return;\n      }" statement_identifier : (if_statement "if (param_2 == 0) {\n        return;\n      }" if (parenthesized_expression "(param_2 == 0)" ( (binary_expression "param_2 == 0" identifier == number_literal) )) (compound_statement "{\n        return;\n      }" { (return_statement "return;" return ;) }))) (expression_statement "fputc(0x20,DAT_00091d70);" (call_expression "fputc(0x20,DAT_00091d70)" identifier (argument_list "(0x20,DAT_00091d70)" ( number_literal , identifier ))) ;) (return_statement "return;" return ;) })) (expression_statement "iVar2 = iVar2 + 1;" (assignment_expression "iVar2 = iVar2 + 1" identifier = (binary_expression "iVar2 + 1" identifier + number_literal)) ;) (if_statement "if (iVar2 == 0x33) {\n      if (param_2 != 0) {\n        fputc(0x20,DAT_00091d70);\n      }\n      if (param_1 < 0x7f) {\n        fputc(param_1,DAT_00091d70);\n      }\n      else {\n        fprintf(DAT_00091d70,"<code %d>",param_1);\n      }\n      goto LAB_0002d93f;\n    }" if (parenthesized_expression "(iVar2 == 0x33)" ( (binary_expression "iVar2 == 0x33" identifier == number_literal) )) (compound_statement "{\n      if (param_2 != 0) {\n        fputc(0x20,DAT_00091d70);\n      }\n      if (param_1 < 0x7f) {\n        fputc(param_1,DAT_00091d70);\n      }\n      else {\n        fprintf(DAT_00091d70,"<code %d>",param_1);\n      }\n      goto LAB_0002d93f;\n    }" { (if_statement "if (param_2 != 0) {\n        fputc(0x20,DAT_00091d70);\n      }" if (parenthesized_expression "(param_2 != 0)" ( (binary_expression "param_2 != 0" identifier != number_literal) )) (compound_statement "{\n        fputc(0x20,DAT_00091d70);\n      }" { (expression_statement "fputc(0x20,DAT_00091d70);" (call_expression "fputc(0x20,DAT_00091d70)" identifier (argument_list "(0x20,DAT_00091d70)" ( number_literal , identifier ))) ;) })) (if_statement "if (param_1 < 0x7f) {\n        fputc(param_1,DAT_00091d70);\n      }\n      else {\n        fprintf(DAT_00091d70,"<code %d>",param_1);\n      }" if (parenthesized_expression "(param_1 < 0x7f)" ( (binary_expression "param_1 < 0x7f" identifier < number_literal) )) (compound_statement "{\n        fputc(param_1,DAT_00091d70);\n      }" { (expression_statement "fputc(param_1,DAT_00091d70);" (call_expression "fputc(param_1,DAT_00091d70)" identifier (argument_list "(param_1,DAT_00091d70)" ( identifier , identifier ))) ;) }) (else_clause "else {\n        fprintf(DAT_00091d70,"<code %d>",param_1);\n      }" else (compound_statement "{\n        fprintf(DAT_00091d70,"<code %d>",param_1);\n      }" { (expression_statement "fprintf(DAT_00091d70,"<code %d>",param_1);" (call_expression "fprintf(DAT_00091d70,"<code %d>",param_1)" identifier (argument_list "(DAT_00091d70,"<code %d>",param_1)" ( identifier , (string_literal ""<code %d>"" " string_content ") , identifier ))) ;) }))) (goto_statement "goto LAB_0002d93f;" goto statement_identifier ;) })) (expression_statement "iVar1 = *(int *)(&DAT_00090c20 + iVar2 * 8);" (assignment_expression "iVar1 = *(int *)(&DAT_00090c20 + iVar2 * 8)" identifier = (pointer_expression "*(int *)(&DAT_00090c20 + iVar2 * 8)" * (cast_expression "(int *)(&DAT_00090c20 + iVar2 * 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00090c20 + iVar2 * 8)" ( (binary_expression "&DAT_00090c20 + iVar2 * 8" (pointer_expression "&DAT_00090c20" & identifier) + (binary_expression "iVar2 * 8" identifier * number_literal)) ))))) ;) }) while (parenthesized_expression "( true )" ( true )) ;) })))
(translation_unit (function_definition TYPE (ERROR IDENT) (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) ))) (compound_statement { (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == IDENT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( LIT , IDENT ))) ;) })) (expression_statement (call_expression IDENT (argument_list ( (subscript_expression (parenthesized_expression ( (pointer_expression & IDENT) )) [ (binary_expression IDENT * LIT) ]) , IDENT ))) ;) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (return_statement return ;) }))) (expression_statement (call_expression IDENT (argument_list ( LIT , IDENT ))) ;) (return_statement return ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( LIT , IDENT ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) }) (else_clause else (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT , (string_literal " string_content ") , IDENT ))) ;) }))) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression & IDENT) + (binary_expression IDENT * LIT)) ))))) ;) }) while (parenthesized_expression ( BOOL )) ;) })))
(function_definition "void __regparm3 FUN_0002d8e0(int param_1,int param_2)\n\n{\n  int iVar1;\n  int iVar2;\n  \n  iVar1 = 0x102;\n  iVar2 = 0;\n  do {\n    if (iVar1 == param_1) {\n      if (param_2 != 0) {\n        fputc(0x20,DAT_00091d70);\n      }\n      fputs((&PTR_s_int_00090c24)[iVar2 * 2],DAT_00091d70);\nLAB_0002d93f:\n      if (param_2 == 0) {\n        return;\n      }\n      fputc(0x20,DAT_00091d70);\n      return;\n    }\n    iVar2 = iVar2 + 1;\n    if (iVar2 == 0x33) {\n      if (param_2 != 0) {\n        fputc(0x20,DAT_00091d70);\n      }\n      if (param_1 < 0x7f) {\n        fputc(param_1,DAT_00091d70);\n      }\n      else {\n        fprintf(DAT_00091d70,"<code %d>",param_1);\n      }\n      goto LAB_0002d93f;\n    }\n    iVar1 = *(int *)(&DAT_00090c20 + iVar2 * 8);\n  } while( true );\n}" (primitive_type "void") (ERROR "__regparm3" (identifier "__regparm3")) (function_declarator "FUN_0002d8e0(int param_1,int param_2)" (identifier "FUN_0002d8e0") (parameter_list "(int param_1,int param_2)" (( "(") (parameter_declaration "int param_1" (primitive_type "int") (identifier "param_1")) (, ",") (parameter_declaration "int param_2" (primitive_type "int") (identifier "param_2")) () ")"))) (compound_statement "{\n  int iVar1;\n  int iVar2;\n  \n  iVar1 = 0x102;\n  iVar2 = 0;\n  do {\n    if (iVar1 == param_1) {\n      if (param_2 != 0) {\n        fputc(0x20,DAT_00091d70);\n      }\n      fputs((&PTR_s_int_00090c24)[iVar2 * 2],DAT_00091d70);\nLAB_0002d93f:\n      if (param_2 == 0) {\n        return;\n      }\n      fputc(0x20,DAT_00091d70);\n      return;\n    }\n    iVar2 = iVar2 + 1;\n    if (iVar2 == 0x33) {\n      if (param_2 != 0) {\n        fputc(0x20,DAT_00091d70);\n      }\n      if (param_1 < 0x7f) {\n        fputc(param_1,DAT_00091d70);\n      }\n      else {\n        fprintf(DAT_00091d70,"<code %d>",param_1);\n      }\n      goto LAB_0002d93f;\n    }\n    iVar1 = *(int *)(&DAT_00090c20 + iVar2 * 8);\n  } while( true );\n}" ({ "{") (declaration "int iVar1;" (primitive_type "int") (identifier "iVar1") (; ";")) (declaration "int iVar2;" (primitive_type "int") (identifier "iVar2") (; ";")) (expression_statement "iVar1 = 0x102;" (assignment_expression "iVar1 = 0x102" (identifier "iVar1") (= "=") (number_literal "0x102")) (; ";")) (expression_statement "iVar2 = 0;" (assignment_expression "iVar2 = 0" (identifier "iVar2") (= "=") (number_literal "0")) (; ";")) (do_statement "do {\n    if (iVar1 == param_1) {\n      if (param_2 != 0) {\n        fputc(0x20,DAT_00091d70);\n      }\n      fputs((&PTR_s_int_00090c24)[iVar2 * 2],DAT_00091d70);\nLAB_0002d93f:\n      if (param_2 == 0) {\n        return;\n      }\n      fputc(0x20,DAT_00091d70);\n      return;\n    }\n    iVar2 = iVar2 + 1;\n    if (iVar2 == 0x33) {\n      if (param_2 != 0) {\n        fputc(0x20,DAT_00091d70);\n      }\n      if (param_1 < 0x7f) {\n        fputc(param_1,DAT_00091d70);\n      }\n      else {\n        fprintf(DAT_00091d70,"<code %d>",param_1);\n      }\n      goto LAB_0002d93f;\n    }\n    iVar1 = *(int *)(&DAT_00090c20 + iVar2 * 8);\n  } while( true );" (do "do") (compound_statement "{\n    if (iVar1 == param_1) {\n      if (param_2 != 0) {\n        fputc(0x20,DAT_00091d70);\n      }\n      fputs((&PTR_s_int_00090c24)[iVar2 * 2],DAT_00091d70);\nLAB_0002d93f:\n      if (param_2 == 0) {\n        return;\n      }\n      fputc(0x20,DAT_00091d70);\n      return;\n    }\n    iVar2 = iVar2 + 1;\n    if (iVar2 == 0x33) {\n      if (param_2 != 0) {\n        fputc(0x20,DAT_00091d70);\n      }\n      if (param_1 < 0x7f) {\n        fputc(param_1,DAT_00091d70);\n      }\n      else {\n        fprintf(DAT_00091d70,"<code %d>",param_1);\n      }\n      goto LAB_0002d93f;\n    }\n    iVar1 = *(int *)(&DAT_00090c20 + iVar2 * 8);\n  }" ({ "{") (if_statement "if (iVar1 == param_1) {\n      if (param_2 != 0) {\n        fputc(0x20,DAT_00091d70);\n      }\n      fputs((&PTR_s_int_00090c24)[iVar2 * 2],DAT_00091d70);\nLAB_0002d93f:\n      if (param_2 == 0) {\n        return;\n      }\n      fputc(0x20,DAT_00091d70);\n      return;\n    }" (if "if") (parenthesized_expression "(iVar1 == param_1)" (( "(") (binary_expression "iVar1 == param_1" (identifier "iVar1") (== "==") (identifier "param_1")) () ")")) (compound_statement "{\n      if (param_2 != 0) {\n        fputc(0x20,DAT_00091d70);\n      }\n      fputs((&PTR_s_int_00090c24)[iVar2 * 2],DAT_00091d70);\nLAB_0002d93f:\n      if (param_2 == 0) {\n        return;\n      }\n      fputc(0x20,DAT_00091d70);\n      return;\n    }" ({ "{") (if_statement "if (param_2 != 0) {\n        fputc(0x20,DAT_00091d70);\n      }" (if "if") (parenthesized_expression "(param_2 != 0)" (( "(") (binary_expression "param_2 != 0" (identifier "param_2") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n        fputc(0x20,DAT_00091d70);\n      }" ({ "{") (expression_statement "fputc(0x20,DAT_00091d70);" (call_expression "fputc(0x20,DAT_00091d70)" (identifier "fputc") (argument_list "(0x20,DAT_00091d70)" (( "(") (number_literal "0x20") (, ",") (identifier "DAT_00091d70") () ")"))) (; ";")) (} "}"))) (expression_statement "fputs((&PTR_s_int_00090c24)[iVar2 * 2],DAT_00091d70);" (call_expression "fputs((&PTR_s_int_00090c24)[iVar2 * 2],DAT_00091d70)" (identifier "fputs") (argument_list "((&PTR_s_int_00090c24)[iVar2 * 2],DAT_00091d70)" (( "(") (subscript_expression "(&PTR_s_int_00090c24)[iVar2 * 2]" (parenthesized_expression "(&PTR_s_int_00090c24)" (( "(") (pointer_expression "&PTR_s_int_00090c24" (& "&") (identifier "PTR_s_int_00090c24")) () ")")) ([ "[") (binary_expression "iVar2 * 2" (identifier "iVar2") (* "*") (number_literal "2")) (] "]")) (, ",") (identifier "DAT_00091d70") () ")"))) (; ";")) (labeled_statement "LAB_0002d93f:\n      if (param_2 == 0) {\n        return;\n      }" (statement_identifier "LAB_0002d93f") (: ":") (if_statement "if (param_2 == 0) {\n        return;\n      }" (if "if") (parenthesized_expression "(param_2 == 0)" (( "(") (binary_expression "param_2 == 0" (identifier "param_2") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        return;\n      }" ({ "{") (return_statement "return;" (return "return") (; ";")) (} "}")))) (expression_statement "fputc(0x20,DAT_00091d70);" (call_expression "fputc(0x20,DAT_00091d70)" (identifier "fputc") (argument_list "(0x20,DAT_00091d70)" (( "(") (number_literal "0x20") (, ",") (identifier "DAT_00091d70") () ")"))) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}"))) (expression_statement "iVar2 = iVar2 + 1;" (assignment_expression "iVar2 = iVar2 + 1" (identifier "iVar2") (= "=") (binary_expression "iVar2 + 1" (identifier "iVar2") (+ "+") (number_literal "1"))) (; ";")) (if_statement "if (iVar2 == 0x33) {\n      if (param_2 != 0) {\n        fputc(0x20,DAT_00091d70);\n      }\n      if (param_1 < 0x7f) {\n        fputc(param_1,DAT_00091d70);\n      }\n      else {\n        fprintf(DAT_00091d70,"<code %d>",param_1);\n      }\n      goto LAB_0002d93f;\n    }" (if "if") (parenthesized_expression "(iVar2 == 0x33)" (( "(") (binary_expression "iVar2 == 0x33" (identifier "iVar2") (== "==") (number_literal "0x33")) () ")")) (compound_statement "{\n      if (param_2 != 0) {\n        fputc(0x20,DAT_00091d70);\n      }\n      if (param_1 < 0x7f) {\n        fputc(param_1,DAT_00091d70);\n      }\n      else {\n        fprintf(DAT_00091d70,"<code %d>",param_1);\n      }\n      goto LAB_0002d93f;\n    }" ({ "{") (if_statement "if (param_2 != 0) {\n        fputc(0x20,DAT_00091d70);\n      }" (if "if") (parenthesized_expression "(param_2 != 0)" (( "(") (binary_expression "param_2 != 0" (identifier "param_2") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n        fputc(0x20,DAT_00091d70);\n      }" ({ "{") (expression_statement "fputc(0x20,DAT_00091d70);" (call_expression "fputc(0x20,DAT_00091d70)" (identifier "fputc") (argument_list "(0x20,DAT_00091d70)" (( "(") (number_literal "0x20") (, ",") (identifier "DAT_00091d70") () ")"))) (; ";")) (} "}"))) (if_statement "if (param_1 < 0x7f) {\n        fputc(param_1,DAT_00091d70);\n      }\n      else {\n        fprintf(DAT_00091d70,"<code %d>",param_1);\n      }" (if "if") (parenthesized_expression "(param_1 < 0x7f)" (( "(") (binary_expression "param_1 < 0x7f" (identifier "param_1") (< "<") (number_literal "0x7f")) () ")")) (compound_statement "{\n        fputc(param_1,DAT_00091d70);\n      }" ({ "{") (expression_statement "fputc(param_1,DAT_00091d70);" (call_expression "fputc(param_1,DAT_00091d70)" (identifier "fputc") (argument_list "(param_1,DAT_00091d70)" (( "(") (identifier "param_1") (, ",") (identifier "DAT_00091d70") () ")"))) (; ";")) (} "}")) (else_clause "else {\n        fprintf(DAT_00091d70,"<code %d>",param_1);\n      }" (else "else") (compound_statement "{\n        fprintf(DAT_00091d70,"<code %d>",param_1);\n      }" ({ "{") (expression_statement "fprintf(DAT_00091d70,"<code %d>",param_1);" (call_expression "fprintf(DAT_00091d70,"<code %d>",param_1)" (identifier "fprintf") (argument_list "(DAT_00091d70,"<code %d>",param_1)" (( "(") (identifier "DAT_00091d70") (, ",") (string_literal ""<code %d>"" (" """) (string_content "<code %d>") (" """)) (, ",") (identifier "param_1") () ")"))) (; ";")) (} "}")))) (goto_statement "goto LAB_0002d93f;" (goto "goto") (statement_identifier "LAB_0002d93f") (; ";")) (} "}"))) (expression_statement "iVar1 = *(int *)(&DAT_00090c20 + iVar2 * 8);" (assignment_expression "iVar1 = *(int *)(&DAT_00090c20 + iVar2 * 8)" (identifier "iVar1") (= "=") (pointer_expression "*(int *)(&DAT_00090c20 + iVar2 * 8)" (* "*") (cast_expression "(int *)(&DAT_00090c20 + iVar2 * 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_00090c20 + iVar2 * 8)" (( "(") (binary_expression "&DAT_00090c20 + iVar2 * 8" (pointer_expression "&DAT_00090c20" (& "&") (identifier "DAT_00090c20")) (+ "+") (binary_expression "iVar2 * 8" (identifier "iVar2") (* "*") (number_literal "8"))) () ")"))))) (; ";")) (} "}")) (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (; ";")) (} "}")))

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

void __regparm3 function_1(type_1 var_2,int var_3)

{
  int var_1;
  int var_7;
  
  var_1 = 0x102;
  var_7 = 0;
  do {
    if (var_1 == var_2) {
      if (var_3 != 0) {
        var_4(0x20,(type_2 *)config.map_file);
      }
      var_5(*(char **)(var_6 + var_7 * 8 + 4),(type_2 *)config.map_file);
LAB_0002d93f:
      if (var_3 == 0) {
        return;
      }
      var_4(0x20,(type_2 *)config.map_file);
      return;
    }
    var_7 = var_7 + 1;
    if (var_7 == 0x33) {
      if (var_3 != 0) {
        var_4(0x20,(type_2 *)config.map_file);
      }
      if (var_2 < 0x7f) {
        var_4(var_2,(type_2 *)config.map_file);
      }
      else {
        var_8((type_2 *)config.map_file,"<code %d>",var_2);
      }
      goto LAB_0002d93f;
    }
    var_1 = *(int *)(var_6 + var_7 * 8);
  } while( true );
}


(translation_unit (function_definition type: (primitive_type) (ERROR (identifier)) declarator: (function_declarator declarator: (identifier) parameters: (parameter_list (parameter_declaration type: (primitive_type) declarator: (identifier)) (parameter_declaration type: (primitive_type) declarator: (identifier)))) body: (compound_statement (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (do_statement body: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list (number_literal) (identifier)))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (subscript_expression argument: (parenthesized_expression (pointer_expression argument: (identifier))) index: (binary_expression left: (identifier) right: (number_literal))) (identifier)))) (labeled_statement label: (statement_identifier) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (return_statement)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (number_literal) (identifier)))) (return_statement))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list (number_literal) (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 (identifier) (identifier))))) alternative: (else_clause (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (string_literal (string_content)) (identifier))))))) (goto_statement label: (statement_identifier)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (binary_expression left: (identifier) right: (number_literal))))))))) condition: (parenthesized_expression (true))))))

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

void __regparm3 MASKED(int param_1,int param_2)

{
  int iVar1;
  int iVar2;
  
  iVar1 = 0x102;
  iVar2 = 0;
  do {
    if (iVar1 == param_1) {
      if (param_2 != 0) {
        fputc(0x20,DAT_00091d70);
      }
      fputs((&PTR_s_int_00090c24)[iVar2 * 2],DAT_00091d70);
LAB_0002d93f:
      if (param_2 == 0) {
        return;
      }
      fputc(0x20,DAT_00091d70);
      return;
    }
    iVar2 = iVar2 + 1;
    if (iVar2 == 0x33) {
      if (param_2 != 0) {
        fputc(0x20,DAT_00091d70);
      }
      if (param_1 < 0x7f) {
        fputc(param_1,DAT_00091d70);
      }
      else {
        fprintf(DAT_00091d70,"<code %d>",param_1);
      }
      goto LAB_0002d93f;
    }
    iVar1 = *(int *)(&DAT_00090c20 + iVar2 * 8);
  } while( true );
}

