
char * gettext_quote(char *msgid,quoting_style s)

{
  char *pcVar1;
  byte *pbVar2;
  
  pcVar1 = (char *)(*(code *)PTR_dcgettext_0002c304)(0,msgid,5);
  if (msgid == pcVar1) {
    pbVar2 = (byte *)locale_charset();
    if ((*pbVar2 & 0xdf) == 0x55) {
      if (((((pbVar2[1] & 0xdf) == 0x54) && ((pbVar2[2] & 0xdf) == 0x46)) && (pbVar2[3] == 0x2d)) &&
         ((pbVar2[4] == 0x38 && (pbVar2[5] == 0)))) {
        if (*pcVar1 != '`') {
          return PTR_DAT_0002c118 + -0x5228;
        }
        return PTR_DAT_0002c118 + -0x521c;
      }
    }
    else if (((((*pbVar2 & 0xdf) == 0x47) && ((pbVar2[1] & 0xdf) == 0x42)) && (pbVar2[2] == 0x31))
            && (((pbVar2[3] == 0x38 && (pbVar2[4] == 0x30)) &&
                ((pbVar2[5] == 0x33 && ((pbVar2[6] == 0x30 && (pbVar2[7] == 0)))))))) {
      if (*pcVar1 != '`') {
        return PTR_DAT_0002c118 + -0x5224;
      }
      return PTR_DAT_0002c118 + -0x5220;
    }
    if (s == clocale_quoting_style) {
      pcVar1 = PTR_DAT_0002c118 + -0x522c;
    }
    else {
      pcVar1 = PTR_DAT_0002c118 + -0x5218;
    }
  }
  return pcVar1;
}



char * FUN_00014808(char *param_1,int param_2)

{
  char *pcVar1;
  byte *pbVar2;
  int in_t9;
  
  pcVar1 = (char *)(**(code **)(in_t9 + 0x17afc))(0,param_1,5);
  if (param_1 == pcVar1) {
    pbVar2 = (byte *)locale_charset();
    if ((*pbVar2 & 0xdf) == 0x55) {
      if (((((pbVar2[1] & 0xdf) == 0x54) && ((pbVar2[2] & 0xdf) == 0x46)) && (pbVar2[3] == 0x2d)) &&
         ((pbVar2[4] == 0x38 && (pbVar2[5] == 0)))) {
        if (*pcVar1 != '`') {
          return (char *)(*(int *)(in_t9 + 0x17910) + -0x5228);
        }
        return (char *)(*(int *)(in_t9 + 0x17910) + -0x521c);
      }
    }
    else if (((((*pbVar2 & 0xdf) == 0x47) && ((pbVar2[1] & 0xdf) == 0x42)) && (pbVar2[2] == 0x31))
            && (((pbVar2[3] == 0x38 && (pbVar2[4] == 0x30)) &&
                ((pbVar2[5] == 0x33 && ((pbVar2[6] == 0x30 && (pbVar2[7] == 0)))))))) {
      if (*pcVar1 != '`') {
        return (char *)(*(int *)(in_t9 + 0x17910) + -0x5224);
      }
      return (char *)(*(int *)(in_t9 + 0x17910) + -0x5220);
    }
    if (param_2 == 9) {
      pcVar1 = (char *)(*(int *)(in_t9 + 0x17910) + -0x522c);
    }
    else {
      pcVar1 = (char *)(*(int *)(in_t9 + 0x17910) + -0x5218);
    }
  }
  return pcVar1;
}


lui gp,0x2
addiu gp,gp,-0x728
addu gp,gp,t9
addiu sp,sp,-0x28
sw ra,0x24(sp)
sw s2,0x20(sp)
sw s1,0x1c(sp)
sw s0,0x18(sp)
sw gp,0x10(sp)
or s1,a0,zero
or s2,a1,zero
li a2,0x5
or a1,a0,zero
or a0,zero,zero
lw t9,-0x7ddc(gp)
jalr t9
_nop
lw gp,0x10(sp)
beq s1,v0,0x00014874
_or s0,v0,zero
or v0,s0,zero
lw ra,0x24(sp)
lw s2,0x20(sp)
lw s1,0x1c(sp)
lw s0,0x18(sp)
jr ra
_addiu sp,sp,0x28
lw t9,-0x7f34(gp)
bal 0x00019a10
_nop
lw gp,0x10(sp)
lbu v1,0x0(v0)
andi v1,v1,0xdf
seb v1,v1
li a0,0x55
bne v1,a0,0x00014918
_li a0,0x54
lbu v1,0x1(v0)
andi v1,v1,0xdf
seb v1,v1
bne v1,a0,0x000148e8
_li a0,0x46
lbu v1,0x2(v0)
andi v1,v1,0xdf
seb v1,v1
bne v1,a0,0x000148e8
_li v1,0x2d
lb a0,0x3(v0)
bne a0,v1,0x000148e8
_li v1,0x38
lb a0,0x4(v0)
bne a0,v1,0x000148e8
_nop
lb v0,0x5(v0)
beq v0,zero,0x00014900
_li v0,0x60
li v0,0x9
beq s2,v0,0x000149b0
_nop
lw s0,-0x7fc8(gp)
b 0x00014858
_addiu s0,s0,-0x5218
lb v1,0x0(s0)
beq v1,v0,0x00014998
_nop
lw s0,-0x7fc8(gp)
b 0x00014858
_addiu s0,s0,-0x5228
li a0,0x47
bne v1,a0,0x000148e8
_li a0,0x42
lbu v1,0x1(v0)
andi v1,v1,0xdf
seb v1,v1
bne v1,a0,0x000148e8
_li v1,0x31
lb a0,0x2(v0)
bne a0,v1,0x000148e8
_li v1,0x38
lb a0,0x3(v0)
bne a0,v1,0x000148e8
_li v1,0x30
lb a0,0x4(v0)
bne a0,v1,0x000148e8
_li v1,0x33
lb a0,0x5(v0)
bne a0,v1,0x000148e8
_li v1,0x30
lb a0,0x6(v0)
bne a0,v1,0x000148e8
_nop
lb v0,0x7(v0)
bne v0,zero,0x000148e8
_li v0,0x60
lb v1,0x0(s0)
beq v1,v0,0x000149a4
_nop
lw s0,-0x7fc8(gp)
b 0x00014858
_addiu s0,s0,-0x5224
lw s0,-0x7fc8(gp)
b 0x00014858
_addiu s0,s0,-0x521c
lw s0,-0x7fc8(gp)
b 0x00014858
_addiu s0,s0,-0x5220
lw s0,-0x7fc8(gp)
b 0x00014858
_addiu s0,s0,-0x522c
(translation_unit "char * FUN_00014808(char *param_1,int param_2)\n\n{\n  char *pcVar1;\n  byte *pbVar2;\n  int in_t9;\n  \n  pcVar1 = (char *)(**(code **)(in_t9 + 0x17afc))(0,param_1,5);\n  if (param_1 == pcVar1) {\n    pbVar2 = (byte *)locale_charset();\n    if ((*pbVar2 & 0xdf) == 0x55) {\n      if (((((pbVar2[1] & 0xdf) == 0x54) && ((pbVar2[2] & 0xdf) == 0x46)) && (pbVar2[3] == 0x2d)) &&\n         ((pbVar2[4] == 0x38 && (pbVar2[5] == 0)))) {\n        if (*pcVar1 != '`') {\n          return (char *)(*(int *)(in_t9 + 0x17910) + -0x5228);\n        }\n        return (char *)(*(int *)(in_t9 + 0x17910) + -0x521c);\n      }\n    }\n    else if (((((*pbVar2 & 0xdf) == 0x47) && ((pbVar2[1] & 0xdf) == 0x42)) && (pbVar2[2] == 0x31))\n            && (((pbVar2[3] == 0x38 && (pbVar2[4] == 0x30)) &&\n                ((pbVar2[5] == 0x33 && ((pbVar2[6] == 0x30 && (pbVar2[7] == 0)))))))) {\n      if (*pcVar1 != '`') {\n        return (char *)(*(int *)(in_t9 + 0x17910) + -0x5224);\n      }\n      return (char *)(*(int *)(in_t9 + 0x17910) + -0x5220);\n    }\n    if (param_2 == 9) {\n      pcVar1 = (char *)(*(int *)(in_t9 + 0x17910) + -0x522c);\n    }\n    else {\n      pcVar1 = (char *)(*(int *)(in_t9 + 0x17910) + -0x5218);\n    }\n  }\n  return pcVar1;\n}\n\n" (function_definition "char * FUN_00014808(char *param_1,int param_2)\n\n{\n  char *pcVar1;\n  byte *pbVar2;\n  int in_t9;\n  \n  pcVar1 = (char *)(**(code **)(in_t9 + 0x17afc))(0,param_1,5);\n  if (param_1 == pcVar1) {\n    pbVar2 = (byte *)locale_charset();\n    if ((*pbVar2 & 0xdf) == 0x55) {\n      if (((((pbVar2[1] & 0xdf) == 0x54) && ((pbVar2[2] & 0xdf) == 0x46)) && (pbVar2[3] == 0x2d)) &&\n         ((pbVar2[4] == 0x38 && (pbVar2[5] == 0)))) {\n        if (*pcVar1 != '`') {\n          return (char *)(*(int *)(in_t9 + 0x17910) + -0x5228);\n        }\n        return (char *)(*(int *)(in_t9 + 0x17910) + -0x521c);\n      }\n    }\n    else if (((((*pbVar2 & 0xdf) == 0x47) && ((pbVar2[1] & 0xdf) == 0x42)) && (pbVar2[2] == 0x31))\n            && (((pbVar2[3] == 0x38 && (pbVar2[4] == 0x30)) &&\n                ((pbVar2[5] == 0x33 && ((pbVar2[6] == 0x30 && (pbVar2[7] == 0)))))))) {\n      if (*pcVar1 != '`') {\n        return (char *)(*(int *)(in_t9 + 0x17910) + -0x5224);\n      }\n      return (char *)(*(int *)(in_t9 + 0x17910) + -0x5220);\n    }\n    if (param_2 == 9) {\n      pcVar1 = (char *)(*(int *)(in_t9 + 0x17910) + -0x522c);\n    }\n    else {\n      pcVar1 = (char *)(*(int *)(in_t9 + 0x17910) + -0x5218);\n    }\n  }\n  return pcVar1;\n}" primitive_type (pointer_declarator "* FUN_00014808(char *param_1,int param_2)" * (function_declarator "FUN_00014808(char *param_1,int param_2)" identifier (parameter_list "(char *param_1,int param_2)" ( (parameter_declaration "char *param_1" primitive_type (pointer_declarator "*param_1" * identifier)) , (parameter_declaration "int param_2" primitive_type identifier) )))) (compound_statement "{\n  char *pcVar1;\n  byte *pbVar2;\n  int in_t9;\n  \n  pcVar1 = (char *)(**(code **)(in_t9 + 0x17afc))(0,param_1,5);\n  if (param_1 == pcVar1) {\n    pbVar2 = (byte *)locale_charset();\n    if ((*pbVar2 & 0xdf) == 0x55) {\n      if (((((pbVar2[1] & 0xdf) == 0x54) && ((pbVar2[2] & 0xdf) == 0x46)) && (pbVar2[3] == 0x2d)) &&\n         ((pbVar2[4] == 0x38 && (pbVar2[5] == 0)))) {\n        if (*pcVar1 != '`') {\n          return (char *)(*(int *)(in_t9 + 0x17910) + -0x5228);\n        }\n        return (char *)(*(int *)(in_t9 + 0x17910) + -0x521c);\n      }\n    }\n    else if (((((*pbVar2 & 0xdf) == 0x47) && ((pbVar2[1] & 0xdf) == 0x42)) && (pbVar2[2] == 0x31))\n            && (((pbVar2[3] == 0x38 && (pbVar2[4] == 0x30)) &&\n                ((pbVar2[5] == 0x33 && ((pbVar2[6] == 0x30 && (pbVar2[7] == 0)))))))) {\n      if (*pcVar1 != '`') {\n        return (char *)(*(int *)(in_t9 + 0x17910) + -0x5224);\n      }\n      return (char *)(*(int *)(in_t9 + 0x17910) + -0x5220);\n    }\n    if (param_2 == 9) {\n      pcVar1 = (char *)(*(int *)(in_t9 + 0x17910) + -0x522c);\n    }\n    else {\n      pcVar1 = (char *)(*(int *)(in_t9 + 0x17910) + -0x5218);\n    }\n  }\n  return pcVar1;\n}" { (declaration "char *pcVar1;" primitive_type (pointer_declarator "*pcVar1" * identifier) ;) (declaration "byte *pbVar2;" type_identifier (pointer_declarator "*pbVar2" * identifier) ;) (declaration "int in_t9;" primitive_type identifier ;) (expression_statement "pcVar1 = (char *)(**(code **)(in_t9 + 0x17afc))(0,param_1,5);" (assignment_expression "pcVar1 = (char *)(**(code **)(in_t9 + 0x17afc))(0,param_1,5)" identifier = (cast_expression "(char *)(**(code **)(in_t9 + 0x17afc))(0,param_1,5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(in_t9 + 0x17afc))(0,param_1,5)" (parenthesized_expression "(**(code **)(in_t9 + 0x17afc))" ( (pointer_expression "**(code **)(in_t9 + 0x17afc)" * (pointer_expression "*(code **)(in_t9 + 0x17afc)" * (cast_expression "(code **)(in_t9 + 0x17afc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(in_t9 + 0x17afc)" ( (binary_expression "in_t9 + 0x17afc" identifier + number_literal) ))))) )) (argument_list "(0,param_1,5)" ( number_literal , identifier , number_literal ))))) ;) (if_statement "if (param_1 == pcVar1) {\n    pbVar2 = (byte *)locale_charset();\n    if ((*pbVar2 & 0xdf) == 0x55) {\n      if (((((pbVar2[1] & 0xdf) == 0x54) && ((pbVar2[2] & 0xdf) == 0x46)) && (pbVar2[3] == 0x2d)) &&\n         ((pbVar2[4] == 0x38 && (pbVar2[5] == 0)))) {\n        if (*pcVar1 != '`') {\n          return (char *)(*(int *)(in_t9 + 0x17910) + -0x5228);\n        }\n        return (char *)(*(int *)(in_t9 + 0x17910) + -0x521c);\n      }\n    }\n    else if (((((*pbVar2 & 0xdf) == 0x47) && ((pbVar2[1] & 0xdf) == 0x42)) && (pbVar2[2] == 0x31))\n            && (((pbVar2[3] == 0x38 && (pbVar2[4] == 0x30)) &&\n                ((pbVar2[5] == 0x33 && ((pbVar2[6] == 0x30 && (pbVar2[7] == 0)))))))) {\n      if (*pcVar1 != '`') {\n        return (char *)(*(int *)(in_t9 + 0x17910) + -0x5224);\n      }\n      return (char *)(*(int *)(in_t9 + 0x17910) + -0x5220);\n    }\n    if (param_2 == 9) {\n      pcVar1 = (char *)(*(int *)(in_t9 + 0x17910) + -0x522c);\n    }\n    else {\n      pcVar1 = (char *)(*(int *)(in_t9 + 0x17910) + -0x5218);\n    }\n  }" if (parenthesized_expression "(param_1 == pcVar1)" ( (binary_expression "param_1 == pcVar1" identifier == identifier) )) (compound_statement "{\n    pbVar2 = (byte *)locale_charset();\n    if ((*pbVar2 & 0xdf) == 0x55) {\n      if (((((pbVar2[1] & 0xdf) == 0x54) && ((pbVar2[2] & 0xdf) == 0x46)) && (pbVar2[3] == 0x2d)) &&\n         ((pbVar2[4] == 0x38 && (pbVar2[5] == 0)))) {\n        if (*pcVar1 != '`') {\n          return (char *)(*(int *)(in_t9 + 0x17910) + -0x5228);\n        }\n        return (char *)(*(int *)(in_t9 + 0x17910) + -0x521c);\n      }\n    }\n    else if (((((*pbVar2 & 0xdf) == 0x47) && ((pbVar2[1] & 0xdf) == 0x42)) && (pbVar2[2] == 0x31))\n            && (((pbVar2[3] == 0x38 && (pbVar2[4] == 0x30)) &&\n                ((pbVar2[5] == 0x33 && ((pbVar2[6] == 0x30 && (pbVar2[7] == 0)))))))) {\n      if (*pcVar1 != '`') {\n        return (char *)(*(int *)(in_t9 + 0x17910) + -0x5224);\n      }\n      return (char *)(*(int *)(in_t9 + 0x17910) + -0x5220);\n    }\n    if (param_2 == 9) {\n      pcVar1 = (char *)(*(int *)(in_t9 + 0x17910) + -0x522c);\n    }\n    else {\n      pcVar1 = (char *)(*(int *)(in_t9 + 0x17910) + -0x5218);\n    }\n  }" { (expression_statement "pbVar2 = (byte *)locale_charset();" (assignment_expression "pbVar2 = (byte *)locale_charset()" identifier = (cast_expression "(byte *)locale_charset()" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "locale_charset()" identifier (argument_list "()" ( ))))) ;) (if_statement "if ((*pbVar2 & 0xdf) == 0x55) {\n      if (((((pbVar2[1] & 0xdf) == 0x54) && ((pbVar2[2] & 0xdf) == 0x46)) && (pbVar2[3] == 0x2d)) &&\n         ((pbVar2[4] == 0x38 && (pbVar2[5] == 0)))) {\n        if (*pcVar1 != '`') {\n          return (char *)(*(int *)(in_t9 + 0x17910) + -0x5228);\n        }\n        return (char *)(*(int *)(in_t9 + 0x17910) + -0x521c);\n      }\n    }\n    else if (((((*pbVar2 & 0xdf) == 0x47) && ((pbVar2[1] & 0xdf) == 0x42)) && (pbVar2[2] == 0x31))\n            && (((pbVar2[3] == 0x38 && (pbVar2[4] == 0x30)) &&\n                ((pbVar2[5] == 0x33 && ((pbVar2[6] == 0x30 && (pbVar2[7] == 0)))))))) {\n      if (*pcVar1 != '`') {\n        return (char *)(*(int *)(in_t9 + 0x17910) + -0x5224);\n      }\n      return (char *)(*(int *)(in_t9 + 0x17910) + -0x5220);\n    }" if (parenthesized_expression "((*pbVar2 & 0xdf) == 0x55)" ( (binary_expression "(*pbVar2 & 0xdf) == 0x55" (parenthesized_expression "(*pbVar2 & 0xdf)" ( (binary_expression "*pbVar2 & 0xdf" (pointer_expression "*pbVar2" * identifier) & number_literal) )) == number_literal) )) (compound_statement "{\n      if (((((pbVar2[1] & 0xdf) == 0x54) && ((pbVar2[2] & 0xdf) == 0x46)) && (pbVar2[3] == 0x2d)) &&\n         ((pbVar2[4] == 0x38 && (pbVar2[5] == 0)))) {\n        if (*pcVar1 != '`') {\n          return (char *)(*(int *)(in_t9 + 0x17910) + -0x5228);\n        }\n        return (char *)(*(int *)(in_t9 + 0x17910) + -0x521c);\n      }\n    }" { (if_statement "if (((((pbVar2[1] & 0xdf) == 0x54) && ((pbVar2[2] & 0xdf) == 0x46)) && (pbVar2[3] == 0x2d)) &&\n         ((pbVar2[4] == 0x38 && (pbVar2[5] == 0)))) {\n        if (*pcVar1 != '`') {\n          return (char *)(*(int *)(in_t9 + 0x17910) + -0x5228);\n        }\n        return (char *)(*(int *)(in_t9 + 0x17910) + -0x521c);\n      }" if (parenthesized_expression "(((((pbVar2[1] & 0xdf) == 0x54) && ((pbVar2[2] & 0xdf) == 0x46)) && (pbVar2[3] == 0x2d)) &&\n         ((pbVar2[4] == 0x38 && (pbVar2[5] == 0))))" ( (binary_expression "((((pbVar2[1] & 0xdf) == 0x54) && ((pbVar2[2] & 0xdf) == 0x46)) && (pbVar2[3] == 0x2d)) &&\n         ((pbVar2[4] == 0x38 && (pbVar2[5] == 0)))" (parenthesized_expression "((((pbVar2[1] & 0xdf) == 0x54) && ((pbVar2[2] & 0xdf) == 0x46)) && (pbVar2[3] == 0x2d))" ( (binary_expression "(((pbVar2[1] & 0xdf) == 0x54) && ((pbVar2[2] & 0xdf) == 0x46)) && (pbVar2[3] == 0x2d)" (parenthesized_expression "(((pbVar2[1] & 0xdf) == 0x54) && ((pbVar2[2] & 0xdf) == 0x46))" ( (binary_expression "((pbVar2[1] & 0xdf) == 0x54) && ((pbVar2[2] & 0xdf) == 0x46)" (parenthesized_expression "((pbVar2[1] & 0xdf) == 0x54)" ( (binary_expression "(pbVar2[1] & 0xdf) == 0x54" (parenthesized_expression "(pbVar2[1] & 0xdf)" ( (binary_expression "pbVar2[1] & 0xdf" (subscript_expression "pbVar2[1]" identifier [ number_literal ]) & number_literal) )) == number_literal) )) && (parenthesized_expression "((pbVar2[2] & 0xdf) == 0x46)" ( (binary_expression "(pbVar2[2] & 0xdf) == 0x46" (parenthesized_expression "(pbVar2[2] & 0xdf)" ( (binary_expression "pbVar2[2] & 0xdf" (subscript_expression "pbVar2[2]" identifier [ number_literal ]) & number_literal) )) == number_literal) ))) )) && (parenthesized_expression "(pbVar2[3] == 0x2d)" ( (binary_expression "pbVar2[3] == 0x2d" (subscript_expression "pbVar2[3]" identifier [ number_literal ]) == number_literal) ))) )) && (parenthesized_expression "((pbVar2[4] == 0x38 && (pbVar2[5] == 0)))" ( (parenthesized_expression "(pbVar2[4] == 0x38 && (pbVar2[5] == 0))" ( (binary_expression "pbVar2[4] == 0x38 && (pbVar2[5] == 0)" (binary_expression "pbVar2[4] == 0x38" (subscript_expression "pbVar2[4]" identifier [ number_literal ]) == number_literal) && (parenthesized_expression "(pbVar2[5] == 0)" ( (binary_expression "pbVar2[5] == 0" (subscript_expression "pbVar2[5]" identifier [ number_literal ]) == number_literal) ))) )) ))) )) (compound_statement "{\n        if (*pcVar1 != '`') {\n          return (char *)(*(int *)(in_t9 + 0x17910) + -0x5228);\n        }\n        return (char *)(*(int *)(in_t9 + 0x17910) + -0x521c);\n      }" { (if_statement "if (*pcVar1 != '`') {\n          return (char *)(*(int *)(in_t9 + 0x17910) + -0x5228);\n        }" if (parenthesized_expression "(*pcVar1 != '`')" ( (binary_expression "*pcVar1 != '`'" (pointer_expression "*pcVar1" * identifier) != (char_literal "'`'" ' character ')) )) (compound_statement "{\n          return (char *)(*(int *)(in_t9 + 0x17910) + -0x5228);\n        }" { (return_statement "return (char *)(*(int *)(in_t9 + 0x17910) + -0x5228);" return (cast_expression "(char *)(*(int *)(in_t9 + 0x17910) + -0x5228)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(in_t9 + 0x17910) + -0x5228)" ( (binary_expression "*(int *)(in_t9 + 0x17910) + -0x5228" (pointer_expression "*(int *)(in_t9 + 0x17910)" * (cast_expression "(int *)(in_t9 + 0x17910)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_t9 + 0x17910)" ( (binary_expression "in_t9 + 0x17910" identifier + number_literal) )))) + number_literal) ))) ;) })) (return_statement "return (char *)(*(int *)(in_t9 + 0x17910) + -0x521c);" return (cast_expression "(char *)(*(int *)(in_t9 + 0x17910) + -0x521c)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(in_t9 + 0x17910) + -0x521c)" ( (binary_expression "*(int *)(in_t9 + 0x17910) + -0x521c" (pointer_expression "*(int *)(in_t9 + 0x17910)" * (cast_expression "(int *)(in_t9 + 0x17910)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_t9 + 0x17910)" ( (binary_expression "in_t9 + 0x17910" identifier + number_literal) )))) + number_literal) ))) ;) })) }) (else_clause "else if (((((*pbVar2 & 0xdf) == 0x47) && ((pbVar2[1] & 0xdf) == 0x42)) && (pbVar2[2] == 0x31))\n            && (((pbVar2[3] == 0x38 && (pbVar2[4] == 0x30)) &&\n                ((pbVar2[5] == 0x33 && ((pbVar2[6] == 0x30 && (pbVar2[7] == 0)))))))) {\n      if (*pcVar1 != '`') {\n        return (char *)(*(int *)(in_t9 + 0x17910) + -0x5224);\n      }\n      return (char *)(*(int *)(in_t9 + 0x17910) + -0x5220);\n    }" else (if_statement "if (((((*pbVar2 & 0xdf) == 0x47) && ((pbVar2[1] & 0xdf) == 0x42)) && (pbVar2[2] == 0x31))\n            && (((pbVar2[3] == 0x38 && (pbVar2[4] == 0x30)) &&\n                ((pbVar2[5] == 0x33 && ((pbVar2[6] == 0x30 && (pbVar2[7] == 0)))))))) {\n      if (*pcVar1 != '`') {\n        return (char *)(*(int *)(in_t9 + 0x17910) + -0x5224);\n      }\n      return (char *)(*(int *)(in_t9 + 0x17910) + -0x5220);\n    }" if (parenthesized_expression "(((((*pbVar2 & 0xdf) == 0x47) && ((pbVar2[1] & 0xdf) == 0x42)) && (pbVar2[2] == 0x31))\n            && (((pbVar2[3] == 0x38 && (pbVar2[4] == 0x30)) &&\n                ((pbVar2[5] == 0x33 && ((pbVar2[6] == 0x30 && (pbVar2[7] == 0))))))))" ( (binary_expression "((((*pbVar2 & 0xdf) == 0x47) && ((pbVar2[1] & 0xdf) == 0x42)) && (pbVar2[2] == 0x31))\n            && (((pbVar2[3] == 0x38 && (pbVar2[4] == 0x30)) &&\n                ((pbVar2[5] == 0x33 && ((pbVar2[6] == 0x30 && (pbVar2[7] == 0)))))))" (parenthesized_expression "((((*pbVar2 & 0xdf) == 0x47) && ((pbVar2[1] & 0xdf) == 0x42)) && (pbVar2[2] == 0x31))" ( (binary_expression "(((*pbVar2 & 0xdf) == 0x47) && ((pbVar2[1] & 0xdf) == 0x42)) && (pbVar2[2] == 0x31)" (parenthesized_expression "(((*pbVar2 & 0xdf) == 0x47) && ((pbVar2[1] & 0xdf) == 0x42))" ( (binary_expression "((*pbVar2 & 0xdf) == 0x47) && ((pbVar2[1] & 0xdf) == 0x42)" (parenthesized_expression "((*pbVar2 & 0xdf) == 0x47)" ( (binary_expression "(*pbVar2 & 0xdf) == 0x47" (parenthesized_expression "(*pbVar2 & 0xdf)" ( (binary_expression "*pbVar2 & 0xdf" (pointer_expression "*pbVar2" * identifier) & number_literal) )) == number_literal) )) && (parenthesized_expression "((pbVar2[1] & 0xdf) == 0x42)" ( (binary_expression "(pbVar2[1] & 0xdf) == 0x42" (parenthesized_expression "(pbVar2[1] & 0xdf)" ( (binary_expression "pbVar2[1] & 0xdf" (subscript_expression "pbVar2[1]" identifier [ number_literal ]) & number_literal) )) == number_literal) ))) )) && (parenthesized_expression "(pbVar2[2] == 0x31)" ( (binary_expression "pbVar2[2] == 0x31" (subscript_expression "pbVar2[2]" identifier [ number_literal ]) == number_literal) ))) )) && (parenthesized_expression "(((pbVar2[3] == 0x38 && (pbVar2[4] == 0x30)) &&\n                ((pbVar2[5] == 0x33 && ((pbVar2[6] == 0x30 && (pbVar2[7] == 0)))))))" ( (parenthesized_expression "((pbVar2[3] == 0x38 && (pbVar2[4] == 0x30)) &&\n                ((pbVar2[5] == 0x33 && ((pbVar2[6] == 0x30 && (pbVar2[7] == 0))))))" ( (binary_expression "(pbVar2[3] == 0x38 && (pbVar2[4] == 0x30)) &&\n                ((pbVar2[5] == 0x33 && ((pbVar2[6] == 0x30 && (pbVar2[7] == 0)))))" (parenthesized_expression "(pbVar2[3] == 0x38 && (pbVar2[4] == 0x30))" ( (binary_expression "pbVar2[3] == 0x38 && (pbVar2[4] == 0x30)" (binary_expression "pbVar2[3] == 0x38" (subscript_expression "pbVar2[3]" identifier [ number_literal ]) == number_literal) && (parenthesized_expression "(pbVar2[4] == 0x30)" ( (binary_expression "pbVar2[4] == 0x30" (subscript_expression "pbVar2[4]" identifier [ number_literal ]) == number_literal) ))) )) && (parenthesized_expression "((pbVar2[5] == 0x33 && ((pbVar2[6] == 0x30 && (pbVar2[7] == 0)))))" ( (parenthesized_expression "(pbVar2[5] == 0x33 && ((pbVar2[6] == 0x30 && (pbVar2[7] == 0))))" ( (binary_expression "pbVar2[5] == 0x33 && ((pbVar2[6] == 0x30 && (pbVar2[7] == 0)))" (binary_expression "pbVar2[5] == 0x33" (subscript_expression "pbVar2[5]" identifier [ number_literal ]) == number_literal) && (parenthesized_expression "((pbVar2[6] == 0x30 && (pbVar2[7] == 0)))" ( (parenthesized_expression "(pbVar2[6] == 0x30 && (pbVar2[7] == 0))" ( (binary_expression "pbVar2[6] == 0x30 && (pbVar2[7] == 0)" (binary_expression "pbVar2[6] == 0x30" (subscript_expression "pbVar2[6]" identifier [ number_literal ]) == number_literal) && (parenthesized_expression "(pbVar2[7] == 0)" ( (binary_expression "pbVar2[7] == 0" (subscript_expression "pbVar2[7]" identifier [ number_literal ]) == number_literal) ))) )) ))) )) ))) )) ))) )) (compound_statement "{\n      if (*pcVar1 != '`') {\n        return (char *)(*(int *)(in_t9 + 0x17910) + -0x5224);\n      }\n      return (char *)(*(int *)(in_t9 + 0x17910) + -0x5220);\n    }" { (if_statement "if (*pcVar1 != '`') {\n        return (char *)(*(int *)(in_t9 + 0x17910) + -0x5224);\n      }" if (parenthesized_expression "(*pcVar1 != '`')" ( (binary_expression "*pcVar1 != '`'" (pointer_expression "*pcVar1" * identifier) != (char_literal "'`'" ' character ')) )) (compound_statement "{\n        return (char *)(*(int *)(in_t9 + 0x17910) + -0x5224);\n      }" { (return_statement "return (char *)(*(int *)(in_t9 + 0x17910) + -0x5224);" return (cast_expression "(char *)(*(int *)(in_t9 + 0x17910) + -0x5224)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(in_t9 + 0x17910) + -0x5224)" ( (binary_expression "*(int *)(in_t9 + 0x17910) + -0x5224" (pointer_expression "*(int *)(in_t9 + 0x17910)" * (cast_expression "(int *)(in_t9 + 0x17910)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_t9 + 0x17910)" ( (binary_expression "in_t9 + 0x17910" identifier + number_literal) )))) + number_literal) ))) ;) })) (return_statement "return (char *)(*(int *)(in_t9 + 0x17910) + -0x5220);" return (cast_expression "(char *)(*(int *)(in_t9 + 0x17910) + -0x5220)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(in_t9 + 0x17910) + -0x5220)" ( (binary_expression "*(int *)(in_t9 + 0x17910) + -0x5220" (pointer_expression "*(int *)(in_t9 + 0x17910)" * (cast_expression "(int *)(in_t9 + 0x17910)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_t9 + 0x17910)" ( (binary_expression "in_t9 + 0x17910" identifier + number_literal) )))) + number_literal) ))) ;) })))) (if_statement "if (param_2 == 9) {\n      pcVar1 = (char *)(*(int *)(in_t9 + 0x17910) + -0x522c);\n    }\n    else {\n      pcVar1 = (char *)(*(int *)(in_t9 + 0x17910) + -0x5218);\n    }" if (parenthesized_expression "(param_2 == 9)" ( (binary_expression "param_2 == 9" identifier == number_literal) )) (compound_statement "{\n      pcVar1 = (char *)(*(int *)(in_t9 + 0x17910) + -0x522c);\n    }" { (expression_statement "pcVar1 = (char *)(*(int *)(in_t9 + 0x17910) + -0x522c);" (assignment_expression "pcVar1 = (char *)(*(int *)(in_t9 + 0x17910) + -0x522c)" identifier = (cast_expression "(char *)(*(int *)(in_t9 + 0x17910) + -0x522c)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(in_t9 + 0x17910) + -0x522c)" ( (binary_expression "*(int *)(in_t9 + 0x17910) + -0x522c" (pointer_expression "*(int *)(in_t9 + 0x17910)" * (cast_expression "(int *)(in_t9 + 0x17910)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_t9 + 0x17910)" ( (binary_expression "in_t9 + 0x17910" identifier + number_literal) )))) + number_literal) )))) ;) }) (else_clause "else {\n      pcVar1 = (char *)(*(int *)(in_t9 + 0x17910) + -0x5218);\n    }" else (compound_statement "{\n      pcVar1 = (char *)(*(int *)(in_t9 + 0x17910) + -0x5218);\n    }" { (expression_statement "pcVar1 = (char *)(*(int *)(in_t9 + 0x17910) + -0x5218);" (assignment_expression "pcVar1 = (char *)(*(int *)(in_t9 + 0x17910) + -0x5218)" identifier = (cast_expression "(char *)(*(int *)(in_t9 + 0x17910) + -0x5218)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(in_t9 + 0x17910) + -0x5218)" ( (binary_expression "*(int *)(in_t9 + 0x17910) + -0x5218" (pointer_expression "*(int *)(in_t9 + 0x17910)" * (cast_expression "(int *)(in_t9 + 0x17910)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_t9 + 0x17910)" ( (binary_expression "in_t9 + 0x17910" identifier + number_literal) )))) + number_literal) )))) ;) }))) })) (return_statement "return pcVar1;" return identifier ;) })))
(translation_unit "char * gettext_quote(char *msgid,quoting_style s)\n\n{\n  char *pcVar1;\n  byte *pbVar2;\n  \n  pcVar1 = (char *)(*(code *)PTR_dcgettext_0002c304)(0,msgid,5);\n  if (msgid == pcVar1) {\n    pbVar2 = (byte *)locale_charset();\n    if ((*pbVar2 & 0xdf) == 0x55) {\n      if (((((pbVar2[1] & 0xdf) == 0x54) && ((pbVar2[2] & 0xdf) == 0x46)) && (pbVar2[3] == 0x2d)) &&\n         ((pbVar2[4] == 0x38 && (pbVar2[5] == 0)))) {\n        if (*pcVar1 != '`') {\n          return PTR_DAT_0002c118 + -0x5228;\n        }\n        return PTR_DAT_0002c118 + -0x521c;\n      }\n    }\n    else if (((((*pbVar2 & 0xdf) == 0x47) && ((pbVar2[1] & 0xdf) == 0x42)) && (pbVar2[2] == 0x31))\n            && (((pbVar2[3] == 0x38 && (pbVar2[4] == 0x30)) &&\n                ((pbVar2[5] == 0x33 && ((pbVar2[6] == 0x30 && (pbVar2[7] == 0)))))))) {\n      if (*pcVar1 != '`') {\n        return PTR_DAT_0002c118 + -0x5224;\n      }\n      return PTR_DAT_0002c118 + -0x5220;\n    }\n    if (s == clocale_quoting_style) {\n      pcVar1 = PTR_DAT_0002c118 + -0x522c;\n    }\n    else {\n      pcVar1 = PTR_DAT_0002c118 + -0x5218;\n    }\n  }\n  return pcVar1;\n}\n\n" (function_definition "char * gettext_quote(char *msgid,quoting_style s)\n\n{\n  char *pcVar1;\n  byte *pbVar2;\n  \n  pcVar1 = (char *)(*(code *)PTR_dcgettext_0002c304)(0,msgid,5);\n  if (msgid == pcVar1) {\n    pbVar2 = (byte *)locale_charset();\n    if ((*pbVar2 & 0xdf) == 0x55) {\n      if (((((pbVar2[1] & 0xdf) == 0x54) && ((pbVar2[2] & 0xdf) == 0x46)) && (pbVar2[3] == 0x2d)) &&\n         ((pbVar2[4] == 0x38 && (pbVar2[5] == 0)))) {\n        if (*pcVar1 != '`') {\n          return PTR_DAT_0002c118 + -0x5228;\n        }\n        return PTR_DAT_0002c118 + -0x521c;\n      }\n    }\n    else if (((((*pbVar2 & 0xdf) == 0x47) && ((pbVar2[1] & 0xdf) == 0x42)) && (pbVar2[2] == 0x31))\n            && (((pbVar2[3] == 0x38 && (pbVar2[4] == 0x30)) &&\n                ((pbVar2[5] == 0x33 && ((pbVar2[6] == 0x30 && (pbVar2[7] == 0)))))))) {\n      if (*pcVar1 != '`') {\n        return PTR_DAT_0002c118 + -0x5224;\n      }\n      return PTR_DAT_0002c118 + -0x5220;\n    }\n    if (s == clocale_quoting_style) {\n      pcVar1 = PTR_DAT_0002c118 + -0x522c;\n    }\n    else {\n      pcVar1 = PTR_DAT_0002c118 + -0x5218;\n    }\n  }\n  return pcVar1;\n}" primitive_type (pointer_declarator "* gettext_quote(char *msgid,quoting_style s)" * (function_declarator "gettext_quote(char *msgid,quoting_style s)" identifier (parameter_list "(char *msgid,quoting_style s)" ( (parameter_declaration "char *msgid" primitive_type (pointer_declarator "*msgid" * identifier)) , (parameter_declaration "quoting_style s" type_identifier identifier) )))) (compound_statement "{\n  char *pcVar1;\n  byte *pbVar2;\n  \n  pcVar1 = (char *)(*(code *)PTR_dcgettext_0002c304)(0,msgid,5);\n  if (msgid == pcVar1) {\n    pbVar2 = (byte *)locale_charset();\n    if ((*pbVar2 & 0xdf) == 0x55) {\n      if (((((pbVar2[1] & 0xdf) == 0x54) && ((pbVar2[2] & 0xdf) == 0x46)) && (pbVar2[3] == 0x2d)) &&\n         ((pbVar2[4] == 0x38 && (pbVar2[5] == 0)))) {\n        if (*pcVar1 != '`') {\n          return PTR_DAT_0002c118 + -0x5228;\n        }\n        return PTR_DAT_0002c118 + -0x521c;\n      }\n    }\n    else if (((((*pbVar2 & 0xdf) == 0x47) && ((pbVar2[1] & 0xdf) == 0x42)) && (pbVar2[2] == 0x31))\n            && (((pbVar2[3] == 0x38 && (pbVar2[4] == 0x30)) &&\n                ((pbVar2[5] == 0x33 && ((pbVar2[6] == 0x30 && (pbVar2[7] == 0)))))))) {\n      if (*pcVar1 != '`') {\n        return PTR_DAT_0002c118 + -0x5224;\n      }\n      return PTR_DAT_0002c118 + -0x5220;\n    }\n    if (s == clocale_quoting_style) {\n      pcVar1 = PTR_DAT_0002c118 + -0x522c;\n    }\n    else {\n      pcVar1 = PTR_DAT_0002c118 + -0x5218;\n    }\n  }\n  return pcVar1;\n}" { (declaration "char *pcVar1;" primitive_type (pointer_declarator "*pcVar1" * identifier) ;) (declaration "byte *pbVar2;" type_identifier (pointer_declarator "*pbVar2" * identifier) ;) (expression_statement "pcVar1 = (char *)(*(code *)PTR_dcgettext_0002c304)(0,msgid,5);" (assignment_expression "pcVar1 = (char *)(*(code *)PTR_dcgettext_0002c304)(0,msgid,5)" identifier = (cast_expression "(char *)(*(code *)PTR_dcgettext_0002c304)(0,msgid,5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_dcgettext_0002c304)(0,msgid,5)" (parenthesized_expression "(*(code *)PTR_dcgettext_0002c304)" ( (pointer_expression "*(code *)PTR_dcgettext_0002c304" * (cast_expression "(code *)PTR_dcgettext_0002c304" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0,msgid,5)" ( number_literal , identifier , number_literal ))))) ;) (if_statement "if (msgid == pcVar1) {\n    pbVar2 = (byte *)locale_charset();\n    if ((*pbVar2 & 0xdf) == 0x55) {\n      if (((((pbVar2[1] & 0xdf) == 0x54) && ((pbVar2[2] & 0xdf) == 0x46)) && (pbVar2[3] == 0x2d)) &&\n         ((pbVar2[4] == 0x38 && (pbVar2[5] == 0)))) {\n        if (*pcVar1 != '`') {\n          return PTR_DAT_0002c118 + -0x5228;\n        }\n        return PTR_DAT_0002c118 + -0x521c;\n      }\n    }\n    else if (((((*pbVar2 & 0xdf) == 0x47) && ((pbVar2[1] & 0xdf) == 0x42)) && (pbVar2[2] == 0x31))\n            && (((pbVar2[3] == 0x38 && (pbVar2[4] == 0x30)) &&\n                ((pbVar2[5] == 0x33 && ((pbVar2[6] == 0x30 && (pbVar2[7] == 0)))))))) {\n      if (*pcVar1 != '`') {\n        return PTR_DAT_0002c118 + -0x5224;\n      }\n      return PTR_DAT_0002c118 + -0x5220;\n    }\n    if (s == clocale_quoting_style) {\n      pcVar1 = PTR_DAT_0002c118 + -0x522c;\n    }\n    else {\n      pcVar1 = PTR_DAT_0002c118 + -0x5218;\n    }\n  }" if (parenthesized_expression "(msgid == pcVar1)" ( (binary_expression "msgid == pcVar1" identifier == identifier) )) (compound_statement "{\n    pbVar2 = (byte *)locale_charset();\n    if ((*pbVar2 & 0xdf) == 0x55) {\n      if (((((pbVar2[1] & 0xdf) == 0x54) && ((pbVar2[2] & 0xdf) == 0x46)) && (pbVar2[3] == 0x2d)) &&\n         ((pbVar2[4] == 0x38 && (pbVar2[5] == 0)))) {\n        if (*pcVar1 != '`') {\n          return PTR_DAT_0002c118 + -0x5228;\n        }\n        return PTR_DAT_0002c118 + -0x521c;\n      }\n    }\n    else if (((((*pbVar2 & 0xdf) == 0x47) && ((pbVar2[1] & 0xdf) == 0x42)) && (pbVar2[2] == 0x31))\n            && (((pbVar2[3] == 0x38 && (pbVar2[4] == 0x30)) &&\n                ((pbVar2[5] == 0x33 && ((pbVar2[6] == 0x30 && (pbVar2[7] == 0)))))))) {\n      if (*pcVar1 != '`') {\n        return PTR_DAT_0002c118 + -0x5224;\n      }\n      return PTR_DAT_0002c118 + -0x5220;\n    }\n    if (s == clocale_quoting_style) {\n      pcVar1 = PTR_DAT_0002c118 + -0x522c;\n    }\n    else {\n      pcVar1 = PTR_DAT_0002c118 + -0x5218;\n    }\n  }" { (expression_statement "pbVar2 = (byte *)locale_charset();" (assignment_expression "pbVar2 = (byte *)locale_charset()" identifier = (cast_expression "(byte *)locale_charset()" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "locale_charset()" identifier (argument_list "()" ( ))))) ;) (if_statement "if ((*pbVar2 & 0xdf) == 0x55) {\n      if (((((pbVar2[1] & 0xdf) == 0x54) && ((pbVar2[2] & 0xdf) == 0x46)) && (pbVar2[3] == 0x2d)) &&\n         ((pbVar2[4] == 0x38 && (pbVar2[5] == 0)))) {\n        if (*pcVar1 != '`') {\n          return PTR_DAT_0002c118 + -0x5228;\n        }\n        return PTR_DAT_0002c118 + -0x521c;\n      }\n    }\n    else if (((((*pbVar2 & 0xdf) == 0x47) && ((pbVar2[1] & 0xdf) == 0x42)) && (pbVar2[2] == 0x31))\n            && (((pbVar2[3] == 0x38 && (pbVar2[4] == 0x30)) &&\n                ((pbVar2[5] == 0x33 && ((pbVar2[6] == 0x30 && (pbVar2[7] == 0)))))))) {\n      if (*pcVar1 != '`') {\n        return PTR_DAT_0002c118 + -0x5224;\n      }\n      return PTR_DAT_0002c118 + -0x5220;\n    }" if (parenthesized_expression "((*pbVar2 & 0xdf) == 0x55)" ( (binary_expression "(*pbVar2 & 0xdf) == 0x55" (parenthesized_expression "(*pbVar2 & 0xdf)" ( (binary_expression "*pbVar2 & 0xdf" (pointer_expression "*pbVar2" * identifier) & number_literal) )) == number_literal) )) (compound_statement "{\n      if (((((pbVar2[1] & 0xdf) == 0x54) && ((pbVar2[2] & 0xdf) == 0x46)) && (pbVar2[3] == 0x2d)) &&\n         ((pbVar2[4] == 0x38 && (pbVar2[5] == 0)))) {\n        if (*pcVar1 != '`') {\n          return PTR_DAT_0002c118 + -0x5228;\n        }\n        return PTR_DAT_0002c118 + -0x521c;\n      }\n    }" { (if_statement "if (((((pbVar2[1] & 0xdf) == 0x54) && ((pbVar2[2] & 0xdf) == 0x46)) && (pbVar2[3] == 0x2d)) &&\n         ((pbVar2[4] == 0x38 && (pbVar2[5] == 0)))) {\n        if (*pcVar1 != '`') {\n          return PTR_DAT_0002c118 + -0x5228;\n        }\n        return PTR_DAT_0002c118 + -0x521c;\n      }" if (parenthesized_expression "(((((pbVar2[1] & 0xdf) == 0x54) && ((pbVar2[2] & 0xdf) == 0x46)) && (pbVar2[3] == 0x2d)) &&\n         ((pbVar2[4] == 0x38 && (pbVar2[5] == 0))))" ( (binary_expression "((((pbVar2[1] & 0xdf) == 0x54) && ((pbVar2[2] & 0xdf) == 0x46)) && (pbVar2[3] == 0x2d)) &&\n         ((pbVar2[4] == 0x38 && (pbVar2[5] == 0)))" (parenthesized_expression "((((pbVar2[1] & 0xdf) == 0x54) && ((pbVar2[2] & 0xdf) == 0x46)) && (pbVar2[3] == 0x2d))" ( (binary_expression "(((pbVar2[1] & 0xdf) == 0x54) && ((pbVar2[2] & 0xdf) == 0x46)) && (pbVar2[3] == 0x2d)" (parenthesized_expression "(((pbVar2[1] & 0xdf) == 0x54) && ((pbVar2[2] & 0xdf) == 0x46))" ( (binary_expression "((pbVar2[1] & 0xdf) == 0x54) && ((pbVar2[2] & 0xdf) == 0x46)" (parenthesized_expression "((pbVar2[1] & 0xdf) == 0x54)" ( (binary_expression "(pbVar2[1] & 0xdf) == 0x54" (parenthesized_expression "(pbVar2[1] & 0xdf)" ( (binary_expression "pbVar2[1] & 0xdf" (subscript_expression "pbVar2[1]" identifier [ number_literal ]) & number_literal) )) == number_literal) )) && (parenthesized_expression "((pbVar2[2] & 0xdf) == 0x46)" ( (binary_expression "(pbVar2[2] & 0xdf) == 0x46" (parenthesized_expression "(pbVar2[2] & 0xdf)" ( (binary_expression "pbVar2[2] & 0xdf" (subscript_expression "pbVar2[2]" identifier [ number_literal ]) & number_literal) )) == number_literal) ))) )) && (parenthesized_expression "(pbVar2[3] == 0x2d)" ( (binary_expression "pbVar2[3] == 0x2d" (subscript_expression "pbVar2[3]" identifier [ number_literal ]) == number_literal) ))) )) && (parenthesized_expression "((pbVar2[4] == 0x38 && (pbVar2[5] == 0)))" ( (parenthesized_expression "(pbVar2[4] == 0x38 && (pbVar2[5] == 0))" ( (binary_expression "pbVar2[4] == 0x38 && (pbVar2[5] == 0)" (binary_expression "pbVar2[4] == 0x38" (subscript_expression "pbVar2[4]" identifier [ number_literal ]) == number_literal) && (parenthesized_expression "(pbVar2[5] == 0)" ( (binary_expression "pbVar2[5] == 0" (subscript_expression "pbVar2[5]" identifier [ number_literal ]) == number_literal) ))) )) ))) )) (compound_statement "{\n        if (*pcVar1 != '`') {\n          return PTR_DAT_0002c118 + -0x5228;\n        }\n        return PTR_DAT_0002c118 + -0x521c;\n      }" { (if_statement "if (*pcVar1 != '`') {\n          return PTR_DAT_0002c118 + -0x5228;\n        }" if (parenthesized_expression "(*pcVar1 != '`')" ( (binary_expression "*pcVar1 != '`'" (pointer_expression "*pcVar1" * identifier) != (char_literal "'`'" ' character ')) )) (compound_statement "{\n          return PTR_DAT_0002c118 + -0x5228;\n        }" { (return_statement "return PTR_DAT_0002c118 + -0x5228;" return (binary_expression "PTR_DAT_0002c118 + -0x5228" identifier + number_literal) ;) })) (return_statement "return PTR_DAT_0002c118 + -0x521c;" return (binary_expression "PTR_DAT_0002c118 + -0x521c" identifier + number_literal) ;) })) }) (else_clause "else if (((((*pbVar2 & 0xdf) == 0x47) && ((pbVar2[1] & 0xdf) == 0x42)) && (pbVar2[2] == 0x31))\n            && (((pbVar2[3] == 0x38 && (pbVar2[4] == 0x30)) &&\n                ((pbVar2[5] == 0x33 && ((pbVar2[6] == 0x30 && (pbVar2[7] == 0)))))))) {\n      if (*pcVar1 != '`') {\n        return PTR_DAT_0002c118 + -0x5224;\n      }\n      return PTR_DAT_0002c118 + -0x5220;\n    }" else (if_statement "if (((((*pbVar2 & 0xdf) == 0x47) && ((pbVar2[1] & 0xdf) == 0x42)) && (pbVar2[2] == 0x31))\n            && (((pbVar2[3] == 0x38 && (pbVar2[4] == 0x30)) &&\n                ((pbVar2[5] == 0x33 && ((pbVar2[6] == 0x30 && (pbVar2[7] == 0)))))))) {\n      if (*pcVar1 != '`') {\n        return PTR_DAT_0002c118 + -0x5224;\n      }\n      return PTR_DAT_0002c118 + -0x5220;\n    }" if (parenthesized_expression "(((((*pbVar2 & 0xdf) == 0x47) && ((pbVar2[1] & 0xdf) == 0x42)) && (pbVar2[2] == 0x31))\n            && (((pbVar2[3] == 0x38 && (pbVar2[4] == 0x30)) &&\n                ((pbVar2[5] == 0x33 && ((pbVar2[6] == 0x30 && (pbVar2[7] == 0))))))))" ( (binary_expression "((((*pbVar2 & 0xdf) == 0x47) && ((pbVar2[1] & 0xdf) == 0x42)) && (pbVar2[2] == 0x31))\n            && (((pbVar2[3] == 0x38 && (pbVar2[4] == 0x30)) &&\n                ((pbVar2[5] == 0x33 && ((pbVar2[6] == 0x30 && (pbVar2[7] == 0)))))))" (parenthesized_expression "((((*pbVar2 & 0xdf) == 0x47) && ((pbVar2[1] & 0xdf) == 0x42)) && (pbVar2[2] == 0x31))" ( (binary_expression "(((*pbVar2 & 0xdf) == 0x47) && ((pbVar2[1] & 0xdf) == 0x42)) && (pbVar2[2] == 0x31)" (parenthesized_expression "(((*pbVar2 & 0xdf) == 0x47) && ((pbVar2[1] & 0xdf) == 0x42))" ( (binary_expression "((*pbVar2 & 0xdf) == 0x47) && ((pbVar2[1] & 0xdf) == 0x42)" (parenthesized_expression "((*pbVar2 & 0xdf) == 0x47)" ( (binary_expression "(*pbVar2 & 0xdf) == 0x47" (parenthesized_expression "(*pbVar2 & 0xdf)" ( (binary_expression "*pbVar2 & 0xdf" (pointer_expression "*pbVar2" * identifier) & number_literal) )) == number_literal) )) && (parenthesized_expression "((pbVar2[1] & 0xdf) == 0x42)" ( (binary_expression "(pbVar2[1] & 0xdf) == 0x42" (parenthesized_expression "(pbVar2[1] & 0xdf)" ( (binary_expression "pbVar2[1] & 0xdf" (subscript_expression "pbVar2[1]" identifier [ number_literal ]) & number_literal) )) == number_literal) ))) )) && (parenthesized_expression "(pbVar2[2] == 0x31)" ( (binary_expression "pbVar2[2] == 0x31" (subscript_expression "pbVar2[2]" identifier [ number_literal ]) == number_literal) ))) )) && (parenthesized_expression "(((pbVar2[3] == 0x38 && (pbVar2[4] == 0x30)) &&\n                ((pbVar2[5] == 0x33 && ((pbVar2[6] == 0x30 && (pbVar2[7] == 0)))))))" ( (parenthesized_expression "((pbVar2[3] == 0x38 && (pbVar2[4] == 0x30)) &&\n                ((pbVar2[5] == 0x33 && ((pbVar2[6] == 0x30 && (pbVar2[7] == 0))))))" ( (binary_expression "(pbVar2[3] == 0x38 && (pbVar2[4] == 0x30)) &&\n                ((pbVar2[5] == 0x33 && ((pbVar2[6] == 0x30 && (pbVar2[7] == 0)))))" (parenthesized_expression "(pbVar2[3] == 0x38 && (pbVar2[4] == 0x30))" ( (binary_expression "pbVar2[3] == 0x38 && (pbVar2[4] == 0x30)" (binary_expression "pbVar2[3] == 0x38" (subscript_expression "pbVar2[3]" identifier [ number_literal ]) == number_literal) && (parenthesized_expression "(pbVar2[4] == 0x30)" ( (binary_expression "pbVar2[4] == 0x30" (subscript_expression "pbVar2[4]" identifier [ number_literal ]) == number_literal) ))) )) && (parenthesized_expression "((pbVar2[5] == 0x33 && ((pbVar2[6] == 0x30 && (pbVar2[7] == 0)))))" ( (parenthesized_expression "(pbVar2[5] == 0x33 && ((pbVar2[6] == 0x30 && (pbVar2[7] == 0))))" ( (binary_expression "pbVar2[5] == 0x33 && ((pbVar2[6] == 0x30 && (pbVar2[7] == 0)))" (binary_expression "pbVar2[5] == 0x33" (subscript_expression "pbVar2[5]" identifier [ number_literal ]) == number_literal) && (parenthesized_expression "((pbVar2[6] == 0x30 && (pbVar2[7] == 0)))" ( (parenthesized_expression "(pbVar2[6] == 0x30 && (pbVar2[7] == 0))" ( (binary_expression "pbVar2[6] == 0x30 && (pbVar2[7] == 0)" (binary_expression "pbVar2[6] == 0x30" (subscript_expression "pbVar2[6]" identifier [ number_literal ]) == number_literal) && (parenthesized_expression "(pbVar2[7] == 0)" ( (binary_expression "pbVar2[7] == 0" (subscript_expression "pbVar2[7]" identifier [ number_literal ]) == number_literal) ))) )) ))) )) ))) )) ))) )) (compound_statement "{\n      if (*pcVar1 != '`') {\n        return PTR_DAT_0002c118 + -0x5224;\n      }\n      return PTR_DAT_0002c118 + -0x5220;\n    }" { (if_statement "if (*pcVar1 != '`') {\n        return PTR_DAT_0002c118 + -0x5224;\n      }" if (parenthesized_expression "(*pcVar1 != '`')" ( (binary_expression "*pcVar1 != '`'" (pointer_expression "*pcVar1" * identifier) != (char_literal "'`'" ' character ')) )) (compound_statement "{\n        return PTR_DAT_0002c118 + -0x5224;\n      }" { (return_statement "return PTR_DAT_0002c118 + -0x5224;" return (binary_expression "PTR_DAT_0002c118 + -0x5224" identifier + number_literal) ;) })) (return_statement "return PTR_DAT_0002c118 + -0x5220;" return (binary_expression "PTR_DAT_0002c118 + -0x5220" identifier + number_literal) ;) })))) (if_statement "if (s == clocale_quoting_style) {\n      pcVar1 = PTR_DAT_0002c118 + -0x522c;\n    }\n    else {\n      pcVar1 = PTR_DAT_0002c118 + -0x5218;\n    }" if (parenthesized_expression "(s == clocale_quoting_style)" ( (binary_expression "s == clocale_quoting_style" identifier == identifier) )) (compound_statement "{\n      pcVar1 = PTR_DAT_0002c118 + -0x522c;\n    }" { (expression_statement "pcVar1 = PTR_DAT_0002c118 + -0x522c;" (assignment_expression "pcVar1 = PTR_DAT_0002c118 + -0x522c" identifier = (binary_expression "PTR_DAT_0002c118 + -0x522c" identifier + number_literal)) ;) }) (else_clause "else {\n      pcVar1 = PTR_DAT_0002c118 + -0x5218;\n    }" else (compound_statement "{\n      pcVar1 = PTR_DAT_0002c118 + -0x5218;\n    }" { (expression_statement "pcVar1 = PTR_DAT_0002c118 + -0x5218;" (assignment_expression "pcVar1 = PTR_DAT_0002c118 + -0x5218" identifier = (binary_expression "PTR_DAT_0002c118 + -0x5218" identifier + number_literal)) ;) }))) })) (return_statement "return pcVar1;" return identifier ;) })))
(translation_unit "char * FUN_00014808(char *param_1,int param_2)\n\n{\n  char *pcVar1;\n  byte *pbVar2;\n  int in_t9;\n  \n  pcVar1 = (char *)(**(code **)(in_t9 + 0x17afc))(0,param_1,5);\n  if (param_1 == pcVar1) {\n    pbVar2 = (byte *)locale_charset();\n    if ((*pbVar2 & 0xdf) == 0x55) {\n      if (((((pbVar2[1] & 0xdf) == 0x54) && ((pbVar2[2] & 0xdf) == 0x46)) && (pbVar2[3] == 0x2d)) &&\n         ((pbVar2[4] == 0x38 && (pbVar2[5] == 0)))) {\n        if (*pcVar1 != '`') {\n          return (char *)(*(int *)(in_t9 + 0x17910) + -0x5228);\n        }\n        return (char *)(*(int *)(in_t9 + 0x17910) + -0x521c);\n      }\n    }\n    else if (((((*pbVar2 & 0xdf) == 0x47) && ((pbVar2[1] & 0xdf) == 0x42)) && (pbVar2[2] == 0x31))\n            && (((pbVar2[3] == 0x38 && (pbVar2[4] == 0x30)) &&\n                ((pbVar2[5] == 0x33 && ((pbVar2[6] == 0x30 && (pbVar2[7] == 0)))))))) {\n      if (*pcVar1 != '`') {\n        return (char *)(*(int *)(in_t9 + 0x17910) + -0x5224);\n      }\n      return (char *)(*(int *)(in_t9 + 0x17910) + -0x5220);\n    }\n    if (param_2 == 9) {\n      pcVar1 = (char *)(*(int *)(in_t9 + 0x17910) + -0x522c);\n    }\n    else {\n      pcVar1 = (char *)(*(int *)(in_t9 + 0x17910) + -0x5218);\n    }\n  }\n  return pcVar1;\n}\n\n" (function_definition "char * FUN_00014808(char *param_1,int param_2)\n\n{\n  char *pcVar1;\n  byte *pbVar2;\n  int in_t9;\n  \n  pcVar1 = (char *)(**(code **)(in_t9 + 0x17afc))(0,param_1,5);\n  if (param_1 == pcVar1) {\n    pbVar2 = (byte *)locale_charset();\n    if ((*pbVar2 & 0xdf) == 0x55) {\n      if (((((pbVar2[1] & 0xdf) == 0x54) && ((pbVar2[2] & 0xdf) == 0x46)) && (pbVar2[3] == 0x2d)) &&\n         ((pbVar2[4] == 0x38 && (pbVar2[5] == 0)))) {\n        if (*pcVar1 != '`') {\n          return (char *)(*(int *)(in_t9 + 0x17910) + -0x5228);\n        }\n        return (char *)(*(int *)(in_t9 + 0x17910) + -0x521c);\n      }\n    }\n    else if (((((*pbVar2 & 0xdf) == 0x47) && ((pbVar2[1] & 0xdf) == 0x42)) && (pbVar2[2] == 0x31))\n            && (((pbVar2[3] == 0x38 && (pbVar2[4] == 0x30)) &&\n                ((pbVar2[5] == 0x33 && ((pbVar2[6] == 0x30 && (pbVar2[7] == 0)))))))) {\n      if (*pcVar1 != '`') {\n        return (char *)(*(int *)(in_t9 + 0x17910) + -0x5224);\n      }\n      return (char *)(*(int *)(in_t9 + 0x17910) + -0x5220);\n    }\n    if (param_2 == 9) {\n      pcVar1 = (char *)(*(int *)(in_t9 + 0x17910) + -0x522c);\n    }\n    else {\n      pcVar1 = (char *)(*(int *)(in_t9 + 0x17910) + -0x5218);\n    }\n  }\n  return pcVar1;\n}" primitive_type (pointer_declarator "* FUN_00014808(char *param_1,int param_2)" * (function_declarator "FUN_00014808(char *param_1,int param_2)" identifier (parameter_list "(char *param_1,int param_2)" ( (parameter_declaration "char *param_1" primitive_type (pointer_declarator "*param_1" * identifier)) , (parameter_declaration "int param_2" primitive_type identifier) )))) (compound_statement "{\n  char *pcVar1;\n  byte *pbVar2;\n  int in_t9;\n  \n  pcVar1 = (char *)(**(code **)(in_t9 + 0x17afc))(0,param_1,5);\n  if (param_1 == pcVar1) {\n    pbVar2 = (byte *)locale_charset();\n    if ((*pbVar2 & 0xdf) == 0x55) {\n      if (((((pbVar2[1] & 0xdf) == 0x54) && ((pbVar2[2] & 0xdf) == 0x46)) && (pbVar2[3] == 0x2d)) &&\n         ((pbVar2[4] == 0x38 && (pbVar2[5] == 0)))) {\n        if (*pcVar1 != '`') {\n          return (char *)(*(int *)(in_t9 + 0x17910) + -0x5228);\n        }\n        return (char *)(*(int *)(in_t9 + 0x17910) + -0x521c);\n      }\n    }\n    else if (((((*pbVar2 & 0xdf) == 0x47) && ((pbVar2[1] & 0xdf) == 0x42)) && (pbVar2[2] == 0x31))\n            && (((pbVar2[3] == 0x38 && (pbVar2[4] == 0x30)) &&\n                ((pbVar2[5] == 0x33 && ((pbVar2[6] == 0x30 && (pbVar2[7] == 0)))))))) {\n      if (*pcVar1 != '`') {\n        return (char *)(*(int *)(in_t9 + 0x17910) + -0x5224);\n      }\n      return (char *)(*(int *)(in_t9 + 0x17910) + -0x5220);\n    }\n    if (param_2 == 9) {\n      pcVar1 = (char *)(*(int *)(in_t9 + 0x17910) + -0x522c);\n    }\n    else {\n      pcVar1 = (char *)(*(int *)(in_t9 + 0x17910) + -0x5218);\n    }\n  }\n  return pcVar1;\n}" { (declaration "char *pcVar1;" primitive_type (pointer_declarator "*pcVar1" * identifier) ;) (declaration "byte *pbVar2;" type_identifier (pointer_declarator "*pbVar2" * identifier) ;) (declaration "int in_t9;" primitive_type identifier ;) (expression_statement "pcVar1 = (char *)(**(code **)(in_t9 + 0x17afc))(0,param_1,5);" (assignment_expression "pcVar1 = (char *)(**(code **)(in_t9 + 0x17afc))(0,param_1,5)" identifier = (cast_expression "(char *)(**(code **)(in_t9 + 0x17afc))(0,param_1,5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(in_t9 + 0x17afc))(0,param_1,5)" (parenthesized_expression "(**(code **)(in_t9 + 0x17afc))" ( (pointer_expression "**(code **)(in_t9 + 0x17afc)" * (pointer_expression "*(code **)(in_t9 + 0x17afc)" * (cast_expression "(code **)(in_t9 + 0x17afc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(in_t9 + 0x17afc)" ( (binary_expression "in_t9 + 0x17afc" identifier + number_literal) ))))) )) (argument_list "(0,param_1,5)" ( number_literal , identifier , number_literal ))))) ;) (if_statement "if (param_1 == pcVar1) {\n    pbVar2 = (byte *)locale_charset();\n    if ((*pbVar2 & 0xdf) == 0x55) {\n      if (((((pbVar2[1] & 0xdf) == 0x54) && ((pbVar2[2] & 0xdf) == 0x46)) && (pbVar2[3] == 0x2d)) &&\n         ((pbVar2[4] == 0x38 && (pbVar2[5] == 0)))) {\n        if (*pcVar1 != '`') {\n          return (char *)(*(int *)(in_t9 + 0x17910) + -0x5228);\n        }\n        return (char *)(*(int *)(in_t9 + 0x17910) + -0x521c);\n      }\n    }\n    else if (((((*pbVar2 & 0xdf) == 0x47) && ((pbVar2[1] & 0xdf) == 0x42)) && (pbVar2[2] == 0x31))\n            && (((pbVar2[3] == 0x38 && (pbVar2[4] == 0x30)) &&\n                ((pbVar2[5] == 0x33 && ((pbVar2[6] == 0x30 && (pbVar2[7] == 0)))))))) {\n      if (*pcVar1 != '`') {\n        return (char *)(*(int *)(in_t9 + 0x17910) + -0x5224);\n      }\n      return (char *)(*(int *)(in_t9 + 0x17910) + -0x5220);\n    }\n    if (param_2 == 9) {\n      pcVar1 = (char *)(*(int *)(in_t9 + 0x17910) + -0x522c);\n    }\n    else {\n      pcVar1 = (char *)(*(int *)(in_t9 + 0x17910) + -0x5218);\n    }\n  }" if (parenthesized_expression "(param_1 == pcVar1)" ( (binary_expression "param_1 == pcVar1" identifier == identifier) )) (compound_statement "{\n    pbVar2 = (byte *)locale_charset();\n    if ((*pbVar2 & 0xdf) == 0x55) {\n      if (((((pbVar2[1] & 0xdf) == 0x54) && ((pbVar2[2] & 0xdf) == 0x46)) && (pbVar2[3] == 0x2d)) &&\n         ((pbVar2[4] == 0x38 && (pbVar2[5] == 0)))) {\n        if (*pcVar1 != '`') {\n          return (char *)(*(int *)(in_t9 + 0x17910) + -0x5228);\n        }\n        return (char *)(*(int *)(in_t9 + 0x17910) + -0x521c);\n      }\n    }\n    else if (((((*pbVar2 & 0xdf) == 0x47) && ((pbVar2[1] & 0xdf) == 0x42)) && (pbVar2[2] == 0x31))\n            && (((pbVar2[3] == 0x38 && (pbVar2[4] == 0x30)) &&\n                ((pbVar2[5] == 0x33 && ((pbVar2[6] == 0x30 && (pbVar2[7] == 0)))))))) {\n      if (*pcVar1 != '`') {\n        return (char *)(*(int *)(in_t9 + 0x17910) + -0x5224);\n      }\n      return (char *)(*(int *)(in_t9 + 0x17910) + -0x5220);\n    }\n    if (param_2 == 9) {\n      pcVar1 = (char *)(*(int *)(in_t9 + 0x17910) + -0x522c);\n    }\n    else {\n      pcVar1 = (char *)(*(int *)(in_t9 + 0x17910) + -0x5218);\n    }\n  }" { (expression_statement "pbVar2 = (byte *)locale_charset();" (assignment_expression "pbVar2 = (byte *)locale_charset()" identifier = (cast_expression "(byte *)locale_charset()" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "locale_charset()" identifier (argument_list "()" ( ))))) ;) (if_statement "if ((*pbVar2 & 0xdf) == 0x55) {\n      if (((((pbVar2[1] & 0xdf) == 0x54) && ((pbVar2[2] & 0xdf) == 0x46)) && (pbVar2[3] == 0x2d)) &&\n         ((pbVar2[4] == 0x38 && (pbVar2[5] == 0)))) {\n        if (*pcVar1 != '`') {\n          return (char *)(*(int *)(in_t9 + 0x17910) + -0x5228);\n        }\n        return (char *)(*(int *)(in_t9 + 0x17910) + -0x521c);\n      }\n    }\n    else if (((((*pbVar2 & 0xdf) == 0x47) && ((pbVar2[1] & 0xdf) == 0x42)) && (pbVar2[2] == 0x31))\n            && (((pbVar2[3] == 0x38 && (pbVar2[4] == 0x30)) &&\n                ((pbVar2[5] == 0x33 && ((pbVar2[6] == 0x30 && (pbVar2[7] == 0)))))))) {\n      if (*pcVar1 != '`') {\n        return (char *)(*(int *)(in_t9 + 0x17910) + -0x5224);\n      }\n      return (char *)(*(int *)(in_t9 + 0x17910) + -0x5220);\n    }" if (parenthesized_expression "((*pbVar2 & 0xdf) == 0x55)" ( (binary_expression "(*pbVar2 & 0xdf) == 0x55" (parenthesized_expression "(*pbVar2 & 0xdf)" ( (binary_expression "*pbVar2 & 0xdf" (pointer_expression "*pbVar2" * identifier) & number_literal) )) == number_literal) )) (compound_statement "{\n      if (((((pbVar2[1] & 0xdf) == 0x54) && ((pbVar2[2] & 0xdf) == 0x46)) && (pbVar2[3] == 0x2d)) &&\n         ((pbVar2[4] == 0x38 && (pbVar2[5] == 0)))) {\n        if (*pcVar1 != '`') {\n          return (char *)(*(int *)(in_t9 + 0x17910) + -0x5228);\n        }\n        return (char *)(*(int *)(in_t9 + 0x17910) + -0x521c);\n      }\n    }" { (if_statement "if (((((pbVar2[1] & 0xdf) == 0x54) && ((pbVar2[2] & 0xdf) == 0x46)) && (pbVar2[3] == 0x2d)) &&\n         ((pbVar2[4] == 0x38 && (pbVar2[5] == 0)))) {\n        if (*pcVar1 != '`') {\n          return (char *)(*(int *)(in_t9 + 0x17910) + -0x5228);\n        }\n        return (char *)(*(int *)(in_t9 + 0x17910) + -0x521c);\n      }" if (parenthesized_expression "(((((pbVar2[1] & 0xdf) == 0x54) && ((pbVar2[2] & 0xdf) == 0x46)) && (pbVar2[3] == 0x2d)) &&\n         ((pbVar2[4] == 0x38 && (pbVar2[5] == 0))))" ( (binary_expression "((((pbVar2[1] & 0xdf) == 0x54) && ((pbVar2[2] & 0xdf) == 0x46)) && (pbVar2[3] == 0x2d)) &&\n         ((pbVar2[4] == 0x38 && (pbVar2[5] == 0)))" (parenthesized_expression "((((pbVar2[1] & 0xdf) == 0x54) && ((pbVar2[2] & 0xdf) == 0x46)) && (pbVar2[3] == 0x2d))" ( (binary_expression "(((pbVar2[1] & 0xdf) == 0x54) && ((pbVar2[2] & 0xdf) == 0x46)) && (pbVar2[3] == 0x2d)" (parenthesized_expression "(((pbVar2[1] & 0xdf) == 0x54) && ((pbVar2[2] & 0xdf) == 0x46))" ( (binary_expression "((pbVar2[1] & 0xdf) == 0x54) && ((pbVar2[2] & 0xdf) == 0x46)" (parenthesized_expression "((pbVar2[1] & 0xdf) == 0x54)" ( (binary_expression "(pbVar2[1] & 0xdf) == 0x54" (parenthesized_expression "(pbVar2[1] & 0xdf)" ( (binary_expression "pbVar2[1] & 0xdf" (subscript_expression "pbVar2[1]" identifier [ number_literal ]) & number_literal) )) == number_literal) )) && (parenthesized_expression "((pbVar2[2] & 0xdf) == 0x46)" ( (binary_expression "(pbVar2[2] & 0xdf) == 0x46" (parenthesized_expression "(pbVar2[2] & 0xdf)" ( (binary_expression "pbVar2[2] & 0xdf" (subscript_expression "pbVar2[2]" identifier [ number_literal ]) & number_literal) )) == number_literal) ))) )) && (parenthesized_expression "(pbVar2[3] == 0x2d)" ( (binary_expression "pbVar2[3] == 0x2d" (subscript_expression "pbVar2[3]" identifier [ number_literal ]) == number_literal) ))) )) && (parenthesized_expression "((pbVar2[4] == 0x38 && (pbVar2[5] == 0)))" ( (parenthesized_expression "(pbVar2[4] == 0x38 && (pbVar2[5] == 0))" ( (binary_expression "pbVar2[4] == 0x38 && (pbVar2[5] == 0)" (binary_expression "pbVar2[4] == 0x38" (subscript_expression "pbVar2[4]" identifier [ number_literal ]) == number_literal) && (parenthesized_expression "(pbVar2[5] == 0)" ( (binary_expression "pbVar2[5] == 0" (subscript_expression "pbVar2[5]" identifier [ number_literal ]) == number_literal) ))) )) ))) )) (compound_statement "{\n        if (*pcVar1 != '`') {\n          return (char *)(*(int *)(in_t9 + 0x17910) + -0x5228);\n        }\n        return (char *)(*(int *)(in_t9 + 0x17910) + -0x521c);\n      }" { (if_statement "if (*pcVar1 != '`') {\n          return (char *)(*(int *)(in_t9 + 0x17910) + -0x5228);\n        }" if (parenthesized_expression "(*pcVar1 != '`')" ( (binary_expression "*pcVar1 != '`'" (pointer_expression "*pcVar1" * identifier) != (char_literal "'`'" ' character ')) )) (compound_statement "{\n          return (char *)(*(int *)(in_t9 + 0x17910) + -0x5228);\n        }" { (return_statement "return (char *)(*(int *)(in_t9 + 0x17910) + -0x5228);" return (cast_expression "(char *)(*(int *)(in_t9 + 0x17910) + -0x5228)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(in_t9 + 0x17910) + -0x5228)" ( (binary_expression "*(int *)(in_t9 + 0x17910) + -0x5228" (pointer_expression "*(int *)(in_t9 + 0x17910)" * (cast_expression "(int *)(in_t9 + 0x17910)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_t9 + 0x17910)" ( (binary_expression "in_t9 + 0x17910" identifier + number_literal) )))) + number_literal) ))) ;) })) (return_statement "return (char *)(*(int *)(in_t9 + 0x17910) + -0x521c);" return (cast_expression "(char *)(*(int *)(in_t9 + 0x17910) + -0x521c)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(in_t9 + 0x17910) + -0x521c)" ( (binary_expression "*(int *)(in_t9 + 0x17910) + -0x521c" (pointer_expression "*(int *)(in_t9 + 0x17910)" * (cast_expression "(int *)(in_t9 + 0x17910)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_t9 + 0x17910)" ( (binary_expression "in_t9 + 0x17910" identifier + number_literal) )))) + number_literal) ))) ;) })) }) (else_clause "else if (((((*pbVar2 & 0xdf) == 0x47) && ((pbVar2[1] & 0xdf) == 0x42)) && (pbVar2[2] == 0x31))\n            && (((pbVar2[3] == 0x38 && (pbVar2[4] == 0x30)) &&\n                ((pbVar2[5] == 0x33 && ((pbVar2[6] == 0x30 && (pbVar2[7] == 0)))))))) {\n      if (*pcVar1 != '`') {\n        return (char *)(*(int *)(in_t9 + 0x17910) + -0x5224);\n      }\n      return (char *)(*(int *)(in_t9 + 0x17910) + -0x5220);\n    }" else (if_statement "if (((((*pbVar2 & 0xdf) == 0x47) && ((pbVar2[1] & 0xdf) == 0x42)) && (pbVar2[2] == 0x31))\n            && (((pbVar2[3] == 0x38 && (pbVar2[4] == 0x30)) &&\n                ((pbVar2[5] == 0x33 && ((pbVar2[6] == 0x30 && (pbVar2[7] == 0)))))))) {\n      if (*pcVar1 != '`') {\n        return (char *)(*(int *)(in_t9 + 0x17910) + -0x5224);\n      }\n      return (char *)(*(int *)(in_t9 + 0x17910) + -0x5220);\n    }" if (parenthesized_expression "(((((*pbVar2 & 0xdf) == 0x47) && ((pbVar2[1] & 0xdf) == 0x42)) && (pbVar2[2] == 0x31))\n            && (((pbVar2[3] == 0x38 && (pbVar2[4] == 0x30)) &&\n                ((pbVar2[5] == 0x33 && ((pbVar2[6] == 0x30 && (pbVar2[7] == 0))))))))" ( (binary_expression "((((*pbVar2 & 0xdf) == 0x47) && ((pbVar2[1] & 0xdf) == 0x42)) && (pbVar2[2] == 0x31))\n            && (((pbVar2[3] == 0x38 && (pbVar2[4] == 0x30)) &&\n                ((pbVar2[5] == 0x33 && ((pbVar2[6] == 0x30 && (pbVar2[7] == 0)))))))" (parenthesized_expression "((((*pbVar2 & 0xdf) == 0x47) && ((pbVar2[1] & 0xdf) == 0x42)) && (pbVar2[2] == 0x31))" ( (binary_expression "(((*pbVar2 & 0xdf) == 0x47) && ((pbVar2[1] & 0xdf) == 0x42)) && (pbVar2[2] == 0x31)" (parenthesized_expression "(((*pbVar2 & 0xdf) == 0x47) && ((pbVar2[1] & 0xdf) == 0x42))" ( (binary_expression "((*pbVar2 & 0xdf) == 0x47) && ((pbVar2[1] & 0xdf) == 0x42)" (parenthesized_expression "((*pbVar2 & 0xdf) == 0x47)" ( (binary_expression "(*pbVar2 & 0xdf) == 0x47" (parenthesized_expression "(*pbVar2 & 0xdf)" ( (binary_expression "*pbVar2 & 0xdf" (pointer_expression "*pbVar2" * identifier) & number_literal) )) == number_literal) )) && (parenthesized_expression "((pbVar2[1] & 0xdf) == 0x42)" ( (binary_expression "(pbVar2[1] & 0xdf) == 0x42" (parenthesized_expression "(pbVar2[1] & 0xdf)" ( (binary_expression "pbVar2[1] & 0xdf" (subscript_expression "pbVar2[1]" identifier [ number_literal ]) & number_literal) )) == number_literal) ))) )) && (parenthesized_expression "(pbVar2[2] == 0x31)" ( (binary_expression "pbVar2[2] == 0x31" (subscript_expression "pbVar2[2]" identifier [ number_literal ]) == number_literal) ))) )) && (parenthesized_expression "(((pbVar2[3] == 0x38 && (pbVar2[4] == 0x30)) &&\n                ((pbVar2[5] == 0x33 && ((pbVar2[6] == 0x30 && (pbVar2[7] == 0)))))))" ( (parenthesized_expression "((pbVar2[3] == 0x38 && (pbVar2[4] == 0x30)) &&\n                ((pbVar2[5] == 0x33 && ((pbVar2[6] == 0x30 && (pbVar2[7] == 0))))))" ( (binary_expression "(pbVar2[3] == 0x38 && (pbVar2[4] == 0x30)) &&\n                ((pbVar2[5] == 0x33 && ((pbVar2[6] == 0x30 && (pbVar2[7] == 0)))))" (parenthesized_expression "(pbVar2[3] == 0x38 && (pbVar2[4] == 0x30))" ( (binary_expression "pbVar2[3] == 0x38 && (pbVar2[4] == 0x30)" (binary_expression "pbVar2[3] == 0x38" (subscript_expression "pbVar2[3]" identifier [ number_literal ]) == number_literal) && (parenthesized_expression "(pbVar2[4] == 0x30)" ( (binary_expression "pbVar2[4] == 0x30" (subscript_expression "pbVar2[4]" identifier [ number_literal ]) == number_literal) ))) )) && (parenthesized_expression "((pbVar2[5] == 0x33 && ((pbVar2[6] == 0x30 && (pbVar2[7] == 0)))))" ( (parenthesized_expression "(pbVar2[5] == 0x33 && ((pbVar2[6] == 0x30 && (pbVar2[7] == 0))))" ( (binary_expression "pbVar2[5] == 0x33 && ((pbVar2[6] == 0x30 && (pbVar2[7] == 0)))" (binary_expression "pbVar2[5] == 0x33" (subscript_expression "pbVar2[5]" identifier [ number_literal ]) == number_literal) && (parenthesized_expression "((pbVar2[6] == 0x30 && (pbVar2[7] == 0)))" ( (parenthesized_expression "(pbVar2[6] == 0x30 && (pbVar2[7] == 0))" ( (binary_expression "pbVar2[6] == 0x30 && (pbVar2[7] == 0)" (binary_expression "pbVar2[6] == 0x30" (subscript_expression "pbVar2[6]" identifier [ number_literal ]) == number_literal) && (parenthesized_expression "(pbVar2[7] == 0)" ( (binary_expression "pbVar2[7] == 0" (subscript_expression "pbVar2[7]" identifier [ number_literal ]) == number_literal) ))) )) ))) )) ))) )) ))) )) (compound_statement "{\n      if (*pcVar1 != '`') {\n        return (char *)(*(int *)(in_t9 + 0x17910) + -0x5224);\n      }\n      return (char *)(*(int *)(in_t9 + 0x17910) + -0x5220);\n    }" { (if_statement "if (*pcVar1 != '`') {\n        return (char *)(*(int *)(in_t9 + 0x17910) + -0x5224);\n      }" if (parenthesized_expression "(*pcVar1 != '`')" ( (binary_expression "*pcVar1 != '`'" (pointer_expression "*pcVar1" * identifier) != (char_literal "'`'" ' character ')) )) (compound_statement "{\n        return (char *)(*(int *)(in_t9 + 0x17910) + -0x5224);\n      }" { (return_statement "return (char *)(*(int *)(in_t9 + 0x17910) + -0x5224);" return (cast_expression "(char *)(*(int *)(in_t9 + 0x17910) + -0x5224)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(in_t9 + 0x17910) + -0x5224)" ( (binary_expression "*(int *)(in_t9 + 0x17910) + -0x5224" (pointer_expression "*(int *)(in_t9 + 0x17910)" * (cast_expression "(int *)(in_t9 + 0x17910)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_t9 + 0x17910)" ( (binary_expression "in_t9 + 0x17910" identifier + number_literal) )))) + number_literal) ))) ;) })) (return_statement "return (char *)(*(int *)(in_t9 + 0x17910) + -0x5220);" return (cast_expression "(char *)(*(int *)(in_t9 + 0x17910) + -0x5220)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(in_t9 + 0x17910) + -0x5220)" ( (binary_expression "*(int *)(in_t9 + 0x17910) + -0x5220" (pointer_expression "*(int *)(in_t9 + 0x17910)" * (cast_expression "(int *)(in_t9 + 0x17910)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_t9 + 0x17910)" ( (binary_expression "in_t9 + 0x17910" identifier + number_literal) )))) + number_literal) ))) ;) })))) (if_statement "if (param_2 == 9) {\n      pcVar1 = (char *)(*(int *)(in_t9 + 0x17910) + -0x522c);\n    }\n    else {\n      pcVar1 = (char *)(*(int *)(in_t9 + 0x17910) + -0x5218);\n    }" if (parenthesized_expression "(param_2 == 9)" ( (binary_expression "param_2 == 9" identifier == number_literal) )) (compound_statement "{\n      pcVar1 = (char *)(*(int *)(in_t9 + 0x17910) + -0x522c);\n    }" { (expression_statement "pcVar1 = (char *)(*(int *)(in_t9 + 0x17910) + -0x522c);" (assignment_expression "pcVar1 = (char *)(*(int *)(in_t9 + 0x17910) + -0x522c)" identifier = (cast_expression "(char *)(*(int *)(in_t9 + 0x17910) + -0x522c)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(in_t9 + 0x17910) + -0x522c)" ( (binary_expression "*(int *)(in_t9 + 0x17910) + -0x522c" (pointer_expression "*(int *)(in_t9 + 0x17910)" * (cast_expression "(int *)(in_t9 + 0x17910)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_t9 + 0x17910)" ( (binary_expression "in_t9 + 0x17910" identifier + number_literal) )))) + number_literal) )))) ;) }) (else_clause "else {\n      pcVar1 = (char *)(*(int *)(in_t9 + 0x17910) + -0x5218);\n    }" else (compound_statement "{\n      pcVar1 = (char *)(*(int *)(in_t9 + 0x17910) + -0x5218);\n    }" { (expression_statement "pcVar1 = (char *)(*(int *)(in_t9 + 0x17910) + -0x5218);" (assignment_expression "pcVar1 = (char *)(*(int *)(in_t9 + 0x17910) + -0x5218)" identifier = (cast_expression "(char *)(*(int *)(in_t9 + 0x17910) + -0x5218)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(in_t9 + 0x17910) + -0x5218)" ( (binary_expression "*(int *)(in_t9 + 0x17910) + -0x5218" (pointer_expression "*(int *)(in_t9 + 0x17910)" * (cast_expression "(int *)(in_t9 + 0x17910)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_t9 + 0x17910)" ( (binary_expression "in_t9 + 0x17910" identifier + number_literal) )))) + number_literal) )))) ;) }))) })) (return_statement "return pcVar1;" return identifier ;) })))
(translation_unit (function_definition TYPE (pointer_declarator * (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE (pointer_declarator * IDENT)) , (parameter_declaration TYPE IDENT) )))) (compound_statement { (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( LIT , IDENT , LIT ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == IDENT) )) (compound_statement { (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 (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) & LIT) )) == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) & LIT) )) == LIT) )) && (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) & LIT) )) == LIT) ))) )) && (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == LIT) ))) )) && (parenthesized_expression ( (parenthesized_expression ( (binary_expression (binary_expression (subscript_expression IDENT [ LIT ]) == LIT) && (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == LIT) ))) )) ))) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) != (char_literal ' character ')) )) (compound_statement { (return_statement return (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))) ;) })) (return_statement return (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))) ;) })) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) & LIT) )) == LIT) )) && (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) & LIT) )) == LIT) ))) )) && (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == LIT) ))) )) && (parenthesized_expression ( (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (subscript_expression IDENT [ LIT ]) == LIT) && (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == LIT) ))) )) && (parenthesized_expression ( (parenthesized_expression ( (binary_expression (binary_expression (subscript_expression IDENT [ LIT ]) == LIT) && (parenthesized_expression ( (parenthesized_expression ( (binary_expression (binary_expression (subscript_expression IDENT [ LIT ]) == LIT) && (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == LIT) ))) )) ))) )) ))) )) ))) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) != (char_literal ' character ')) )) (compound_statement { (return_statement return (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))) ;) })) (return_statement return (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))) ;) })))) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) ;) }))) })) (return_statement return IDENT ;) })))
(function_definition "char * FUN_00014808(char *param_1,int param_2)\n\n{\n  char *pcVar1;\n  byte *pbVar2;\n  int in_t9;\n  \n  pcVar1 = (char *)(**(code **)(in_t9 + 0x17afc))(0,param_1,5);\n  if (param_1 == pcVar1) {\n    pbVar2 = (byte *)locale_charset();\n    if ((*pbVar2 & 0xdf) == 0x55) {\n      if (((((pbVar2[1] & 0xdf) == 0x54) && ((pbVar2[2] & 0xdf) == 0x46)) && (pbVar2[3] == 0x2d)) &&\n         ((pbVar2[4] == 0x38 && (pbVar2[5] == 0)))) {\n        if (*pcVar1 != '`') {\n          return (char *)(*(int *)(in_t9 + 0x17910) + -0x5228);\n        }\n        return (char *)(*(int *)(in_t9 + 0x17910) + -0x521c);\n      }\n    }\n    else if (((((*pbVar2 & 0xdf) == 0x47) && ((pbVar2[1] & 0xdf) == 0x42)) && (pbVar2[2] == 0x31))\n            && (((pbVar2[3] == 0x38 && (pbVar2[4] == 0x30)) &&\n                ((pbVar2[5] == 0x33 && ((pbVar2[6] == 0x30 && (pbVar2[7] == 0)))))))) {\n      if (*pcVar1 != '`') {\n        return (char *)(*(int *)(in_t9 + 0x17910) + -0x5224);\n      }\n      return (char *)(*(int *)(in_t9 + 0x17910) + -0x5220);\n    }\n    if (param_2 == 9) {\n      pcVar1 = (char *)(*(int *)(in_t9 + 0x17910) + -0x522c);\n    }\n    else {\n      pcVar1 = (char *)(*(int *)(in_t9 + 0x17910) + -0x5218);\n    }\n  }\n  return pcVar1;\n}" (primitive_type "char") (pointer_declarator "* FUN_00014808(char *param_1,int param_2)" (* "*") (function_declarator "FUN_00014808(char *param_1,int param_2)" (identifier "FUN_00014808") (parameter_list "(char *param_1,int param_2)" (( "(") (parameter_declaration "char *param_1" (primitive_type "char") (pointer_declarator "*param_1" (* "*") (identifier "param_1"))) (, ",") (parameter_declaration "int param_2" (primitive_type "int") (identifier "param_2")) () ")")))) (compound_statement "{\n  char *pcVar1;\n  byte *pbVar2;\n  int in_t9;\n  \n  pcVar1 = (char *)(**(code **)(in_t9 + 0x17afc))(0,param_1,5);\n  if (param_1 == pcVar1) {\n    pbVar2 = (byte *)locale_charset();\n    if ((*pbVar2 & 0xdf) == 0x55) {\n      if (((((pbVar2[1] & 0xdf) == 0x54) && ((pbVar2[2] & 0xdf) == 0x46)) && (pbVar2[3] == 0x2d)) &&\n         ((pbVar2[4] == 0x38 && (pbVar2[5] == 0)))) {\n        if (*pcVar1 != '`') {\n          return (char *)(*(int *)(in_t9 + 0x17910) + -0x5228);\n        }\n        return (char *)(*(int *)(in_t9 + 0x17910) + -0x521c);\n      }\n    }\n    else if (((((*pbVar2 & 0xdf) == 0x47) && ((pbVar2[1] & 0xdf) == 0x42)) && (pbVar2[2] == 0x31))\n            && (((pbVar2[3] == 0x38 && (pbVar2[4] == 0x30)) &&\n                ((pbVar2[5] == 0x33 && ((pbVar2[6] == 0x30 && (pbVar2[7] == 0)))))))) {\n      if (*pcVar1 != '`') {\n        return (char *)(*(int *)(in_t9 + 0x17910) + -0x5224);\n      }\n      return (char *)(*(int *)(in_t9 + 0x17910) + -0x5220);\n    }\n    if (param_2 == 9) {\n      pcVar1 = (char *)(*(int *)(in_t9 + 0x17910) + -0x522c);\n    }\n    else {\n      pcVar1 = (char *)(*(int *)(in_t9 + 0x17910) + -0x5218);\n    }\n  }\n  return pcVar1;\n}" ({ "{") (declaration "char *pcVar1;" (primitive_type "char") (pointer_declarator "*pcVar1" (* "*") (identifier "pcVar1")) (; ";")) (declaration "byte *pbVar2;" (type_identifier "byte") (pointer_declarator "*pbVar2" (* "*") (identifier "pbVar2")) (; ";")) (declaration "int in_t9;" (primitive_type "int") (identifier "in_t9") (; ";")) (expression_statement "pcVar1 = (char *)(**(code **)(in_t9 + 0x17afc))(0,param_1,5);" (assignment_expression "pcVar1 = (char *)(**(code **)(in_t9 + 0x17afc))(0,param_1,5)" (identifier "pcVar1") (= "=") (cast_expression "(char *)(**(code **)(in_t9 + 0x17afc))(0,param_1,5)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(**(code **)(in_t9 + 0x17afc))(0,param_1,5)" (parenthesized_expression "(**(code **)(in_t9 + 0x17afc))" (( "(") (pointer_expression "**(code **)(in_t9 + 0x17afc)" (* "*") (pointer_expression "*(code **)(in_t9 + 0x17afc)" (* "*") (cast_expression "(code **)(in_t9 + 0x17afc)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(in_t9 + 0x17afc)" (( "(") (binary_expression "in_t9 + 0x17afc" (identifier "in_t9") (+ "+") (number_literal "0x17afc")) () ")"))))) () ")")) (argument_list "(0,param_1,5)" (( "(") (number_literal "0") (, ",") (identifier "param_1") (, ",") (number_literal "5") () ")"))))) (; ";")) (if_statement "if (param_1 == pcVar1) {\n    pbVar2 = (byte *)locale_charset();\n    if ((*pbVar2 & 0xdf) == 0x55) {\n      if (((((pbVar2[1] & 0xdf) == 0x54) && ((pbVar2[2] & 0xdf) == 0x46)) && (pbVar2[3] == 0x2d)) &&\n         ((pbVar2[4] == 0x38 && (pbVar2[5] == 0)))) {\n        if (*pcVar1 != '`') {\n          return (char *)(*(int *)(in_t9 + 0x17910) + -0x5228);\n        }\n        return (char *)(*(int *)(in_t9 + 0x17910) + -0x521c);\n      }\n    }\n    else if (((((*pbVar2 & 0xdf) == 0x47) && ((pbVar2[1] & 0xdf) == 0x42)) && (pbVar2[2] == 0x31))\n            && (((pbVar2[3] == 0x38 && (pbVar2[4] == 0x30)) &&\n                ((pbVar2[5] == 0x33 && ((pbVar2[6] == 0x30 && (pbVar2[7] == 0)))))))) {\n      if (*pcVar1 != '`') {\n        return (char *)(*(int *)(in_t9 + 0x17910) + -0x5224);\n      }\n      return (char *)(*(int *)(in_t9 + 0x17910) + -0x5220);\n    }\n    if (param_2 == 9) {\n      pcVar1 = (char *)(*(int *)(in_t9 + 0x17910) + -0x522c);\n    }\n    else {\n      pcVar1 = (char *)(*(int *)(in_t9 + 0x17910) + -0x5218);\n    }\n  }" (if "if") (parenthesized_expression "(param_1 == pcVar1)" (( "(") (binary_expression "param_1 == pcVar1" (identifier "param_1") (== "==") (identifier "pcVar1")) () ")")) (compound_statement "{\n    pbVar2 = (byte *)locale_charset();\n    if ((*pbVar2 & 0xdf) == 0x55) {\n      if (((((pbVar2[1] & 0xdf) == 0x54) && ((pbVar2[2] & 0xdf) == 0x46)) && (pbVar2[3] == 0x2d)) &&\n         ((pbVar2[4] == 0x38 && (pbVar2[5] == 0)))) {\n        if (*pcVar1 != '`') {\n          return (char *)(*(int *)(in_t9 + 0x17910) + -0x5228);\n        }\n        return (char *)(*(int *)(in_t9 + 0x17910) + -0x521c);\n      }\n    }\n    else if (((((*pbVar2 & 0xdf) == 0x47) && ((pbVar2[1] & 0xdf) == 0x42)) && (pbVar2[2] == 0x31))\n            && (((pbVar2[3] == 0x38 && (pbVar2[4] == 0x30)) &&\n                ((pbVar2[5] == 0x33 && ((pbVar2[6] == 0x30 && (pbVar2[7] == 0)))))))) {\n      if (*pcVar1 != '`') {\n        return (char *)(*(int *)(in_t9 + 0x17910) + -0x5224);\n      }\n      return (char *)(*(int *)(in_t9 + 0x17910) + -0x5220);\n    }\n    if (param_2 == 9) {\n      pcVar1 = (char *)(*(int *)(in_t9 + 0x17910) + -0x522c);\n    }\n    else {\n      pcVar1 = (char *)(*(int *)(in_t9 + 0x17910) + -0x5218);\n    }\n  }" ({ "{") (expression_statement "pbVar2 = (byte *)locale_charset();" (assignment_expression "pbVar2 = (byte *)locale_charset()" (identifier "pbVar2") (= "=") (cast_expression "(byte *)locale_charset()" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "locale_charset()" (identifier "locale_charset") (argument_list "()" (( "(") () ")"))))) (; ";")) (if_statement "if ((*pbVar2 & 0xdf) == 0x55) {\n      if (((((pbVar2[1] & 0xdf) == 0x54) && ((pbVar2[2] & 0xdf) == 0x46)) && (pbVar2[3] == 0x2d)) &&\n         ((pbVar2[4] == 0x38 && (pbVar2[5] == 0)))) {\n        if (*pcVar1 != '`') {\n          return (char *)(*(int *)(in_t9 + 0x17910) + -0x5228);\n        }\n        return (char *)(*(int *)(in_t9 + 0x17910) + -0x521c);\n      }\n    }\n    else if (((((*pbVar2 & 0xdf) == 0x47) && ((pbVar2[1] & 0xdf) == 0x42)) && (pbVar2[2] == 0x31))\n            && (((pbVar2[3] == 0x38 && (pbVar2[4] == 0x30)) &&\n                ((pbVar2[5] == 0x33 && ((pbVar2[6] == 0x30 && (pbVar2[7] == 0)))))))) {\n      if (*pcVar1 != '`') {\n        return (char *)(*(int *)(in_t9 + 0x17910) + -0x5224);\n      }\n      return (char *)(*(int *)(in_t9 + 0x17910) + -0x5220);\n    }" (if "if") (parenthesized_expression "((*pbVar2 & 0xdf) == 0x55)" (( "(") (binary_expression "(*pbVar2 & 0xdf) == 0x55" (parenthesized_expression "(*pbVar2 & 0xdf)" (( "(") (binary_expression "*pbVar2 & 0xdf" (pointer_expression "*pbVar2" (* "*") (identifier "pbVar2")) (& "&") (number_literal "0xdf")) () ")")) (== "==") (number_literal "0x55")) () ")")) (compound_statement "{\n      if (((((pbVar2[1] & 0xdf) == 0x54) && ((pbVar2[2] & 0xdf) == 0x46)) && (pbVar2[3] == 0x2d)) &&\n         ((pbVar2[4] == 0x38 && (pbVar2[5] == 0)))) {\n        if (*pcVar1 != '`') {\n          return (char *)(*(int *)(in_t9 + 0x17910) + -0x5228);\n        }\n        return (char *)(*(int *)(in_t9 + 0x17910) + -0x521c);\n      }\n    }" ({ "{") (if_statement "if (((((pbVar2[1] & 0xdf) == 0x54) && ((pbVar2[2] & 0xdf) == 0x46)) && (pbVar2[3] == 0x2d)) &&\n         ((pbVar2[4] == 0x38 && (pbVar2[5] == 0)))) {\n        if (*pcVar1 != '`') {\n          return (char *)(*(int *)(in_t9 + 0x17910) + -0x5228);\n        }\n        return (char *)(*(int *)(in_t9 + 0x17910) + -0x521c);\n      }" (if "if") (parenthesized_expression "(((((pbVar2[1] & 0xdf) == 0x54) && ((pbVar2[2] & 0xdf) == 0x46)) && (pbVar2[3] == 0x2d)) &&\n         ((pbVar2[4] == 0x38 && (pbVar2[5] == 0))))" (( "(") (binary_expression "((((pbVar2[1] & 0xdf) == 0x54) && ((pbVar2[2] & 0xdf) == 0x46)) && (pbVar2[3] == 0x2d)) &&\n         ((pbVar2[4] == 0x38 && (pbVar2[5] == 0)))" (parenthesized_expression "((((pbVar2[1] & 0xdf) == 0x54) && ((pbVar2[2] & 0xdf) == 0x46)) && (pbVar2[3] == 0x2d))" (( "(") (binary_expression "(((pbVar2[1] & 0xdf) == 0x54) && ((pbVar2[2] & 0xdf) == 0x46)) && (pbVar2[3] == 0x2d)" (parenthesized_expression "(((pbVar2[1] & 0xdf) == 0x54) && ((pbVar2[2] & 0xdf) == 0x46))" (( "(") (binary_expression "((pbVar2[1] & 0xdf) == 0x54) && ((pbVar2[2] & 0xdf) == 0x46)" (parenthesized_expression "((pbVar2[1] & 0xdf) == 0x54)" (( "(") (binary_expression "(pbVar2[1] & 0xdf) == 0x54" (parenthesized_expression "(pbVar2[1] & 0xdf)" (( "(") (binary_expression "pbVar2[1] & 0xdf" (subscript_expression "pbVar2[1]" (identifier "pbVar2") ([ "[") (number_literal "1") (] "]")) (& "&") (number_literal "0xdf")) () ")")) (== "==") (number_literal "0x54")) () ")")) (&& "&&") (parenthesized_expression "((pbVar2[2] & 0xdf) == 0x46)" (( "(") (binary_expression "(pbVar2[2] & 0xdf) == 0x46" (parenthesized_expression "(pbVar2[2] & 0xdf)" (( "(") (binary_expression "pbVar2[2] & 0xdf" (subscript_expression "pbVar2[2]" (identifier "pbVar2") ([ "[") (number_literal "2") (] "]")) (& "&") (number_literal "0xdf")) () ")")) (== "==") (number_literal "0x46")) () ")"))) () ")")) (&& "&&") (parenthesized_expression "(pbVar2[3] == 0x2d)" (( "(") (binary_expression "pbVar2[3] == 0x2d" (subscript_expression "pbVar2[3]" (identifier "pbVar2") ([ "[") (number_literal "3") (] "]")) (== "==") (number_literal "0x2d")) () ")"))) () ")")) (&& "&&") (parenthesized_expression "((pbVar2[4] == 0x38 && (pbVar2[5] == 0)))" (( "(") (parenthesized_expression "(pbVar2[4] == 0x38 && (pbVar2[5] == 0))" (( "(") (binary_expression "pbVar2[4] == 0x38 && (pbVar2[5] == 0)" (binary_expression "pbVar2[4] == 0x38" (subscript_expression "pbVar2[4]" (identifier "pbVar2") ([ "[") (number_literal "4") (] "]")) (== "==") (number_literal "0x38")) (&& "&&") (parenthesized_expression "(pbVar2[5] == 0)" (( "(") (binary_expression "pbVar2[5] == 0" (subscript_expression "pbVar2[5]" (identifier "pbVar2") ([ "[") (number_literal "5") (] "]")) (== "==") (number_literal "0")) () ")"))) () ")")) () ")"))) () ")")) (compound_statement "{\n        if (*pcVar1 != '`') {\n          return (char *)(*(int *)(in_t9 + 0x17910) + -0x5228);\n        }\n        return (char *)(*(int *)(in_t9 + 0x17910) + -0x521c);\n      }" ({ "{") (if_statement "if (*pcVar1 != '`') {\n          return (char *)(*(int *)(in_t9 + 0x17910) + -0x5228);\n        }" (if "if") (parenthesized_expression "(*pcVar1 != '`')" (( "(") (binary_expression "*pcVar1 != '`'" (pointer_expression "*pcVar1" (* "*") (identifier "pcVar1")) (!= "!=") (char_literal "'`'" (' "'") (character "`") (' "'"))) () ")")) (compound_statement "{\n          return (char *)(*(int *)(in_t9 + 0x17910) + -0x5228);\n        }" ({ "{") (return_statement "return (char *)(*(int *)(in_t9 + 0x17910) + -0x5228);" (return "return") (cast_expression "(char *)(*(int *)(in_t9 + 0x17910) + -0x5228)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(in_t9 + 0x17910) + -0x5228)" (( "(") (binary_expression "*(int *)(in_t9 + 0x17910) + -0x5228" (pointer_expression "*(int *)(in_t9 + 0x17910)" (* "*") (cast_expression "(int *)(in_t9 + 0x17910)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(in_t9 + 0x17910)" (( "(") (binary_expression "in_t9 + 0x17910" (identifier "in_t9") (+ "+") (number_literal "0x17910")) () ")")))) (+ "+") (number_literal "-0x5228")) () ")"))) (; ";")) (} "}"))) (return_statement "return (char *)(*(int *)(in_t9 + 0x17910) + -0x521c);" (return "return") (cast_expression "(char *)(*(int *)(in_t9 + 0x17910) + -0x521c)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(in_t9 + 0x17910) + -0x521c)" (( "(") (binary_expression "*(int *)(in_t9 + 0x17910) + -0x521c" (pointer_expression "*(int *)(in_t9 + 0x17910)" (* "*") (cast_expression "(int *)(in_t9 + 0x17910)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(in_t9 + 0x17910)" (( "(") (binary_expression "in_t9 + 0x17910" (identifier "in_t9") (+ "+") (number_literal "0x17910")) () ")")))) (+ "+") (number_literal "-0x521c")) () ")"))) (; ";")) (} "}"))) (} "}")) (else_clause "else if (((((*pbVar2 & 0xdf) == 0x47) && ((pbVar2[1] & 0xdf) == 0x42)) && (pbVar2[2] == 0x31))\n            && (((pbVar2[3] == 0x38 && (pbVar2[4] == 0x30)) &&\n                ((pbVar2[5] == 0x33 && ((pbVar2[6] == 0x30 && (pbVar2[7] == 0)))))))) {\n      if (*pcVar1 != '`') {\n        return (char *)(*(int *)(in_t9 + 0x17910) + -0x5224);\n      }\n      return (char *)(*(int *)(in_t9 + 0x17910) + -0x5220);\n    }" (else "else") (if_statement "if (((((*pbVar2 & 0xdf) == 0x47) && ((pbVar2[1] & 0xdf) == 0x42)) && (pbVar2[2] == 0x31))\n            && (((pbVar2[3] == 0x38 && (pbVar2[4] == 0x30)) &&\n                ((pbVar2[5] == 0x33 && ((pbVar2[6] == 0x30 && (pbVar2[7] == 0)))))))) {\n      if (*pcVar1 != '`') {\n        return (char *)(*(int *)(in_t9 + 0x17910) + -0x5224);\n      }\n      return (char *)(*(int *)(in_t9 + 0x17910) + -0x5220);\n    }" (if "if") (parenthesized_expression "(((((*pbVar2 & 0xdf) == 0x47) && ((pbVar2[1] & 0xdf) == 0x42)) && (pbVar2[2] == 0x31))\n            && (((pbVar2[3] == 0x38 && (pbVar2[4] == 0x30)) &&\n                ((pbVar2[5] == 0x33 && ((pbVar2[6] == 0x30 && (pbVar2[7] == 0))))))))" (( "(") (binary_expression "((((*pbVar2 & 0xdf) == 0x47) && ((pbVar2[1] & 0xdf) == 0x42)) && (pbVar2[2] == 0x31))\n            && (((pbVar2[3] == 0x38 && (pbVar2[4] == 0x30)) &&\n                ((pbVar2[5] == 0x33 && ((pbVar2[6] == 0x30 && (pbVar2[7] == 0)))))))" (parenthesized_expression "((((*pbVar2 & 0xdf) == 0x47) && ((pbVar2[1] & 0xdf) == 0x42)) && (pbVar2[2] == 0x31))" (( "(") (binary_expression "(((*pbVar2 & 0xdf) == 0x47) && ((pbVar2[1] & 0xdf) == 0x42)) && (pbVar2[2] == 0x31)" (parenthesized_expression "(((*pbVar2 & 0xdf) == 0x47) && ((pbVar2[1] & 0xdf) == 0x42))" (( "(") (binary_expression "((*pbVar2 & 0xdf) == 0x47) && ((pbVar2[1] & 0xdf) == 0x42)" (parenthesized_expression "((*pbVar2 & 0xdf) == 0x47)" (( "(") (binary_expression "(*pbVar2 & 0xdf) == 0x47" (parenthesized_expression "(*pbVar2 & 0xdf)" (( "(") (binary_expression "*pbVar2 & 0xdf" (pointer_expression "*pbVar2" (* "*") (identifier "pbVar2")) (& "&") (number_literal "0xdf")) () ")")) (== "==") (number_literal "0x47")) () ")")) (&& "&&") (parenthesized_expression "((pbVar2[1] & 0xdf) == 0x42)" (( "(") (binary_expression "(pbVar2[1] & 0xdf) == 0x42" (parenthesized_expression "(pbVar2[1] & 0xdf)" (( "(") (binary_expression "pbVar2[1] & 0xdf" (subscript_expression "pbVar2[1]" (identifier "pbVar2") ([ "[") (number_literal "1") (] "]")) (& "&") (number_literal "0xdf")) () ")")) (== "==") (number_literal "0x42")) () ")"))) () ")")) (&& "&&") (parenthesized_expression "(pbVar2[2] == 0x31)" (( "(") (binary_expression "pbVar2[2] == 0x31" (subscript_expression "pbVar2[2]" (identifier "pbVar2") ([ "[") (number_literal "2") (] "]")) (== "==") (number_literal "0x31")) () ")"))) () ")")) (&& "&&") (parenthesized_expression "(((pbVar2[3] == 0x38 && (pbVar2[4] == 0x30)) &&\n                ((pbVar2[5] == 0x33 && ((pbVar2[6] == 0x30 && (pbVar2[7] == 0)))))))" (( "(") (parenthesized_expression "((pbVar2[3] == 0x38 && (pbVar2[4] == 0x30)) &&\n                ((pbVar2[5] == 0x33 && ((pbVar2[6] == 0x30 && (pbVar2[7] == 0))))))" (( "(") (binary_expression "(pbVar2[3] == 0x38 && (pbVar2[4] == 0x30)) &&\n                ((pbVar2[5] == 0x33 && ((pbVar2[6] == 0x30 && (pbVar2[7] == 0)))))" (parenthesized_expression "(pbVar2[3] == 0x38 && (pbVar2[4] == 0x30))" (( "(") (binary_expression "pbVar2[3] == 0x38 && (pbVar2[4] == 0x30)" (binary_expression "pbVar2[3] == 0x38" (subscript_expression "pbVar2[3]" (identifier "pbVar2") ([ "[") (number_literal "3") (] "]")) (== "==") (number_literal "0x38")) (&& "&&") (parenthesized_expression "(pbVar2[4] == 0x30)" (( "(") (binary_expression "pbVar2[4] == 0x30" (subscript_expression "pbVar2[4]" (identifier "pbVar2") ([ "[") (number_literal "4") (] "]")) (== "==") (number_literal "0x30")) () ")"))) () ")")) (&& "&&") (parenthesized_expression "((pbVar2[5] == 0x33 && ((pbVar2[6] == 0x30 && (pbVar2[7] == 0)))))" (( "(") (parenthesized_expression "(pbVar2[5] == 0x33 && ((pbVar2[6] == 0x30 && (pbVar2[7] == 0))))" (( "(") (binary_expression "pbVar2[5] == 0x33 && ((pbVar2[6] == 0x30 && (pbVar2[7] == 0)))" (binary_expression "pbVar2[5] == 0x33" (subscript_expression "pbVar2[5]" (identifier "pbVar2") ([ "[") (number_literal "5") (] "]")) (== "==") (number_literal "0x33")) (&& "&&") (parenthesized_expression "((pbVar2[6] == 0x30 && (pbVar2[7] == 0)))" (( "(") (parenthesized_expression "(pbVar2[6] == 0x30 && (pbVar2[7] == 0))" (( "(") (binary_expression "pbVar2[6] == 0x30 && (pbVar2[7] == 0)" (binary_expression "pbVar2[6] == 0x30" (subscript_expression "pbVar2[6]" (identifier "pbVar2") ([ "[") (number_literal "6") (] "]")) (== "==") (number_literal "0x30")) (&& "&&") (parenthesized_expression "(pbVar2[7] == 0)" (( "(") (binary_expression "pbVar2[7] == 0" (subscript_expression "pbVar2[7]" (identifier "pbVar2") ([ "[") (number_literal "7") (] "]")) (== "==") (number_literal "0")) () ")"))) () ")")) () ")"))) () ")")) () ")"))) () ")")) () ")"))) () ")")) (compound_statement "{\n      if (*pcVar1 != '`') {\n        return (char *)(*(int *)(in_t9 + 0x17910) + -0x5224);\n      }\n      return (char *)(*(int *)(in_t9 + 0x17910) + -0x5220);\n    }" ({ "{") (if_statement "if (*pcVar1 != '`') {\n        return (char *)(*(int *)(in_t9 + 0x17910) + -0x5224);\n      }" (if "if") (parenthesized_expression "(*pcVar1 != '`')" (( "(") (binary_expression "*pcVar1 != '`'" (pointer_expression "*pcVar1" (* "*") (identifier "pcVar1")) (!= "!=") (char_literal "'`'" (' "'") (character "`") (' "'"))) () ")")) (compound_statement "{\n        return (char *)(*(int *)(in_t9 + 0x17910) + -0x5224);\n      }" ({ "{") (return_statement "return (char *)(*(int *)(in_t9 + 0x17910) + -0x5224);" (return "return") (cast_expression "(char *)(*(int *)(in_t9 + 0x17910) + -0x5224)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(in_t9 + 0x17910) + -0x5224)" (( "(") (binary_expression "*(int *)(in_t9 + 0x17910) + -0x5224" (pointer_expression "*(int *)(in_t9 + 0x17910)" (* "*") (cast_expression "(int *)(in_t9 + 0x17910)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(in_t9 + 0x17910)" (( "(") (binary_expression "in_t9 + 0x17910" (identifier "in_t9") (+ "+") (number_literal "0x17910")) () ")")))) (+ "+") (number_literal "-0x5224")) () ")"))) (; ";")) (} "}"))) (return_statement "return (char *)(*(int *)(in_t9 + 0x17910) + -0x5220);" (return "return") (cast_expression "(char *)(*(int *)(in_t9 + 0x17910) + -0x5220)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(in_t9 + 0x17910) + -0x5220)" (( "(") (binary_expression "*(int *)(in_t9 + 0x17910) + -0x5220" (pointer_expression "*(int *)(in_t9 + 0x17910)" (* "*") (cast_expression "(int *)(in_t9 + 0x17910)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(in_t9 + 0x17910)" (( "(") (binary_expression "in_t9 + 0x17910" (identifier "in_t9") (+ "+") (number_literal "0x17910")) () ")")))) (+ "+") (number_literal "-0x5220")) () ")"))) (; ";")) (} "}"))))) (if_statement "if (param_2 == 9) {\n      pcVar1 = (char *)(*(int *)(in_t9 + 0x17910) + -0x522c);\n    }\n    else {\n      pcVar1 = (char *)(*(int *)(in_t9 + 0x17910) + -0x5218);\n    }" (if "if") (parenthesized_expression "(param_2 == 9)" (( "(") (binary_expression "param_2 == 9" (identifier "param_2") (== "==") (number_literal "9")) () ")")) (compound_statement "{\n      pcVar1 = (char *)(*(int *)(in_t9 + 0x17910) + -0x522c);\n    }" ({ "{") (expression_statement "pcVar1 = (char *)(*(int *)(in_t9 + 0x17910) + -0x522c);" (assignment_expression "pcVar1 = (char *)(*(int *)(in_t9 + 0x17910) + -0x522c)" (identifier "pcVar1") (= "=") (cast_expression "(char *)(*(int *)(in_t9 + 0x17910) + -0x522c)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(in_t9 + 0x17910) + -0x522c)" (( "(") (binary_expression "*(int *)(in_t9 + 0x17910) + -0x522c" (pointer_expression "*(int *)(in_t9 + 0x17910)" (* "*") (cast_expression "(int *)(in_t9 + 0x17910)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(in_t9 + 0x17910)" (( "(") (binary_expression "in_t9 + 0x17910" (identifier "in_t9") (+ "+") (number_literal "0x17910")) () ")")))) (+ "+") (number_literal "-0x522c")) () ")")))) (; ";")) (} "}")) (else_clause "else {\n      pcVar1 = (char *)(*(int *)(in_t9 + 0x17910) + -0x5218);\n    }" (else "else") (compound_statement "{\n      pcVar1 = (char *)(*(int *)(in_t9 + 0x17910) + -0x5218);\n    }" ({ "{") (expression_statement "pcVar1 = (char *)(*(int *)(in_t9 + 0x17910) + -0x5218);" (assignment_expression "pcVar1 = (char *)(*(int *)(in_t9 + 0x17910) + -0x5218)" (identifier "pcVar1") (= "=") (cast_expression "(char *)(*(int *)(in_t9 + 0x17910) + -0x5218)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(in_t9 + 0x17910) + -0x5218)" (( "(") (binary_expression "*(int *)(in_t9 + 0x17910) + -0x5218" (pointer_expression "*(int *)(in_t9 + 0x17910)" (* "*") (cast_expression "(int *)(in_t9 + 0x17910)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(in_t9 + 0x17910)" (( "(") (binary_expression "in_t9 + 0x17910" (identifier "in_t9") (+ "+") (number_literal "0x17910")) () ")")))) (+ "+") (number_literal "-0x5218")) () ")")))) (; ";")) (} "}")))) (} "}"))) (return_statement "return pcVar1;" (return "return") (identifier "pcVar1") (; ";")) (} "}")))

char * function_1(char *var_1,type_1 var_5)

{
  char *var_2;
  type_2 *pbVar2;
  
  var_2 = (char *)(*(type_3 *)PTR_dcgettext_0002c304)(0,var_1,5);
  if (var_1 == var_2) {
    pbVar2 = (type_2 *)var_3();
    if ((*pbVar2 & 0xdf) == 0x55) {
      if (((((pbVar2[1] & 0xdf) == 0x54) && ((pbVar2[2] & 0xdf) == 0x46)) && (pbVar2[3] == 0x2d)) &&
         ((pbVar2[4] == 0x38 && (pbVar2[5] == 0)))) {
        if (*var_2 != '`') {
          return var_4 + -0x5228;
        }
        return var_4 + -0x521c;
      }
    }
    else if (((((*pbVar2 & 0xdf) == 0x47) && ((pbVar2[1] & 0xdf) == 0x42)) && (pbVar2[2] == 0x31))
            && (((pbVar2[3] == 0x38 && (pbVar2[4] == 0x30)) &&
                ((pbVar2[5] == 0x33 && ((pbVar2[6] == 0x30 && (pbVar2[7] == 0)))))))) {
      if (*var_2 != '`') {
        return var_4 + -0x5224;
      }
      return var_4 + -0x5220;
    }
    if (var_5 == var_6) {
      var_2 = var_4 + -0x522c;
    }
    else {
      var_2 = var_4 + -0x5218;
    }
  }
  return var_2;
}


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

char * MASKED(char *param_1,int param_2)

{
  char *pcVar1;
  byte *pbVar2;
  int in_t9;
  
  pcVar1 = (char *)(**(code **)(in_t9 + 0x17afc))(0,param_1,5);
  if (param_1 == pcVar1) {
    pbVar2 = (byte *)locale_charset();
    if ((*pbVar2 & 0xdf) == 0x55) {
      if (((((pbVar2[1] & 0xdf) == 0x54) && ((pbVar2[2] & 0xdf) == 0x46)) && (pbVar2[3] == 0x2d)) &&
         ((pbVar2[4] == 0x38 && (pbVar2[5] == 0)))) {
        if (*pcVar1 != '`') {
          return (char *)(*(int *)(in_t9 + 0x17910) + -0x5228);
        }
        return (char *)(*(int *)(in_t9 + 0x17910) + -0x521c);
      }
    }
    else if (((((*pbVar2 & 0xdf) == 0x47) && ((pbVar2[1] & 0xdf) == 0x42)) && (pbVar2[2] == 0x31))
            && (((pbVar2[3] == 0x38 && (pbVar2[4] == 0x30)) &&
                ((pbVar2[5] == 0x33 && ((pbVar2[6] == 0x30 && (pbVar2[7] == 0)))))))) {
      if (*pcVar1 != '`') {
        return (char *)(*(int *)(in_t9 + 0x17910) + -0x5224);
      }
      return (char *)(*(int *)(in_t9 + 0x17910) + -0x5220);
    }
    if (param_2 == 9) {
      pcVar1 = (char *)(*(int *)(in_t9 + 0x17910) + -0x522c);
    }
    else {
      pcVar1 = (char *)(*(int *)(in_t9 + 0x17910) + -0x5218);
    }
  }
  return pcVar1;
}

