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

void s_org(int ignore)

{
  char cVar1;
  segT segment;
  int fill;
  offsetT oVar2;
  expressionS exp;
  expressionS exp_1;
  
  segment = get_segmented_expression(&exp);
  if (segment == (segT)(PTR__bfd_std_section_0007ffb0 + 0xc0)) {
    segment = get_known_segmented_expression(&exp);
    cVar1 = *input_line_pointer;
  }
  else {
    cVar1 = *input_line_pointer;
  }
  fill = 0;
  if (cVar1 == ',') {
    input_line_pointer = input_line_pointer + 1;
    oVar2 = get_absolute_expr(&exp_1);
    fill = (int)oVar2;
  }
  if (need_pass_2 == 0) {
    do_org(segment,&exp,fill);
    demand_empty_rest_of_line();
    return;
  }
  demand_empty_rest_of_line();
  return;
}



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

void FUN_0002f2d0(void)

{
  char cVar1;
  undefined *puVar2;
  
  puVar2 = (undefined *)FUN_0002c530();
  if (puVar2 == PTR__bfd_std_section_0007ffb0 + 0xc0) {
    FUN_0002d3c0();
    cVar1 = *DAT_00089978;
  }
  else {
    cVar1 = *DAT_00089978;
  }
  if (cVar1 == ',') {
    DAT_00089978 = DAT_00089978 + 1;
    FUN_0002c4b0();
  }
  if (DAT_00089728 == 0) {
    FUN_0002ca60();
    FUN_0002e4e0();
    return;
  }
  FUN_0002e4e0();
  return;
}


PUSH EBP
PUSH EDI
PUSH ESI
PUSH EBX
CALL 0x00016000
ADD EBX,0x50d27
SUB ESP,0x3c
LEA EDI,[ESP + 0x8]
MOV EAX,EDI
CALL 0x0002c530
MOV ESI,EAX
MOV EAX,dword ptr [EBX + 0xffffffb0]
ADD EAX,0xc0
CMP ESI,EAX
JZ 0x0002f350
LEA EBP,[EBX + 0x9978]
XOR ECX,ECX
MOV EDX,dword ptr [EBP]
CMP byte ptr [EDX],0x2c
JZ 0x0002f369
LEA EDX,[EBX + 0x9728]
MOV EAX,dword ptr [EDX]
TEST EAX,EAX
JZ 0x0002f330
CALL 0x0002e4e0
ADD ESP,0x3c
POP EBX
POP ESI
POP EDI
POP EBP
RET
MOV EDX,EDI
MOV EAX,ESI
CALL 0x0002ca60
CALL 0x0002e4e0
ADD ESP,0x3c
POP EBX
POP ESI
POP EDI
POP EBP
RET
MOV EAX,EDI
CALL 0x0002d3c0
LEA EBP,[EBX + 0x9978]
XOR ECX,ECX
MOV ESI,EAX
MOV EDX,dword ptr [EBP]
CMP byte ptr [EDX],0x2c
JNZ 0x0002f30e
ADD EDX,0x1
LEA EAX,[ESP + 0x1c]
MOV dword ptr [EBP],EDX
CALL 0x0002c4b0
MOV ECX,EAX
JMP 0x0002f30e
(translation_unit "/* WARNING: Function: __i686.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n\nvoid FUN_0002f2d0(void)\n\n{\n  char cVar1;\n  undefined *puVar2;\n  \n  puVar2 = (undefined *)FUN_0002c530();\n  if (puVar2 == PTR__bfd_std_section_0007ffb0 + 0xc0) {\n    FUN_0002d3c0();\n    cVar1 = *DAT_00089978;\n  }\n  else {\n    cVar1 = *DAT_00089978;\n  }\n  if (cVar1 == ',') {\n    DAT_00089978 = DAT_00089978 + 1;\n    FUN_0002c4b0();\n  }\n  if (DAT_00089728 == 0) {\n    FUN_0002ca60();\n    FUN_0002e4e0();\n    return;\n  }\n  FUN_0002e4e0();\n  return;\n}\n\n" comment (function_definition "void FUN_0002f2d0(void)\n\n{\n  char cVar1;\n  undefined *puVar2;\n  \n  puVar2 = (undefined *)FUN_0002c530();\n  if (puVar2 == PTR__bfd_std_section_0007ffb0 + 0xc0) {\n    FUN_0002d3c0();\n    cVar1 = *DAT_00089978;\n  }\n  else {\n    cVar1 = *DAT_00089978;\n  }\n  if (cVar1 == ',') {\n    DAT_00089978 = DAT_00089978 + 1;\n    FUN_0002c4b0();\n  }\n  if (DAT_00089728 == 0) {\n    FUN_0002ca60();\n    FUN_0002e4e0();\n    return;\n  }\n  FUN_0002e4e0();\n  return;\n}" primitive_type (function_declarator "FUN_0002f2d0(void)" identifier (parameter_list "(void)" ( (parameter_declaration "void" primitive_type) ))) (compound_statement "{\n  char cVar1;\n  undefined *puVar2;\n  \n  puVar2 = (undefined *)FUN_0002c530();\n  if (puVar2 == PTR__bfd_std_section_0007ffb0 + 0xc0) {\n    FUN_0002d3c0();\n    cVar1 = *DAT_00089978;\n  }\n  else {\n    cVar1 = *DAT_00089978;\n  }\n  if (cVar1 == ',') {\n    DAT_00089978 = DAT_00089978 + 1;\n    FUN_0002c4b0();\n  }\n  if (DAT_00089728 == 0) {\n    FUN_0002ca60();\n    FUN_0002e4e0();\n    return;\n  }\n  FUN_0002e4e0();\n  return;\n}" { (declaration "char cVar1;" primitive_type identifier ;) (declaration "undefined *puVar2;" type_identifier (pointer_declarator "*puVar2" * identifier) ;) (expression_statement "puVar2 = (undefined *)FUN_0002c530();" (assignment_expression "puVar2 = (undefined *)FUN_0002c530()" identifier = (cast_expression "(undefined *)FUN_0002c530()" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_0002c530()" identifier (argument_list "()" ( ))))) ;) (if_statement "if (puVar2 == PTR__bfd_std_section_0007ffb0 + 0xc0) {\n    FUN_0002d3c0();\n    cVar1 = *DAT_00089978;\n  }\n  else {\n    cVar1 = *DAT_00089978;\n  }" if (parenthesized_expression "(puVar2 == PTR__bfd_std_section_0007ffb0 + 0xc0)" ( (binary_expression "puVar2 == PTR__bfd_std_section_0007ffb0 + 0xc0" identifier == (binary_expression "PTR__bfd_std_section_0007ffb0 + 0xc0" identifier + number_literal)) )) (compound_statement "{\n    FUN_0002d3c0();\n    cVar1 = *DAT_00089978;\n  }" { (expression_statement "FUN_0002d3c0();" (call_expression "FUN_0002d3c0()" identifier (argument_list "()" ( ))) ;) (expression_statement "cVar1 = *DAT_00089978;" (assignment_expression "cVar1 = *DAT_00089978" identifier = (pointer_expression "*DAT_00089978" * identifier)) ;) }) (else_clause "else {\n    cVar1 = *DAT_00089978;\n  }" else (compound_statement "{\n    cVar1 = *DAT_00089978;\n  }" { (expression_statement "cVar1 = *DAT_00089978;" (assignment_expression "cVar1 = *DAT_00089978" identifier = (pointer_expression "*DAT_00089978" * identifier)) ;) }))) (if_statement "if (cVar1 == ',') {\n    DAT_00089978 = DAT_00089978 + 1;\n    FUN_0002c4b0();\n  }" if (parenthesized_expression "(cVar1 == ',')" ( (binary_expression "cVar1 == ','" identifier == (char_literal "','" ' character ')) )) (compound_statement "{\n    DAT_00089978 = DAT_00089978 + 1;\n    FUN_0002c4b0();\n  }" { (expression_statement "DAT_00089978 = DAT_00089978 + 1;" (assignment_expression "DAT_00089978 = DAT_00089978 + 1" identifier = (binary_expression "DAT_00089978 + 1" identifier + number_literal)) ;) (expression_statement "FUN_0002c4b0();" (call_expression "FUN_0002c4b0()" identifier (argument_list "()" ( ))) ;) })) (if_statement "if (DAT_00089728 == 0) {\n    FUN_0002ca60();\n    FUN_0002e4e0();\n    return;\n  }" if (parenthesized_expression "(DAT_00089728 == 0)" ( (binary_expression "DAT_00089728 == 0" identifier == number_literal) )) (compound_statement "{\n    FUN_0002ca60();\n    FUN_0002e4e0();\n    return;\n  }" { (expression_statement "FUN_0002ca60();" (call_expression "FUN_0002ca60()" identifier (argument_list "()" ( ))) ;) (expression_statement "FUN_0002e4e0();" (call_expression "FUN_0002e4e0()" identifier (argument_list "()" ( ))) ;) (return_statement "return;" return ;) })) (expression_statement "FUN_0002e4e0();" (call_expression "FUN_0002e4e0()" identifier (argument_list "()" ( ))) ;) (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 s_org(int ignore)\n\n{\n  char cVar1;\n  segT segment;\n  int fill;\n  offsetT oVar2;\n  expressionS exp;\n  expressionS exp_1;\n  \n  segment = get_segmented_expression(&exp);\n  if (segment == (segT)(PTR__bfd_std_section_0007ffb0 + 0xc0)) {\n    segment = get_known_segmented_expression(&exp);\n    cVar1 = *input_line_pointer;\n  }\n  else {\n    cVar1 = *input_line_pointer;\n  }\n  fill = 0;\n  if (cVar1 == ',') {\n    input_line_pointer = input_line_pointer + 1;\n    oVar2 = get_absolute_expr(&exp_1);\n    fill = (int)oVar2;\n  }\n  if (need_pass_2 == 0) {\n    do_org(segment,&exp,fill);\n    demand_empty_rest_of_line();\n    return;\n  }\n  demand_empty_rest_of_line();\n  return;\n}\n\n" comment comment (function_definition "void s_org(int ignore)\n\n{\n  char cVar1;\n  segT segment;\n  int fill;\n  offsetT oVar2;\n  expressionS exp;\n  expressionS exp_1;\n  \n  segment = get_segmented_expression(&exp);\n  if (segment == (segT)(PTR__bfd_std_section_0007ffb0 + 0xc0)) {\n    segment = get_known_segmented_expression(&exp);\n    cVar1 = *input_line_pointer;\n  }\n  else {\n    cVar1 = *input_line_pointer;\n  }\n  fill = 0;\n  if (cVar1 == ',') {\n    input_line_pointer = input_line_pointer + 1;\n    oVar2 = get_absolute_expr(&exp_1);\n    fill = (int)oVar2;\n  }\n  if (need_pass_2 == 0) {\n    do_org(segment,&exp,fill);\n    demand_empty_rest_of_line();\n    return;\n  }\n  demand_empty_rest_of_line();\n  return;\n}" primitive_type (function_declarator "s_org(int ignore)" identifier (parameter_list "(int ignore)" ( (parameter_declaration "int ignore" primitive_type identifier) ))) (compound_statement "{\n  char cVar1;\n  segT segment;\n  int fill;\n  offsetT oVar2;\n  expressionS exp;\n  expressionS exp_1;\n  \n  segment = get_segmented_expression(&exp);\n  if (segment == (segT)(PTR__bfd_std_section_0007ffb0 + 0xc0)) {\n    segment = get_known_segmented_expression(&exp);\n    cVar1 = *input_line_pointer;\n  }\n  else {\n    cVar1 = *input_line_pointer;\n  }\n  fill = 0;\n  if (cVar1 == ',') {\n    input_line_pointer = input_line_pointer + 1;\n    oVar2 = get_absolute_expr(&exp_1);\n    fill = (int)oVar2;\n  }\n  if (need_pass_2 == 0) {\n    do_org(segment,&exp,fill);\n    demand_empty_rest_of_line();\n    return;\n  }\n  demand_empty_rest_of_line();\n  return;\n}" { (declaration "char cVar1;" primitive_type identifier ;) (declaration "segT segment;" type_identifier identifier ;) (declaration "int fill;" primitive_type identifier ;) (declaration "offsetT oVar2;" type_identifier identifier ;) (declaration "expressionS exp;" type_identifier identifier ;) (declaration "expressionS exp_1;" type_identifier identifier ;) (expression_statement "segment = get_segmented_expression(&exp);" (assignment_expression "segment = get_segmented_expression(&exp)" identifier = (call_expression "get_segmented_expression(&exp)" identifier (argument_list "(&exp)" ( (pointer_expression "&exp" & identifier) )))) ;) (if_statement "if (segment == (segT)(PTR__bfd_std_section_0007ffb0 + 0xc0)) {\n    segment = get_known_segmented_expression(&exp);\n    cVar1 = *input_line_pointer;\n  }\n  else {\n    cVar1 = *input_line_pointer;\n  }" if (parenthesized_expression "(segment == (segT)(PTR__bfd_std_section_0007ffb0 + 0xc0))" ( (binary_expression "segment == (segT)(PTR__bfd_std_section_0007ffb0 + 0xc0)" identifier == (call_expression "(segT)(PTR__bfd_std_section_0007ffb0 + 0xc0)" (parenthesized_expression "(segT)" ( identifier )) (argument_list "(PTR__bfd_std_section_0007ffb0 + 0xc0)" ( (binary_expression "PTR__bfd_std_section_0007ffb0 + 0xc0" identifier + number_literal) )))) )) (compound_statement "{\n    segment = get_known_segmented_expression(&exp);\n    cVar1 = *input_line_pointer;\n  }" { (expression_statement "segment = get_known_segmented_expression(&exp);" (assignment_expression "segment = get_known_segmented_expression(&exp)" identifier = (call_expression "get_known_segmented_expression(&exp)" identifier (argument_list "(&exp)" ( (pointer_expression "&exp" & identifier) )))) ;) (expression_statement "cVar1 = *input_line_pointer;" (assignment_expression "cVar1 = *input_line_pointer" identifier = (pointer_expression "*input_line_pointer" * identifier)) ;) }) (else_clause "else {\n    cVar1 = *input_line_pointer;\n  }" else (compound_statement "{\n    cVar1 = *input_line_pointer;\n  }" { (expression_statement "cVar1 = *input_line_pointer;" (assignment_expression "cVar1 = *input_line_pointer" identifier = (pointer_expression "*input_line_pointer" * identifier)) ;) }))) (expression_statement "fill = 0;" (assignment_expression "fill = 0" identifier = number_literal) ;) (if_statement "if (cVar1 == ',') {\n    input_line_pointer = input_line_pointer + 1;\n    oVar2 = get_absolute_expr(&exp_1);\n    fill = (int)oVar2;\n  }" if (parenthesized_expression "(cVar1 == ',')" ( (binary_expression "cVar1 == ','" identifier == (char_literal "','" ' character ')) )) (compound_statement "{\n    input_line_pointer = input_line_pointer + 1;\n    oVar2 = get_absolute_expr(&exp_1);\n    fill = (int)oVar2;\n  }" { (expression_statement "input_line_pointer = input_line_pointer + 1;" (assignment_expression "input_line_pointer = input_line_pointer + 1" identifier = (binary_expression "input_line_pointer + 1" identifier + number_literal)) ;) (expression_statement "oVar2 = get_absolute_expr(&exp_1);" (assignment_expression "oVar2 = get_absolute_expr(&exp_1)" identifier = (call_expression "get_absolute_expr(&exp_1)" identifier (argument_list "(&exp_1)" ( (pointer_expression "&exp_1" & identifier) )))) ;) (expression_statement "fill = (int)oVar2;" (assignment_expression "fill = (int)oVar2" identifier = (cast_expression "(int)oVar2" ( (type_descriptor "int" primitive_type) ) identifier)) ;) })) (if_statement "if (need_pass_2 == 0) {\n    do_org(segment,&exp,fill);\n    demand_empty_rest_of_line();\n    return;\n  }" if (parenthesized_expression "(need_pass_2 == 0)" ( (binary_expression "need_pass_2 == 0" identifier == number_literal) )) (compound_statement "{\n    do_org(segment,&exp,fill);\n    demand_empty_rest_of_line();\n    return;\n  }" { (expression_statement "do_org(segment,&exp,fill);" (call_expression "do_org(segment,&exp,fill)" identifier (argument_list "(segment,&exp,fill)" ( identifier , (pointer_expression "&exp" & identifier) , identifier ))) ;) (expression_statement "demand_empty_rest_of_line();" (call_expression "demand_empty_rest_of_line()" identifier (argument_list "()" ( ))) ;) (return_statement "return;" return ;) })) (expression_statement "demand_empty_rest_of_line();" (call_expression "demand_empty_rest_of_line()" identifier (argument_list "()" ( ))) ;) (return_statement "return;" return ;) })))
(translation_unit "void FUN_0002f2d0(void)\n\n{\n  char cVar1;\n  undefined *puVar2;\n  \n  puVar2 = (undefined *)FUN_0002c530();\n  if (puVar2 == PTR__bfd_std_section_0007ffb0 + 0xc0) {\n    FUN_0002d3c0();\n    cVar1 = *DAT_00089978;\n  }\n  else {\n    cVar1 = *DAT_00089978;\n  }\n  if (cVar1 == ',') {\n    DAT_00089978 = DAT_00089978 + 1;\n    FUN_0002c4b0();\n  }\n  if (DAT_00089728 == 0) {\n    FUN_0002ca60();\n    FUN_0002e4e0();\n    return;\n  }\n  FUN_0002e4e0();\n  return;\n}\n\n" (function_definition "void FUN_0002f2d0(void)\n\n{\n  char cVar1;\n  undefined *puVar2;\n  \n  puVar2 = (undefined *)FUN_0002c530();\n  if (puVar2 == PTR__bfd_std_section_0007ffb0 + 0xc0) {\n    FUN_0002d3c0();\n    cVar1 = *DAT_00089978;\n  }\n  else {\n    cVar1 = *DAT_00089978;\n  }\n  if (cVar1 == ',') {\n    DAT_00089978 = DAT_00089978 + 1;\n    FUN_0002c4b0();\n  }\n  if (DAT_00089728 == 0) {\n    FUN_0002ca60();\n    FUN_0002e4e0();\n    return;\n  }\n  FUN_0002e4e0();\n  return;\n}" primitive_type (function_declarator "FUN_0002f2d0(void)" identifier (parameter_list "(void)" ( (parameter_declaration "void" primitive_type) ))) (compound_statement "{\n  char cVar1;\n  undefined *puVar2;\n  \n  puVar2 = (undefined *)FUN_0002c530();\n  if (puVar2 == PTR__bfd_std_section_0007ffb0 + 0xc0) {\n    FUN_0002d3c0();\n    cVar1 = *DAT_00089978;\n  }\n  else {\n    cVar1 = *DAT_00089978;\n  }\n  if (cVar1 == ',') {\n    DAT_00089978 = DAT_00089978 + 1;\n    FUN_0002c4b0();\n  }\n  if (DAT_00089728 == 0) {\n    FUN_0002ca60();\n    FUN_0002e4e0();\n    return;\n  }\n  FUN_0002e4e0();\n  return;\n}" { (declaration "char cVar1;" primitive_type identifier ;) (declaration "undefined *puVar2;" type_identifier (pointer_declarator "*puVar2" * identifier) ;) (expression_statement "puVar2 = (undefined *)FUN_0002c530();" (assignment_expression "puVar2 = (undefined *)FUN_0002c530()" identifier = (cast_expression "(undefined *)FUN_0002c530()" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_0002c530()" identifier (argument_list "()" ( ))))) ;) (if_statement "if (puVar2 == PTR__bfd_std_section_0007ffb0 + 0xc0) {\n    FUN_0002d3c0();\n    cVar1 = *DAT_00089978;\n  }\n  else {\n    cVar1 = *DAT_00089978;\n  }" if (parenthesized_expression "(puVar2 == PTR__bfd_std_section_0007ffb0 + 0xc0)" ( (binary_expression "puVar2 == PTR__bfd_std_section_0007ffb0 + 0xc0" identifier == (binary_expression "PTR__bfd_std_section_0007ffb0 + 0xc0" identifier + number_literal)) )) (compound_statement "{\n    FUN_0002d3c0();\n    cVar1 = *DAT_00089978;\n  }" { (expression_statement "FUN_0002d3c0();" (call_expression "FUN_0002d3c0()" identifier (argument_list "()" ( ))) ;) (expression_statement "cVar1 = *DAT_00089978;" (assignment_expression "cVar1 = *DAT_00089978" identifier = (pointer_expression "*DAT_00089978" * identifier)) ;) }) (else_clause "else {\n    cVar1 = *DAT_00089978;\n  }" else (compound_statement "{\n    cVar1 = *DAT_00089978;\n  }" { (expression_statement "cVar1 = *DAT_00089978;" (assignment_expression "cVar1 = *DAT_00089978" identifier = (pointer_expression "*DAT_00089978" * identifier)) ;) }))) (if_statement "if (cVar1 == ',') {\n    DAT_00089978 = DAT_00089978 + 1;\n    FUN_0002c4b0();\n  }" if (parenthesized_expression "(cVar1 == ',')" ( (binary_expression "cVar1 == ','" identifier == (char_literal "','" ' character ')) )) (compound_statement "{\n    DAT_00089978 = DAT_00089978 + 1;\n    FUN_0002c4b0();\n  }" { (expression_statement "DAT_00089978 = DAT_00089978 + 1;" (assignment_expression "DAT_00089978 = DAT_00089978 + 1" identifier = (binary_expression "DAT_00089978 + 1" identifier + number_literal)) ;) (expression_statement "FUN_0002c4b0();" (call_expression "FUN_0002c4b0()" identifier (argument_list "()" ( ))) ;) })) (if_statement "if (DAT_00089728 == 0) {\n    FUN_0002ca60();\n    FUN_0002e4e0();\n    return;\n  }" if (parenthesized_expression "(DAT_00089728 == 0)" ( (binary_expression "DAT_00089728 == 0" identifier == number_literal) )) (compound_statement "{\n    FUN_0002ca60();\n    FUN_0002e4e0();\n    return;\n  }" { (expression_statement "FUN_0002ca60();" (call_expression "FUN_0002ca60()" identifier (argument_list "()" ( ))) ;) (expression_statement "FUN_0002e4e0();" (call_expression "FUN_0002e4e0()" identifier (argument_list "()" ( ))) ;) (return_statement "return;" return ;) })) (expression_statement "FUN_0002e4e0();" (call_expression "FUN_0002e4e0()" identifier (argument_list "()" ( ))) ;) (return_statement "return;" return ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE) ))) (compound_statement { (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (binary_expression IDENT + LIT)) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) }))) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (char_literal ' character ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (return_statement return ;) })) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (return_statement return ;) })))
(function_definition "void FUN_0002f2d0(void)\n\n{\n  char cVar1;\n  undefined *puVar2;\n  \n  puVar2 = (undefined *)FUN_0002c530();\n  if (puVar2 == PTR__bfd_std_section_0007ffb0 + 0xc0) {\n    FUN_0002d3c0();\n    cVar1 = *DAT_00089978;\n  }\n  else {\n    cVar1 = *DAT_00089978;\n  }\n  if (cVar1 == ',') {\n    DAT_00089978 = DAT_00089978 + 1;\n    FUN_0002c4b0();\n  }\n  if (DAT_00089728 == 0) {\n    FUN_0002ca60();\n    FUN_0002e4e0();\n    return;\n  }\n  FUN_0002e4e0();\n  return;\n}" (primitive_type "void") (function_declarator "FUN_0002f2d0(void)" (identifier "FUN_0002f2d0") (parameter_list "(void)" (( "(") (parameter_declaration "void" (primitive_type "void")) () ")"))) (compound_statement "{\n  char cVar1;\n  undefined *puVar2;\n  \n  puVar2 = (undefined *)FUN_0002c530();\n  if (puVar2 == PTR__bfd_std_section_0007ffb0 + 0xc0) {\n    FUN_0002d3c0();\n    cVar1 = *DAT_00089978;\n  }\n  else {\n    cVar1 = *DAT_00089978;\n  }\n  if (cVar1 == ',') {\n    DAT_00089978 = DAT_00089978 + 1;\n    FUN_0002c4b0();\n  }\n  if (DAT_00089728 == 0) {\n    FUN_0002ca60();\n    FUN_0002e4e0();\n    return;\n  }\n  FUN_0002e4e0();\n  return;\n}" ({ "{") (declaration "char cVar1;" (primitive_type "char") (identifier "cVar1") (; ";")) (declaration "undefined *puVar2;" (type_identifier "undefined") (pointer_declarator "*puVar2" (* "*") (identifier "puVar2")) (; ";")) (expression_statement "puVar2 = (undefined *)FUN_0002c530();" (assignment_expression "puVar2 = (undefined *)FUN_0002c530()" (identifier "puVar2") (= "=") (cast_expression "(undefined *)FUN_0002c530()" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_0002c530()" (identifier "FUN_0002c530") (argument_list "()" (( "(") () ")"))))) (; ";")) (if_statement "if (puVar2 == PTR__bfd_std_section_0007ffb0 + 0xc0) {\n    FUN_0002d3c0();\n    cVar1 = *DAT_00089978;\n  }\n  else {\n    cVar1 = *DAT_00089978;\n  }" (if "if") (parenthesized_expression "(puVar2 == PTR__bfd_std_section_0007ffb0 + 0xc0)" (( "(") (binary_expression "puVar2 == PTR__bfd_std_section_0007ffb0 + 0xc0" (identifier "puVar2") (== "==") (binary_expression "PTR__bfd_std_section_0007ffb0 + 0xc0" (identifier "PTR__bfd_std_section_0007ffb0") (+ "+") (number_literal "0xc0"))) () ")")) (compound_statement "{\n    FUN_0002d3c0();\n    cVar1 = *DAT_00089978;\n  }" ({ "{") (expression_statement "FUN_0002d3c0();" (call_expression "FUN_0002d3c0()" (identifier "FUN_0002d3c0") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "cVar1 = *DAT_00089978;" (assignment_expression "cVar1 = *DAT_00089978" (identifier "cVar1") (= "=") (pointer_expression "*DAT_00089978" (* "*") (identifier "DAT_00089978"))) (; ";")) (} "}")) (else_clause "else {\n    cVar1 = *DAT_00089978;\n  }" (else "else") (compound_statement "{\n    cVar1 = *DAT_00089978;\n  }" ({ "{") (expression_statement "cVar1 = *DAT_00089978;" (assignment_expression "cVar1 = *DAT_00089978" (identifier "cVar1") (= "=") (pointer_expression "*DAT_00089978" (* "*") (identifier "DAT_00089978"))) (; ";")) (} "}")))) (if_statement "if (cVar1 == ',') {\n    DAT_00089978 = DAT_00089978 + 1;\n    FUN_0002c4b0();\n  }" (if "if") (parenthesized_expression "(cVar1 == ',')" (( "(") (binary_expression "cVar1 == ','" (identifier "cVar1") (== "==") (char_literal "','" (' "'") (character ",") (' "'"))) () ")")) (compound_statement "{\n    DAT_00089978 = DAT_00089978 + 1;\n    FUN_0002c4b0();\n  }" ({ "{") (expression_statement "DAT_00089978 = DAT_00089978 + 1;" (assignment_expression "DAT_00089978 = DAT_00089978 + 1" (identifier "DAT_00089978") (= "=") (binary_expression "DAT_00089978 + 1" (identifier "DAT_00089978") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "FUN_0002c4b0();" (call_expression "FUN_0002c4b0()" (identifier "FUN_0002c4b0") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (if_statement "if (DAT_00089728 == 0) {\n    FUN_0002ca60();\n    FUN_0002e4e0();\n    return;\n  }" (if "if") (parenthesized_expression "(DAT_00089728 == 0)" (( "(") (binary_expression "DAT_00089728 == 0" (identifier "DAT_00089728") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n    FUN_0002ca60();\n    FUN_0002e4e0();\n    return;\n  }" ({ "{") (expression_statement "FUN_0002ca60();" (call_expression "FUN_0002ca60()" (identifier "FUN_0002ca60") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "FUN_0002e4e0();" (call_expression "FUN_0002e4e0()" (identifier "FUN_0002e4e0") (argument_list "()" (( "(") () ")"))) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}"))) (expression_statement "FUN_0002e4e0();" (call_expression "FUN_0002e4e0()" (identifier "FUN_0002e4e0") (argument_list "()" (( "(") () ")"))) (; ";")) (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(int ignore)

{
  char var_5;
  type_1 var_2;
  int fill;
  type_2 oVar2;
  type_3 exp;
  type_3 exp_1;
  
  var_2 = var_1(&exp);
  if (var_2 == (type_1)(var_3 + 0xc0)) {
    var_2 = var_4(&exp);
    var_5 = *var_6;
  }
  else {
    var_5 = *var_6;
  }
  fill = 0;
  if (var_5 == ',') {
    var_6 = var_6 + 1;
    oVar2 = var_7(&exp_1);
    fill = (int)oVar2;
  }
  if (var_8 == 0) {
    var_9(var_2,&exp,fill);
    var_10();
    return;
  }
  var_10();
  return;
}


(translation_unit (function_definition type: (primitive_type) declarator: (function_declarator declarator: (identifier) parameters: (parameter_list (parameter_declaration type: (primitive_type)))) body: (compound_statement (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (call_expression function: (identifier) arguments: (argument_list))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) consequence: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (char_literal (character)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list))) (expression_statement (call_expression function: (identifier) arguments: (argument_list))) (return_statement))) (expression_statement (call_expression function: (identifier) arguments: (argument_list))) (return_statement))))

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

void MASKED(void)

{
  char cVar1;
  undefined *puVar2;
  
  puVar2 = (undefined *)FUN_0002c530();
  if (puVar2 == PTR__bfd_std_section_0007ffb0 + 0xc0) {
    FUN_0002d3c0();
    cVar1 = *DAT_00089978;
  }
  else {
    cVar1 = *DAT_00089978;
  }
  if (cVar1 == ',') {
    DAT_00089978 = DAT_00089978 + 1;
    FUN_0002c4b0();
  }
  if (DAT_00089728 == 0) {
    FUN_0002ca60();
    FUN_0002e4e0();
    return;
  }
  FUN_0002e4e0();
  return;
}

