
/* void std::__facet_shims::__moneypunct_fill_cache<char, true>(std::integral_constant<bool, true>,
   std::locale::facet const*, std::__moneypunct_cache<char, true>*) */

void std::__facet_shims::__moneypunct_fill_cache<char,true>
               (undefined4 param_1,int *param_2,int param_3)

{
  undefined1 uVar4;
  undefined4 uVar1;
  int iVar2;
  int iVar3;
  int in_t9;
  undefined1 *local_38;
  int local_34;
  undefined1 auStack_30 [20];
  
  uVar4 = (**(code **)(*param_2 + 8))(param_2);
  *(undefined1 *)(param_3 + 0x11) = uVar4;
  uVar4 = (**(code **)(*param_2 + 0xc))(param_2);
  *(undefined1 *)(param_3 + 0x12) = uVar4;
  uVar1 = (**(code **)(*param_2 + 0x20))(param_2);
  *(undefined4 *)(param_3 + 0x2c) = uVar1;
  *(undefined4 *)(param_3 + 8) = 0;
  *(undefined4 *)(param_3 + 0x14) = 0;
  *(undefined4 *)(param_3 + 0x1c) = 0;
  *(undefined4 *)(param_3 + 0x24) = 0;
  *(undefined1 *)(param_3 + 0x43) = 1;
  (**(code **)(*param_2 + 0x10))(&local_38,param_2);
  iVar3 = local_34;
                    /* try { // try from 00302f14 to 00302f3b has its CatchHandler @ 00303114 */
  iVar2 = (**(code **)(in_t9 + 0x12f47c))(local_34 + 1);
  (**(code **)(in_t9 + 0x133384))(&local_38,iVar2,iVar3,0);
  *(int *)(param_3 + 8) = iVar2;
  *(int *)(param_3 + 0xc) = iVar3;
  *(undefined1 *)(iVar2 + iVar3) = 0;
  if (local_38 != auStack_30) {
    (**(code **)(in_t9 + 0x12f42c))();
  }
  (**(code **)(*param_2 + 0x14))(&local_38,param_2);
  iVar3 = local_34;
                    /* try { // try from 00302f88 to 00302faf has its CatchHandler @ 00303170 */
  iVar2 = (**(code **)(in_t9 + 0x12f47c))(local_34 + 1);
  (**(code **)(in_t9 + 0x133384))(&local_38,iVar2,iVar3,0);
  *(int *)(param_3 + 0x14) = iVar2;
  *(int *)(param_3 + 0x18) = iVar3;
  *(undefined1 *)(iVar2 + iVar3) = 0;
  if (local_38 != auStack_30) {
    (**(code **)(in_t9 + 0x12f42c))();
  }
  (**(code **)(*param_2 + 0x18))(&local_38,param_2);
  iVar3 = local_34;
                    /* try { // try from 00302ff8 to 0030301f has its CatchHandler @ 00303168 */
  iVar2 = (**(code **)(in_t9 + 0x12f47c))(local_34 + 1);
  (**(code **)(in_t9 + 0x133384))(&local_38,iVar2,iVar3,0);
  *(int *)(param_3 + 0x1c) = iVar2;
  *(int *)(param_3 + 0x20) = iVar3;
  *(undefined1 *)(iVar2 + iVar3) = 0;
  if (local_38 != auStack_30) {
    (**(code **)(in_t9 + 0x12f42c))();
  }
  (**(code **)(*param_2 + 0x1c))(&local_38,param_2);
                    /* try { // try from 00303068 to 0030308f has its CatchHandler @ 00303144 */
  iVar3 = (**(code **)(in_t9 + 0x12f47c))(local_34 + 1);
  (**(code **)(in_t9 + 0x133384))(&local_38,iVar3,local_34,0);
  *(int *)(param_3 + 0x24) = iVar3;
  *(int *)(param_3 + 0x28) = local_34;
  *(undefined1 *)(iVar3 + local_34) = 0;
  if (local_38 != auStack_30) {
    (**(code **)(in_t9 + 0x12f42c))();
  }
  (**(code **)(*param_2 + 0x24))(&local_38,param_2);
  *(undefined1 **)(param_3 + 0x30) = local_38;
  (**(code **)(*param_2 + 0x28))(&local_38,param_2);
  *(undefined1 **)(param_3 + 0x34) = local_38;
  return;
}



/* void std::__facet_shims::__moneypunct_fill_cache<char, true>(std::integral_constant<bool, true>,
   std::locale::facet const*, std::__moneypunct_cache<char, true>*) */

void std::__facet_shims::__moneypunct_fill_cache<char,true>
               (undefined4 param_1,int *param_2,int param_3)

{
  undefined1 uVar4;
  undefined4 uVar1;
  int iVar2;
  int iVar3;
  int in_t9;
  undefined1 *local_38;
  int local_34;
  undefined1 auStack_30 [20];
  
  uVar4 = (**(code **)(*param_2 + 8))(param_2);
  *(undefined1 *)(param_3 + 0x11) = uVar4;
  uVar4 = (**(code **)(*param_2 + 0xc))(param_2);
  *(undefined1 *)(param_3 + 0x12) = uVar4;
  uVar1 = (**(code **)(*param_2 + 0x20))(param_2);
  *(undefined4 *)(param_3 + 0x2c) = uVar1;
  *(undefined4 *)(param_3 + 8) = 0;
  *(undefined4 *)(param_3 + 0x14) = 0;
  *(undefined4 *)(param_3 + 0x1c) = 0;
  *(undefined4 *)(param_3 + 0x24) = 0;
  *(undefined1 *)(param_3 + 0x43) = 1;
  (**(code **)(*param_2 + 0x10))(&local_38,param_2);
  iVar3 = local_34;
                    /* try { // try from 00302f14 to 00302f3b has its CatchHandler @ 00303114 */
  iVar2 = (**(code **)(in_t9 + 0x12f47c))(local_34 + 1);
  (**(code **)(in_t9 + 0x133384))(&local_38,iVar2,iVar3,0);
  *(int *)(param_3 + 8) = iVar2;
  *(int *)(param_3 + 0xc) = iVar3;
  *(undefined1 *)(iVar2 + iVar3) = 0;
  if (local_38 != auStack_30) {
    (**(code **)(in_t9 + 0x12f42c))();
  }
  (**(code **)(*param_2 + 0x14))(&local_38,param_2);
  iVar3 = local_34;
                    /* try { // try from 00302f88 to 00302faf has its CatchHandler @ 00303170 */
  iVar2 = (**(code **)(in_t9 + 0x12f47c))(local_34 + 1);
  (**(code **)(in_t9 + 0x133384))(&local_38,iVar2,iVar3,0);
  *(int *)(param_3 + 0x14) = iVar2;
  *(int *)(param_3 + 0x18) = iVar3;
  *(undefined1 *)(iVar2 + iVar3) = 0;
  if (local_38 != auStack_30) {
    (**(code **)(in_t9 + 0x12f42c))();
  }
  (**(code **)(*param_2 + 0x18))(&local_38,param_2);
  iVar3 = local_34;
                    /* try { // try from 00302ff8 to 0030301f has its CatchHandler @ 00303168 */
  iVar2 = (**(code **)(in_t9 + 0x12f47c))(local_34 + 1);
  (**(code **)(in_t9 + 0x133384))(&local_38,iVar2,iVar3,0);
  *(int *)(param_3 + 0x1c) = iVar2;
  *(int *)(param_3 + 0x20) = iVar3;
  *(undefined1 *)(iVar2 + iVar3) = 0;
  if (local_38 != auStack_30) {
    (**(code **)(in_t9 + 0x12f42c))();
  }
  (**(code **)(*param_2 + 0x1c))(&local_38,param_2);
                    /* try { // try from 00303068 to 0030308f has its CatchHandler @ 00303144 */
  iVar3 = (**(code **)(in_t9 + 0x12f47c))(local_34 + 1);
  (**(code **)(in_t9 + 0x133384))(&local_38,iVar3,local_34,0);
  *(int *)(param_3 + 0x24) = iVar3;
  *(int *)(param_3 + 0x28) = local_34;
  *(undefined1 *)(iVar3 + local_34) = 0;
  if (local_38 != auStack_30) {
    (**(code **)(in_t9 + 0x12f42c))();
  }
  (**(code **)(*param_2 + 0x24))(&local_38,param_2);
  *(undefined1 **)(param_3 + 0x30) = local_38;
  (**(code **)(*param_2 + 0x28))(&local_38,param_2);
  *(undefined1 **)(param_3 + 0x34) = local_38;
  return;
}


lui gp,0x13
addiu gp,gp,0x7370
addu gp,gp,t9
lw v0,0x0(a1)
addiu sp,sp,-0x50
sw gp,0x10(sp)
sw ra,0x4c(sp)
sw s4,0x44(sp)
sw s2,0x3c(sp)
addiu s2,sp,0x18
sw s1,0x38(sp)
or s1,a1,zero
sw s0,0x34(sp)
or s0,a2,zero
sw a0,0x50(sp)
sw s5,0x48(sp)
sw s3,0x40(sp)
lw t9,0x8(v0)
jalr t9
_or a0,a1,zero
sb v0,0x11(s0)
lw v0,0x0(s1)
lw t9,0xc(v0)
jalr t9
_or a0,s1,zero
sb v0,0x12(s0)
lw v0,0x0(s1)
lw t9,0x20(v0)
jalr t9
_or a0,s1,zero
or a0,s2,zero
sw v0,0x2c(s0)
li v0,0x1
sw zero,0x8(s0)
sw zero,0x14(s0)
sw zero,0x1c(s0)
sw zero,0x24(s0)
sb v0,0x43(s0)
lw v0,0x0(s1)
lw t9,0x10(v0)
jalr t9
_or a1,s1,zero
lw gp,0x10(sp)
lw s4,0x1c(sp)
lw t9,-0x7ef4(gp)
jalr t9
_addiu a0,s4,0x1
lw gp,0x10(sp)
or a3,zero,zero
or a2,s4,zero
or a1,v0,zero
or a0,s2,zero
lw t9,-0x3fec(gp)
jalr t9
_or s5,v0,zero
addu v0,s5,s4
lw a0,0x18(sp)
addiu s3,sp,0x20
lw gp,0x10(sp)
sw s5,0x8(s0)
sw s4,0xc(s0)
beq a0,s3,0x00302f68
_sb zero,0x0(v0)
lw t9,-0x7f44(gp)
jalr t9
_nop
lw v0,0x0(s1)
or a0,s2,zero
lw t9,0x14(v0)
jalr t9
_or a1,s1,zero
lw gp,0x10(sp)
lw s4,0x1c(sp)
lw t9,-0x7ef4(gp)
jalr t9
_addiu a0,s4,0x1
lw gp,0x10(sp)
or a3,zero,zero
or a2,s4,zero
or a1,v0,zero
or a0,s2,zero
lw t9,-0x3fec(gp)
jalr t9
_or s5,v0,zero
addu v0,s5,s4
lw a0,0x18(sp)
lw gp,0x10(sp)
sw s5,0x14(s0)
sw s4,0x18(s0)
beq a0,s3,0x00302fd8
_sb zero,0x0(v0)
lw t9,-0x7f44(gp)
jalr t9
_nop
lw v0,0x0(s1)
or a0,s2,zero
lw t9,0x18(v0)
jalr t9
_or a1,s1,zero
lw gp,0x10(sp)
lw s4,0x1c(sp)
lw t9,-0x7ef4(gp)
jalr t9
_addiu a0,s4,0x1
lw gp,0x10(sp)
or a3,zero,zero
or a2,s4,zero
or a1,v0,zero
or a0,s2,zero
lw t9,-0x3fec(gp)
jalr t9
_or s5,v0,zero
addu v0,s5,s4
lw a0,0x18(sp)
lw gp,0x10(sp)
sw s5,0x1c(s0)
sw s4,0x20(s0)
beq a0,s3,0x00303048
_sb zero,0x0(v0)
lw t9,-0x7f44(gp)
jalr t9
_nop
lw v0,0x0(s1)
or a0,s2,zero
lw t9,0x1c(v0)
jalr t9
_or a1,s1,zero
lw gp,0x10(sp)
lw s4,0x1c(sp)
lw t9,-0x7ef4(gp)
jalr t9
_addiu a0,s4,0x1
lw gp,0x10(sp)
or a3,zero,zero
or a2,s4,zero
or a1,v0,zero
or a0,s2,zero
lw t9,-0x3fec(gp)
jalr t9
_or s5,v0,zero
addu v0,s5,s4
lw a0,0x18(sp)
lw gp,0x10(sp)
sw s5,0x24(s0)
sw s4,0x28(s0)
beq a0,s3,0x003030b8
_sb zero,0x0(v0)
lw t9,-0x7f44(gp)
jalr t9
_nop
lw v0,0x0(s1)
or a1,s1,zero
lw t9,0x24(v0)
jalr t9
_or a0,s2,zero
or a1,s1,zero
lw v0,0x18(sp)
sw v0,0x30(s0)
lw v0,0x0(s1)
lw t9,0x28(v0)
jalr t9
_or a0,s2,zero
lw v0,0x18(sp)
sw v0,0x34(s0)
lw ra,0x4c(sp)
lw s5,0x48(sp)
lw s4,0x44(sp)
lw s3,0x40(sp)
lw s2,0x3c(sp)
lw s1,0x38(sp)
lw s0,0x34(sp)
jr ra
_addiu sp,sp,0x50
(translation_unit "/* void std::__facet_shims::__moneypunct_fill_cache<char, true>(std::integral_constant<bool, true>,\n   std::locale::facet const*, std::__moneypunct_cache<char, true>*) */\n\nvoid std::__facet_shims::__moneypunct_fill_cache<char,true>\n               (undefined4 param_1,int *param_2,int param_3)\n\n{\n  undefined1 uVar4;\n  undefined4 uVar1;\n  int iVar2;\n  int iVar3;\n  int in_t9;\n  undefined1 *local_38;\n  int local_34;\n  undefined1 auStack_30 [20];\n  \n  uVar4 = (**(code **)(*param_2 + 8))(param_2);\n  *(undefined1 *)(param_3 + 0x11) = uVar4;\n  uVar4 = (**(code **)(*param_2 + 0xc))(param_2);\n  *(undefined1 *)(param_3 + 0x12) = uVar4;\n  uVar1 = (**(code **)(*param_2 + 0x20))(param_2);\n  *(undefined4 *)(param_3 + 0x2c) = uVar1;\n  *(undefined4 *)(param_3 + 8) = 0;\n  *(undefined4 *)(param_3 + 0x14) = 0;\n  *(undefined4 *)(param_3 + 0x1c) = 0;\n  *(undefined4 *)(param_3 + 0x24) = 0;\n  *(undefined1 *)(param_3 + 0x43) = 1;\n  (**(code **)(*param_2 + 0x10))(&local_38,param_2);\n  iVar3 = local_34;\n                    /* try { // try from 00302f14 to 00302f3b has its CatchHandler @ 00303114 */\n  iVar2 = (**(code **)(in_t9 + 0x12f47c))(local_34 + 1);\n  (**(code **)(in_t9 + 0x133384))(&local_38,iVar2,iVar3,0);\n  *(int *)(param_3 + 8) = iVar2;\n  *(int *)(param_3 + 0xc) = iVar3;\n  *(undefined1 *)(iVar2 + iVar3) = 0;\n  if (local_38 != auStack_30) {\n    (**(code **)(in_t9 + 0x12f42c))();\n  }\n  (**(code **)(*param_2 + 0x14))(&local_38,param_2);\n  iVar3 = local_34;\n                    /* try { // try from 00302f88 to 00302faf has its CatchHandler @ 00303170 */\n  iVar2 = (**(code **)(in_t9 + 0x12f47c))(local_34 + 1);\n  (**(code **)(in_t9 + 0x133384))(&local_38,iVar2,iVar3,0);\n  *(int *)(param_3 + 0x14) = iVar2;\n  *(int *)(param_3 + 0x18) = iVar3;\n  *(undefined1 *)(iVar2 + iVar3) = 0;\n  if (local_38 != auStack_30) {\n    (**(code **)(in_t9 + 0x12f42c))();\n  }\n  (**(code **)(*param_2 + 0x18))(&local_38,param_2);\n  iVar3 = local_34;\n                    /* try { // try from 00302ff8 to 0030301f has its CatchHandler @ 00303168 */\n  iVar2 = (**(code **)(in_t9 + 0x12f47c))(local_34 + 1);\n  (**(code **)(in_t9 + 0x133384))(&local_38,iVar2,iVar3,0);\n  *(int *)(param_3 + 0x1c) = iVar2;\n  *(int *)(param_3 + 0x20) = iVar3;\n  *(undefined1 *)(iVar2 + iVar3) = 0;\n  if (local_38 != auStack_30) {\n    (**(code **)(in_t9 + 0x12f42c))();\n  }\n  (**(code **)(*param_2 + 0x1c))(&local_38,param_2);\n                    /* try { // try from 00303068 to 0030308f has its CatchHandler @ 00303144 */\n  iVar3 = (**(code **)(in_t9 + 0x12f47c))(local_34 + 1);\n  (**(code **)(in_t9 + 0x133384))(&local_38,iVar3,local_34,0);\n  *(int *)(param_3 + 0x24) = iVar3;\n  *(int *)(param_3 + 0x28) = local_34;\n  *(undefined1 *)(iVar3 + local_34) = 0;\n  if (local_38 != auStack_30) {\n    (**(code **)(in_t9 + 0x12f42c))();\n  }\n  (**(code **)(*param_2 + 0x24))(&local_38,param_2);\n  *(undefined1 **)(param_3 + 0x30) = local_38;\n  (**(code **)(*param_2 + 0x28))(&local_38,param_2);\n  *(undefined1 **)(param_3 + 0x34) = local_38;\n  return;\n}\n\n" comment (declaration "void std::__facet_shims::__moneypunct_fill_cache<char,true>\n               (undefined4 param_1,int *param_2,int param_3)\n\n{\n  undefined1 uVar4;" primitive_type (ERROR "std::__facet_shims::" identifier : : identifier : :) identifier (ERROR "<char" < primitive_type) , (ERROR "true>\n               (undefined4 param_1,int *param_2,int param_3)\n\n{\n  undefined1" (function_declarator "true>\n               (undefined4 param_1,int *param_2,int param_3)" identifier (ERROR ">" >) (parameter_list "(undefined4 param_1,int *param_2,int param_3)" ( (parameter_declaration "undefined4 param_1" type_identifier identifier) , (parameter_declaration "int *param_2" primitive_type (pointer_declarator "*param_2" * identifier)) , (parameter_declaration "int param_3" primitive_type identifier) ))) { identifier) identifier ;) (declaration "undefined4 uVar1;" type_identifier identifier ;) (declaration "int iVar2;" primitive_type identifier ;) (declaration "int iVar3;" primitive_type identifier ;) (declaration "int in_t9;" primitive_type identifier ;) (declaration "undefined1 *local_38;" type_identifier (pointer_declarator "*local_38" * identifier) ;) (declaration "int local_34;" primitive_type identifier ;) (declaration "undefined1 auStack_30 [20];" type_identifier (array_declarator "auStack_30 [20]" identifier [ number_literal ]) ;) (expression_statement "uVar4 = (**(code **)(*param_2 + 8))(param_2);" (assignment_expression "uVar4 = (**(code **)(*param_2 + 8))(param_2)" identifier = (call_expression "(**(code **)(*param_2 + 8))(param_2)" (parenthesized_expression "(**(code **)(*param_2 + 8))" ( (pointer_expression "**(code **)(*param_2 + 8)" * (pointer_expression "*(code **)(*param_2 + 8)" * (cast_expression "(code **)(*param_2 + 8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*param_2 + 8)" ( (binary_expression "*param_2 + 8" (pointer_expression "*param_2" * identifier) + number_literal) ))))) )) (argument_list "(param_2)" ( identifier )))) ;) (expression_statement "*(undefined1 *)(param_3 + 0x11) = uVar4;" (assignment_expression "*(undefined1 *)(param_3 + 0x11) = uVar4" (pointer_expression "*(undefined1 *)(param_3 + 0x11)" * (cast_expression "(undefined1 *)(param_3 + 0x11)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 0x11)" ( (binary_expression "param_3 + 0x11" identifier + number_literal) )))) = identifier) ;) (expression_statement "uVar4 = (**(code **)(*param_2 + 0xc))(param_2);" (assignment_expression "uVar4 = (**(code **)(*param_2 + 0xc))(param_2)" identifier = (call_expression "(**(code **)(*param_2 + 0xc))(param_2)" (parenthesized_expression "(**(code **)(*param_2 + 0xc))" ( (pointer_expression "**(code **)(*param_2 + 0xc)" * (pointer_expression "*(code **)(*param_2 + 0xc)" * (cast_expression "(code **)(*param_2 + 0xc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*param_2 + 0xc)" ( (binary_expression "*param_2 + 0xc" (pointer_expression "*param_2" * identifier) + number_literal) ))))) )) (argument_list "(param_2)" ( identifier )))) ;) (expression_statement "*(undefined1 *)(param_3 + 0x12) = uVar4;" (assignment_expression "*(undefined1 *)(param_3 + 0x12) = uVar4" (pointer_expression "*(undefined1 *)(param_3 + 0x12)" * (cast_expression "(undefined1 *)(param_3 + 0x12)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 0x12)" ( (binary_expression "param_3 + 0x12" identifier + number_literal) )))) = identifier) ;) (expression_statement "uVar1 = (**(code **)(*param_2 + 0x20))(param_2);" (assignment_expression "uVar1 = (**(code **)(*param_2 + 0x20))(param_2)" identifier = (call_expression "(**(code **)(*param_2 + 0x20))(param_2)" (parenthesized_expression "(**(code **)(*param_2 + 0x20))" ( (pointer_expression "**(code **)(*param_2 + 0x20)" * (pointer_expression "*(code **)(*param_2 + 0x20)" * (cast_expression "(code **)(*param_2 + 0x20)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*param_2 + 0x20)" ( (binary_expression "*param_2 + 0x20" (pointer_expression "*param_2" * identifier) + number_literal) ))))) )) (argument_list "(param_2)" ( identifier )))) ;) (expression_statement "*(undefined4 *)(param_3 + 0x2c) = uVar1;" (assignment_expression "*(undefined4 *)(param_3 + 0x2c) = uVar1" (pointer_expression "*(undefined4 *)(param_3 + 0x2c)" * (cast_expression "(undefined4 *)(param_3 + 0x2c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 0x2c)" ( (binary_expression "param_3 + 0x2c" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(param_3 + 8) = 0;" (assignment_expression "*(undefined4 *)(param_3 + 8) = 0" (pointer_expression "*(undefined4 *)(param_3 + 8)" * (cast_expression "(undefined4 *)(param_3 + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 8)" ( (binary_expression "param_3 + 8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(param_3 + 0x14) = 0;" (assignment_expression "*(undefined4 *)(param_3 + 0x14) = 0" (pointer_expression "*(undefined4 *)(param_3 + 0x14)" * (cast_expression "(undefined4 *)(param_3 + 0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 0x14)" ( (binary_expression "param_3 + 0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(param_3 + 0x1c) = 0;" (assignment_expression "*(undefined4 *)(param_3 + 0x1c) = 0" (pointer_expression "*(undefined4 *)(param_3 + 0x1c)" * (cast_expression "(undefined4 *)(param_3 + 0x1c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 0x1c)" ( (binary_expression "param_3 + 0x1c" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(param_3 + 0x24) = 0;" (assignment_expression "*(undefined4 *)(param_3 + 0x24) = 0" (pointer_expression "*(undefined4 *)(param_3 + 0x24)" * (cast_expression "(undefined4 *)(param_3 + 0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 0x24)" ( (binary_expression "param_3 + 0x24" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined1 *)(param_3 + 0x43) = 1;" (assignment_expression "*(undefined1 *)(param_3 + 0x43) = 1" (pointer_expression "*(undefined1 *)(param_3 + 0x43)" * (cast_expression "(undefined1 *)(param_3 + 0x43)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 0x43)" ( (binary_expression "param_3 + 0x43" identifier + number_literal) )))) = number_literal) ;) (expression_statement "(**(code **)(*param_2 + 0x10))(&local_38,param_2);" (call_expression "(**(code **)(*param_2 + 0x10))(&local_38,param_2)" (parenthesized_expression "(**(code **)(*param_2 + 0x10))" ( (pointer_expression "**(code **)(*param_2 + 0x10)" * (pointer_expression "*(code **)(*param_2 + 0x10)" * (cast_expression "(code **)(*param_2 + 0x10)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*param_2 + 0x10)" ( (binary_expression "*param_2 + 0x10" (pointer_expression "*param_2" * identifier) + number_literal) ))))) )) (argument_list "(&local_38,param_2)" ( (pointer_expression "&local_38" & identifier) , identifier ))) ;) (expression_statement "iVar3 = local_34;" (assignment_expression "iVar3 = local_34" identifier = identifier) ;) comment (expression_statement "iVar2 = (**(code **)(in_t9 + 0x12f47c))(local_34 + 1);" (assignment_expression "iVar2 = (**(code **)(in_t9 + 0x12f47c))(local_34 + 1)" identifier = (call_expression "(**(code **)(in_t9 + 0x12f47c))(local_34 + 1)" (parenthesized_expression "(**(code **)(in_t9 + 0x12f47c))" ( (pointer_expression "**(code **)(in_t9 + 0x12f47c)" * (pointer_expression "*(code **)(in_t9 + 0x12f47c)" * (cast_expression "(code **)(in_t9 + 0x12f47c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(in_t9 + 0x12f47c)" ( (binary_expression "in_t9 + 0x12f47c" identifier + number_literal) ))))) )) (argument_list "(local_34 + 1)" ( (binary_expression "local_34 + 1" identifier + number_literal) )))) ;) (expression_statement "(**(code **)(in_t9 + 0x133384))(&local_38,iVar2,iVar3,0);" (call_expression "(**(code **)(in_t9 + 0x133384))(&local_38,iVar2,iVar3,0)" (parenthesized_expression "(**(code **)(in_t9 + 0x133384))" ( (pointer_expression "**(code **)(in_t9 + 0x133384)" * (pointer_expression "*(code **)(in_t9 + 0x133384)" * (cast_expression "(code **)(in_t9 + 0x133384)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(in_t9 + 0x133384)" ( (binary_expression "in_t9 + 0x133384" identifier + number_literal) ))))) )) (argument_list "(&local_38,iVar2,iVar3,0)" ( (pointer_expression "&local_38" & identifier) , identifier , identifier , number_literal ))) ;) (expression_statement "*(int *)(param_3 + 8) = iVar2;" (assignment_expression "*(int *)(param_3 + 8) = iVar2" (pointer_expression "*(int *)(param_3 + 8)" * (cast_expression "(int *)(param_3 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 8)" ( (binary_expression "param_3 + 8" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(param_3 + 0xc) = iVar3;" (assignment_expression "*(int *)(param_3 + 0xc) = iVar3" (pointer_expression "*(int *)(param_3 + 0xc)" * (cast_expression "(int *)(param_3 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 0xc)" ( (binary_expression "param_3 + 0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined1 *)(iVar2 + iVar3) = 0;" (assignment_expression "*(undefined1 *)(iVar2 + iVar3) = 0" (pointer_expression "*(undefined1 *)(iVar2 + iVar3)" * (cast_expression "(undefined1 *)(iVar2 + iVar3)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + iVar3)" ( (binary_expression "iVar2 + iVar3" identifier + identifier) )))) = number_literal) ;) (if_statement "if (local_38 != auStack_30) {\n    (**(code **)(in_t9 + 0x12f42c))();\n  }" if (parenthesized_expression "(local_38 != auStack_30)" ( (binary_expression "local_38 != auStack_30" identifier != identifier) )) (compound_statement "{\n    (**(code **)(in_t9 + 0x12f42c))();\n  }" { (expression_statement "(**(code **)(in_t9 + 0x12f42c))();" (call_expression "(**(code **)(in_t9 + 0x12f42c))()" (parenthesized_expression "(**(code **)(in_t9 + 0x12f42c))" ( (pointer_expression "**(code **)(in_t9 + 0x12f42c)" * (pointer_expression "*(code **)(in_t9 + 0x12f42c)" * (cast_expression "(code **)(in_t9 + 0x12f42c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(in_t9 + 0x12f42c)" ( (binary_expression "in_t9 + 0x12f42c" identifier + number_literal) ))))) )) (argument_list "()" ( ))) ;) })) (expression_statement "(**(code **)(*param_2 + 0x14))(&local_38,param_2);" (call_expression "(**(code **)(*param_2 + 0x14))(&local_38,param_2)" (parenthesized_expression "(**(code **)(*param_2 + 0x14))" ( (pointer_expression "**(code **)(*param_2 + 0x14)" * (pointer_expression "*(code **)(*param_2 + 0x14)" * (cast_expression "(code **)(*param_2 + 0x14)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*param_2 + 0x14)" ( (binary_expression "*param_2 + 0x14" (pointer_expression "*param_2" * identifier) + number_literal) ))))) )) (argument_list "(&local_38,param_2)" ( (pointer_expression "&local_38" & identifier) , identifier ))) ;) (expression_statement "iVar3 = local_34;" (assignment_expression "iVar3 = local_34" identifier = identifier) ;) comment (expression_statement "iVar2 = (**(code **)(in_t9 + 0x12f47c))(local_34 + 1);" (assignment_expression "iVar2 = (**(code **)(in_t9 + 0x12f47c))(local_34 + 1)" identifier = (call_expression "(**(code **)(in_t9 + 0x12f47c))(local_34 + 1)" (parenthesized_expression "(**(code **)(in_t9 + 0x12f47c))" ( (pointer_expression "**(code **)(in_t9 + 0x12f47c)" * (pointer_expression "*(code **)(in_t9 + 0x12f47c)" * (cast_expression "(code **)(in_t9 + 0x12f47c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(in_t9 + 0x12f47c)" ( (binary_expression "in_t9 + 0x12f47c" identifier + number_literal) ))))) )) (argument_list "(local_34 + 1)" ( (binary_expression "local_34 + 1" identifier + number_literal) )))) ;) (expression_statement "(**(code **)(in_t9 + 0x133384))(&local_38,iVar2,iVar3,0);" (call_expression "(**(code **)(in_t9 + 0x133384))(&local_38,iVar2,iVar3,0)" (parenthesized_expression "(**(code **)(in_t9 + 0x133384))" ( (pointer_expression "**(code **)(in_t9 + 0x133384)" * (pointer_expression "*(code **)(in_t9 + 0x133384)" * (cast_expression "(code **)(in_t9 + 0x133384)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(in_t9 + 0x133384)" ( (binary_expression "in_t9 + 0x133384" identifier + number_literal) ))))) )) (argument_list "(&local_38,iVar2,iVar3,0)" ( (pointer_expression "&local_38" & identifier) , identifier , identifier , number_literal ))) ;) (expression_statement "*(int *)(param_3 + 0x14) = iVar2;" (assignment_expression "*(int *)(param_3 + 0x14) = iVar2" (pointer_expression "*(int *)(param_3 + 0x14)" * (cast_expression "(int *)(param_3 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 0x14)" ( (binary_expression "param_3 + 0x14" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(param_3 + 0x18) = iVar3;" (assignment_expression "*(int *)(param_3 + 0x18) = iVar3" (pointer_expression "*(int *)(param_3 + 0x18)" * (cast_expression "(int *)(param_3 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 0x18)" ( (binary_expression "param_3 + 0x18" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined1 *)(iVar2 + iVar3) = 0;" (assignment_expression "*(undefined1 *)(iVar2 + iVar3) = 0" (pointer_expression "*(undefined1 *)(iVar2 + iVar3)" * (cast_expression "(undefined1 *)(iVar2 + iVar3)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + iVar3)" ( (binary_expression "iVar2 + iVar3" identifier + identifier) )))) = number_literal) ;) (if_statement "if (local_38 != auStack_30) {\n    (**(code **)(in_t9 + 0x12f42c))();\n  }" if (parenthesized_expression "(local_38 != auStack_30)" ( (binary_expression "local_38 != auStack_30" identifier != identifier) )) (compound_statement "{\n    (**(code **)(in_t9 + 0x12f42c))();\n  }" { (expression_statement "(**(code **)(in_t9 + 0x12f42c))();" (call_expression "(**(code **)(in_t9 + 0x12f42c))()" (parenthesized_expression "(**(code **)(in_t9 + 0x12f42c))" ( (pointer_expression "**(code **)(in_t9 + 0x12f42c)" * (pointer_expression "*(code **)(in_t9 + 0x12f42c)" * (cast_expression "(code **)(in_t9 + 0x12f42c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(in_t9 + 0x12f42c)" ( (binary_expression "in_t9 + 0x12f42c" identifier + number_literal) ))))) )) (argument_list "()" ( ))) ;) })) (expression_statement "(**(code **)(*param_2 + 0x18))(&local_38,param_2);" (call_expression "(**(code **)(*param_2 + 0x18))(&local_38,param_2)" (parenthesized_expression "(**(code **)(*param_2 + 0x18))" ( (pointer_expression "**(code **)(*param_2 + 0x18)" * (pointer_expression "*(code **)(*param_2 + 0x18)" * (cast_expression "(code **)(*param_2 + 0x18)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*param_2 + 0x18)" ( (binary_expression "*param_2 + 0x18" (pointer_expression "*param_2" * identifier) + number_literal) ))))) )) (argument_list "(&local_38,param_2)" ( (pointer_expression "&local_38" & identifier) , identifier ))) ;) (expression_statement "iVar3 = local_34;" (assignment_expression "iVar3 = local_34" identifier = identifier) ;) comment (expression_statement "iVar2 = (**(code **)(in_t9 + 0x12f47c))(local_34 + 1);" (assignment_expression "iVar2 = (**(code **)(in_t9 + 0x12f47c))(local_34 + 1)" identifier = (call_expression "(**(code **)(in_t9 + 0x12f47c))(local_34 + 1)" (parenthesized_expression "(**(code **)(in_t9 + 0x12f47c))" ( (pointer_expression "**(code **)(in_t9 + 0x12f47c)" * (pointer_expression "*(code **)(in_t9 + 0x12f47c)" * (cast_expression "(code **)(in_t9 + 0x12f47c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(in_t9 + 0x12f47c)" ( (binary_expression "in_t9 + 0x12f47c" identifier + number_literal) ))))) )) (argument_list "(local_34 + 1)" ( (binary_expression "local_34 + 1" identifier + number_literal) )))) ;) (expression_statement "(**(code **)(in_t9 + 0x133384))(&local_38,iVar2,iVar3,0);" (call_expression "(**(code **)(in_t9 + 0x133384))(&local_38,iVar2,iVar3,0)" (parenthesized_expression "(**(code **)(in_t9 + 0x133384))" ( (pointer_expression "**(code **)(in_t9 + 0x133384)" * (pointer_expression "*(code **)(in_t9 + 0x133384)" * (cast_expression "(code **)(in_t9 + 0x133384)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(in_t9 + 0x133384)" ( (binary_expression "in_t9 + 0x133384" identifier + number_literal) ))))) )) (argument_list "(&local_38,iVar2,iVar3,0)" ( (pointer_expression "&local_38" & identifier) , identifier , identifier , number_literal ))) ;) (expression_statement "*(int *)(param_3 + 0x1c) = iVar2;" (assignment_expression "*(int *)(param_3 + 0x1c) = iVar2" (pointer_expression "*(int *)(param_3 + 0x1c)" * (cast_expression "(int *)(param_3 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 0x1c)" ( (binary_expression "param_3 + 0x1c" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(param_3 + 0x20) = iVar3;" (assignment_expression "*(int *)(param_3 + 0x20) = iVar3" (pointer_expression "*(int *)(param_3 + 0x20)" * (cast_expression "(int *)(param_3 + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 0x20)" ( (binary_expression "param_3 + 0x20" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined1 *)(iVar2 + iVar3) = 0;" (assignment_expression "*(undefined1 *)(iVar2 + iVar3) = 0" (pointer_expression "*(undefined1 *)(iVar2 + iVar3)" * (cast_expression "(undefined1 *)(iVar2 + iVar3)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + iVar3)" ( (binary_expression "iVar2 + iVar3" identifier + identifier) )))) = number_literal) ;) (if_statement "if (local_38 != auStack_30) {\n    (**(code **)(in_t9 + 0x12f42c))();\n  }" if (parenthesized_expression "(local_38 != auStack_30)" ( (binary_expression "local_38 != auStack_30" identifier != identifier) )) (compound_statement "{\n    (**(code **)(in_t9 + 0x12f42c))();\n  }" { (expression_statement "(**(code **)(in_t9 + 0x12f42c))();" (call_expression "(**(code **)(in_t9 + 0x12f42c))()" (parenthesized_expression "(**(code **)(in_t9 + 0x12f42c))" ( (pointer_expression "**(code **)(in_t9 + 0x12f42c)" * (pointer_expression "*(code **)(in_t9 + 0x12f42c)" * (cast_expression "(code **)(in_t9 + 0x12f42c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(in_t9 + 0x12f42c)" ( (binary_expression "in_t9 + 0x12f42c" identifier + number_literal) ))))) )) (argument_list "()" ( ))) ;) })) (expression_statement "(**(code **)(*param_2 + 0x1c))(&local_38,param_2);" (call_expression "(**(code **)(*param_2 + 0x1c))(&local_38,param_2)" (parenthesized_expression "(**(code **)(*param_2 + 0x1c))" ( (pointer_expression "**(code **)(*param_2 + 0x1c)" * (pointer_expression "*(code **)(*param_2 + 0x1c)" * (cast_expression "(code **)(*param_2 + 0x1c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*param_2 + 0x1c)" ( (binary_expression "*param_2 + 0x1c" (pointer_expression "*param_2" * identifier) + number_literal) ))))) )) (argument_list "(&local_38,param_2)" ( (pointer_expression "&local_38" & identifier) , identifier ))) ;) comment (expression_statement "iVar3 = (**(code **)(in_t9 + 0x12f47c))(local_34 + 1);" (assignment_expression "iVar3 = (**(code **)(in_t9 + 0x12f47c))(local_34 + 1)" identifier = (call_expression "(**(code **)(in_t9 + 0x12f47c))(local_34 + 1)" (parenthesized_expression "(**(code **)(in_t9 + 0x12f47c))" ( (pointer_expression "**(code **)(in_t9 + 0x12f47c)" * (pointer_expression "*(code **)(in_t9 + 0x12f47c)" * (cast_expression "(code **)(in_t9 + 0x12f47c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(in_t9 + 0x12f47c)" ( (binary_expression "in_t9 + 0x12f47c" identifier + number_literal) ))))) )) (argument_list "(local_34 + 1)" ( (binary_expression "local_34 + 1" identifier + number_literal) )))) ;) (expression_statement "(**(code **)(in_t9 + 0x133384))(&local_38,iVar3,local_34,0);" (call_expression "(**(code **)(in_t9 + 0x133384))(&local_38,iVar3,local_34,0)" (parenthesized_expression "(**(code **)(in_t9 + 0x133384))" ( (pointer_expression "**(code **)(in_t9 + 0x133384)" * (pointer_expression "*(code **)(in_t9 + 0x133384)" * (cast_expression "(code **)(in_t9 + 0x133384)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(in_t9 + 0x133384)" ( (binary_expression "in_t9 + 0x133384" identifier + number_literal) ))))) )) (argument_list "(&local_38,iVar3,local_34,0)" ( (pointer_expression "&local_38" & identifier) , identifier , identifier , number_literal ))) ;) (expression_statement "*(int *)(param_3 + 0x24) = iVar3;" (assignment_expression "*(int *)(param_3 + 0x24) = iVar3" (pointer_expression "*(int *)(param_3 + 0x24)" * (cast_expression "(int *)(param_3 + 0x24)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 0x24)" ( (binary_expression "param_3 + 0x24" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(param_3 + 0x28) = local_34;" (assignment_expression "*(int *)(param_3 + 0x28) = local_34" (pointer_expression "*(int *)(param_3 + 0x28)" * (cast_expression "(int *)(param_3 + 0x28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 0x28)" ( (binary_expression "param_3 + 0x28" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined1 *)(iVar3 + local_34) = 0;" (assignment_expression "*(undefined1 *)(iVar3 + local_34) = 0" (pointer_expression "*(undefined1 *)(iVar3 + local_34)" * (cast_expression "(undefined1 *)(iVar3 + local_34)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + local_34)" ( (binary_expression "iVar3 + local_34" identifier + identifier) )))) = number_literal) ;) (if_statement "if (local_38 != auStack_30) {\n    (**(code **)(in_t9 + 0x12f42c))();\n  }" if (parenthesized_expression "(local_38 != auStack_30)" ( (binary_expression "local_38 != auStack_30" identifier != identifier) )) (compound_statement "{\n    (**(code **)(in_t9 + 0x12f42c))();\n  }" { (expression_statement "(**(code **)(in_t9 + 0x12f42c))();" (call_expression "(**(code **)(in_t9 + 0x12f42c))()" (parenthesized_expression "(**(code **)(in_t9 + 0x12f42c))" ( (pointer_expression "**(code **)(in_t9 + 0x12f42c)" * (pointer_expression "*(code **)(in_t9 + 0x12f42c)" * (cast_expression "(code **)(in_t9 + 0x12f42c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(in_t9 + 0x12f42c)" ( (binary_expression "in_t9 + 0x12f42c" identifier + number_literal) ))))) )) (argument_list "()" ( ))) ;) })) (expression_statement "(**(code **)(*param_2 + 0x24))(&local_38,param_2);" (call_expression "(**(code **)(*param_2 + 0x24))(&local_38,param_2)" (parenthesized_expression "(**(code **)(*param_2 + 0x24))" ( (pointer_expression "**(code **)(*param_2 + 0x24)" * (pointer_expression "*(code **)(*param_2 + 0x24)" * (cast_expression "(code **)(*param_2 + 0x24)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*param_2 + 0x24)" ( (binary_expression "*param_2 + 0x24" (pointer_expression "*param_2" * identifier) + number_literal) ))))) )) (argument_list "(&local_38,param_2)" ( (pointer_expression "&local_38" & identifier) , identifier ))) ;) (expression_statement "*(undefined1 **)(param_3 + 0x30) = local_38;" (assignment_expression "*(undefined1 **)(param_3 + 0x30) = local_38" (pointer_expression "*(undefined1 **)(param_3 + 0x30)" * (cast_expression "(undefined1 **)(param_3 + 0x30)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_3 + 0x30)" ( (binary_expression "param_3 + 0x30" identifier + number_literal) )))) = identifier) ;) (expression_statement "(**(code **)(*param_2 + 0x28))(&local_38,param_2);" (call_expression "(**(code **)(*param_2 + 0x28))(&local_38,param_2)" (parenthesized_expression "(**(code **)(*param_2 + 0x28))" ( (pointer_expression "**(code **)(*param_2 + 0x28)" * (pointer_expression "*(code **)(*param_2 + 0x28)" * (cast_expression "(code **)(*param_2 + 0x28)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*param_2 + 0x28)" ( (binary_expression "*param_2 + 0x28" (pointer_expression "*param_2" * identifier) + number_literal) ))))) )) (argument_list "(&local_38,param_2)" ( (pointer_expression "&local_38" & identifier) , identifier ))) ;) (expression_statement "*(undefined1 **)(param_3 + 0x34) = local_38;" (assignment_expression "*(undefined1 **)(param_3 + 0x34) = local_38" (pointer_expression "*(undefined1 **)(param_3 + 0x34)" * (cast_expression "(undefined1 **)(param_3 + 0x34)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_3 + 0x34)" ( (binary_expression "param_3 + 0x34" identifier + number_literal) )))) = identifier) ;) (return_statement "return;" return ;) (ERROR "}" }))
(translation_unit "/* void std::__facet_shims::__moneypunct_fill_cache<char, true>(std::integral_constant<bool, true>,\n   std::locale::facet const*, std::__moneypunct_cache<char, true>*) */\n\nvoid std::__facet_shims::__moneypunct_fill_cache<char,true>\n               (undefined4 param_1,int *param_2,int param_3)\n\n{\n  undefined1 uVar4;\n  undefined4 uVar1;\n  int iVar2;\n  int iVar3;\n  int in_t9;\n  undefined1 *local_38;\n  int local_34;\n  undefined1 auStack_30 [20];\n  \n  uVar4 = (**(code **)(*param_2 + 8))(param_2);\n  *(undefined1 *)(param_3 + 0x11) = uVar4;\n  uVar4 = (**(code **)(*param_2 + 0xc))(param_2);\n  *(undefined1 *)(param_3 + 0x12) = uVar4;\n  uVar1 = (**(code **)(*param_2 + 0x20))(param_2);\n  *(undefined4 *)(param_3 + 0x2c) = uVar1;\n  *(undefined4 *)(param_3 + 8) = 0;\n  *(undefined4 *)(param_3 + 0x14) = 0;\n  *(undefined4 *)(param_3 + 0x1c) = 0;\n  *(undefined4 *)(param_3 + 0x24) = 0;\n  *(undefined1 *)(param_3 + 0x43) = 1;\n  (**(code **)(*param_2 + 0x10))(&local_38,param_2);\n  iVar3 = local_34;\n                    /* try { // try from 00302f14 to 00302f3b has its CatchHandler @ 00303114 */\n  iVar2 = (**(code **)(in_t9 + 0x12f47c))(local_34 + 1);\n  (**(code **)(in_t9 + 0x133384))(&local_38,iVar2,iVar3,0);\n  *(int *)(param_3 + 8) = iVar2;\n  *(int *)(param_3 + 0xc) = iVar3;\n  *(undefined1 *)(iVar2 + iVar3) = 0;\n  if (local_38 != auStack_30) {\n    (**(code **)(in_t9 + 0x12f42c))();\n  }\n  (**(code **)(*param_2 + 0x14))(&local_38,param_2);\n  iVar3 = local_34;\n                    /* try { // try from 00302f88 to 00302faf has its CatchHandler @ 00303170 */\n  iVar2 = (**(code **)(in_t9 + 0x12f47c))(local_34 + 1);\n  (**(code **)(in_t9 + 0x133384))(&local_38,iVar2,iVar3,0);\n  *(int *)(param_3 + 0x14) = iVar2;\n  *(int *)(param_3 + 0x18) = iVar3;\n  *(undefined1 *)(iVar2 + iVar3) = 0;\n  if (local_38 != auStack_30) {\n    (**(code **)(in_t9 + 0x12f42c))();\n  }\n  (**(code **)(*param_2 + 0x18))(&local_38,param_2);\n  iVar3 = local_34;\n                    /* try { // try from 00302ff8 to 0030301f has its CatchHandler @ 00303168 */\n  iVar2 = (**(code **)(in_t9 + 0x12f47c))(local_34 + 1);\n  (**(code **)(in_t9 + 0x133384))(&local_38,iVar2,iVar3,0);\n  *(int *)(param_3 + 0x1c) = iVar2;\n  *(int *)(param_3 + 0x20) = iVar3;\n  *(undefined1 *)(iVar2 + iVar3) = 0;\n  if (local_38 != auStack_30) {\n    (**(code **)(in_t9 + 0x12f42c))();\n  }\n  (**(code **)(*param_2 + 0x1c))(&local_38,param_2);\n                    /* try { // try from 00303068 to 0030308f has its CatchHandler @ 00303144 */\n  iVar3 = (**(code **)(in_t9 + 0x12f47c))(local_34 + 1);\n  (**(code **)(in_t9 + 0x133384))(&local_38,iVar3,local_34,0);\n  *(int *)(param_3 + 0x24) = iVar3;\n  *(int *)(param_3 + 0x28) = local_34;\n  *(undefined1 *)(iVar3 + local_34) = 0;\n  if (local_38 != auStack_30) {\n    (**(code **)(in_t9 + 0x12f42c))();\n  }\n  (**(code **)(*param_2 + 0x24))(&local_38,param_2);\n  *(undefined1 **)(param_3 + 0x30) = local_38;\n  (**(code **)(*param_2 + 0x28))(&local_38,param_2);\n  *(undefined1 **)(param_3 + 0x34) = local_38;\n  return;\n}\n\n" comment (declaration "void std::__facet_shims::__moneypunct_fill_cache<char,true>\n               (undefined4 param_1,int *param_2,int param_3)\n\n{\n  undefined1 uVar4;" primitive_type (ERROR "std::__facet_shims::" identifier : : identifier : :) identifier (ERROR "<char" < primitive_type) , (ERROR "true>\n               (undefined4 param_1,int *param_2,int param_3)\n\n{\n  undefined1" (function_declarator "true>\n               (undefined4 param_1,int *param_2,int param_3)" identifier (ERROR ">" >) (parameter_list "(undefined4 param_1,int *param_2,int param_3)" ( (parameter_declaration "undefined4 param_1" type_identifier identifier) , (parameter_declaration "int *param_2" primitive_type (pointer_declarator "*param_2" * identifier)) , (parameter_declaration "int param_3" primitive_type identifier) ))) { identifier) identifier ;) (declaration "undefined4 uVar1;" type_identifier identifier ;) (declaration "int iVar2;" primitive_type identifier ;) (declaration "int iVar3;" primitive_type identifier ;) (declaration "int in_t9;" primitive_type identifier ;) (declaration "undefined1 *local_38;" type_identifier (pointer_declarator "*local_38" * identifier) ;) (declaration "int local_34;" primitive_type identifier ;) (declaration "undefined1 auStack_30 [20];" type_identifier (array_declarator "auStack_30 [20]" identifier [ number_literal ]) ;) (expression_statement "uVar4 = (**(code **)(*param_2 + 8))(param_2);" (assignment_expression "uVar4 = (**(code **)(*param_2 + 8))(param_2)" identifier = (call_expression "(**(code **)(*param_2 + 8))(param_2)" (parenthesized_expression "(**(code **)(*param_2 + 8))" ( (pointer_expression "**(code **)(*param_2 + 8)" * (pointer_expression "*(code **)(*param_2 + 8)" * (cast_expression "(code **)(*param_2 + 8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*param_2 + 8)" ( (binary_expression "*param_2 + 8" (pointer_expression "*param_2" * identifier) + number_literal) ))))) )) (argument_list "(param_2)" ( identifier )))) ;) (expression_statement "*(undefined1 *)(param_3 + 0x11) = uVar4;" (assignment_expression "*(undefined1 *)(param_3 + 0x11) = uVar4" (pointer_expression "*(undefined1 *)(param_3 + 0x11)" * (cast_expression "(undefined1 *)(param_3 + 0x11)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 0x11)" ( (binary_expression "param_3 + 0x11" identifier + number_literal) )))) = identifier) ;) (expression_statement "uVar4 = (**(code **)(*param_2 + 0xc))(param_2);" (assignment_expression "uVar4 = (**(code **)(*param_2 + 0xc))(param_2)" identifier = (call_expression "(**(code **)(*param_2 + 0xc))(param_2)" (parenthesized_expression "(**(code **)(*param_2 + 0xc))" ( (pointer_expression "**(code **)(*param_2 + 0xc)" * (pointer_expression "*(code **)(*param_2 + 0xc)" * (cast_expression "(code **)(*param_2 + 0xc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*param_2 + 0xc)" ( (binary_expression "*param_2 + 0xc" (pointer_expression "*param_2" * identifier) + number_literal) ))))) )) (argument_list "(param_2)" ( identifier )))) ;) (expression_statement "*(undefined1 *)(param_3 + 0x12) = uVar4;" (assignment_expression "*(undefined1 *)(param_3 + 0x12) = uVar4" (pointer_expression "*(undefined1 *)(param_3 + 0x12)" * (cast_expression "(undefined1 *)(param_3 + 0x12)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 0x12)" ( (binary_expression "param_3 + 0x12" identifier + number_literal) )))) = identifier) ;) (expression_statement "uVar1 = (**(code **)(*param_2 + 0x20))(param_2);" (assignment_expression "uVar1 = (**(code **)(*param_2 + 0x20))(param_2)" identifier = (call_expression "(**(code **)(*param_2 + 0x20))(param_2)" (parenthesized_expression "(**(code **)(*param_2 + 0x20))" ( (pointer_expression "**(code **)(*param_2 + 0x20)" * (pointer_expression "*(code **)(*param_2 + 0x20)" * (cast_expression "(code **)(*param_2 + 0x20)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*param_2 + 0x20)" ( (binary_expression "*param_2 + 0x20" (pointer_expression "*param_2" * identifier) + number_literal) ))))) )) (argument_list "(param_2)" ( identifier )))) ;) (expression_statement "*(undefined4 *)(param_3 + 0x2c) = uVar1;" (assignment_expression "*(undefined4 *)(param_3 + 0x2c) = uVar1" (pointer_expression "*(undefined4 *)(param_3 + 0x2c)" * (cast_expression "(undefined4 *)(param_3 + 0x2c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 0x2c)" ( (binary_expression "param_3 + 0x2c" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(param_3 + 8) = 0;" (assignment_expression "*(undefined4 *)(param_3 + 8) = 0" (pointer_expression "*(undefined4 *)(param_3 + 8)" * (cast_expression "(undefined4 *)(param_3 + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 8)" ( (binary_expression "param_3 + 8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(param_3 + 0x14) = 0;" (assignment_expression "*(undefined4 *)(param_3 + 0x14) = 0" (pointer_expression "*(undefined4 *)(param_3 + 0x14)" * (cast_expression "(undefined4 *)(param_3 + 0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 0x14)" ( (binary_expression "param_3 + 0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(param_3 + 0x1c) = 0;" (assignment_expression "*(undefined4 *)(param_3 + 0x1c) = 0" (pointer_expression "*(undefined4 *)(param_3 + 0x1c)" * (cast_expression "(undefined4 *)(param_3 + 0x1c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 0x1c)" ( (binary_expression "param_3 + 0x1c" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(param_3 + 0x24) = 0;" (assignment_expression "*(undefined4 *)(param_3 + 0x24) = 0" (pointer_expression "*(undefined4 *)(param_3 + 0x24)" * (cast_expression "(undefined4 *)(param_3 + 0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 0x24)" ( (binary_expression "param_3 + 0x24" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined1 *)(param_3 + 0x43) = 1;" (assignment_expression "*(undefined1 *)(param_3 + 0x43) = 1" (pointer_expression "*(undefined1 *)(param_3 + 0x43)" * (cast_expression "(undefined1 *)(param_3 + 0x43)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 0x43)" ( (binary_expression "param_3 + 0x43" identifier + number_literal) )))) = number_literal) ;) (expression_statement "(**(code **)(*param_2 + 0x10))(&local_38,param_2);" (call_expression "(**(code **)(*param_2 + 0x10))(&local_38,param_2)" (parenthesized_expression "(**(code **)(*param_2 + 0x10))" ( (pointer_expression "**(code **)(*param_2 + 0x10)" * (pointer_expression "*(code **)(*param_2 + 0x10)" * (cast_expression "(code **)(*param_2 + 0x10)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*param_2 + 0x10)" ( (binary_expression "*param_2 + 0x10" (pointer_expression "*param_2" * identifier) + number_literal) ))))) )) (argument_list "(&local_38,param_2)" ( (pointer_expression "&local_38" & identifier) , identifier ))) ;) (expression_statement "iVar3 = local_34;" (assignment_expression "iVar3 = local_34" identifier = identifier) ;) comment (expression_statement "iVar2 = (**(code **)(in_t9 + 0x12f47c))(local_34 + 1);" (assignment_expression "iVar2 = (**(code **)(in_t9 + 0x12f47c))(local_34 + 1)" identifier = (call_expression "(**(code **)(in_t9 + 0x12f47c))(local_34 + 1)" (parenthesized_expression "(**(code **)(in_t9 + 0x12f47c))" ( (pointer_expression "**(code **)(in_t9 + 0x12f47c)" * (pointer_expression "*(code **)(in_t9 + 0x12f47c)" * (cast_expression "(code **)(in_t9 + 0x12f47c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(in_t9 + 0x12f47c)" ( (binary_expression "in_t9 + 0x12f47c" identifier + number_literal) ))))) )) (argument_list "(local_34 + 1)" ( (binary_expression "local_34 + 1" identifier + number_literal) )))) ;) (expression_statement "(**(code **)(in_t9 + 0x133384))(&local_38,iVar2,iVar3,0);" (call_expression "(**(code **)(in_t9 + 0x133384))(&local_38,iVar2,iVar3,0)" (parenthesized_expression "(**(code **)(in_t9 + 0x133384))" ( (pointer_expression "**(code **)(in_t9 + 0x133384)" * (pointer_expression "*(code **)(in_t9 + 0x133384)" * (cast_expression "(code **)(in_t9 + 0x133384)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(in_t9 + 0x133384)" ( (binary_expression "in_t9 + 0x133384" identifier + number_literal) ))))) )) (argument_list "(&local_38,iVar2,iVar3,0)" ( (pointer_expression "&local_38" & identifier) , identifier , identifier , number_literal ))) ;) (expression_statement "*(int *)(param_3 + 8) = iVar2;" (assignment_expression "*(int *)(param_3 + 8) = iVar2" (pointer_expression "*(int *)(param_3 + 8)" * (cast_expression "(int *)(param_3 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 8)" ( (binary_expression "param_3 + 8" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(param_3 + 0xc) = iVar3;" (assignment_expression "*(int *)(param_3 + 0xc) = iVar3" (pointer_expression "*(int *)(param_3 + 0xc)" * (cast_expression "(int *)(param_3 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 0xc)" ( (binary_expression "param_3 + 0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined1 *)(iVar2 + iVar3) = 0;" (assignment_expression "*(undefined1 *)(iVar2 + iVar3) = 0" (pointer_expression "*(undefined1 *)(iVar2 + iVar3)" * (cast_expression "(undefined1 *)(iVar2 + iVar3)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + iVar3)" ( (binary_expression "iVar2 + iVar3" identifier + identifier) )))) = number_literal) ;) (if_statement "if (local_38 != auStack_30) {\n    (**(code **)(in_t9 + 0x12f42c))();\n  }" if (parenthesized_expression "(local_38 != auStack_30)" ( (binary_expression "local_38 != auStack_30" identifier != identifier) )) (compound_statement "{\n    (**(code **)(in_t9 + 0x12f42c))();\n  }" { (expression_statement "(**(code **)(in_t9 + 0x12f42c))();" (call_expression "(**(code **)(in_t9 + 0x12f42c))()" (parenthesized_expression "(**(code **)(in_t9 + 0x12f42c))" ( (pointer_expression "**(code **)(in_t9 + 0x12f42c)" * (pointer_expression "*(code **)(in_t9 + 0x12f42c)" * (cast_expression "(code **)(in_t9 + 0x12f42c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(in_t9 + 0x12f42c)" ( (binary_expression "in_t9 + 0x12f42c" identifier + number_literal) ))))) )) (argument_list "()" ( ))) ;) })) (expression_statement "(**(code **)(*param_2 + 0x14))(&local_38,param_2);" (call_expression "(**(code **)(*param_2 + 0x14))(&local_38,param_2)" (parenthesized_expression "(**(code **)(*param_2 + 0x14))" ( (pointer_expression "**(code **)(*param_2 + 0x14)" * (pointer_expression "*(code **)(*param_2 + 0x14)" * (cast_expression "(code **)(*param_2 + 0x14)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*param_2 + 0x14)" ( (binary_expression "*param_2 + 0x14" (pointer_expression "*param_2" * identifier) + number_literal) ))))) )) (argument_list "(&local_38,param_2)" ( (pointer_expression "&local_38" & identifier) , identifier ))) ;) (expression_statement "iVar3 = local_34;" (assignment_expression "iVar3 = local_34" identifier = identifier) ;) comment (expression_statement "iVar2 = (**(code **)(in_t9 + 0x12f47c))(local_34 + 1);" (assignment_expression "iVar2 = (**(code **)(in_t9 + 0x12f47c))(local_34 + 1)" identifier = (call_expression "(**(code **)(in_t9 + 0x12f47c))(local_34 + 1)" (parenthesized_expression "(**(code **)(in_t9 + 0x12f47c))" ( (pointer_expression "**(code **)(in_t9 + 0x12f47c)" * (pointer_expression "*(code **)(in_t9 + 0x12f47c)" * (cast_expression "(code **)(in_t9 + 0x12f47c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(in_t9 + 0x12f47c)" ( (binary_expression "in_t9 + 0x12f47c" identifier + number_literal) ))))) )) (argument_list "(local_34 + 1)" ( (binary_expression "local_34 + 1" identifier + number_literal) )))) ;) (expression_statement "(**(code **)(in_t9 + 0x133384))(&local_38,iVar2,iVar3,0);" (call_expression "(**(code **)(in_t9 + 0x133384))(&local_38,iVar2,iVar3,0)" (parenthesized_expression "(**(code **)(in_t9 + 0x133384))" ( (pointer_expression "**(code **)(in_t9 + 0x133384)" * (pointer_expression "*(code **)(in_t9 + 0x133384)" * (cast_expression "(code **)(in_t9 + 0x133384)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(in_t9 + 0x133384)" ( (binary_expression "in_t9 + 0x133384" identifier + number_literal) ))))) )) (argument_list "(&local_38,iVar2,iVar3,0)" ( (pointer_expression "&local_38" & identifier) , identifier , identifier , number_literal ))) ;) (expression_statement "*(int *)(param_3 + 0x14) = iVar2;" (assignment_expression "*(int *)(param_3 + 0x14) = iVar2" (pointer_expression "*(int *)(param_3 + 0x14)" * (cast_expression "(int *)(param_3 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 0x14)" ( (binary_expression "param_3 + 0x14" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(param_3 + 0x18) = iVar3;" (assignment_expression "*(int *)(param_3 + 0x18) = iVar3" (pointer_expression "*(int *)(param_3 + 0x18)" * (cast_expression "(int *)(param_3 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 0x18)" ( (binary_expression "param_3 + 0x18" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined1 *)(iVar2 + iVar3) = 0;" (assignment_expression "*(undefined1 *)(iVar2 + iVar3) = 0" (pointer_expression "*(undefined1 *)(iVar2 + iVar3)" * (cast_expression "(undefined1 *)(iVar2 + iVar3)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + iVar3)" ( (binary_expression "iVar2 + iVar3" identifier + identifier) )))) = number_literal) ;) (if_statement "if (local_38 != auStack_30) {\n    (**(code **)(in_t9 + 0x12f42c))();\n  }" if (parenthesized_expression "(local_38 != auStack_30)" ( (binary_expression "local_38 != auStack_30" identifier != identifier) )) (compound_statement "{\n    (**(code **)(in_t9 + 0x12f42c))();\n  }" { (expression_statement "(**(code **)(in_t9 + 0x12f42c))();" (call_expression "(**(code **)(in_t9 + 0x12f42c))()" (parenthesized_expression "(**(code **)(in_t9 + 0x12f42c))" ( (pointer_expression "**(code **)(in_t9 + 0x12f42c)" * (pointer_expression "*(code **)(in_t9 + 0x12f42c)" * (cast_expression "(code **)(in_t9 + 0x12f42c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(in_t9 + 0x12f42c)" ( (binary_expression "in_t9 + 0x12f42c" identifier + number_literal) ))))) )) (argument_list "()" ( ))) ;) })) (expression_statement "(**(code **)(*param_2 + 0x18))(&local_38,param_2);" (call_expression "(**(code **)(*param_2 + 0x18))(&local_38,param_2)" (parenthesized_expression "(**(code **)(*param_2 + 0x18))" ( (pointer_expression "**(code **)(*param_2 + 0x18)" * (pointer_expression "*(code **)(*param_2 + 0x18)" * (cast_expression "(code **)(*param_2 + 0x18)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*param_2 + 0x18)" ( (binary_expression "*param_2 + 0x18" (pointer_expression "*param_2" * identifier) + number_literal) ))))) )) (argument_list "(&local_38,param_2)" ( (pointer_expression "&local_38" & identifier) , identifier ))) ;) (expression_statement "iVar3 = local_34;" (assignment_expression "iVar3 = local_34" identifier = identifier) ;) comment (expression_statement "iVar2 = (**(code **)(in_t9 + 0x12f47c))(local_34 + 1);" (assignment_expression "iVar2 = (**(code **)(in_t9 + 0x12f47c))(local_34 + 1)" identifier = (call_expression "(**(code **)(in_t9 + 0x12f47c))(local_34 + 1)" (parenthesized_expression "(**(code **)(in_t9 + 0x12f47c))" ( (pointer_expression "**(code **)(in_t9 + 0x12f47c)" * (pointer_expression "*(code **)(in_t9 + 0x12f47c)" * (cast_expression "(code **)(in_t9 + 0x12f47c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(in_t9 + 0x12f47c)" ( (binary_expression "in_t9 + 0x12f47c" identifier + number_literal) ))))) )) (argument_list "(local_34 + 1)" ( (binary_expression "local_34 + 1" identifier + number_literal) )))) ;) (expression_statement "(**(code **)(in_t9 + 0x133384))(&local_38,iVar2,iVar3,0);" (call_expression "(**(code **)(in_t9 + 0x133384))(&local_38,iVar2,iVar3,0)" (parenthesized_expression "(**(code **)(in_t9 + 0x133384))" ( (pointer_expression "**(code **)(in_t9 + 0x133384)" * (pointer_expression "*(code **)(in_t9 + 0x133384)" * (cast_expression "(code **)(in_t9 + 0x133384)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(in_t9 + 0x133384)" ( (binary_expression "in_t9 + 0x133384" identifier + number_literal) ))))) )) (argument_list "(&local_38,iVar2,iVar3,0)" ( (pointer_expression "&local_38" & identifier) , identifier , identifier , number_literal ))) ;) (expression_statement "*(int *)(param_3 + 0x1c) = iVar2;" (assignment_expression "*(int *)(param_3 + 0x1c) = iVar2" (pointer_expression "*(int *)(param_3 + 0x1c)" * (cast_expression "(int *)(param_3 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 0x1c)" ( (binary_expression "param_3 + 0x1c" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(param_3 + 0x20) = iVar3;" (assignment_expression "*(int *)(param_3 + 0x20) = iVar3" (pointer_expression "*(int *)(param_3 + 0x20)" * (cast_expression "(int *)(param_3 + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 0x20)" ( (binary_expression "param_3 + 0x20" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined1 *)(iVar2 + iVar3) = 0;" (assignment_expression "*(undefined1 *)(iVar2 + iVar3) = 0" (pointer_expression "*(undefined1 *)(iVar2 + iVar3)" * (cast_expression "(undefined1 *)(iVar2 + iVar3)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + iVar3)" ( (binary_expression "iVar2 + iVar3" identifier + identifier) )))) = number_literal) ;) (if_statement "if (local_38 != auStack_30) {\n    (**(code **)(in_t9 + 0x12f42c))();\n  }" if (parenthesized_expression "(local_38 != auStack_30)" ( (binary_expression "local_38 != auStack_30" identifier != identifier) )) (compound_statement "{\n    (**(code **)(in_t9 + 0x12f42c))();\n  }" { (expression_statement "(**(code **)(in_t9 + 0x12f42c))();" (call_expression "(**(code **)(in_t9 + 0x12f42c))()" (parenthesized_expression "(**(code **)(in_t9 + 0x12f42c))" ( (pointer_expression "**(code **)(in_t9 + 0x12f42c)" * (pointer_expression "*(code **)(in_t9 + 0x12f42c)" * (cast_expression "(code **)(in_t9 + 0x12f42c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(in_t9 + 0x12f42c)" ( (binary_expression "in_t9 + 0x12f42c" identifier + number_literal) ))))) )) (argument_list "()" ( ))) ;) })) (expression_statement "(**(code **)(*param_2 + 0x1c))(&local_38,param_2);" (call_expression "(**(code **)(*param_2 + 0x1c))(&local_38,param_2)" (parenthesized_expression "(**(code **)(*param_2 + 0x1c))" ( (pointer_expression "**(code **)(*param_2 + 0x1c)" * (pointer_expression "*(code **)(*param_2 + 0x1c)" * (cast_expression "(code **)(*param_2 + 0x1c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*param_2 + 0x1c)" ( (binary_expression "*param_2 + 0x1c" (pointer_expression "*param_2" * identifier) + number_literal) ))))) )) (argument_list "(&local_38,param_2)" ( (pointer_expression "&local_38" & identifier) , identifier ))) ;) comment (expression_statement "iVar3 = (**(code **)(in_t9 + 0x12f47c))(local_34 + 1);" (assignment_expression "iVar3 = (**(code **)(in_t9 + 0x12f47c))(local_34 + 1)" identifier = (call_expression "(**(code **)(in_t9 + 0x12f47c))(local_34 + 1)" (parenthesized_expression "(**(code **)(in_t9 + 0x12f47c))" ( (pointer_expression "**(code **)(in_t9 + 0x12f47c)" * (pointer_expression "*(code **)(in_t9 + 0x12f47c)" * (cast_expression "(code **)(in_t9 + 0x12f47c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(in_t9 + 0x12f47c)" ( (binary_expression "in_t9 + 0x12f47c" identifier + number_literal) ))))) )) (argument_list "(local_34 + 1)" ( (binary_expression "local_34 + 1" identifier + number_literal) )))) ;) (expression_statement "(**(code **)(in_t9 + 0x133384))(&local_38,iVar3,local_34,0);" (call_expression "(**(code **)(in_t9 + 0x133384))(&local_38,iVar3,local_34,0)" (parenthesized_expression "(**(code **)(in_t9 + 0x133384))" ( (pointer_expression "**(code **)(in_t9 + 0x133384)" * (pointer_expression "*(code **)(in_t9 + 0x133384)" * (cast_expression "(code **)(in_t9 + 0x133384)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(in_t9 + 0x133384)" ( (binary_expression "in_t9 + 0x133384" identifier + number_literal) ))))) )) (argument_list "(&local_38,iVar3,local_34,0)" ( (pointer_expression "&local_38" & identifier) , identifier , identifier , number_literal ))) ;) (expression_statement "*(int *)(param_3 + 0x24) = iVar3;" (assignment_expression "*(int *)(param_3 + 0x24) = iVar3" (pointer_expression "*(int *)(param_3 + 0x24)" * (cast_expression "(int *)(param_3 + 0x24)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 0x24)" ( (binary_expression "param_3 + 0x24" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(param_3 + 0x28) = local_34;" (assignment_expression "*(int *)(param_3 + 0x28) = local_34" (pointer_expression "*(int *)(param_3 + 0x28)" * (cast_expression "(int *)(param_3 + 0x28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 0x28)" ( (binary_expression "param_3 + 0x28" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined1 *)(iVar3 + local_34) = 0;" (assignment_expression "*(undefined1 *)(iVar3 + local_34) = 0" (pointer_expression "*(undefined1 *)(iVar3 + local_34)" * (cast_expression "(undefined1 *)(iVar3 + local_34)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + local_34)" ( (binary_expression "iVar3 + local_34" identifier + identifier) )))) = number_literal) ;) (if_statement "if (local_38 != auStack_30) {\n    (**(code **)(in_t9 + 0x12f42c))();\n  }" if (parenthesized_expression "(local_38 != auStack_30)" ( (binary_expression "local_38 != auStack_30" identifier != identifier) )) (compound_statement "{\n    (**(code **)(in_t9 + 0x12f42c))();\n  }" { (expression_statement "(**(code **)(in_t9 + 0x12f42c))();" (call_expression "(**(code **)(in_t9 + 0x12f42c))()" (parenthesized_expression "(**(code **)(in_t9 + 0x12f42c))" ( (pointer_expression "**(code **)(in_t9 + 0x12f42c)" * (pointer_expression "*(code **)(in_t9 + 0x12f42c)" * (cast_expression "(code **)(in_t9 + 0x12f42c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(in_t9 + 0x12f42c)" ( (binary_expression "in_t9 + 0x12f42c" identifier + number_literal) ))))) )) (argument_list "()" ( ))) ;) })) (expression_statement "(**(code **)(*param_2 + 0x24))(&local_38,param_2);" (call_expression "(**(code **)(*param_2 + 0x24))(&local_38,param_2)" (parenthesized_expression "(**(code **)(*param_2 + 0x24))" ( (pointer_expression "**(code **)(*param_2 + 0x24)" * (pointer_expression "*(code **)(*param_2 + 0x24)" * (cast_expression "(code **)(*param_2 + 0x24)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*param_2 + 0x24)" ( (binary_expression "*param_2 + 0x24" (pointer_expression "*param_2" * identifier) + number_literal) ))))) )) (argument_list "(&local_38,param_2)" ( (pointer_expression "&local_38" & identifier) , identifier ))) ;) (expression_statement "*(undefined1 **)(param_3 + 0x30) = local_38;" (assignment_expression "*(undefined1 **)(param_3 + 0x30) = local_38" (pointer_expression "*(undefined1 **)(param_3 + 0x30)" * (cast_expression "(undefined1 **)(param_3 + 0x30)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_3 + 0x30)" ( (binary_expression "param_3 + 0x30" identifier + number_literal) )))) = identifier) ;) (expression_statement "(**(code **)(*param_2 + 0x28))(&local_38,param_2);" (call_expression "(**(code **)(*param_2 + 0x28))(&local_38,param_2)" (parenthesized_expression "(**(code **)(*param_2 + 0x28))" ( (pointer_expression "**(code **)(*param_2 + 0x28)" * (pointer_expression "*(code **)(*param_2 + 0x28)" * (cast_expression "(code **)(*param_2 + 0x28)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*param_2 + 0x28)" ( (binary_expression "*param_2 + 0x28" (pointer_expression "*param_2" * identifier) + number_literal) ))))) )) (argument_list "(&local_38,param_2)" ( (pointer_expression "&local_38" & identifier) , identifier ))) ;) (expression_statement "*(undefined1 **)(param_3 + 0x34) = local_38;" (assignment_expression "*(undefined1 **)(param_3 + 0x34) = local_38" (pointer_expression "*(undefined1 **)(param_3 + 0x34)" * (cast_expression "(undefined1 **)(param_3 + 0x34)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_3 + 0x34)" ( (binary_expression "param_3 + 0x34" identifier + number_literal) )))) = identifier) ;) (return_statement "return;" return ;) (ERROR "}" }))
(translation_unit "void std::__facet_shims::__moneypunct_fill_cache<char,true>\n               (undefined4 param_1,int *param_2,int param_3)\n\n{\n  undefined1 uVar4;\n  undefined4 uVar1;\n  int iVar2;\n  int iVar3;\n  int in_t9;\n  undefined1 *local_38;\n  int local_34;\n  undefined1 auStack_30 [20];\n  \n  uVar4 = (**(code **)(*param_2 + 8))(param_2);\n  *(undefined1 *)(param_3 + 0x11) = uVar4;\n  uVar4 = (**(code **)(*param_2 + 0xc))(param_2);\n  *(undefined1 *)(param_3 + 0x12) = uVar4;\n  uVar1 = (**(code **)(*param_2 + 0x20))(param_2);\n  *(undefined4 *)(param_3 + 0x2c) = uVar1;\n  *(undefined4 *)(param_3 + 8) = 0;\n  *(undefined4 *)(param_3 + 0x14) = 0;\n  *(undefined4 *)(param_3 + 0x1c) = 0;\n  *(undefined4 *)(param_3 + 0x24) = 0;\n  *(undefined1 *)(param_3 + 0x43) = 1;\n  (**(code **)(*param_2 + 0x10))(&local_38,param_2);\n  iVar3 = local_34;\n                    \n  iVar2 = (**(code **)(in_t9 + 0x12f47c))(local_34 + 1);\n  (**(code **)(in_t9 + 0x133384))(&local_38,iVar2,iVar3,0);\n  *(int *)(param_3 + 8) = iVar2;\n  *(int *)(param_3 + 0xc) = iVar3;\n  *(undefined1 *)(iVar2 + iVar3) = 0;\n  if (local_38 != auStack_30) {\n    (**(code **)(in_t9 + 0x12f42c))();\n  }\n  (**(code **)(*param_2 + 0x14))(&local_38,param_2);\n  iVar3 = local_34;\n                    \n  iVar2 = (**(code **)(in_t9 + 0x12f47c))(local_34 + 1);\n  (**(code **)(in_t9 + 0x133384))(&local_38,iVar2,iVar3,0);\n  *(int *)(param_3 + 0x14) = iVar2;\n  *(int *)(param_3 + 0x18) = iVar3;\n  *(undefined1 *)(iVar2 + iVar3) = 0;\n  if (local_38 != auStack_30) {\n    (**(code **)(in_t9 + 0x12f42c))();\n  }\n  (**(code **)(*param_2 + 0x18))(&local_38,param_2);\n  iVar3 = local_34;\n                    \n  iVar2 = (**(code **)(in_t9 + 0x12f47c))(local_34 + 1);\n  (**(code **)(in_t9 + 0x133384))(&local_38,iVar2,iVar3,0);\n  *(int *)(param_3 + 0x1c) = iVar2;\n  *(int *)(param_3 + 0x20) = iVar3;\n  *(undefined1 *)(iVar2 + iVar3) = 0;\n  if (local_38 != auStack_30) {\n    (**(code **)(in_t9 + 0x12f42c))();\n  }\n  (**(code **)(*param_2 + 0x1c))(&local_38,param_2);\n                    \n  iVar3 = (**(code **)(in_t9 + 0x12f47c))(local_34 + 1);\n  (**(code **)(in_t9 + 0x133384))(&local_38,iVar3,local_34,0);\n  *(int *)(param_3 + 0x24) = iVar3;\n  *(int *)(param_3 + 0x28) = local_34;\n  *(undefined1 *)(iVar3 + local_34) = 0;\n  if (local_38 != auStack_30) {\n    (**(code **)(in_t9 + 0x12f42c))();\n  }\n  (**(code **)(*param_2 + 0x24))(&local_38,param_2);\n  *(undefined1 **)(param_3 + 0x30) = local_38;\n  (**(code **)(*param_2 + 0x28))(&local_38,param_2);\n  *(undefined1 **)(param_3 + 0x34) = local_38;\n  return;\n}\n\n" (declaration "void std::__facet_shims::__moneypunct_fill_cache<char,true>\n               (undefined4 param_1,int *param_2,int param_3)\n\n{\n  undefined1 uVar4;" primitive_type (ERROR "std::__facet_shims::" identifier : : identifier : :) identifier (ERROR "<char" < primitive_type) , (ERROR "true>\n               (undefined4 param_1,int *param_2,int param_3)\n\n{\n  undefined1" (function_declarator "true>\n               (undefined4 param_1,int *param_2,int param_3)" identifier (ERROR ">" >) (parameter_list "(undefined4 param_1,int *param_2,int param_3)" ( (parameter_declaration "undefined4 param_1" type_identifier identifier) , (parameter_declaration "int *param_2" primitive_type (pointer_declarator "*param_2" * identifier)) , (parameter_declaration "int param_3" primitive_type identifier) ))) { identifier) identifier ;) (declaration "undefined4 uVar1;" type_identifier identifier ;) (declaration "int iVar2;" primitive_type identifier ;) (declaration "int iVar3;" primitive_type identifier ;) (declaration "int in_t9;" primitive_type identifier ;) (declaration "undefined1 *local_38;" type_identifier (pointer_declarator "*local_38" * identifier) ;) (declaration "int local_34;" primitive_type identifier ;) (declaration "undefined1 auStack_30 [20];" type_identifier (array_declarator "auStack_30 [20]" identifier [ number_literal ]) ;) (expression_statement "uVar4 = (**(code **)(*param_2 + 8))(param_2);" (assignment_expression "uVar4 = (**(code **)(*param_2 + 8))(param_2)" identifier = (call_expression "(**(code **)(*param_2 + 8))(param_2)" (parenthesized_expression "(**(code **)(*param_2 + 8))" ( (pointer_expression "**(code **)(*param_2 + 8)" * (pointer_expression "*(code **)(*param_2 + 8)" * (cast_expression "(code **)(*param_2 + 8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*param_2 + 8)" ( (binary_expression "*param_2 + 8" (pointer_expression "*param_2" * identifier) + number_literal) ))))) )) (argument_list "(param_2)" ( identifier )))) ;) (expression_statement "*(undefined1 *)(param_3 + 0x11) = uVar4;" (assignment_expression "*(undefined1 *)(param_3 + 0x11) = uVar4" (pointer_expression "*(undefined1 *)(param_3 + 0x11)" * (cast_expression "(undefined1 *)(param_3 + 0x11)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 0x11)" ( (binary_expression "param_3 + 0x11" identifier + number_literal) )))) = identifier) ;) (expression_statement "uVar4 = (**(code **)(*param_2 + 0xc))(param_2);" (assignment_expression "uVar4 = (**(code **)(*param_2 + 0xc))(param_2)" identifier = (call_expression "(**(code **)(*param_2 + 0xc))(param_2)" (parenthesized_expression "(**(code **)(*param_2 + 0xc))" ( (pointer_expression "**(code **)(*param_2 + 0xc)" * (pointer_expression "*(code **)(*param_2 + 0xc)" * (cast_expression "(code **)(*param_2 + 0xc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*param_2 + 0xc)" ( (binary_expression "*param_2 + 0xc" (pointer_expression "*param_2" * identifier) + number_literal) ))))) )) (argument_list "(param_2)" ( identifier )))) ;) (expression_statement "*(undefined1 *)(param_3 + 0x12) = uVar4;" (assignment_expression "*(undefined1 *)(param_3 + 0x12) = uVar4" (pointer_expression "*(undefined1 *)(param_3 + 0x12)" * (cast_expression "(undefined1 *)(param_3 + 0x12)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 0x12)" ( (binary_expression "param_3 + 0x12" identifier + number_literal) )))) = identifier) ;) (expression_statement "uVar1 = (**(code **)(*param_2 + 0x20))(param_2);" (assignment_expression "uVar1 = (**(code **)(*param_2 + 0x20))(param_2)" identifier = (call_expression "(**(code **)(*param_2 + 0x20))(param_2)" (parenthesized_expression "(**(code **)(*param_2 + 0x20))" ( (pointer_expression "**(code **)(*param_2 + 0x20)" * (pointer_expression "*(code **)(*param_2 + 0x20)" * (cast_expression "(code **)(*param_2 + 0x20)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*param_2 + 0x20)" ( (binary_expression "*param_2 + 0x20" (pointer_expression "*param_2" * identifier) + number_literal) ))))) )) (argument_list "(param_2)" ( identifier )))) ;) (expression_statement "*(undefined4 *)(param_3 + 0x2c) = uVar1;" (assignment_expression "*(undefined4 *)(param_3 + 0x2c) = uVar1" (pointer_expression "*(undefined4 *)(param_3 + 0x2c)" * (cast_expression "(undefined4 *)(param_3 + 0x2c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 0x2c)" ( (binary_expression "param_3 + 0x2c" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(param_3 + 8) = 0;" (assignment_expression "*(undefined4 *)(param_3 + 8) = 0" (pointer_expression "*(undefined4 *)(param_3 + 8)" * (cast_expression "(undefined4 *)(param_3 + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 8)" ( (binary_expression "param_3 + 8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(param_3 + 0x14) = 0;" (assignment_expression "*(undefined4 *)(param_3 + 0x14) = 0" (pointer_expression "*(undefined4 *)(param_3 + 0x14)" * (cast_expression "(undefined4 *)(param_3 + 0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 0x14)" ( (binary_expression "param_3 + 0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(param_3 + 0x1c) = 0;" (assignment_expression "*(undefined4 *)(param_3 + 0x1c) = 0" (pointer_expression "*(undefined4 *)(param_3 + 0x1c)" * (cast_expression "(undefined4 *)(param_3 + 0x1c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 0x1c)" ( (binary_expression "param_3 + 0x1c" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(param_3 + 0x24) = 0;" (assignment_expression "*(undefined4 *)(param_3 + 0x24) = 0" (pointer_expression "*(undefined4 *)(param_3 + 0x24)" * (cast_expression "(undefined4 *)(param_3 + 0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 0x24)" ( (binary_expression "param_3 + 0x24" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined1 *)(param_3 + 0x43) = 1;" (assignment_expression "*(undefined1 *)(param_3 + 0x43) = 1" (pointer_expression "*(undefined1 *)(param_3 + 0x43)" * (cast_expression "(undefined1 *)(param_3 + 0x43)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 0x43)" ( (binary_expression "param_3 + 0x43" identifier + number_literal) )))) = number_literal) ;) (expression_statement "(**(code **)(*param_2 + 0x10))(&local_38,param_2);" (call_expression "(**(code **)(*param_2 + 0x10))(&local_38,param_2)" (parenthesized_expression "(**(code **)(*param_2 + 0x10))" ( (pointer_expression "**(code **)(*param_2 + 0x10)" * (pointer_expression "*(code **)(*param_2 + 0x10)" * (cast_expression "(code **)(*param_2 + 0x10)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*param_2 + 0x10)" ( (binary_expression "*param_2 + 0x10" (pointer_expression "*param_2" * identifier) + number_literal) ))))) )) (argument_list "(&local_38,param_2)" ( (pointer_expression "&local_38" & identifier) , identifier ))) ;) (expression_statement "iVar3 = local_34;" (assignment_expression "iVar3 = local_34" identifier = identifier) ;) (expression_statement "iVar2 = (**(code **)(in_t9 + 0x12f47c))(local_34 + 1);" (assignment_expression "iVar2 = (**(code **)(in_t9 + 0x12f47c))(local_34 + 1)" identifier = (call_expression "(**(code **)(in_t9 + 0x12f47c))(local_34 + 1)" (parenthesized_expression "(**(code **)(in_t9 + 0x12f47c))" ( (pointer_expression "**(code **)(in_t9 + 0x12f47c)" * (pointer_expression "*(code **)(in_t9 + 0x12f47c)" * (cast_expression "(code **)(in_t9 + 0x12f47c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(in_t9 + 0x12f47c)" ( (binary_expression "in_t9 + 0x12f47c" identifier + number_literal) ))))) )) (argument_list "(local_34 + 1)" ( (binary_expression "local_34 + 1" identifier + number_literal) )))) ;) (expression_statement "(**(code **)(in_t9 + 0x133384))(&local_38,iVar2,iVar3,0);" (call_expression "(**(code **)(in_t9 + 0x133384))(&local_38,iVar2,iVar3,0)" (parenthesized_expression "(**(code **)(in_t9 + 0x133384))" ( (pointer_expression "**(code **)(in_t9 + 0x133384)" * (pointer_expression "*(code **)(in_t9 + 0x133384)" * (cast_expression "(code **)(in_t9 + 0x133384)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(in_t9 + 0x133384)" ( (binary_expression "in_t9 + 0x133384" identifier + number_literal) ))))) )) (argument_list "(&local_38,iVar2,iVar3,0)" ( (pointer_expression "&local_38" & identifier) , identifier , identifier , number_literal ))) ;) (expression_statement "*(int *)(param_3 + 8) = iVar2;" (assignment_expression "*(int *)(param_3 + 8) = iVar2" (pointer_expression "*(int *)(param_3 + 8)" * (cast_expression "(int *)(param_3 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 8)" ( (binary_expression "param_3 + 8" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(param_3 + 0xc) = iVar3;" (assignment_expression "*(int *)(param_3 + 0xc) = iVar3" (pointer_expression "*(int *)(param_3 + 0xc)" * (cast_expression "(int *)(param_3 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 0xc)" ( (binary_expression "param_3 + 0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined1 *)(iVar2 + iVar3) = 0;" (assignment_expression "*(undefined1 *)(iVar2 + iVar3) = 0" (pointer_expression "*(undefined1 *)(iVar2 + iVar3)" * (cast_expression "(undefined1 *)(iVar2 + iVar3)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + iVar3)" ( (binary_expression "iVar2 + iVar3" identifier + identifier) )))) = number_literal) ;) (if_statement "if (local_38 != auStack_30) {\n    (**(code **)(in_t9 + 0x12f42c))();\n  }" if (parenthesized_expression "(local_38 != auStack_30)" ( (binary_expression "local_38 != auStack_30" identifier != identifier) )) (compound_statement "{\n    (**(code **)(in_t9 + 0x12f42c))();\n  }" { (expression_statement "(**(code **)(in_t9 + 0x12f42c))();" (call_expression "(**(code **)(in_t9 + 0x12f42c))()" (parenthesized_expression "(**(code **)(in_t9 + 0x12f42c))" ( (pointer_expression "**(code **)(in_t9 + 0x12f42c)" * (pointer_expression "*(code **)(in_t9 + 0x12f42c)" * (cast_expression "(code **)(in_t9 + 0x12f42c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(in_t9 + 0x12f42c)" ( (binary_expression "in_t9 + 0x12f42c" identifier + number_literal) ))))) )) (argument_list "()" ( ))) ;) })) (expression_statement "(**(code **)(*param_2 + 0x14))(&local_38,param_2);" (call_expression "(**(code **)(*param_2 + 0x14))(&local_38,param_2)" (parenthesized_expression "(**(code **)(*param_2 + 0x14))" ( (pointer_expression "**(code **)(*param_2 + 0x14)" * (pointer_expression "*(code **)(*param_2 + 0x14)" * (cast_expression "(code **)(*param_2 + 0x14)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*param_2 + 0x14)" ( (binary_expression "*param_2 + 0x14" (pointer_expression "*param_2" * identifier) + number_literal) ))))) )) (argument_list "(&local_38,param_2)" ( (pointer_expression "&local_38" & identifier) , identifier ))) ;) (expression_statement "iVar3 = local_34;" (assignment_expression "iVar3 = local_34" identifier = identifier) ;) (expression_statement "iVar2 = (**(code **)(in_t9 + 0x12f47c))(local_34 + 1);" (assignment_expression "iVar2 = (**(code **)(in_t9 + 0x12f47c))(local_34 + 1)" identifier = (call_expression "(**(code **)(in_t9 + 0x12f47c))(local_34 + 1)" (parenthesized_expression "(**(code **)(in_t9 + 0x12f47c))" ( (pointer_expression "**(code **)(in_t9 + 0x12f47c)" * (pointer_expression "*(code **)(in_t9 + 0x12f47c)" * (cast_expression "(code **)(in_t9 + 0x12f47c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(in_t9 + 0x12f47c)" ( (binary_expression "in_t9 + 0x12f47c" identifier + number_literal) ))))) )) (argument_list "(local_34 + 1)" ( (binary_expression "local_34 + 1" identifier + number_literal) )))) ;) (expression_statement "(**(code **)(in_t9 + 0x133384))(&local_38,iVar2,iVar3,0);" (call_expression "(**(code **)(in_t9 + 0x133384))(&local_38,iVar2,iVar3,0)" (parenthesized_expression "(**(code **)(in_t9 + 0x133384))" ( (pointer_expression "**(code **)(in_t9 + 0x133384)" * (pointer_expression "*(code **)(in_t9 + 0x133384)" * (cast_expression "(code **)(in_t9 + 0x133384)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(in_t9 + 0x133384)" ( (binary_expression "in_t9 + 0x133384" identifier + number_literal) ))))) )) (argument_list "(&local_38,iVar2,iVar3,0)" ( (pointer_expression "&local_38" & identifier) , identifier , identifier , number_literal ))) ;) (expression_statement "*(int *)(param_3 + 0x14) = iVar2;" (assignment_expression "*(int *)(param_3 + 0x14) = iVar2" (pointer_expression "*(int *)(param_3 + 0x14)" * (cast_expression "(int *)(param_3 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 0x14)" ( (binary_expression "param_3 + 0x14" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(param_3 + 0x18) = iVar3;" (assignment_expression "*(int *)(param_3 + 0x18) = iVar3" (pointer_expression "*(int *)(param_3 + 0x18)" * (cast_expression "(int *)(param_3 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 0x18)" ( (binary_expression "param_3 + 0x18" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined1 *)(iVar2 + iVar3) = 0;" (assignment_expression "*(undefined1 *)(iVar2 + iVar3) = 0" (pointer_expression "*(undefined1 *)(iVar2 + iVar3)" * (cast_expression "(undefined1 *)(iVar2 + iVar3)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + iVar3)" ( (binary_expression "iVar2 + iVar3" identifier + identifier) )))) = number_literal) ;) (if_statement "if (local_38 != auStack_30) {\n    (**(code **)(in_t9 + 0x12f42c))();\n  }" if (parenthesized_expression "(local_38 != auStack_30)" ( (binary_expression "local_38 != auStack_30" identifier != identifier) )) (compound_statement "{\n    (**(code **)(in_t9 + 0x12f42c))();\n  }" { (expression_statement "(**(code **)(in_t9 + 0x12f42c))();" (call_expression "(**(code **)(in_t9 + 0x12f42c))()" (parenthesized_expression "(**(code **)(in_t9 + 0x12f42c))" ( (pointer_expression "**(code **)(in_t9 + 0x12f42c)" * (pointer_expression "*(code **)(in_t9 + 0x12f42c)" * (cast_expression "(code **)(in_t9 + 0x12f42c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(in_t9 + 0x12f42c)" ( (binary_expression "in_t9 + 0x12f42c" identifier + number_literal) ))))) )) (argument_list "()" ( ))) ;) })) (expression_statement "(**(code **)(*param_2 + 0x18))(&local_38,param_2);" (call_expression "(**(code **)(*param_2 + 0x18))(&local_38,param_2)" (parenthesized_expression "(**(code **)(*param_2 + 0x18))" ( (pointer_expression "**(code **)(*param_2 + 0x18)" * (pointer_expression "*(code **)(*param_2 + 0x18)" * (cast_expression "(code **)(*param_2 + 0x18)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*param_2 + 0x18)" ( (binary_expression "*param_2 + 0x18" (pointer_expression "*param_2" * identifier) + number_literal) ))))) )) (argument_list "(&local_38,param_2)" ( (pointer_expression "&local_38" & identifier) , identifier ))) ;) (expression_statement "iVar3 = local_34;" (assignment_expression "iVar3 = local_34" identifier = identifier) ;) (expression_statement "iVar2 = (**(code **)(in_t9 + 0x12f47c))(local_34 + 1);" (assignment_expression "iVar2 = (**(code **)(in_t9 + 0x12f47c))(local_34 + 1)" identifier = (call_expression "(**(code **)(in_t9 + 0x12f47c))(local_34 + 1)" (parenthesized_expression "(**(code **)(in_t9 + 0x12f47c))" ( (pointer_expression "**(code **)(in_t9 + 0x12f47c)" * (pointer_expression "*(code **)(in_t9 + 0x12f47c)" * (cast_expression "(code **)(in_t9 + 0x12f47c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(in_t9 + 0x12f47c)" ( (binary_expression "in_t9 + 0x12f47c" identifier + number_literal) ))))) )) (argument_list "(local_34 + 1)" ( (binary_expression "local_34 + 1" identifier + number_literal) )))) ;) (expression_statement "(**(code **)(in_t9 + 0x133384))(&local_38,iVar2,iVar3,0);" (call_expression "(**(code **)(in_t9 + 0x133384))(&local_38,iVar2,iVar3,0)" (parenthesized_expression "(**(code **)(in_t9 + 0x133384))" ( (pointer_expression "**(code **)(in_t9 + 0x133384)" * (pointer_expression "*(code **)(in_t9 + 0x133384)" * (cast_expression "(code **)(in_t9 + 0x133384)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(in_t9 + 0x133384)" ( (binary_expression "in_t9 + 0x133384" identifier + number_literal) ))))) )) (argument_list "(&local_38,iVar2,iVar3,0)" ( (pointer_expression "&local_38" & identifier) , identifier , identifier , number_literal ))) ;) (expression_statement "*(int *)(param_3 + 0x1c) = iVar2;" (assignment_expression "*(int *)(param_3 + 0x1c) = iVar2" (pointer_expression "*(int *)(param_3 + 0x1c)" * (cast_expression "(int *)(param_3 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 0x1c)" ( (binary_expression "param_3 + 0x1c" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(param_3 + 0x20) = iVar3;" (assignment_expression "*(int *)(param_3 + 0x20) = iVar3" (pointer_expression "*(int *)(param_3 + 0x20)" * (cast_expression "(int *)(param_3 + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 0x20)" ( (binary_expression "param_3 + 0x20" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined1 *)(iVar2 + iVar3) = 0;" (assignment_expression "*(undefined1 *)(iVar2 + iVar3) = 0" (pointer_expression "*(undefined1 *)(iVar2 + iVar3)" * (cast_expression "(undefined1 *)(iVar2 + iVar3)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + iVar3)" ( (binary_expression "iVar2 + iVar3" identifier + identifier) )))) = number_literal) ;) (if_statement "if (local_38 != auStack_30) {\n    (**(code **)(in_t9 + 0x12f42c))();\n  }" if (parenthesized_expression "(local_38 != auStack_30)" ( (binary_expression "local_38 != auStack_30" identifier != identifier) )) (compound_statement "{\n    (**(code **)(in_t9 + 0x12f42c))();\n  }" { (expression_statement "(**(code **)(in_t9 + 0x12f42c))();" (call_expression "(**(code **)(in_t9 + 0x12f42c))()" (parenthesized_expression "(**(code **)(in_t9 + 0x12f42c))" ( (pointer_expression "**(code **)(in_t9 + 0x12f42c)" * (pointer_expression "*(code **)(in_t9 + 0x12f42c)" * (cast_expression "(code **)(in_t9 + 0x12f42c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(in_t9 + 0x12f42c)" ( (binary_expression "in_t9 + 0x12f42c" identifier + number_literal) ))))) )) (argument_list "()" ( ))) ;) })) (expression_statement "(**(code **)(*param_2 + 0x1c))(&local_38,param_2);" (call_expression "(**(code **)(*param_2 + 0x1c))(&local_38,param_2)" (parenthesized_expression "(**(code **)(*param_2 + 0x1c))" ( (pointer_expression "**(code **)(*param_2 + 0x1c)" * (pointer_expression "*(code **)(*param_2 + 0x1c)" * (cast_expression "(code **)(*param_2 + 0x1c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*param_2 + 0x1c)" ( (binary_expression "*param_2 + 0x1c" (pointer_expression "*param_2" * identifier) + number_literal) ))))) )) (argument_list "(&local_38,param_2)" ( (pointer_expression "&local_38" & identifier) , identifier ))) ;) (expression_statement "iVar3 = (**(code **)(in_t9 + 0x12f47c))(local_34 + 1);" (assignment_expression "iVar3 = (**(code **)(in_t9 + 0x12f47c))(local_34 + 1)" identifier = (call_expression "(**(code **)(in_t9 + 0x12f47c))(local_34 + 1)" (parenthesized_expression "(**(code **)(in_t9 + 0x12f47c))" ( (pointer_expression "**(code **)(in_t9 + 0x12f47c)" * (pointer_expression "*(code **)(in_t9 + 0x12f47c)" * (cast_expression "(code **)(in_t9 + 0x12f47c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(in_t9 + 0x12f47c)" ( (binary_expression "in_t9 + 0x12f47c" identifier + number_literal) ))))) )) (argument_list "(local_34 + 1)" ( (binary_expression "local_34 + 1" identifier + number_literal) )))) ;) (expression_statement "(**(code **)(in_t9 + 0x133384))(&local_38,iVar3,local_34,0);" (call_expression "(**(code **)(in_t9 + 0x133384))(&local_38,iVar3,local_34,0)" (parenthesized_expression "(**(code **)(in_t9 + 0x133384))" ( (pointer_expression "**(code **)(in_t9 + 0x133384)" * (pointer_expression "*(code **)(in_t9 + 0x133384)" * (cast_expression "(code **)(in_t9 + 0x133384)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(in_t9 + 0x133384)" ( (binary_expression "in_t9 + 0x133384" identifier + number_literal) ))))) )) (argument_list "(&local_38,iVar3,local_34,0)" ( (pointer_expression "&local_38" & identifier) , identifier , identifier , number_literal ))) ;) (expression_statement "*(int *)(param_3 + 0x24) = iVar3;" (assignment_expression "*(int *)(param_3 + 0x24) = iVar3" (pointer_expression "*(int *)(param_3 + 0x24)" * (cast_expression "(int *)(param_3 + 0x24)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 0x24)" ( (binary_expression "param_3 + 0x24" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(param_3 + 0x28) = local_34;" (assignment_expression "*(int *)(param_3 + 0x28) = local_34" (pointer_expression "*(int *)(param_3 + 0x28)" * (cast_expression "(int *)(param_3 + 0x28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 0x28)" ( (binary_expression "param_3 + 0x28" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined1 *)(iVar3 + local_34) = 0;" (assignment_expression "*(undefined1 *)(iVar3 + local_34) = 0" (pointer_expression "*(undefined1 *)(iVar3 + local_34)" * (cast_expression "(undefined1 *)(iVar3 + local_34)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + local_34)" ( (binary_expression "iVar3 + local_34" identifier + identifier) )))) = number_literal) ;) (if_statement "if (local_38 != auStack_30) {\n    (**(code **)(in_t9 + 0x12f42c))();\n  }" if (parenthesized_expression "(local_38 != auStack_30)" ( (binary_expression "local_38 != auStack_30" identifier != identifier) )) (compound_statement "{\n    (**(code **)(in_t9 + 0x12f42c))();\n  }" { (expression_statement "(**(code **)(in_t9 + 0x12f42c))();" (call_expression "(**(code **)(in_t9 + 0x12f42c))()" (parenthesized_expression "(**(code **)(in_t9 + 0x12f42c))" ( (pointer_expression "**(code **)(in_t9 + 0x12f42c)" * (pointer_expression "*(code **)(in_t9 + 0x12f42c)" * (cast_expression "(code **)(in_t9 + 0x12f42c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(in_t9 + 0x12f42c)" ( (binary_expression "in_t9 + 0x12f42c" identifier + number_literal) ))))) )) (argument_list "()" ( ))) ;) })) (expression_statement "(**(code **)(*param_2 + 0x24))(&local_38,param_2);" (call_expression "(**(code **)(*param_2 + 0x24))(&local_38,param_2)" (parenthesized_expression "(**(code **)(*param_2 + 0x24))" ( (pointer_expression "**(code **)(*param_2 + 0x24)" * (pointer_expression "*(code **)(*param_2 + 0x24)" * (cast_expression "(code **)(*param_2 + 0x24)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*param_2 + 0x24)" ( (binary_expression "*param_2 + 0x24" (pointer_expression "*param_2" * identifier) + number_literal) ))))) )) (argument_list "(&local_38,param_2)" ( (pointer_expression "&local_38" & identifier) , identifier ))) ;) (expression_statement "*(undefined1 **)(param_3 + 0x30) = local_38;" (assignment_expression "*(undefined1 **)(param_3 + 0x30) = local_38" (pointer_expression "*(undefined1 **)(param_3 + 0x30)" * (cast_expression "(undefined1 **)(param_3 + 0x30)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_3 + 0x30)" ( (binary_expression "param_3 + 0x30" identifier + number_literal) )))) = identifier) ;) (expression_statement "(**(code **)(*param_2 + 0x28))(&local_38,param_2);" (call_expression "(**(code **)(*param_2 + 0x28))(&local_38,param_2)" (parenthesized_expression "(**(code **)(*param_2 + 0x28))" ( (pointer_expression "**(code **)(*param_2 + 0x28)" * (pointer_expression "*(code **)(*param_2 + 0x28)" * (cast_expression "(code **)(*param_2 + 0x28)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*param_2 + 0x28)" ( (binary_expression "*param_2 + 0x28" (pointer_expression "*param_2" * identifier) + number_literal) ))))) )) (argument_list "(&local_38,param_2)" ( (pointer_expression "&local_38" & identifier) , identifier ))) ;) (expression_statement "*(undefined1 **)(param_3 + 0x34) = local_38;" (assignment_expression "*(undefined1 **)(param_3 + 0x34) = local_38" (pointer_expression "*(undefined1 **)(param_3 + 0x34)" * (cast_expression "(undefined1 **)(param_3 + 0x34)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_3 + 0x34)" ( (binary_expression "param_3 + 0x34" identifier + number_literal) )))) = identifier) ;) (return_statement "return;" return ;) (ERROR "}" }))
(translation_unit (declaration TYPE (ERROR IDENT : : IDENT : :) IDENT (ERROR < TYPE) , (ERROR (function_declarator IDENT (ERROR >) (parameter_list ( (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE (pointer_declarator * IDENT)) , (parameter_declaration TYPE IDENT) ))) { IDENT) IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) ))))) )) (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) ))))) )) (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) ))))) )) (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) ))))) )) (argument_list ( (pointer_expression & IDENT) , IDENT ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (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 ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (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 ( (pointer_expression & IDENT) , IDENT , IDENT , LIT ))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + IDENT) )))) = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != IDENT) )) (compound_statement { (expression_statement (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 ( ))) ;) })) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) ))))) )) (argument_list ( (pointer_expression & IDENT) , IDENT ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (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 ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (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 ( (pointer_expression & IDENT) , IDENT , IDENT , LIT ))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + IDENT) )))) = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != IDENT) )) (compound_statement { (expression_statement (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 ( ))) ;) })) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) ))))) )) (argument_list ( (pointer_expression & IDENT) , IDENT ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (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 ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (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 ( (pointer_expression & IDENT) , IDENT , IDENT , LIT ))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + IDENT) )))) = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != IDENT) )) (compound_statement { (expression_statement (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 ( ))) ;) })) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) ))))) )) (argument_list ( (pointer_expression & IDENT) , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (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 ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (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 ( (pointer_expression & IDENT) , IDENT , IDENT , LIT ))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + IDENT) )))) = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != IDENT) )) (compound_statement { (expression_statement (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 ( ))) ;) })) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) ))))) )) (argument_list ( (pointer_expression & IDENT) , IDENT ))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) ))))) )) (argument_list ( (pointer_expression & IDENT) , IDENT ))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (return_statement return ;) (ERROR }))
(declaration "void std::__facet_shims::__moneypunct_fill_cache<char,true>\n               (undefined4 param_1,int *param_2,int param_3)\n\n{\n  undefined1 uVar4;" (primitive_type "void") (ERROR "std::__facet_shims::" (identifier "std") (: ":") (: ":") (identifier "__facet_shims") (: ":") (: ":")) (identifier "__moneypunct_fill_cache") (ERROR "<char" (< "<") (primitive_type "char")) (, ",") (ERROR "true>\n               (undefined4 param_1,int *param_2,int param_3)\n\n{\n  undefined1" (function_declarator "true>\n               (undefined4 param_1,int *param_2,int param_3)" (identifier "true") (ERROR ">" (> ">")) (parameter_list "(undefined4 param_1,int *param_2,int param_3)" (( "(") (parameter_declaration "undefined4 param_1" (type_identifier "undefined4") (identifier "param_1")) (, ",") (parameter_declaration "int *param_2" (primitive_type "int") (pointer_declarator "*param_2" (* "*") (identifier "param_2"))) (, ",") (parameter_declaration "int param_3" (primitive_type "int") (identifier "param_3")) () ")"))) ({ "{") (identifier "undefined1")) (identifier "uVar4") (; ";")) (declaration "undefined4 uVar1;" (type_identifier "undefined4") (identifier "uVar1") (; ";")) (declaration "int iVar2;" (primitive_type "int") (identifier "iVar2") (; ";")) (declaration "int iVar3;" (primitive_type "int") (identifier "iVar3") (; ";")) (declaration "int in_t9;" (primitive_type "int") (identifier "in_t9") (; ";")) (declaration "undefined1 *local_38;" (type_identifier "undefined1") (pointer_declarator "*local_38" (* "*") (identifier "local_38")) (; ";")) (declaration "int local_34;" (primitive_type "int") (identifier "local_34") (; ";")) (declaration "undefined1 auStack_30 [20];" (type_identifier "undefined1") (array_declarator "auStack_30 [20]" (identifier "auStack_30") ([ "[") (number_literal "20") (] "]")) (; ";")) (expression_statement "uVar4 = (**(code **)(*param_2 + 8))(param_2);" (assignment_expression "uVar4 = (**(code **)(*param_2 + 8))(param_2)" (identifier "uVar4") (= "=") (call_expression "(**(code **)(*param_2 + 8))(param_2)" (parenthesized_expression "(**(code **)(*param_2 + 8))" (( "(") (pointer_expression "**(code **)(*param_2 + 8)" (* "*") (pointer_expression "*(code **)(*param_2 + 8)" (* "*") (cast_expression "(code **)(*param_2 + 8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*param_2 + 8)" (( "(") (binary_expression "*param_2 + 8" (pointer_expression "*param_2" (* "*") (identifier "param_2")) (+ "+") (number_literal "8")) () ")"))))) () ")")) (argument_list "(param_2)" (( "(") (identifier "param_2") () ")")))) (; ";")) (expression_statement "*(undefined1 *)(param_3 + 0x11) = uVar4;" (assignment_expression "*(undefined1 *)(param_3 + 0x11) = uVar4" (pointer_expression "*(undefined1 *)(param_3 + 0x11)" (* "*") (cast_expression "(undefined1 *)(param_3 + 0x11)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_3 + 0x11)" (( "(") (binary_expression "param_3 + 0x11" (identifier "param_3") (+ "+") (number_literal "0x11")) () ")")))) (= "=") (identifier "uVar4")) (; ";")) (expression_statement "uVar4 = (**(code **)(*param_2 + 0xc))(param_2);" (assignment_expression "uVar4 = (**(code **)(*param_2 + 0xc))(param_2)" (identifier "uVar4") (= "=") (call_expression "(**(code **)(*param_2 + 0xc))(param_2)" (parenthesized_expression "(**(code **)(*param_2 + 0xc))" (( "(") (pointer_expression "**(code **)(*param_2 + 0xc)" (* "*") (pointer_expression "*(code **)(*param_2 + 0xc)" (* "*") (cast_expression "(code **)(*param_2 + 0xc)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*param_2 + 0xc)" (( "(") (binary_expression "*param_2 + 0xc" (pointer_expression "*param_2" (* "*") (identifier "param_2")) (+ "+") (number_literal "0xc")) () ")"))))) () ")")) (argument_list "(param_2)" (( "(") (identifier "param_2") () ")")))) (; ";")) (expression_statement "*(undefined1 *)(param_3 + 0x12) = uVar4;" (assignment_expression "*(undefined1 *)(param_3 + 0x12) = uVar4" (pointer_expression "*(undefined1 *)(param_3 + 0x12)" (* "*") (cast_expression "(undefined1 *)(param_3 + 0x12)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_3 + 0x12)" (( "(") (binary_expression "param_3 + 0x12" (identifier "param_3") (+ "+") (number_literal "0x12")) () ")")))) (= "=") (identifier "uVar4")) (; ";")) (expression_statement "uVar1 = (**(code **)(*param_2 + 0x20))(param_2);" (assignment_expression "uVar1 = (**(code **)(*param_2 + 0x20))(param_2)" (identifier "uVar1") (= "=") (call_expression "(**(code **)(*param_2 + 0x20))(param_2)" (parenthesized_expression "(**(code **)(*param_2 + 0x20))" (( "(") (pointer_expression "**(code **)(*param_2 + 0x20)" (* "*") (pointer_expression "*(code **)(*param_2 + 0x20)" (* "*") (cast_expression "(code **)(*param_2 + 0x20)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*param_2 + 0x20)" (( "(") (binary_expression "*param_2 + 0x20" (pointer_expression "*param_2" (* "*") (identifier "param_2")) (+ "+") (number_literal "0x20")) () ")"))))) () ")")) (argument_list "(param_2)" (( "(") (identifier "param_2") () ")")))) (; ";")) (expression_statement "*(undefined4 *)(param_3 + 0x2c) = uVar1;" (assignment_expression "*(undefined4 *)(param_3 + 0x2c) = uVar1" (pointer_expression "*(undefined4 *)(param_3 + 0x2c)" (* "*") (cast_expression "(undefined4 *)(param_3 + 0x2c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_3 + 0x2c)" (( "(") (binary_expression "param_3 + 0x2c" (identifier "param_3") (+ "+") (number_literal "0x2c")) () ")")))) (= "=") (identifier "uVar1")) (; ";")) (expression_statement "*(undefined4 *)(param_3 + 8) = 0;" (assignment_expression "*(undefined4 *)(param_3 + 8) = 0" (pointer_expression "*(undefined4 *)(param_3 + 8)" (* "*") (cast_expression "(undefined4 *)(param_3 + 8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_3 + 8)" (( "(") (binary_expression "param_3 + 8" (identifier "param_3") (+ "+") (number_literal "8")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined4 *)(param_3 + 0x14) = 0;" (assignment_expression "*(undefined4 *)(param_3 + 0x14) = 0" (pointer_expression "*(undefined4 *)(param_3 + 0x14)" (* "*") (cast_expression "(undefined4 *)(param_3 + 0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_3 + 0x14)" (( "(") (binary_expression "param_3 + 0x14" (identifier "param_3") (+ "+") (number_literal "0x14")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined4 *)(param_3 + 0x1c) = 0;" (assignment_expression "*(undefined4 *)(param_3 + 0x1c) = 0" (pointer_expression "*(undefined4 *)(param_3 + 0x1c)" (* "*") (cast_expression "(undefined4 *)(param_3 + 0x1c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_3 + 0x1c)" (( "(") (binary_expression "param_3 + 0x1c" (identifier "param_3") (+ "+") (number_literal "0x1c")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined4 *)(param_3 + 0x24) = 0;" (assignment_expression "*(undefined4 *)(param_3 + 0x24) = 0" (pointer_expression "*(undefined4 *)(param_3 + 0x24)" (* "*") (cast_expression "(undefined4 *)(param_3 + 0x24)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_3 + 0x24)" (( "(") (binary_expression "param_3 + 0x24" (identifier "param_3") (+ "+") (number_literal "0x24")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined1 *)(param_3 + 0x43) = 1;" (assignment_expression "*(undefined1 *)(param_3 + 0x43) = 1" (pointer_expression "*(undefined1 *)(param_3 + 0x43)" (* "*") (cast_expression "(undefined1 *)(param_3 + 0x43)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_3 + 0x43)" (( "(") (binary_expression "param_3 + 0x43" (identifier "param_3") (+ "+") (number_literal "0x43")) () ")")))) (= "=") (number_literal "1")) (; ";")) (expression_statement "(**(code **)(*param_2 + 0x10))(&local_38,param_2);" (call_expression "(**(code **)(*param_2 + 0x10))(&local_38,param_2)" (parenthesized_expression "(**(code **)(*param_2 + 0x10))" (( "(") (pointer_expression "**(code **)(*param_2 + 0x10)" (* "*") (pointer_expression "*(code **)(*param_2 + 0x10)" (* "*") (cast_expression "(code **)(*param_2 + 0x10)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*param_2 + 0x10)" (( "(") (binary_expression "*param_2 + 0x10" (pointer_expression "*param_2" (* "*") (identifier "param_2")) (+ "+") (number_literal "0x10")) () ")"))))) () ")")) (argument_list "(&local_38,param_2)" (( "(") (pointer_expression "&local_38" (& "&") (identifier "local_38")) (, ",") (identifier "param_2") () ")"))) (; ";")) (expression_statement "iVar3 = local_34;" (assignment_expression "iVar3 = local_34" (identifier "iVar3") (= "=") (identifier "local_34")) (; ";")) (expression_statement "iVar2 = (**(code **)(in_t9 + 0x12f47c))(local_34 + 1);" (assignment_expression "iVar2 = (**(code **)(in_t9 + 0x12f47c))(local_34 + 1)" (identifier "iVar2") (= "=") (call_expression "(**(code **)(in_t9 + 0x12f47c))(local_34 + 1)" (parenthesized_expression "(**(code **)(in_t9 + 0x12f47c))" (( "(") (pointer_expression "**(code **)(in_t9 + 0x12f47c)" (* "*") (pointer_expression "*(code **)(in_t9 + 0x12f47c)" (* "*") (cast_expression "(code **)(in_t9 + 0x12f47c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(in_t9 + 0x12f47c)" (( "(") (binary_expression "in_t9 + 0x12f47c" (identifier "in_t9") (+ "+") (number_literal "0x12f47c")) () ")"))))) () ")")) (argument_list "(local_34 + 1)" (( "(") (binary_expression "local_34 + 1" (identifier "local_34") (+ "+") (number_literal "1")) () ")")))) (; ";")) (expression_statement "(**(code **)(in_t9 + 0x133384))(&local_38,iVar2,iVar3,0);" (call_expression "(**(code **)(in_t9 + 0x133384))(&local_38,iVar2,iVar3,0)" (parenthesized_expression "(**(code **)(in_t9 + 0x133384))" (( "(") (pointer_expression "**(code **)(in_t9 + 0x133384)" (* "*") (pointer_expression "*(code **)(in_t9 + 0x133384)" (* "*") (cast_expression "(code **)(in_t9 + 0x133384)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(in_t9 + 0x133384)" (( "(") (binary_expression "in_t9 + 0x133384" (identifier "in_t9") (+ "+") (number_literal "0x133384")) () ")"))))) () ")")) (argument_list "(&local_38,iVar2,iVar3,0)" (( "(") (pointer_expression "&local_38" (& "&") (identifier "local_38")) (, ",") (identifier "iVar2") (, ",") (identifier "iVar3") (, ",") (number_literal "0") () ")"))) (; ";")) (expression_statement "*(int *)(param_3 + 8) = iVar2;" (assignment_expression "*(int *)(param_3 + 8) = iVar2" (pointer_expression "*(int *)(param_3 + 8)" (* "*") (cast_expression "(int *)(param_3 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_3 + 8)" (( "(") (binary_expression "param_3 + 8" (identifier "param_3") (+ "+") (number_literal "8")) () ")")))) (= "=") (identifier "iVar2")) (; ";")) (expression_statement "*(int *)(param_3 + 0xc) = iVar3;" (assignment_expression "*(int *)(param_3 + 0xc) = iVar3" (pointer_expression "*(int *)(param_3 + 0xc)" (* "*") (cast_expression "(int *)(param_3 + 0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_3 + 0xc)" (( "(") (binary_expression "param_3 + 0xc" (identifier "param_3") (+ "+") (number_literal "0xc")) () ")")))) (= "=") (identifier "iVar3")) (; ";")) (expression_statement "*(undefined1 *)(iVar2 + iVar3) = 0;" (assignment_expression "*(undefined1 *)(iVar2 + iVar3) = 0" (pointer_expression "*(undefined1 *)(iVar2 + iVar3)" (* "*") (cast_expression "(undefined1 *)(iVar2 + iVar3)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar2 + iVar3)" (( "(") (binary_expression "iVar2 + iVar3" (identifier "iVar2") (+ "+") (identifier "iVar3")) () ")")))) (= "=") (number_literal "0")) (; ";")) (if_statement "if (local_38 != auStack_30) {\n    (**(code **)(in_t9 + 0x12f42c))();\n  }" (if "if") (parenthesized_expression "(local_38 != auStack_30)" (( "(") (binary_expression "local_38 != auStack_30" (identifier "local_38") (!= "!=") (identifier "auStack_30")) () ")")) (compound_statement "{\n    (**(code **)(in_t9 + 0x12f42c))();\n  }" ({ "{") (expression_statement "(**(code **)(in_t9 + 0x12f42c))();" (call_expression "(**(code **)(in_t9 + 0x12f42c))()" (parenthesized_expression "(**(code **)(in_t9 + 0x12f42c))" (( "(") (pointer_expression "**(code **)(in_t9 + 0x12f42c)" (* "*") (pointer_expression "*(code **)(in_t9 + 0x12f42c)" (* "*") (cast_expression "(code **)(in_t9 + 0x12f42c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(in_t9 + 0x12f42c)" (( "(") (binary_expression "in_t9 + 0x12f42c" (identifier "in_t9") (+ "+") (number_literal "0x12f42c")) () ")"))))) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (expression_statement "(**(code **)(*param_2 + 0x14))(&local_38,param_2);" (call_expression "(**(code **)(*param_2 + 0x14))(&local_38,param_2)" (parenthesized_expression "(**(code **)(*param_2 + 0x14))" (( "(") (pointer_expression "**(code **)(*param_2 + 0x14)" (* "*") (pointer_expression "*(code **)(*param_2 + 0x14)" (* "*") (cast_expression "(code **)(*param_2 + 0x14)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*param_2 + 0x14)" (( "(") (binary_expression "*param_2 + 0x14" (pointer_expression "*param_2" (* "*") (identifier "param_2")) (+ "+") (number_literal "0x14")) () ")"))))) () ")")) (argument_list "(&local_38,param_2)" (( "(") (pointer_expression "&local_38" (& "&") (identifier "local_38")) (, ",") (identifier "param_2") () ")"))) (; ";")) (expression_statement "iVar3 = local_34;" (assignment_expression "iVar3 = local_34" (identifier "iVar3") (= "=") (identifier "local_34")) (; ";")) (expression_statement "iVar2 = (**(code **)(in_t9 + 0x12f47c))(local_34 + 1);" (assignment_expression "iVar2 = (**(code **)(in_t9 + 0x12f47c))(local_34 + 1)" (identifier "iVar2") (= "=") (call_expression "(**(code **)(in_t9 + 0x12f47c))(local_34 + 1)" (parenthesized_expression "(**(code **)(in_t9 + 0x12f47c))" (( "(") (pointer_expression "**(code **)(in_t9 + 0x12f47c)" (* "*") (pointer_expression "*(code **)(in_t9 + 0x12f47c)" (* "*") (cast_expression "(code **)(in_t9 + 0x12f47c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(in_t9 + 0x12f47c)" (( "(") (binary_expression "in_t9 + 0x12f47c" (identifier "in_t9") (+ "+") (number_literal "0x12f47c")) () ")"))))) () ")")) (argument_list "(local_34 + 1)" (( "(") (binary_expression "local_34 + 1" (identifier "local_34") (+ "+") (number_literal "1")) () ")")))) (; ";")) (expression_statement "(**(code **)(in_t9 + 0x133384))(&local_38,iVar2,iVar3,0);" (call_expression "(**(code **)(in_t9 + 0x133384))(&local_38,iVar2,iVar3,0)" (parenthesized_expression "(**(code **)(in_t9 + 0x133384))" (( "(") (pointer_expression "**(code **)(in_t9 + 0x133384)" (* "*") (pointer_expression "*(code **)(in_t9 + 0x133384)" (* "*") (cast_expression "(code **)(in_t9 + 0x133384)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(in_t9 + 0x133384)" (( "(") (binary_expression "in_t9 + 0x133384" (identifier "in_t9") (+ "+") (number_literal "0x133384")) () ")"))))) () ")")) (argument_list "(&local_38,iVar2,iVar3,0)" (( "(") (pointer_expression "&local_38" (& "&") (identifier "local_38")) (, ",") (identifier "iVar2") (, ",") (identifier "iVar3") (, ",") (number_literal "0") () ")"))) (; ";")) (expression_statement "*(int *)(param_3 + 0x14) = iVar2;" (assignment_expression "*(int *)(param_3 + 0x14) = iVar2" (pointer_expression "*(int *)(param_3 + 0x14)" (* "*") (cast_expression "(int *)(param_3 + 0x14)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_3 + 0x14)" (( "(") (binary_expression "param_3 + 0x14" (identifier "param_3") (+ "+") (number_literal "0x14")) () ")")))) (= "=") (identifier "iVar2")) (; ";")) (expression_statement "*(int *)(param_3 + 0x18) = iVar3;" (assignment_expression "*(int *)(param_3 + 0x18) = iVar3" (pointer_expression "*(int *)(param_3 + 0x18)" (* "*") (cast_expression "(int *)(param_3 + 0x18)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_3 + 0x18)" (( "(") (binary_expression "param_3 + 0x18" (identifier "param_3") (+ "+") (number_literal "0x18")) () ")")))) (= "=") (identifier "iVar3")) (; ";")) (expression_statement "*(undefined1 *)(iVar2 + iVar3) = 0;" (assignment_expression "*(undefined1 *)(iVar2 + iVar3) = 0" (pointer_expression "*(undefined1 *)(iVar2 + iVar3)" (* "*") (cast_expression "(undefined1 *)(iVar2 + iVar3)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar2 + iVar3)" (( "(") (binary_expression "iVar2 + iVar3" (identifier "iVar2") (+ "+") (identifier "iVar3")) () ")")))) (= "=") (number_literal "0")) (; ";")) (if_statement "if (local_38 != auStack_30) {\n    (**(code **)(in_t9 + 0x12f42c))();\n  }" (if "if") (parenthesized_expression "(local_38 != auStack_30)" (( "(") (binary_expression "local_38 != auStack_30" (identifier "local_38") (!= "!=") (identifier "auStack_30")) () ")")) (compound_statement "{\n    (**(code **)(in_t9 + 0x12f42c))();\n  }" ({ "{") (expression_statement "(**(code **)(in_t9 + 0x12f42c))();" (call_expression "(**(code **)(in_t9 + 0x12f42c))()" (parenthesized_expression "(**(code **)(in_t9 + 0x12f42c))" (( "(") (pointer_expression "**(code **)(in_t9 + 0x12f42c)" (* "*") (pointer_expression "*(code **)(in_t9 + 0x12f42c)" (* "*") (cast_expression "(code **)(in_t9 + 0x12f42c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(in_t9 + 0x12f42c)" (( "(") (binary_expression "in_t9 + 0x12f42c" (identifier "in_t9") (+ "+") (number_literal "0x12f42c")) () ")"))))) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (expression_statement "(**(code **)(*param_2 + 0x18))(&local_38,param_2);" (call_expression "(**(code **)(*param_2 + 0x18))(&local_38,param_2)" (parenthesized_expression "(**(code **)(*param_2 + 0x18))" (( "(") (pointer_expression "**(code **)(*param_2 + 0x18)" (* "*") (pointer_expression "*(code **)(*param_2 + 0x18)" (* "*") (cast_expression "(code **)(*param_2 + 0x18)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*param_2 + 0x18)" (( "(") (binary_expression "*param_2 + 0x18" (pointer_expression "*param_2" (* "*") (identifier "param_2")) (+ "+") (number_literal "0x18")) () ")"))))) () ")")) (argument_list "(&local_38,param_2)" (( "(") (pointer_expression "&local_38" (& "&") (identifier "local_38")) (, ",") (identifier "param_2") () ")"))) (; ";")) (expression_statement "iVar3 = local_34;" (assignment_expression "iVar3 = local_34" (identifier "iVar3") (= "=") (identifier "local_34")) (; ";")) (expression_statement "iVar2 = (**(code **)(in_t9 + 0x12f47c))(local_34 + 1);" (assignment_expression "iVar2 = (**(code **)(in_t9 + 0x12f47c))(local_34 + 1)" (identifier "iVar2") (= "=") (call_expression "(**(code **)(in_t9 + 0x12f47c))(local_34 + 1)" (parenthesized_expression "(**(code **)(in_t9 + 0x12f47c))" (( "(") (pointer_expression "**(code **)(in_t9 + 0x12f47c)" (* "*") (pointer_expression "*(code **)(in_t9 + 0x12f47c)" (* "*") (cast_expression "(code **)(in_t9 + 0x12f47c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(in_t9 + 0x12f47c)" (( "(") (binary_expression "in_t9 + 0x12f47c" (identifier "in_t9") (+ "+") (number_literal "0x12f47c")) () ")"))))) () ")")) (argument_list "(local_34 + 1)" (( "(") (binary_expression "local_34 + 1" (identifier "local_34") (+ "+") (number_literal "1")) () ")")))) (; ";")) (expression_statement "(**(code **)(in_t9 + 0x133384))(&local_38,iVar2,iVar3,0);" (call_expression "(**(code **)(in_t9 + 0x133384))(&local_38,iVar2,iVar3,0)" (parenthesized_expression "(**(code **)(in_t9 + 0x133384))" (( "(") (pointer_expression "**(code **)(in_t9 + 0x133384)" (* "*") (pointer_expression "*(code **)(in_t9 + 0x133384)" (* "*") (cast_expression "(code **)(in_t9 + 0x133384)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(in_t9 + 0x133384)" (( "(") (binary_expression "in_t9 + 0x133384" (identifier "in_t9") (+ "+") (number_literal "0x133384")) () ")"))))) () ")")) (argument_list "(&local_38,iVar2,iVar3,0)" (( "(") (pointer_expression "&local_38" (& "&") (identifier "local_38")) (, ",") (identifier "iVar2") (, ",") (identifier "iVar3") (, ",") (number_literal "0") () ")"))) (; ";")) (expression_statement "*(int *)(param_3 + 0x1c) = iVar2;" (assignment_expression "*(int *)(param_3 + 0x1c) = iVar2" (pointer_expression "*(int *)(param_3 + 0x1c)" (* "*") (cast_expression "(int *)(param_3 + 0x1c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_3 + 0x1c)" (( "(") (binary_expression "param_3 + 0x1c" (identifier "param_3") (+ "+") (number_literal "0x1c")) () ")")))) (= "=") (identifier "iVar2")) (; ";")) (expression_statement "*(int *)(param_3 + 0x20) = iVar3;" (assignment_expression "*(int *)(param_3 + 0x20) = iVar3" (pointer_expression "*(int *)(param_3 + 0x20)" (* "*") (cast_expression "(int *)(param_3 + 0x20)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_3 + 0x20)" (( "(") (binary_expression "param_3 + 0x20" (identifier "param_3") (+ "+") (number_literal "0x20")) () ")")))) (= "=") (identifier "iVar3")) (; ";")) (expression_statement "*(undefined1 *)(iVar2 + iVar3) = 0;" (assignment_expression "*(undefined1 *)(iVar2 + iVar3) = 0" (pointer_expression "*(undefined1 *)(iVar2 + iVar3)" (* "*") (cast_expression "(undefined1 *)(iVar2 + iVar3)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar2 + iVar3)" (( "(") (binary_expression "iVar2 + iVar3" (identifier "iVar2") (+ "+") (identifier "iVar3")) () ")")))) (= "=") (number_literal "0")) (; ";")) (if_statement "if (local_38 != auStack_30) {\n    (**(code **)(in_t9 + 0x12f42c))();\n  }" (if "if") (parenthesized_expression "(local_38 != auStack_30)" (( "(") (binary_expression "local_38 != auStack_30" (identifier "local_38") (!= "!=") (identifier "auStack_30")) () ")")) (compound_statement "{\n    (**(code **)(in_t9 + 0x12f42c))();\n  }" ({ "{") (expression_statement "(**(code **)(in_t9 + 0x12f42c))();" (call_expression "(**(code **)(in_t9 + 0x12f42c))()" (parenthesized_expression "(**(code **)(in_t9 + 0x12f42c))" (( "(") (pointer_expression "**(code **)(in_t9 + 0x12f42c)" (* "*") (pointer_expression "*(code **)(in_t9 + 0x12f42c)" (* "*") (cast_expression "(code **)(in_t9 + 0x12f42c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(in_t9 + 0x12f42c)" (( "(") (binary_expression "in_t9 + 0x12f42c" (identifier "in_t9") (+ "+") (number_literal "0x12f42c")) () ")"))))) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (expression_statement "(**(code **)(*param_2 + 0x1c))(&local_38,param_2);" (call_expression "(**(code **)(*param_2 + 0x1c))(&local_38,param_2)" (parenthesized_expression "(**(code **)(*param_2 + 0x1c))" (( "(") (pointer_expression "**(code **)(*param_2 + 0x1c)" (* "*") (pointer_expression "*(code **)(*param_2 + 0x1c)" (* "*") (cast_expression "(code **)(*param_2 + 0x1c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*param_2 + 0x1c)" (( "(") (binary_expression "*param_2 + 0x1c" (pointer_expression "*param_2" (* "*") (identifier "param_2")) (+ "+") (number_literal "0x1c")) () ")"))))) () ")")) (argument_list "(&local_38,param_2)" (( "(") (pointer_expression "&local_38" (& "&") (identifier "local_38")) (, ",") (identifier "param_2") () ")"))) (; ";")) (expression_statement "iVar3 = (**(code **)(in_t9 + 0x12f47c))(local_34 + 1);" (assignment_expression "iVar3 = (**(code **)(in_t9 + 0x12f47c))(local_34 + 1)" (identifier "iVar3") (= "=") (call_expression "(**(code **)(in_t9 + 0x12f47c))(local_34 + 1)" (parenthesized_expression "(**(code **)(in_t9 + 0x12f47c))" (( "(") (pointer_expression "**(code **)(in_t9 + 0x12f47c)" (* "*") (pointer_expression "*(code **)(in_t9 + 0x12f47c)" (* "*") (cast_expression "(code **)(in_t9 + 0x12f47c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(in_t9 + 0x12f47c)" (( "(") (binary_expression "in_t9 + 0x12f47c" (identifier "in_t9") (+ "+") (number_literal "0x12f47c")) () ")"))))) () ")")) (argument_list "(local_34 + 1)" (( "(") (binary_expression "local_34 + 1" (identifier "local_34") (+ "+") (number_literal "1")) () ")")))) (; ";")) (expression_statement "(**(code **)(in_t9 + 0x133384))(&local_38,iVar3,local_34,0);" (call_expression "(**(code **)(in_t9 + 0x133384))(&local_38,iVar3,local_34,0)" (parenthesized_expression "(**(code **)(in_t9 + 0x133384))" (( "(") (pointer_expression "**(code **)(in_t9 + 0x133384)" (* "*") (pointer_expression "*(code **)(in_t9 + 0x133384)" (* "*") (cast_expression "(code **)(in_t9 + 0x133384)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(in_t9 + 0x133384)" (( "(") (binary_expression "in_t9 + 0x133384" (identifier "in_t9") (+ "+") (number_literal "0x133384")) () ")"))))) () ")")) (argument_list "(&local_38,iVar3,local_34,0)" (( "(") (pointer_expression "&local_38" (& "&") (identifier "local_38")) (, ",") (identifier "iVar3") (, ",") (identifier "local_34") (, ",") (number_literal "0") () ")"))) (; ";")) (expression_statement "*(int *)(param_3 + 0x24) = iVar3;" (assignment_expression "*(int *)(param_3 + 0x24) = iVar3" (pointer_expression "*(int *)(param_3 + 0x24)" (* "*") (cast_expression "(int *)(param_3 + 0x24)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_3 + 0x24)" (( "(") (binary_expression "param_3 + 0x24" (identifier "param_3") (+ "+") (number_literal "0x24")) () ")")))) (= "=") (identifier "iVar3")) (; ";")) (expression_statement "*(int *)(param_3 + 0x28) = local_34;" (assignment_expression "*(int *)(param_3 + 0x28) = local_34" (pointer_expression "*(int *)(param_3 + 0x28)" (* "*") (cast_expression "(int *)(param_3 + 0x28)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_3 + 0x28)" (( "(") (binary_expression "param_3 + 0x28" (identifier "param_3") (+ "+") (number_literal "0x28")) () ")")))) (= "=") (identifier "local_34")) (; ";")) (expression_statement "*(undefined1 *)(iVar3 + local_34) = 0;" (assignment_expression "*(undefined1 *)(iVar3 + local_34) = 0" (pointer_expression "*(undefined1 *)(iVar3 + local_34)" (* "*") (cast_expression "(undefined1 *)(iVar3 + local_34)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar3 + local_34)" (( "(") (binary_expression "iVar3 + local_34" (identifier "iVar3") (+ "+") (identifier "local_34")) () ")")))) (= "=") (number_literal "0")) (; ";")) (if_statement "if (local_38 != auStack_30) {\n    (**(code **)(in_t9 + 0x12f42c))();\n  }" (if "if") (parenthesized_expression "(local_38 != auStack_30)" (( "(") (binary_expression "local_38 != auStack_30" (identifier "local_38") (!= "!=") (identifier "auStack_30")) () ")")) (compound_statement "{\n    (**(code **)(in_t9 + 0x12f42c))();\n  }" ({ "{") (expression_statement "(**(code **)(in_t9 + 0x12f42c))();" (call_expression "(**(code **)(in_t9 + 0x12f42c))()" (parenthesized_expression "(**(code **)(in_t9 + 0x12f42c))" (( "(") (pointer_expression "**(code **)(in_t9 + 0x12f42c)" (* "*") (pointer_expression "*(code **)(in_t9 + 0x12f42c)" (* "*") (cast_expression "(code **)(in_t9 + 0x12f42c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(in_t9 + 0x12f42c)" (( "(") (binary_expression "in_t9 + 0x12f42c" (identifier "in_t9") (+ "+") (number_literal "0x12f42c")) () ")"))))) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (expression_statement "(**(code **)(*param_2 + 0x24))(&local_38,param_2);" (call_expression "(**(code **)(*param_2 + 0x24))(&local_38,param_2)" (parenthesized_expression "(**(code **)(*param_2 + 0x24))" (( "(") (pointer_expression "**(code **)(*param_2 + 0x24)" (* "*") (pointer_expression "*(code **)(*param_2 + 0x24)" (* "*") (cast_expression "(code **)(*param_2 + 0x24)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*param_2 + 0x24)" (( "(") (binary_expression "*param_2 + 0x24" (pointer_expression "*param_2" (* "*") (identifier "param_2")) (+ "+") (number_literal "0x24")) () ")"))))) () ")")) (argument_list "(&local_38,param_2)" (( "(") (pointer_expression "&local_38" (& "&") (identifier "local_38")) (, ",") (identifier "param_2") () ")"))) (; ";")) (expression_statement "*(undefined1 **)(param_3 + 0x30) = local_38;" (assignment_expression "*(undefined1 **)(param_3 + 0x30) = local_38" (pointer_expression "*(undefined1 **)(param_3 + 0x30)" (* "*") (cast_expression "(undefined1 **)(param_3 + 0x30)" (( "(") (type_descriptor "undefined1 **" (type_identifier "undefined1") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_3 + 0x30)" (( "(") (binary_expression "param_3 + 0x30" (identifier "param_3") (+ "+") (number_literal "0x30")) () ")")))) (= "=") (identifier "local_38")) (; ";")) (expression_statement "(**(code **)(*param_2 + 0x28))(&local_38,param_2);" (call_expression "(**(code **)(*param_2 + 0x28))(&local_38,param_2)" (parenthesized_expression "(**(code **)(*param_2 + 0x28))" (( "(") (pointer_expression "**(code **)(*param_2 + 0x28)" (* "*") (pointer_expression "*(code **)(*param_2 + 0x28)" (* "*") (cast_expression "(code **)(*param_2 + 0x28)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*param_2 + 0x28)" (( "(") (binary_expression "*param_2 + 0x28" (pointer_expression "*param_2" (* "*") (identifier "param_2")) (+ "+") (number_literal "0x28")) () ")"))))) () ")")) (argument_list "(&local_38,param_2)" (( "(") (pointer_expression "&local_38" (& "&") (identifier "local_38")) (, ",") (identifier "param_2") () ")"))) (; ";")) (expression_statement "*(undefined1 **)(param_3 + 0x34) = local_38;" (assignment_expression "*(undefined1 **)(param_3 + 0x34) = local_38" (pointer_expression "*(undefined1 **)(param_3 + 0x34)" (* "*") (cast_expression "(undefined1 **)(param_3 + 0x34)" (( "(") (type_descriptor "undefined1 **" (type_identifier "undefined1") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_3 + 0x34)" (( "(") (binary_expression "param_3 + 0x34" (identifier "param_3") (+ "+") (number_literal "0x34")) () ")")))) (= "=") (identifier "local_38")) (; ";")) (return_statement "return;" (return "return") (; ";")) (ERROR "}" (} "}"))

/* void std::__facet_shims::__moneypunct_fill_cache<char, true>(std::integral_constant<bool, true>,
   std::locale::facet const*, std::__moneypunct_cache<char, true>*) */

void std::__facet_shims::__moneypunct_fill_cache<char,true>
               (type_1 param_1,int *param_2,int var_1)

{
  type_2 uVar4;
  type_1 uVar1;
  int var_4;
  int var_5;
  int var_2;
  type_2 *var_6;
  int var_3;
  type_2 var_7 [20];
  
  uVar4 = (**(type_3 **)(*param_2 + 8))(param_2);
  *(type_2 *)(var_1 + 0x11) = uVar4;
  uVar4 = (**(type_3 **)(*param_2 + 0xc))(param_2);
  *(type_2 *)(var_1 + 0x12) = uVar4;
  uVar1 = (**(type_3 **)(*param_2 + 0x20))(param_2);
  *(type_1 *)(var_1 + 0x2c) = uVar1;
  *(type_1 *)(var_1 + 8) = 0;
  *(type_1 *)(var_1 + 0x14) = 0;
  *(type_1 *)(var_1 + 0x1c) = 0;
  *(type_1 *)(var_1 + 0x24) = 0;
  *(type_2 *)(var_1 + 0x43) = 1;
  (**(type_3 **)(*param_2 + 0x10))(&var_6,param_2);
  var_5 = var_3;
                    /* try { // try from 00302f14 to 00302f3b has its CatchHandler @ 00303114 */
  var_4 = (**(type_3 **)(var_2 + 0x12f47c))(var_3 + 1);
  (**(type_3 **)(var_2 + 0x133384))(&var_6,var_4,var_5,0);
  *(int *)(var_1 + 8) = var_4;
  *(int *)(var_1 + 0xc) = var_5;
  *(type_2 *)(var_4 + var_5) = 0;
  if (var_6 != var_7) {
    (**(type_3 **)(var_2 + 0x12f42c))();
  }
  (**(type_3 **)(*param_2 + 0x14))(&var_6,param_2);
  var_5 = var_3;
                    /* try { // try from 00302f88 to 00302faf has its CatchHandler @ 00303170 */
  var_4 = (**(type_3 **)(var_2 + 0x12f47c))(var_3 + 1);
  (**(type_3 **)(var_2 + 0x133384))(&var_6,var_4,var_5,0);
  *(int *)(var_1 + 0x14) = var_4;
  *(int *)(var_1 + 0x18) = var_5;
  *(type_2 *)(var_4 + var_5) = 0;
  if (var_6 != var_7) {
    (**(type_3 **)(var_2 + 0x12f42c))();
  }
  (**(type_3 **)(*param_2 + 0x18))(&var_6,param_2);
  var_5 = var_3;
                    /* try { // try from 00302ff8 to 0030301f has its CatchHandler @ 00303168 */
  var_4 = (**(type_3 **)(var_2 + 0x12f47c))(var_3 + 1);
  (**(type_3 **)(var_2 + 0x133384))(&var_6,var_4,var_5,0);
  *(int *)(var_1 + 0x1c) = var_4;
  *(int *)(var_1 + 0x20) = var_5;
  *(type_2 *)(var_4 + var_5) = 0;
  if (var_6 != var_7) {
    (**(type_3 **)(var_2 + 0x12f42c))();
  }
  (**(type_3 **)(*param_2 + 0x1c))(&var_6,param_2);
                    /* try { // try from 00303068 to 0030308f has its CatchHandler @ 00303144 */
  var_5 = (**(type_3 **)(var_2 + 0x12f47c))(var_3 + 1);
  (**(type_3 **)(var_2 + 0x133384))(&var_6,var_5,var_3,0);
  *(int *)(var_1 + 0x24) = var_5;
  *(int *)(var_1 + 0x28) = var_3;
  *(type_2 *)(var_5 + var_3) = 0;
  if (var_6 != var_7) {
    (**(type_3 **)(var_2 + 0x12f42c))();
  }
  (**(type_3 **)(*param_2 + 0x24))(&var_6,param_2);
  *(type_2 **)(var_1 + 0x30) = var_6;
  (**(type_3 **)(*param_2 + 0x28))(&var_6,param_2);
  *(type_2 **)(var_1 + 0x34) = var_6;
  return;
}


(translation_unit (declaration type: (primitive_type) (ERROR (identifier) (identifier)) declarator: (identifier) (ERROR (primitive_type)) (ERROR (function_declarator declarator: (identifier) (ERROR) parameters: (parameter_list (parameter_declaration type: (type_identifier) declarator: (identifier)) (parameter_declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (parameter_declaration type: (primitive_type) declarator: (identifier)))) (identifier)) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (array_declarator declarator: (identifier) size: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (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: (pointer_expression argument: (identifier)) right: (number_literal))))))) arguments: (argument_list (identifier))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (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: (pointer_expression argument: (identifier)) right: (number_literal))))))) arguments: (argument_list (identifier))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (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: (pointer_expression argument: (identifier)) right: (number_literal))))))) arguments: (argument_list (identifier))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (expression_statement (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: (pointer_expression argument: (identifier)) right: (number_literal))))))) arguments: (argument_list (pointer_expression argument: (identifier)) (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (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 (binary_expression left: (identifier) right: (number_literal)))))) (expression_statement (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 (pointer_expression argument: (identifier)) (identifier) (identifier) (number_literal)))) (expression_statement (assignment_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: (identifier))) (expression_statement (assignment_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: (identifier))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))))) right: (number_literal))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (compound_statement (expression_statement (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))))) (expression_statement (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: (pointer_expression argument: (identifier)) right: (number_literal))))))) arguments: (argument_list (pointer_expression argument: (identifier)) (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (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 (binary_expression left: (identifier) right: (number_literal)))))) (expression_statement (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 (pointer_expression argument: (identifier)) (identifier) (identifier) (number_literal)))) (expression_statement (assignment_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: (identifier))) (expression_statement (assignment_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: (identifier))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))))) right: (number_literal))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (compound_statement (expression_statement (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))))) (expression_statement (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: (pointer_expression argument: (identifier)) right: (number_literal))))))) arguments: (argument_list (pointer_expression argument: (identifier)) (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (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 (binary_expression left: (identifier) right: (number_literal)))))) (expression_statement (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 (pointer_expression argument: (identifier)) (identifier) (identifier) (number_literal)))) (expression_statement (assignment_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: (identifier))) (expression_statement (assignment_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: (identifier))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))))) right: (number_literal))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (compound_statement (expression_statement (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))))) (expression_statement (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: (pointer_expression argument: (identifier)) right: (number_literal))))))) arguments: (argument_list (pointer_expression argument: (identifier)) (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (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 (binary_expression left: (identifier) right: (number_literal)))))) (expression_statement (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 (pointer_expression argument: (identifier)) (identifier) (identifier) (number_literal)))) (expression_statement (assignment_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: (identifier))) (expression_statement (assignment_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: (identifier))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))))) right: (number_literal))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (compound_statement (expression_statement (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))))) (expression_statement (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: (pointer_expression argument: (identifier)) right: (number_literal))))))) arguments: (argument_list (pointer_expression argument: (identifier)) (identifier)))) (expression_statement (assignment_expression left: (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))))) right: (identifier))) (expression_statement (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: (pointer_expression argument: (identifier)) right: (number_literal))))))) arguments: (argument_list (pointer_expression argument: (identifier)) (identifier)))) (expression_statement (assignment_expression left: (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))))) right: (identifier))) (return_statement) (ERROR))

/* void std::__facet_shims::__moneypunct_fill_cache<char, true>(std::integral_constant<bool, true>,
   std::locale::facet const*, std::__moneypunct_cache<char, true>*) */

void std::__facet_shims::MASKED
               (undefined4 param_1,int *param_2,int param_3)

{
  undefined1 uVar4;
  undefined4 uVar1;
  int iVar2;
  int iVar3;
  int in_t9;
  undefined1 *local_38;
  int local_34;
  undefined1 auStack_30 [20];
  
  uVar4 = (**(code **)(*param_2 + 8))(param_2);
  *(undefined1 *)(param_3 + 0x11) = uVar4;
  uVar4 = (**(code **)(*param_2 + 0xc))(param_2);
  *(undefined1 *)(param_3 + 0x12) = uVar4;
  uVar1 = (**(code **)(*param_2 + 0x20))(param_2);
  *(undefined4 *)(param_3 + 0x2c) = uVar1;
  *(undefined4 *)(param_3 + 8) = 0;
  *(undefined4 *)(param_3 + 0x14) = 0;
  *(undefined4 *)(param_3 + 0x1c) = 0;
  *(undefined4 *)(param_3 + 0x24) = 0;
  *(undefined1 *)(param_3 + 0x43) = 1;
  (**(code **)(*param_2 + 0x10))(&local_38,param_2);
  iVar3 = local_34;
                    /* try { // try from 00302f14 to 00302f3b has its CatchHandler @ 00303114 */
  iVar2 = (**(code **)(in_t9 + 0x12f47c))(local_34 + 1);
  (**(code **)(in_t9 + 0x133384))(&local_38,iVar2,iVar3,0);
  *(int *)(param_3 + 8) = iVar2;
  *(int *)(param_3 + 0xc) = iVar3;
  *(undefined1 *)(iVar2 + iVar3) = 0;
  if (local_38 != auStack_30) {
    (**(code **)(in_t9 + 0x12f42c))();
  }
  (**(code **)(*param_2 + 0x14))(&local_38,param_2);
  iVar3 = local_34;
                    /* try { // try from 00302f88 to 00302faf has its CatchHandler @ 00303170 */
  iVar2 = (**(code **)(in_t9 + 0x12f47c))(local_34 + 1);
  (**(code **)(in_t9 + 0x133384))(&local_38,iVar2,iVar3,0);
  *(int *)(param_3 + 0x14) = iVar2;
  *(int *)(param_3 + 0x18) = iVar3;
  *(undefined1 *)(iVar2 + iVar3) = 0;
  if (local_38 != auStack_30) {
    (**(code **)(in_t9 + 0x12f42c))();
  }
  (**(code **)(*param_2 + 0x18))(&local_38,param_2);
  iVar3 = local_34;
                    /* try { // try from 00302ff8 to 0030301f has its CatchHandler @ 00303168 */
  iVar2 = (**(code **)(in_t9 + 0x12f47c))(local_34 + 1);
  (**(code **)(in_t9 + 0x133384))(&local_38,iVar2,iVar3,0);
  *(int *)(param_3 + 0x1c) = iVar2;
  *(int *)(param_3 + 0x20) = iVar3;
  *(undefined1 *)(iVar2 + iVar3) = 0;
  if (local_38 != auStack_30) {
    (**(code **)(in_t9 + 0x12f42c))();
  }
  (**(code **)(*param_2 + 0x1c))(&local_38,param_2);
                    /* try { // try from 00303068 to 0030308f has its CatchHandler @ 00303144 */
  iVar3 = (**(code **)(in_t9 + 0x12f47c))(local_34 + 1);
  (**(code **)(in_t9 + 0x133384))(&local_38,iVar3,local_34,0);
  *(int *)(param_3 + 0x24) = iVar3;
  *(int *)(param_3 + 0x28) = local_34;
  *(undefined1 *)(iVar3 + local_34) = 0;
  if (local_38 != auStack_30) {
    (**(code **)(in_t9 + 0x12f42c))();
  }
  (**(code **)(*param_2 + 0x24))(&local_38,param_2);
  *(undefined1 **)(param_3 + 0x30) = local_38;
  (**(code **)(*param_2 + 0x28))(&local_38,param_2);
  *(undefined1 **)(param_3 + 0x34) = local_38;
  return;
}

