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

char * quotearg_char_mem(char *arg,size_t argsize,char ch)

{
  int iVar1;
  char *pcVar2;
  int in_GS_OFFSET;
  quoting_options options;
  
  iVar1 = *(int *)(in_GS_OFFSET + 0x14);
  options.style = default_quoting_options.style;
  options.flags = default_quoting_options.flags;
  options.quote_these_too[0] = default_quoting_options.quote_these_too[0];
  options.quote_these_too[1] = default_quoting_options.quote_these_too[1];
  options.quote_these_too[2] = default_quoting_options.quote_these_too[2];
  options.quote_these_too[3] = default_quoting_options.quote_these_too[3];
  options.quote_these_too[4] = default_quoting_options.quote_these_too[4];
  options.quote_these_too[5] = default_quoting_options.quote_these_too[5];
  options.quote_these_too[6] = default_quoting_options.quote_these_too[6];
  options.quote_these_too[7] = default_quoting_options.quote_these_too[7];
  options.left_quote = default_quoting_options.left_quote;
  options.right_quote = default_quoting_options.right_quote;
  set_char_quoting(&options,ch,1);
  pcVar2 = quotearg_n_options(0,arg,argsize,&options);
  if (iVar1 == *(int *)(in_GS_OFFSET + 0x14)) {
    return pcVar2;
  }
                    /* WARNING: Subroutine does not return */
  __stack_chk_fail_local();
}



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

void FUN_00013b40(undefined4 param_1,undefined4 param_2,char param_3)

{
  int in_GS_OFFSET;
  undefined4 local_40;
  undefined4 local_3c;
  undefined4 local_38;
  undefined4 local_34;
  undefined4 local_30;
  undefined4 local_2c;
  undefined4 local_28;
  undefined4 local_24;
  undefined4 local_20;
  undefined4 local_1c;
  undefined4 local_18;
  undefined4 local_14;
  int local_10;
  
  local_10 = *(int *)(in_GS_OFFSET + 0x14);
  local_40 = DAT_0001c280;
  local_3c = DAT_0001c284;
  local_38 = DAT_0001c288;
  local_34 = DAT_0001c28c;
  local_30 = DAT_0001c290;
  local_2c = DAT_0001c294;
  local_28 = DAT_0001c298;
  local_24 = DAT_0001c29c;
  local_20 = DAT_0001c2a0;
  local_1c = DAT_0001c2a4;
  local_18 = DAT_0001c2a8;
  local_14 = DAT_0001c2ac;
  FUN_000135f0(&local_40,(int)param_3,1);
  FUN_000133c0(&local_40);
  if (local_10 == *(int *)(in_GS_OFFSET + 0x14)) {
    return;
  }
                    /* WARNING: Subroutine does not return */
  FUN_00016000();
}


PUSH EDI
PUSH ESI
PUSH EBX
CALL 0x00011650
ADD EBX,0x84b8
SUB ESP,0x44
MOV EAX,GS:[0x14]
MOV dword ptr [ESP + 0x40],EAX
XOR EAX,EAX
MOV EDI,dword ptr [ESP + 0x54]
MOV EAX,dword ptr [EBX + 0x280]
MOV dword ptr [ESP + 0x10],EAX
MOV EAX,dword ptr [EBX + 0x284]
MOV dword ptr [ESP + 0x14],EAX
MOV EAX,dword ptr [EBX + 0x288]
MOV dword ptr [ESP + 0x18],EAX
MOV EAX,dword ptr [EBX + 0x28c]
MOV dword ptr [ESP + 0x1c],EAX
MOV EAX,dword ptr [EBX + 0x290]
MOV dword ptr [ESP + 0x20],EAX
MOV EAX,dword ptr [EBX + 0x294]
MOV dword ptr [ESP + 0x24],EAX
MOV EAX,dword ptr [EBX + 0x298]
MOV dword ptr [ESP + 0x28],EAX
MOV EAX,dword ptr [EBX + 0x29c]
MOV dword ptr [ESP + 0x2c],EAX
MOV EAX,dword ptr [EBX + 0x2a0]
MOV dword ptr [ESP + 0x30],EAX
MOV EAX,dword ptr [EBX + 0x2a4]
MOV dword ptr [ESP + 0x34],EAX
MOV EAX,dword ptr [EBX + 0x2a8]
MOV dword ptr [ESP + 0x38],EAX
MOV EAX,dword ptr [EBX + 0x2ac]
MOV dword ptr [ESP + 0x3c],EAX
PUSH 0x1
MOVSX EAX,byte ptr [ESP + 0x60]
PUSH EAX
LEA ESI,[ESP + 0x18]
PUSH ESI
CALL 0x000135f0
MOV ECX,dword ptr [ESP + 0x64]
MOV EDX,EDI
XOR EAX,EAX
MOV dword ptr [ESP],ESI
CALL 0x000133c0
ADD ESP,0x10
MOV EDX,dword ptr [ESP + 0x3c]
XOR EDX,dword ptr GS:[0x14]
JNZ 0x00013c12
ADD ESP,0x40
POP EBX
POP ESI
POP EDI
RET
CALL 0x00016000
(translation_unit "/* WARNING: Function: __i686.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n\nvoid FUN_00013b40(undefined4 param_1,undefined4 param_2,char param_3)\n\n{\n  int in_GS_OFFSET;\n  undefined4 local_40;\n  undefined4 local_3c;\n  undefined4 local_38;\n  undefined4 local_34;\n  undefined4 local_30;\n  undefined4 local_2c;\n  undefined4 local_28;\n  undefined4 local_24;\n  undefined4 local_20;\n  undefined4 local_1c;\n  undefined4 local_18;\n  undefined4 local_14;\n  int local_10;\n  \n  local_10 = *(int *)(in_GS_OFFSET + 0x14);\n  local_40 = DAT_0001c280;\n  local_3c = DAT_0001c284;\n  local_38 = DAT_0001c288;\n  local_34 = DAT_0001c28c;\n  local_30 = DAT_0001c290;\n  local_2c = DAT_0001c294;\n  local_28 = DAT_0001c298;\n  local_24 = DAT_0001c29c;\n  local_20 = DAT_0001c2a0;\n  local_1c = DAT_0001c2a4;\n  local_18 = DAT_0001c2a8;\n  local_14 = DAT_0001c2ac;\n  FUN_000135f0(&local_40,(int)param_3,1);\n  FUN_000133c0(&local_40);\n  if (local_10 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return;\n  }\n                    /* WARNING: Subroutine does not return */\n  FUN_00016000();\n}\n\n" comment (function_definition "void FUN_00013b40(undefined4 param_1,undefined4 param_2,char param_3)\n\n{\n  int in_GS_OFFSET;\n  undefined4 local_40;\n  undefined4 local_3c;\n  undefined4 local_38;\n  undefined4 local_34;\n  undefined4 local_30;\n  undefined4 local_2c;\n  undefined4 local_28;\n  undefined4 local_24;\n  undefined4 local_20;\n  undefined4 local_1c;\n  undefined4 local_18;\n  undefined4 local_14;\n  int local_10;\n  \n  local_10 = *(int *)(in_GS_OFFSET + 0x14);\n  local_40 = DAT_0001c280;\n  local_3c = DAT_0001c284;\n  local_38 = DAT_0001c288;\n  local_34 = DAT_0001c28c;\n  local_30 = DAT_0001c290;\n  local_2c = DAT_0001c294;\n  local_28 = DAT_0001c298;\n  local_24 = DAT_0001c29c;\n  local_20 = DAT_0001c2a0;\n  local_1c = DAT_0001c2a4;\n  local_18 = DAT_0001c2a8;\n  local_14 = DAT_0001c2ac;\n  FUN_000135f0(&local_40,(int)param_3,1);\n  FUN_000133c0(&local_40);\n  if (local_10 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return;\n  }\n                    /* WARNING: Subroutine does not return */\n  FUN_00016000();\n}" primitive_type (function_declarator "FUN_00013b40(undefined4 param_1,undefined4 param_2,char param_3)" identifier (parameter_list "(undefined4 param_1,undefined4 param_2,char param_3)" ( (parameter_declaration "undefined4 param_1" type_identifier identifier) , (parameter_declaration "undefined4 param_2" type_identifier identifier) , (parameter_declaration "char param_3" primitive_type identifier) ))) (compound_statement "{\n  int in_GS_OFFSET;\n  undefined4 local_40;\n  undefined4 local_3c;\n  undefined4 local_38;\n  undefined4 local_34;\n  undefined4 local_30;\n  undefined4 local_2c;\n  undefined4 local_28;\n  undefined4 local_24;\n  undefined4 local_20;\n  undefined4 local_1c;\n  undefined4 local_18;\n  undefined4 local_14;\n  int local_10;\n  \n  local_10 = *(int *)(in_GS_OFFSET + 0x14);\n  local_40 = DAT_0001c280;\n  local_3c = DAT_0001c284;\n  local_38 = DAT_0001c288;\n  local_34 = DAT_0001c28c;\n  local_30 = DAT_0001c290;\n  local_2c = DAT_0001c294;\n  local_28 = DAT_0001c298;\n  local_24 = DAT_0001c29c;\n  local_20 = DAT_0001c2a0;\n  local_1c = DAT_0001c2a4;\n  local_18 = DAT_0001c2a8;\n  local_14 = DAT_0001c2ac;\n  FUN_000135f0(&local_40,(int)param_3,1);\n  FUN_000133c0(&local_40);\n  if (local_10 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return;\n  }\n                    /* WARNING: Subroutine does not return */\n  FUN_00016000();\n}" { (declaration "int in_GS_OFFSET;" primitive_type identifier ;) (declaration "undefined4 local_40;" type_identifier identifier ;) (declaration "undefined4 local_3c;" type_identifier identifier ;) (declaration "undefined4 local_38;" type_identifier identifier ;) (declaration "undefined4 local_34;" type_identifier identifier ;) (declaration "undefined4 local_30;" type_identifier identifier ;) (declaration "undefined4 local_2c;" type_identifier identifier ;) (declaration "undefined4 local_28;" type_identifier identifier ;) (declaration "undefined4 local_24;" type_identifier identifier ;) (declaration "undefined4 local_20;" type_identifier identifier ;) (declaration "undefined4 local_1c;" type_identifier identifier ;) (declaration "undefined4 local_18;" type_identifier identifier ;) (declaration "undefined4 local_14;" type_identifier identifier ;) (declaration "int local_10;" primitive_type identifier ;) (expression_statement "local_10 = *(int *)(in_GS_OFFSET + 0x14);" (assignment_expression "local_10 = *(int *)(in_GS_OFFSET + 0x14)" identifier = (pointer_expression "*(int *)(in_GS_OFFSET + 0x14)" * (cast_expression "(int *)(in_GS_OFFSET + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_GS_OFFSET + 0x14)" ( (binary_expression "in_GS_OFFSET + 0x14" identifier + number_literal) ))))) ;) (expression_statement "local_40 = DAT_0001c280;" (assignment_expression "local_40 = DAT_0001c280" identifier = identifier) ;) (expression_statement "local_3c = DAT_0001c284;" (assignment_expression "local_3c = DAT_0001c284" identifier = identifier) ;) (expression_statement "local_38 = DAT_0001c288;" (assignment_expression "local_38 = DAT_0001c288" identifier = identifier) ;) (expression_statement "local_34 = DAT_0001c28c;" (assignment_expression "local_34 = DAT_0001c28c" identifier = identifier) ;) (expression_statement "local_30 = DAT_0001c290;" (assignment_expression "local_30 = DAT_0001c290" identifier = identifier) ;) (expression_statement "local_2c = DAT_0001c294;" (assignment_expression "local_2c = DAT_0001c294" identifier = identifier) ;) (expression_statement "local_28 = DAT_0001c298;" (assignment_expression "local_28 = DAT_0001c298" identifier = identifier) ;) (expression_statement "local_24 = DAT_0001c29c;" (assignment_expression "local_24 = DAT_0001c29c" identifier = identifier) ;) (expression_statement "local_20 = DAT_0001c2a0;" (assignment_expression "local_20 = DAT_0001c2a0" identifier = identifier) ;) (expression_statement "local_1c = DAT_0001c2a4;" (assignment_expression "local_1c = DAT_0001c2a4" identifier = identifier) ;) (expression_statement "local_18 = DAT_0001c2a8;" (assignment_expression "local_18 = DAT_0001c2a8" identifier = identifier) ;) (expression_statement "local_14 = DAT_0001c2ac;" (assignment_expression "local_14 = DAT_0001c2ac" identifier = identifier) ;) (expression_statement "FUN_000135f0(&local_40,(int)param_3,1);" (call_expression "FUN_000135f0(&local_40,(int)param_3,1)" identifier (argument_list "(&local_40,(int)param_3,1)" ( (pointer_expression "&local_40" & identifier) , (cast_expression "(int)param_3" ( (type_descriptor "int" primitive_type) ) identifier) , number_literal ))) ;) (expression_statement "FUN_000133c0(&local_40);" (call_expression "FUN_000133c0(&local_40)" identifier (argument_list "(&local_40)" ( (pointer_expression "&local_40" & identifier) ))) ;) (if_statement "if (local_10 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return;\n  }" if (parenthesized_expression "(local_10 == *(int *)(in_GS_OFFSET + 0x14))" ( (binary_expression "local_10 == *(int *)(in_GS_OFFSET + 0x14)" identifier == (pointer_expression "*(int *)(in_GS_OFFSET + 0x14)" * (cast_expression "(int *)(in_GS_OFFSET + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_GS_OFFSET + 0x14)" ( (binary_expression "in_GS_OFFSET + 0x14" identifier + number_literal) ))))) )) (compound_statement "{\n    return;\n  }" { (return_statement "return;" return ;) })) comment (expression_statement "FUN_00016000();" (call_expression "FUN_00016000()" identifier (argument_list "()" ( ))) ;) })))
(translation_unit "/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n/* WARNING: Unknown calling convention */\n\nchar * quotearg_char_mem(char *arg,size_t argsize,char ch)\n\n{\n  int iVar1;\n  char *pcVar2;\n  int in_GS_OFFSET;\n  quoting_options options;\n  \n  iVar1 = *(int *)(in_GS_OFFSET + 0x14);\n  options.style = default_quoting_options.style;\n  options.flags = default_quoting_options.flags;\n  options.quote_these_too[0] = default_quoting_options.quote_these_too[0];\n  options.quote_these_too[1] = default_quoting_options.quote_these_too[1];\n  options.quote_these_too[2] = default_quoting_options.quote_these_too[2];\n  options.quote_these_too[3] = default_quoting_options.quote_these_too[3];\n  options.quote_these_too[4] = default_quoting_options.quote_these_too[4];\n  options.quote_these_too[5] = default_quoting_options.quote_these_too[5];\n  options.quote_these_too[6] = default_quoting_options.quote_these_too[6];\n  options.quote_these_too[7] = default_quoting_options.quote_these_too[7];\n  options.left_quote = default_quoting_options.left_quote;\n  options.right_quote = default_quoting_options.right_quote;\n  set_char_quoting(&options,ch,1);\n  pcVar2 = quotearg_n_options(0,arg,argsize,&options);\n  if (iVar1 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return pcVar2;\n  }\n                    /* WARNING: Subroutine does not return */\n  __stack_chk_fail_local();\n}\n\n" comment comment (function_definition "char * quotearg_char_mem(char *arg,size_t argsize,char ch)\n\n{\n  int iVar1;\n  char *pcVar2;\n  int in_GS_OFFSET;\n  quoting_options options;\n  \n  iVar1 = *(int *)(in_GS_OFFSET + 0x14);\n  options.style = default_quoting_options.style;\n  options.flags = default_quoting_options.flags;\n  options.quote_these_too[0] = default_quoting_options.quote_these_too[0];\n  options.quote_these_too[1] = default_quoting_options.quote_these_too[1];\n  options.quote_these_too[2] = default_quoting_options.quote_these_too[2];\n  options.quote_these_too[3] = default_quoting_options.quote_these_too[3];\n  options.quote_these_too[4] = default_quoting_options.quote_these_too[4];\n  options.quote_these_too[5] = default_quoting_options.quote_these_too[5];\n  options.quote_these_too[6] = default_quoting_options.quote_these_too[6];\n  options.quote_these_too[7] = default_quoting_options.quote_these_too[7];\n  options.left_quote = default_quoting_options.left_quote;\n  options.right_quote = default_quoting_options.right_quote;\n  set_char_quoting(&options,ch,1);\n  pcVar2 = quotearg_n_options(0,arg,argsize,&options);\n  if (iVar1 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return pcVar2;\n  }\n                    /* WARNING: Subroutine does not return */\n  __stack_chk_fail_local();\n}" primitive_type (pointer_declarator "* quotearg_char_mem(char *arg,size_t argsize,char ch)" * (function_declarator "quotearg_char_mem(char *arg,size_t argsize,char ch)" identifier (parameter_list "(char *arg,size_t argsize,char ch)" ( (parameter_declaration "char *arg" primitive_type (pointer_declarator "*arg" * identifier)) , (parameter_declaration "size_t argsize" primitive_type identifier) , (parameter_declaration "char ch" primitive_type identifier) )))) (compound_statement "{\n  int iVar1;\n  char *pcVar2;\n  int in_GS_OFFSET;\n  quoting_options options;\n  \n  iVar1 = *(int *)(in_GS_OFFSET + 0x14);\n  options.style = default_quoting_options.style;\n  options.flags = default_quoting_options.flags;\n  options.quote_these_too[0] = default_quoting_options.quote_these_too[0];\n  options.quote_these_too[1] = default_quoting_options.quote_these_too[1];\n  options.quote_these_too[2] = default_quoting_options.quote_these_too[2];\n  options.quote_these_too[3] = default_quoting_options.quote_these_too[3];\n  options.quote_these_too[4] = default_quoting_options.quote_these_too[4];\n  options.quote_these_too[5] = default_quoting_options.quote_these_too[5];\n  options.quote_these_too[6] = default_quoting_options.quote_these_too[6];\n  options.quote_these_too[7] = default_quoting_options.quote_these_too[7];\n  options.left_quote = default_quoting_options.left_quote;\n  options.right_quote = default_quoting_options.right_quote;\n  set_char_quoting(&options,ch,1);\n  pcVar2 = quotearg_n_options(0,arg,argsize,&options);\n  if (iVar1 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return pcVar2;\n  }\n                    /* WARNING: Subroutine does not return */\n  __stack_chk_fail_local();\n}" { (declaration "int iVar1;" primitive_type identifier ;) (declaration "char *pcVar2;" primitive_type (pointer_declarator "*pcVar2" * identifier) ;) (declaration "int in_GS_OFFSET;" primitive_type identifier ;) (declaration "quoting_options options;" type_identifier identifier ;) (expression_statement "iVar1 = *(int *)(in_GS_OFFSET + 0x14);" (assignment_expression "iVar1 = *(int *)(in_GS_OFFSET + 0x14)" identifier = (pointer_expression "*(int *)(in_GS_OFFSET + 0x14)" * (cast_expression "(int *)(in_GS_OFFSET + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_GS_OFFSET + 0x14)" ( (binary_expression "in_GS_OFFSET + 0x14" identifier + number_literal) ))))) ;) (expression_statement "options.style = default_quoting_options.style;" (assignment_expression "options.style = default_quoting_options.style" (field_expression "options.style" identifier . field_identifier) = (field_expression "default_quoting_options.style" identifier . field_identifier)) ;) (expression_statement "options.flags = default_quoting_options.flags;" (assignment_expression "options.flags = default_quoting_options.flags" (field_expression "options.flags" identifier . field_identifier) = (field_expression "default_quoting_options.flags" identifier . field_identifier)) ;) (expression_statement "options.quote_these_too[0] = default_quoting_options.quote_these_too[0];" (assignment_expression "options.quote_these_too[0] = default_quoting_options.quote_these_too[0]" (subscript_expression "options.quote_these_too[0]" (field_expression "options.quote_these_too" identifier . field_identifier) [ number_literal ]) = (subscript_expression "default_quoting_options.quote_these_too[0]" (field_expression "default_quoting_options.quote_these_too" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "options.quote_these_too[1] = default_quoting_options.quote_these_too[1];" (assignment_expression "options.quote_these_too[1] = default_quoting_options.quote_these_too[1]" (subscript_expression "options.quote_these_too[1]" (field_expression "options.quote_these_too" identifier . field_identifier) [ number_literal ]) = (subscript_expression "default_quoting_options.quote_these_too[1]" (field_expression "default_quoting_options.quote_these_too" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "options.quote_these_too[2] = default_quoting_options.quote_these_too[2];" (assignment_expression "options.quote_these_too[2] = default_quoting_options.quote_these_too[2]" (subscript_expression "options.quote_these_too[2]" (field_expression "options.quote_these_too" identifier . field_identifier) [ number_literal ]) = (subscript_expression "default_quoting_options.quote_these_too[2]" (field_expression "default_quoting_options.quote_these_too" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "options.quote_these_too[3] = default_quoting_options.quote_these_too[3];" (assignment_expression "options.quote_these_too[3] = default_quoting_options.quote_these_too[3]" (subscript_expression "options.quote_these_too[3]" (field_expression "options.quote_these_too" identifier . field_identifier) [ number_literal ]) = (subscript_expression "default_quoting_options.quote_these_too[3]" (field_expression "default_quoting_options.quote_these_too" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "options.quote_these_too[4] = default_quoting_options.quote_these_too[4];" (assignment_expression "options.quote_these_too[4] = default_quoting_options.quote_these_too[4]" (subscript_expression "options.quote_these_too[4]" (field_expression "options.quote_these_too" identifier . field_identifier) [ number_literal ]) = (subscript_expression "default_quoting_options.quote_these_too[4]" (field_expression "default_quoting_options.quote_these_too" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "options.quote_these_too[5] = default_quoting_options.quote_these_too[5];" (assignment_expression "options.quote_these_too[5] = default_quoting_options.quote_these_too[5]" (subscript_expression "options.quote_these_too[5]" (field_expression "options.quote_these_too" identifier . field_identifier) [ number_literal ]) = (subscript_expression "default_quoting_options.quote_these_too[5]" (field_expression "default_quoting_options.quote_these_too" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "options.quote_these_too[6] = default_quoting_options.quote_these_too[6];" (assignment_expression "options.quote_these_too[6] = default_quoting_options.quote_these_too[6]" (subscript_expression "options.quote_these_too[6]" (field_expression "options.quote_these_too" identifier . field_identifier) [ number_literal ]) = (subscript_expression "default_quoting_options.quote_these_too[6]" (field_expression "default_quoting_options.quote_these_too" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "options.quote_these_too[7] = default_quoting_options.quote_these_too[7];" (assignment_expression "options.quote_these_too[7] = default_quoting_options.quote_these_too[7]" (subscript_expression "options.quote_these_too[7]" (field_expression "options.quote_these_too" identifier . field_identifier) [ number_literal ]) = (subscript_expression "default_quoting_options.quote_these_too[7]" (field_expression "default_quoting_options.quote_these_too" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "options.left_quote = default_quoting_options.left_quote;" (assignment_expression "options.left_quote = default_quoting_options.left_quote" (field_expression "options.left_quote" identifier . field_identifier) = (field_expression "default_quoting_options.left_quote" identifier . field_identifier)) ;) (expression_statement "options.right_quote = default_quoting_options.right_quote;" (assignment_expression "options.right_quote = default_quoting_options.right_quote" (field_expression "options.right_quote" identifier . field_identifier) = (field_expression "default_quoting_options.right_quote" identifier . field_identifier)) ;) (expression_statement "set_char_quoting(&options,ch,1);" (call_expression "set_char_quoting(&options,ch,1)" identifier (argument_list "(&options,ch,1)" ( (pointer_expression "&options" & identifier) , identifier , number_literal ))) ;) (expression_statement "pcVar2 = quotearg_n_options(0,arg,argsize,&options);" (assignment_expression "pcVar2 = quotearg_n_options(0,arg,argsize,&options)" identifier = (call_expression "quotearg_n_options(0,arg,argsize,&options)" identifier (argument_list "(0,arg,argsize,&options)" ( number_literal , identifier , identifier , (pointer_expression "&options" & identifier) )))) ;) (if_statement "if (iVar1 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return pcVar2;\n  }" if (parenthesized_expression "(iVar1 == *(int *)(in_GS_OFFSET + 0x14))" ( (binary_expression "iVar1 == *(int *)(in_GS_OFFSET + 0x14)" identifier == (pointer_expression "*(int *)(in_GS_OFFSET + 0x14)" * (cast_expression "(int *)(in_GS_OFFSET + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_GS_OFFSET + 0x14)" ( (binary_expression "in_GS_OFFSET + 0x14" identifier + number_literal) ))))) )) (compound_statement "{\n    return pcVar2;\n  }" { (return_statement "return pcVar2;" return identifier ;) })) comment (expression_statement "__stack_chk_fail_local();" (call_expression "__stack_chk_fail_local()" identifier (argument_list "()" ( ))) ;) })))
(translation_unit "void FUN_00013b40(undefined4 param_1,undefined4 param_2,char param_3)\n\n{\n  int in_GS_OFFSET;\n  undefined4 local_40;\n  undefined4 local_3c;\n  undefined4 local_38;\n  undefined4 local_34;\n  undefined4 local_30;\n  undefined4 local_2c;\n  undefined4 local_28;\n  undefined4 local_24;\n  undefined4 local_20;\n  undefined4 local_1c;\n  undefined4 local_18;\n  undefined4 local_14;\n  int local_10;\n  \n  local_10 = *(int *)(in_GS_OFFSET + 0x14);\n  local_40 = DAT_0001c280;\n  local_3c = DAT_0001c284;\n  local_38 = DAT_0001c288;\n  local_34 = DAT_0001c28c;\n  local_30 = DAT_0001c290;\n  local_2c = DAT_0001c294;\n  local_28 = DAT_0001c298;\n  local_24 = DAT_0001c29c;\n  local_20 = DAT_0001c2a0;\n  local_1c = DAT_0001c2a4;\n  local_18 = DAT_0001c2a8;\n  local_14 = DAT_0001c2ac;\n  FUN_000135f0(&local_40,(int)param_3,1);\n  FUN_000133c0(&local_40);\n  if (local_10 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return;\n  }\n                    \n  FUN_00016000();\n}\n\n" (function_definition "void FUN_00013b40(undefined4 param_1,undefined4 param_2,char param_3)\n\n{\n  int in_GS_OFFSET;\n  undefined4 local_40;\n  undefined4 local_3c;\n  undefined4 local_38;\n  undefined4 local_34;\n  undefined4 local_30;\n  undefined4 local_2c;\n  undefined4 local_28;\n  undefined4 local_24;\n  undefined4 local_20;\n  undefined4 local_1c;\n  undefined4 local_18;\n  undefined4 local_14;\n  int local_10;\n  \n  local_10 = *(int *)(in_GS_OFFSET + 0x14);\n  local_40 = DAT_0001c280;\n  local_3c = DAT_0001c284;\n  local_38 = DAT_0001c288;\n  local_34 = DAT_0001c28c;\n  local_30 = DAT_0001c290;\n  local_2c = DAT_0001c294;\n  local_28 = DAT_0001c298;\n  local_24 = DAT_0001c29c;\n  local_20 = DAT_0001c2a0;\n  local_1c = DAT_0001c2a4;\n  local_18 = DAT_0001c2a8;\n  local_14 = DAT_0001c2ac;\n  FUN_000135f0(&local_40,(int)param_3,1);\n  FUN_000133c0(&local_40);\n  if (local_10 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return;\n  }\n                    \n  FUN_00016000();\n}" primitive_type (function_declarator "FUN_00013b40(undefined4 param_1,undefined4 param_2,char param_3)" identifier (parameter_list "(undefined4 param_1,undefined4 param_2,char param_3)" ( (parameter_declaration "undefined4 param_1" type_identifier identifier) , (parameter_declaration "undefined4 param_2" type_identifier identifier) , (parameter_declaration "char param_3" primitive_type identifier) ))) (compound_statement "{\n  int in_GS_OFFSET;\n  undefined4 local_40;\n  undefined4 local_3c;\n  undefined4 local_38;\n  undefined4 local_34;\n  undefined4 local_30;\n  undefined4 local_2c;\n  undefined4 local_28;\n  undefined4 local_24;\n  undefined4 local_20;\n  undefined4 local_1c;\n  undefined4 local_18;\n  undefined4 local_14;\n  int local_10;\n  \n  local_10 = *(int *)(in_GS_OFFSET + 0x14);\n  local_40 = DAT_0001c280;\n  local_3c = DAT_0001c284;\n  local_38 = DAT_0001c288;\n  local_34 = DAT_0001c28c;\n  local_30 = DAT_0001c290;\n  local_2c = DAT_0001c294;\n  local_28 = DAT_0001c298;\n  local_24 = DAT_0001c29c;\n  local_20 = DAT_0001c2a0;\n  local_1c = DAT_0001c2a4;\n  local_18 = DAT_0001c2a8;\n  local_14 = DAT_0001c2ac;\n  FUN_000135f0(&local_40,(int)param_3,1);\n  FUN_000133c0(&local_40);\n  if (local_10 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return;\n  }\n                    \n  FUN_00016000();\n}" { (declaration "int in_GS_OFFSET;" primitive_type identifier ;) (declaration "undefined4 local_40;" type_identifier identifier ;) (declaration "undefined4 local_3c;" type_identifier identifier ;) (declaration "undefined4 local_38;" type_identifier identifier ;) (declaration "undefined4 local_34;" type_identifier identifier ;) (declaration "undefined4 local_30;" type_identifier identifier ;) (declaration "undefined4 local_2c;" type_identifier identifier ;) (declaration "undefined4 local_28;" type_identifier identifier ;) (declaration "undefined4 local_24;" type_identifier identifier ;) (declaration "undefined4 local_20;" type_identifier identifier ;) (declaration "undefined4 local_1c;" type_identifier identifier ;) (declaration "undefined4 local_18;" type_identifier identifier ;) (declaration "undefined4 local_14;" type_identifier identifier ;) (declaration "int local_10;" primitive_type identifier ;) (expression_statement "local_10 = *(int *)(in_GS_OFFSET + 0x14);" (assignment_expression "local_10 = *(int *)(in_GS_OFFSET + 0x14)" identifier = (pointer_expression "*(int *)(in_GS_OFFSET + 0x14)" * (cast_expression "(int *)(in_GS_OFFSET + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_GS_OFFSET + 0x14)" ( (binary_expression "in_GS_OFFSET + 0x14" identifier + number_literal) ))))) ;) (expression_statement "local_40 = DAT_0001c280;" (assignment_expression "local_40 = DAT_0001c280" identifier = identifier) ;) (expression_statement "local_3c = DAT_0001c284;" (assignment_expression "local_3c = DAT_0001c284" identifier = identifier) ;) (expression_statement "local_38 = DAT_0001c288;" (assignment_expression "local_38 = DAT_0001c288" identifier = identifier) ;) (expression_statement "local_34 = DAT_0001c28c;" (assignment_expression "local_34 = DAT_0001c28c" identifier = identifier) ;) (expression_statement "local_30 = DAT_0001c290;" (assignment_expression "local_30 = DAT_0001c290" identifier = identifier) ;) (expression_statement "local_2c = DAT_0001c294;" (assignment_expression "local_2c = DAT_0001c294" identifier = identifier) ;) (expression_statement "local_28 = DAT_0001c298;" (assignment_expression "local_28 = DAT_0001c298" identifier = identifier) ;) (expression_statement "local_24 = DAT_0001c29c;" (assignment_expression "local_24 = DAT_0001c29c" identifier = identifier) ;) (expression_statement "local_20 = DAT_0001c2a0;" (assignment_expression "local_20 = DAT_0001c2a0" identifier = identifier) ;) (expression_statement "local_1c = DAT_0001c2a4;" (assignment_expression "local_1c = DAT_0001c2a4" identifier = identifier) ;) (expression_statement "local_18 = DAT_0001c2a8;" (assignment_expression "local_18 = DAT_0001c2a8" identifier = identifier) ;) (expression_statement "local_14 = DAT_0001c2ac;" (assignment_expression "local_14 = DAT_0001c2ac" identifier = identifier) ;) (expression_statement "FUN_000135f0(&local_40,(int)param_3,1);" (call_expression "FUN_000135f0(&local_40,(int)param_3,1)" identifier (argument_list "(&local_40,(int)param_3,1)" ( (pointer_expression "&local_40" & identifier) , (cast_expression "(int)param_3" ( (type_descriptor "int" primitive_type) ) identifier) , number_literal ))) ;) (expression_statement "FUN_000133c0(&local_40);" (call_expression "FUN_000133c0(&local_40)" identifier (argument_list "(&local_40)" ( (pointer_expression "&local_40" & identifier) ))) ;) (if_statement "if (local_10 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return;\n  }" if (parenthesized_expression "(local_10 == *(int *)(in_GS_OFFSET + 0x14))" ( (binary_expression "local_10 == *(int *)(in_GS_OFFSET + 0x14)" identifier == (pointer_expression "*(int *)(in_GS_OFFSET + 0x14)" * (cast_expression "(int *)(in_GS_OFFSET + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_GS_OFFSET + 0x14)" ( (binary_expression "in_GS_OFFSET + 0x14" identifier + number_literal) ))))) )) (compound_statement "{\n    return;\n  }" { (return_statement "return;" return ;) })) (expression_statement "FUN_00016000();" (call_expression "FUN_00016000()" identifier (argument_list "()" ( ))) ;) })))
(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 ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression & IDENT) , (cast_expression ( (type_descriptor TYPE) ) IDENT) , LIT ))) ;) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression & IDENT) ))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (compound_statement { (return_statement return ;) })) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })))
(function_definition "void FUN_00013b40(undefined4 param_1,undefined4 param_2,char param_3)\n\n{\n  int in_GS_OFFSET;\n  undefined4 local_40;\n  undefined4 local_3c;\n  undefined4 local_38;\n  undefined4 local_34;\n  undefined4 local_30;\n  undefined4 local_2c;\n  undefined4 local_28;\n  undefined4 local_24;\n  undefined4 local_20;\n  undefined4 local_1c;\n  undefined4 local_18;\n  undefined4 local_14;\n  int local_10;\n  \n  local_10 = *(int *)(in_GS_OFFSET + 0x14);\n  local_40 = DAT_0001c280;\n  local_3c = DAT_0001c284;\n  local_38 = DAT_0001c288;\n  local_34 = DAT_0001c28c;\n  local_30 = DAT_0001c290;\n  local_2c = DAT_0001c294;\n  local_28 = DAT_0001c298;\n  local_24 = DAT_0001c29c;\n  local_20 = DAT_0001c2a0;\n  local_1c = DAT_0001c2a4;\n  local_18 = DAT_0001c2a8;\n  local_14 = DAT_0001c2ac;\n  FUN_000135f0(&local_40,(int)param_3,1);\n  FUN_000133c0(&local_40);\n  if (local_10 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return;\n  }\n                    \n  FUN_00016000();\n}" (primitive_type "void") (function_declarator "FUN_00013b40(undefined4 param_1,undefined4 param_2,char param_3)" (identifier "FUN_00013b40") (parameter_list "(undefined4 param_1,undefined4 param_2,char param_3)" (( "(") (parameter_declaration "undefined4 param_1" (type_identifier "undefined4") (identifier "param_1")) (, ",") (parameter_declaration "undefined4 param_2" (type_identifier "undefined4") (identifier "param_2")) (, ",") (parameter_declaration "char param_3" (primitive_type "char") (identifier "param_3")) () ")"))) (compound_statement "{\n  int in_GS_OFFSET;\n  undefined4 local_40;\n  undefined4 local_3c;\n  undefined4 local_38;\n  undefined4 local_34;\n  undefined4 local_30;\n  undefined4 local_2c;\n  undefined4 local_28;\n  undefined4 local_24;\n  undefined4 local_20;\n  undefined4 local_1c;\n  undefined4 local_18;\n  undefined4 local_14;\n  int local_10;\n  \n  local_10 = *(int *)(in_GS_OFFSET + 0x14);\n  local_40 = DAT_0001c280;\n  local_3c = DAT_0001c284;\n  local_38 = DAT_0001c288;\n  local_34 = DAT_0001c28c;\n  local_30 = DAT_0001c290;\n  local_2c = DAT_0001c294;\n  local_28 = DAT_0001c298;\n  local_24 = DAT_0001c29c;\n  local_20 = DAT_0001c2a0;\n  local_1c = DAT_0001c2a4;\n  local_18 = DAT_0001c2a8;\n  local_14 = DAT_0001c2ac;\n  FUN_000135f0(&local_40,(int)param_3,1);\n  FUN_000133c0(&local_40);\n  if (local_10 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return;\n  }\n                    \n  FUN_00016000();\n}" ({ "{") (declaration "int in_GS_OFFSET;" (primitive_type "int") (identifier "in_GS_OFFSET") (; ";")) (declaration "undefined4 local_40;" (type_identifier "undefined4") (identifier "local_40") (; ";")) (declaration "undefined4 local_3c;" (type_identifier "undefined4") (identifier "local_3c") (; ";")) (declaration "undefined4 local_38;" (type_identifier "undefined4") (identifier "local_38") (; ";")) (declaration "undefined4 local_34;" (type_identifier "undefined4") (identifier "local_34") (; ";")) (declaration "undefined4 local_30;" (type_identifier "undefined4") (identifier "local_30") (; ";")) (declaration "undefined4 local_2c;" (type_identifier "undefined4") (identifier "local_2c") (; ";")) (declaration "undefined4 local_28;" (type_identifier "undefined4") (identifier "local_28") (; ";")) (declaration "undefined4 local_24;" (type_identifier "undefined4") (identifier "local_24") (; ";")) (declaration "undefined4 local_20;" (type_identifier "undefined4") (identifier "local_20") (; ";")) (declaration "undefined4 local_1c;" (type_identifier "undefined4") (identifier "local_1c") (; ";")) (declaration "undefined4 local_18;" (type_identifier "undefined4") (identifier "local_18") (; ";")) (declaration "undefined4 local_14;" (type_identifier "undefined4") (identifier "local_14") (; ";")) (declaration "int local_10;" (primitive_type "int") (identifier "local_10") (; ";")) (expression_statement "local_10 = *(int *)(in_GS_OFFSET + 0x14);" (assignment_expression "local_10 = *(int *)(in_GS_OFFSET + 0x14)" (identifier "local_10") (= "=") (pointer_expression "*(int *)(in_GS_OFFSET + 0x14)" (* "*") (cast_expression "(int *)(in_GS_OFFSET + 0x14)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(in_GS_OFFSET + 0x14)" (( "(") (binary_expression "in_GS_OFFSET + 0x14" (identifier "in_GS_OFFSET") (+ "+") (number_literal "0x14")) () ")"))))) (; ";")) (expression_statement "local_40 = DAT_0001c280;" (assignment_expression "local_40 = DAT_0001c280" (identifier "local_40") (= "=") (identifier "DAT_0001c280")) (; ";")) (expression_statement "local_3c = DAT_0001c284;" (assignment_expression "local_3c = DAT_0001c284" (identifier "local_3c") (= "=") (identifier "DAT_0001c284")) (; ";")) (expression_statement "local_38 = DAT_0001c288;" (assignment_expression "local_38 = DAT_0001c288" (identifier "local_38") (= "=") (identifier "DAT_0001c288")) (; ";")) (expression_statement "local_34 = DAT_0001c28c;" (assignment_expression "local_34 = DAT_0001c28c" (identifier "local_34") (= "=") (identifier "DAT_0001c28c")) (; ";")) (expression_statement "local_30 = DAT_0001c290;" (assignment_expression "local_30 = DAT_0001c290" (identifier "local_30") (= "=") (identifier "DAT_0001c290")) (; ";")) (expression_statement "local_2c = DAT_0001c294;" (assignment_expression "local_2c = DAT_0001c294" (identifier "local_2c") (= "=") (identifier "DAT_0001c294")) (; ";")) (expression_statement "local_28 = DAT_0001c298;" (assignment_expression "local_28 = DAT_0001c298" (identifier "local_28") (= "=") (identifier "DAT_0001c298")) (; ";")) (expression_statement "local_24 = DAT_0001c29c;" (assignment_expression "local_24 = DAT_0001c29c" (identifier "local_24") (= "=") (identifier "DAT_0001c29c")) (; ";")) (expression_statement "local_20 = DAT_0001c2a0;" (assignment_expression "local_20 = DAT_0001c2a0" (identifier "local_20") (= "=") (identifier "DAT_0001c2a0")) (; ";")) (expression_statement "local_1c = DAT_0001c2a4;" (assignment_expression "local_1c = DAT_0001c2a4" (identifier "local_1c") (= "=") (identifier "DAT_0001c2a4")) (; ";")) (expression_statement "local_18 = DAT_0001c2a8;" (assignment_expression "local_18 = DAT_0001c2a8" (identifier "local_18") (= "=") (identifier "DAT_0001c2a8")) (; ";")) (expression_statement "local_14 = DAT_0001c2ac;" (assignment_expression "local_14 = DAT_0001c2ac" (identifier "local_14") (= "=") (identifier "DAT_0001c2ac")) (; ";")) (expression_statement "FUN_000135f0(&local_40,(int)param_3,1);" (call_expression "FUN_000135f0(&local_40,(int)param_3,1)" (identifier "FUN_000135f0") (argument_list "(&local_40,(int)param_3,1)" (( "(") (pointer_expression "&local_40" (& "&") (identifier "local_40")) (, ",") (cast_expression "(int)param_3" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "param_3")) (, ",") (number_literal "1") () ")"))) (; ";")) (expression_statement "FUN_000133c0(&local_40);" (call_expression "FUN_000133c0(&local_40)" (identifier "FUN_000133c0") (argument_list "(&local_40)" (( "(") (pointer_expression "&local_40" (& "&") (identifier "local_40")) () ")"))) (; ";")) (if_statement "if (local_10 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return;\n  }" (if "if") (parenthesized_expression "(local_10 == *(int *)(in_GS_OFFSET + 0x14))" (( "(") (binary_expression "local_10 == *(int *)(in_GS_OFFSET + 0x14)" (identifier "local_10") (== "==") (pointer_expression "*(int *)(in_GS_OFFSET + 0x14)" (* "*") (cast_expression "(int *)(in_GS_OFFSET + 0x14)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(in_GS_OFFSET + 0x14)" (( "(") (binary_expression "in_GS_OFFSET + 0x14" (identifier "in_GS_OFFSET") (+ "+") (number_literal "0x14")) () ")"))))) () ")")) (compound_statement "{\n    return;\n  }" ({ "{") (return_statement "return;" (return "return") (; ";")) (} "}"))) (expression_statement "FUN_00016000();" (call_expression "FUN_00016000()" (identifier "FUN_00016000") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}")))

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

char * function_1(char *arg,size_t argsize,char ch)

{
  int var_4;
  char *pcVar2;
  int var_1;
  type_1 options;
  
  var_4 = *(int *)(var_1 + 0x14);
  options.style = default_quoting_options.style;
  options.flags = default_quoting_options.flags;
  options.quote_these_too[0] = default_quoting_options.quote_these_too[0];
  options.quote_these_too[1] = default_quoting_options.quote_these_too[1];
  options.quote_these_too[2] = default_quoting_options.quote_these_too[2];
  options.quote_these_too[3] = default_quoting_options.quote_these_too[3];
  options.quote_these_too[4] = default_quoting_options.quote_these_too[4];
  options.quote_these_too[5] = default_quoting_options.quote_these_too[5];
  options.quote_these_too[6] = default_quoting_options.quote_these_too[6];
  options.quote_these_too[7] = default_quoting_options.quote_these_too[7];
  options.left_quote = default_quoting_options.left_quote;
  options.right_quote = default_quoting_options.right_quote;
  var_2(&options,ch,1);
  pcVar2 = var_3(0,arg,argsize,&options);
  if (var_4 == *(int *)(var_1 + 0x14)) {
    return pcVar2;
  }
                    /* WARNING: Subroutine does not return */
  var_5();
}


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

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

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

{
  int in_GS_OFFSET;
  undefined4 local_40;
  undefined4 local_3c;
  undefined4 local_38;
  undefined4 local_34;
  undefined4 local_30;
  undefined4 local_2c;
  undefined4 local_28;
  undefined4 local_24;
  undefined4 local_20;
  undefined4 local_1c;
  undefined4 local_18;
  undefined4 local_14;
  int local_10;
  
  local_10 = *(int *)(in_GS_OFFSET + 0x14);
  local_40 = DAT_0001c280;
  local_3c = DAT_0001c284;
  local_38 = DAT_0001c288;
  local_34 = DAT_0001c28c;
  local_30 = DAT_0001c290;
  local_2c = DAT_0001c294;
  local_28 = DAT_0001c298;
  local_24 = DAT_0001c29c;
  local_20 = DAT_0001c2a0;
  local_1c = DAT_0001c2a4;
  local_18 = DAT_0001c2a8;
  local_14 = DAT_0001c2ac;
  FUN_000135f0(&local_40,(int)param_3,1);
  FUN_000133c0(&local_40);
  if (local_10 == *(int *)(in_GS_OFFSET + 0x14)) {
    return;
  }
                    /* WARNING: Subroutine does not return */
  FUN_00016000();
}

