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

int mb_width_aux(wint_t wc)

{
  uint uVar1;
  int iVar2;
  
  uVar1 = wcwidth(wc);
  if ((int)uVar1 < 0) {
    iVar2 = iswcntrl(wc);
    uVar1 = (uint)(iVar2 == 0);
  }
  return uVar1;
}



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

uint FUN_00017190(wchar_t param_1)

{
  uint uVar1;
  int iVar2;
  
  uVar1 = wcwidth(param_1);
  if ((int)uVar1 < 0) {
    iVar2 = iswcntrl(param_1);
    uVar1 = (uint)(iVar2 == 0);
  }
  return uVar1;
}


PUSH ESI
PUSH EBX
CALL 0x000130f0
ADD EBX,0xae69
SUB ESP,0x10
MOV ESI,dword ptr [ESP + 0x1c]
PUSH ESI
CALL 0x000110a0
ADD ESP,0x10
TEST EAX,EAX
JNS 0x000171c5
SUB ESP,0xc
PUSH ESI
CALL 0x00011150
ADD ESP,0x10
TEST EAX,EAX
SETZ AL
MOVZX EAX,AL
ADD ESP,0x4
POP EBX
POP ESI
RET
(translation_unit "/* WARNING: Function: __i686.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n\nuint FUN_00017190(wchar_t param_1)\n\n{\n  uint uVar1;\n  int iVar2;\n  \n  uVar1 = wcwidth(param_1);\n  if ((int)uVar1 < 0) {\n    iVar2 = iswcntrl(param_1);\n    uVar1 = (uint)(iVar2 == 0);\n  }\n  return uVar1;\n}\n\n" comment (function_definition "uint FUN_00017190(wchar_t param_1)\n\n{\n  uint uVar1;\n  int iVar2;\n  \n  uVar1 = wcwidth(param_1);\n  if ((int)uVar1 < 0) {\n    iVar2 = iswcntrl(param_1);\n    uVar1 = (uint)(iVar2 == 0);\n  }\n  return uVar1;\n}" type_identifier (function_declarator "FUN_00017190(wchar_t param_1)" identifier (parameter_list "(wchar_t param_1)" ( (parameter_declaration "wchar_t param_1" type_identifier identifier) ))) (compound_statement "{\n  uint uVar1;\n  int iVar2;\n  \n  uVar1 = wcwidth(param_1);\n  if ((int)uVar1 < 0) {\n    iVar2 = iswcntrl(param_1);\n    uVar1 = (uint)(iVar2 == 0);\n  }\n  return uVar1;\n}" { (declaration "uint uVar1;" type_identifier identifier ;) (declaration "int iVar2;" primitive_type identifier ;) (expression_statement "uVar1 = wcwidth(param_1);" (assignment_expression "uVar1 = wcwidth(param_1)" identifier = (call_expression "wcwidth(param_1)" identifier (argument_list "(param_1)" ( identifier )))) ;) (if_statement "if ((int)uVar1 < 0) {\n    iVar2 = iswcntrl(param_1);\n    uVar1 = (uint)(iVar2 == 0);\n  }" if (parenthesized_expression "((int)uVar1 < 0)" ( (binary_expression "(int)uVar1 < 0" (cast_expression "(int)uVar1" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (compound_statement "{\n    iVar2 = iswcntrl(param_1);\n    uVar1 = (uint)(iVar2 == 0);\n  }" { (expression_statement "iVar2 = iswcntrl(param_1);" (assignment_expression "iVar2 = iswcntrl(param_1)" identifier = (call_expression "iswcntrl(param_1)" identifier (argument_list "(param_1)" ( identifier )))) ;) (expression_statement "uVar1 = (uint)(iVar2 == 0);" (assignment_expression "uVar1 = (uint)(iVar2 == 0)" identifier = (call_expression "(uint)(iVar2 == 0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(iVar2 == 0)" ( (binary_expression "iVar2 == 0" identifier == number_literal) )))) ;) })) (return_statement "return uVar1;" return identifier ;) })))
(translation_unit "/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n/* WARNING: Unknown calling convention */\n\nint mb_width_aux(wint_t wc)\n\n{\n  uint uVar1;\n  int iVar2;\n  \n  uVar1 = wcwidth(wc);\n  if ((int)uVar1 < 0) {\n    iVar2 = iswcntrl(wc);\n    uVar1 = (uint)(iVar2 == 0);\n  }\n  return uVar1;\n}\n\n" comment comment (function_definition "int mb_width_aux(wint_t wc)\n\n{\n  uint uVar1;\n  int iVar2;\n  \n  uVar1 = wcwidth(wc);\n  if ((int)uVar1 < 0) {\n    iVar2 = iswcntrl(wc);\n    uVar1 = (uint)(iVar2 == 0);\n  }\n  return uVar1;\n}" primitive_type (function_declarator "mb_width_aux(wint_t wc)" identifier (parameter_list "(wint_t wc)" ( (parameter_declaration "wint_t wc" type_identifier identifier) ))) (compound_statement "{\n  uint uVar1;\n  int iVar2;\n  \n  uVar1 = wcwidth(wc);\n  if ((int)uVar1 < 0) {\n    iVar2 = iswcntrl(wc);\n    uVar1 = (uint)(iVar2 == 0);\n  }\n  return uVar1;\n}" { (declaration "uint uVar1;" type_identifier identifier ;) (declaration "int iVar2;" primitive_type identifier ;) (expression_statement "uVar1 = wcwidth(wc);" (assignment_expression "uVar1 = wcwidth(wc)" identifier = (call_expression "wcwidth(wc)" identifier (argument_list "(wc)" ( identifier )))) ;) (if_statement "if ((int)uVar1 < 0) {\n    iVar2 = iswcntrl(wc);\n    uVar1 = (uint)(iVar2 == 0);\n  }" if (parenthesized_expression "((int)uVar1 < 0)" ( (binary_expression "(int)uVar1 < 0" (cast_expression "(int)uVar1" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (compound_statement "{\n    iVar2 = iswcntrl(wc);\n    uVar1 = (uint)(iVar2 == 0);\n  }" { (expression_statement "iVar2 = iswcntrl(wc);" (assignment_expression "iVar2 = iswcntrl(wc)" identifier = (call_expression "iswcntrl(wc)" identifier (argument_list "(wc)" ( identifier )))) ;) (expression_statement "uVar1 = (uint)(iVar2 == 0);" (assignment_expression "uVar1 = (uint)(iVar2 == 0)" identifier = (call_expression "(uint)(iVar2 == 0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(iVar2 == 0)" ( (binary_expression "iVar2 == 0" identifier == number_literal) )))) ;) })) (return_statement "return uVar1;" return identifier ;) })))
(translation_unit "uint FUN_00017190(wchar_t param_1)\n\n{\n  uint uVar1;\n  int iVar2;\n  \n  uVar1 = wcwidth(param_1);\n  if ((int)uVar1 < 0) {\n    iVar2 = iswcntrl(param_1);\n    uVar1 = (uint)(iVar2 == 0);\n  }\n  return uVar1;\n}\n\n" (function_definition "uint FUN_00017190(wchar_t param_1)\n\n{\n  uint uVar1;\n  int iVar2;\n  \n  uVar1 = wcwidth(param_1);\n  if ((int)uVar1 < 0) {\n    iVar2 = iswcntrl(param_1);\n    uVar1 = (uint)(iVar2 == 0);\n  }\n  return uVar1;\n}" type_identifier (function_declarator "FUN_00017190(wchar_t param_1)" identifier (parameter_list "(wchar_t param_1)" ( (parameter_declaration "wchar_t param_1" type_identifier identifier) ))) (compound_statement "{\n  uint uVar1;\n  int iVar2;\n  \n  uVar1 = wcwidth(param_1);\n  if ((int)uVar1 < 0) {\n    iVar2 = iswcntrl(param_1);\n    uVar1 = (uint)(iVar2 == 0);\n  }\n  return uVar1;\n}" { (declaration "uint uVar1;" type_identifier identifier ;) (declaration "int iVar2;" primitive_type identifier ;) (expression_statement "uVar1 = wcwidth(param_1);" (assignment_expression "uVar1 = wcwidth(param_1)" identifier = (call_expression "wcwidth(param_1)" identifier (argument_list "(param_1)" ( identifier )))) ;) (if_statement "if ((int)uVar1 < 0) {\n    iVar2 = iswcntrl(param_1);\n    uVar1 = (uint)(iVar2 == 0);\n  }" if (parenthesized_expression "((int)uVar1 < 0)" ( (binary_expression "(int)uVar1 < 0" (cast_expression "(int)uVar1" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (compound_statement "{\n    iVar2 = iswcntrl(param_1);\n    uVar1 = (uint)(iVar2 == 0);\n  }" { (expression_statement "iVar2 = iswcntrl(param_1);" (assignment_expression "iVar2 = iswcntrl(param_1)" identifier = (call_expression "iswcntrl(param_1)" identifier (argument_list "(param_1)" ( identifier )))) ;) (expression_statement "uVar1 = (uint)(iVar2 == 0);" (assignment_expression "uVar1 = (uint)(iVar2 == 0)" identifier = (call_expression "(uint)(iVar2 == 0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(iVar2 == 0)" ( (binary_expression "iVar2 == 0" identifier == number_literal) )))) ;) })) (return_statement "return uVar1;" return identifier ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE IDENT) ))) (compound_statement { (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT == LIT) )))) ;) })) (return_statement return IDENT ;) })))
(function_definition "uint FUN_00017190(wchar_t param_1)\n\n{\n  uint uVar1;\n  int iVar2;\n  \n  uVar1 = wcwidth(param_1);\n  if ((int)uVar1 < 0) {\n    iVar2 = iswcntrl(param_1);\n    uVar1 = (uint)(iVar2 == 0);\n  }\n  return uVar1;\n}" (type_identifier "uint") (function_declarator "FUN_00017190(wchar_t param_1)" (identifier "FUN_00017190") (parameter_list "(wchar_t param_1)" (( "(") (parameter_declaration "wchar_t param_1" (type_identifier "wchar_t") (identifier "param_1")) () ")"))) (compound_statement "{\n  uint uVar1;\n  int iVar2;\n  \n  uVar1 = wcwidth(param_1);\n  if ((int)uVar1 < 0) {\n    iVar2 = iswcntrl(param_1);\n    uVar1 = (uint)(iVar2 == 0);\n  }\n  return uVar1;\n}" ({ "{") (declaration "uint uVar1;" (type_identifier "uint") (identifier "uVar1") (; ";")) (declaration "int iVar2;" (primitive_type "int") (identifier "iVar2") (; ";")) (expression_statement "uVar1 = wcwidth(param_1);" (assignment_expression "uVar1 = wcwidth(param_1)" (identifier "uVar1") (= "=") (call_expression "wcwidth(param_1)" (identifier "wcwidth") (argument_list "(param_1)" (( "(") (identifier "param_1") () ")")))) (; ";")) (if_statement "if ((int)uVar1 < 0) {\n    iVar2 = iswcntrl(param_1);\n    uVar1 = (uint)(iVar2 == 0);\n  }" (if "if") (parenthesized_expression "((int)uVar1 < 0)" (( "(") (binary_expression "(int)uVar1 < 0" (cast_expression "(int)uVar1" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar1")) (< "<") (number_literal "0")) () ")")) (compound_statement "{\n    iVar2 = iswcntrl(param_1);\n    uVar1 = (uint)(iVar2 == 0);\n  }" ({ "{") (expression_statement "iVar2 = iswcntrl(param_1);" (assignment_expression "iVar2 = iswcntrl(param_1)" (identifier "iVar2") (= "=") (call_expression "iswcntrl(param_1)" (identifier "iswcntrl") (argument_list "(param_1)" (( "(") (identifier "param_1") () ")")))) (; ";")) (expression_statement "uVar1 = (uint)(iVar2 == 0);" (assignment_expression "uVar1 = (uint)(iVar2 == 0)" (identifier "uVar1") (= "=") (call_expression "(uint)(iVar2 == 0)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(iVar2 == 0)" (( "(") (binary_expression "iVar2 == 0" (identifier "iVar2") (== "==") (number_literal "0")) () ")")))) (; ";")) (} "}"))) (return_statement "return uVar1;" (return "return") (identifier "uVar1") (; ";")) (} "}")))

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

int function_1(type_1 wc)

{
  type_2 uVar1;
  int var_3;
  
  uVar1 = var_1(wc);
  if ((int)uVar1 < 0) {
    var_3 = var_2(wc);
    uVar1 = (type_2)(var_3 == 0);
  }
  return uVar1;
}


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

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

uint MASKED(wchar_t param_1)

{
  uint uVar1;
  int iVar2;
  
  uVar1 = wcwidth(param_1);
  if ((int)uVar1 < 0) {
    iVar2 = iswcntrl(param_1);
    uVar1 = (uint)(iVar2 == 0);
  }
  return uVar1;
}

