
/* std::locale::_Impl::_M_init_extra(void*, void*, char const*, char const*) */

void std::locale::_Impl::_M_init_extra(void *param_1,void *param_2,char *param_3,char *param_4)

{
  undefined *puVar1;
  undefined *puVar2;
  undefined4 *puVar3;
  int iVar4;
  undefined4 uVar5;
  int iVar6;
  int iVar7;
  undefined4 in_stack_00000010;
  undefined4 local_30 [3];
  
  puVar3 = (undefined4 *)(*(code *)PTR_operator_new_0043233c)(0xc);
                    /* WARNING: Load size is inaccurate */
  uVar5 = *param_2;
  puVar3[1] = 0;
  puVar3[2] = 0;
  puVar2 = PTR__M_initialize_numpunct_0043234c;
                    /* try { // try from 0035b178 to 0035b17f has its CatchHandler @ 0035ba00 */
  *puVar3 = PTR_vtable_00432348 + 8;
  (*(code *)puVar2)(puVar3,uVar5);
  puVar2 = PTR___pthread_key_create_0043667c;
  if (PTR___pthread_key_create_0043667c == (undefined *)0x0) {
    puVar3[1] = puVar3[1] + 1;
  }
  else {
    SYNC(0);
    puVar3[1] = puVar3[1] + 1;
    SYNC(0);
  }
  iVar6 = *(int *)((int)param_1 + 4);
  iVar4 = (*(code *)PTR__M_id_00433800)(PTR_id_004322fc);
  puVar1 = PTR_operator_new_0043233c;
  *(undefined4 **)(iVar6 + iVar4 * 4) = puVar3;
  puVar3 = (undefined4 *)(*(code *)puVar1)(0xc);
                    /* WARNING: Load size is inaccurate */
  local_30[0] = *param_2;
  puVar3[1] = 0;
  puVar1 = PTR__S_clone_c_locale_004337ec;
  *puVar3 = PTR_vtable_00432290 + 8;
  uVar5 = (*(code *)puVar1)(local_30);
  puVar3[2] = uVar5;
  if (puVar2 == (undefined *)0x0) {
    puVar3[1] = puVar3[1] + 1;
  }
  else {
    SYNC(0);
    puVar3[1] = puVar3[1] + 1;
    SYNC(0);
  }
  iVar6 = *(int *)((int)param_1 + 4);
  iVar4 = (*(code *)PTR__M_id_00433800)(PTR_id_00432300);
  puVar1 = PTR_operator_new_0043233c;
  *(undefined4 **)(iVar6 + iVar4 * 4) = puVar3;
  puVar3 = (undefined4 *)(*(code *)puVar1)(0xc);
                    /* WARNING: Load size is inaccurate */
  uVar5 = *param_2;
  puVar3[1] = 0;
  puVar3[2] = 0;
  puVar1 = PTR__M_initialize_moneypunct_00432370;
                    /* try { // try from 0035b284 to 0035b28b has its CatchHandler @ 0035b9cc */
  *puVar3 = PTR_vtable_0043236c + 8;
  (*(code *)puVar1)(puVar3,uVar5,0);
  if (puVar2 == (undefined *)0x0) {
    puVar3[1] = puVar3[1] + 1;
  }
  else {
    SYNC(0);
    puVar3[1] = puVar3[1] + 1;
    SYNC(0);
  }
  iVar6 = *(int *)((int)param_1 + 4);
  iVar4 = (*(code *)PTR__M_id_00433800)(PTR_id_00432314);
  puVar1 = PTR_operator_new_0043233c;
  *(undefined4 **)(iVar6 + iVar4 * 4) = puVar3;
  puVar3 = (undefined4 *)(*(code *)puVar1)(0xc);
                    /* WARNING: Load size is inaccurate */
  uVar5 = *param_2;
  puVar3[1] = 0;
  puVar3[2] = 0;
  puVar1 = PTR__M_initialize_moneypunct_00432360;
                    /* try { // try from 0035b304 to 0035b30b has its CatchHandler @ 0035b994 */
  *puVar3 = PTR_vtable_0043235c + 8;
  (*(code *)puVar1)(puVar3,uVar5,0);
  if (puVar2 == (undefined *)0x0) {
    puVar3[1] = puVar3[1] + 1;
  }
  else {
    SYNC(0);
    puVar3[1] = puVar3[1] + 1;
    SYNC(0);
  }
  iVar6 = *(int *)((int)param_1 + 4);
  iVar4 = (*(code *)PTR__M_id_00433800)(PTR_id_00432310);
  puVar1 = PTR_operator_new_0043233c;
  *(undefined4 **)(iVar6 + iVar4 * 4) = puVar3;
  puVar3 = (undefined4 *)(*(code *)puVar1)(8);
  puVar3[1] = 0;
  *puVar3 = PTR_vtable_004322b8 + 8;
  if (puVar2 == (undefined *)0x0) {
    puVar3[1] = 1;
  }
  else {
    SYNC(0);
    puVar3[1] = puVar3[1] + 1;
    SYNC(0);
  }
  iVar6 = *(int *)((int)param_1 + 4);
  iVar4 = (*(code *)PTR__M_id_00433800)(PTR_id_00432308);
  puVar1 = PTR_operator_new_0043233c;
  *(undefined4 **)(iVar6 + iVar4 * 4) = puVar3;
  puVar3 = (undefined4 *)(*(code *)puVar1)(8);
  puVar3[1] = 0;
  *puVar3 = PTR_vtable_004322b4 + 8;
  if (puVar2 == (undefined *)0x0) {
    puVar3[1] = 1;
  }
  else {
    SYNC(0);
    puVar3[1] = puVar3[1] + 1;
    SYNC(0);
  }
  iVar6 = *(int *)((int)param_1 + 4);
  iVar4 = (*(code *)PTR__M_id_00433800)(PTR_id_0043230c);
  puVar1 = PTR_operator_new_0043233c;
  *(undefined4 **)(iVar6 + iVar4 * 4) = puVar3;
  puVar3 = (undefined4 *)(*(code *)puVar1)(8);
  puVar3[1] = 0;
  *puVar3 = PTR_vtable_004322c0 + 8;
  if (puVar2 == (undefined *)0x0) {
    puVar3[1] = 1;
  }
  else {
    SYNC(0);
    puVar3[1] = puVar3[1] + 1;
    SYNC(0);
  }
  iVar6 = *(int *)((int)param_1 + 4);
  iVar4 = (*(code *)PTR__M_id_00433800)(PTR_id_00432304);
  puVar1 = PTR_operator_new_0043233c;
  *(undefined4 **)(iVar6 + iVar4 * 4) = puVar3;
  iVar4 = (*(code *)puVar1)(0x10);
                    /* WARNING: Load size is inaccurate */
                    /* try { // try from 0035b4a0 to 0035b4a7 has its CatchHandler @ 0035b9dc */
  (*(code *)PTR_messages_0043644c)(iVar4,*param_2,param_4,0);
  if (puVar2 == (undefined *)0x0) {
    *(int *)(iVar4 + 4) = *(int *)(iVar4 + 4) + 1;
  }
  else {
    SYNC(0);
    *(int *)(iVar4 + 4) = *(int *)(iVar4 + 4) + 1;
    SYNC(0);
  }
  iVar7 = *(int *)((int)param_1 + 4);
  iVar6 = (*(code *)PTR__M_id_00433800)(PTR_id_00432318);
  puVar1 = PTR_operator_new_0043233c;
  *(int *)(iVar7 + iVar6 * 4) = iVar4;
  puVar3 = (undefined4 *)(*(code *)puVar1)(0xc);
                    /* WARNING: Load size is inaccurate */
  uVar5 = *param_2;
  puVar3[1] = 0;
  puVar3[2] = 0;
  puVar1 = PTR__M_initialize_numpunct_00432384;
                    /* try { // try from 0035b51c to 0035b523 has its CatchHandler @ 0035b9d4 */
  *puVar3 = PTR_vtable_00432380 + 8;
  (*(code *)puVar1)(puVar3,uVar5);
  if (puVar2 == (undefined *)0x0) {
    puVar3[1] = puVar3[1] + 1;
  }
  else {
    SYNC(0);
    puVar3[1] = puVar3[1] + 1;
    SYNC(0);
  }
  iVar6 = *(int *)((int)param_1 + 4);
  iVar4 = (*(code *)PTR__M_id_00433800)(PTR_id_0043231c);
  puVar1 = PTR_operator_new_0043233c;
  *(undefined4 **)(iVar6 + iVar4 * 4) = puVar3;
  puVar3 = (undefined4 *)(*(code *)puVar1)(0xc);
                    /* WARNING: Load size is inaccurate */
  local_30[0] = *param_2;
  puVar3[1] = 0;
  puVar1 = PTR__S_clone_c_locale_004337ec;
  *puVar3 = PTR_vtable_00432280 + 8;
  uVar5 = (*(code *)puVar1)(local_30);
  puVar3[2] = uVar5;
  if (puVar2 == (undefined *)0x0) {
    puVar3[1] = puVar3[1] + 1;
  }
  else {
    SYNC(0);
    puVar3[1] = puVar3[1] + 1;
    SYNC(0);
  }
  iVar6 = *(int *)((int)param_1 + 4);
  iVar4 = (*(code *)PTR__M_id_00433800)(PTR_id_00432320);
  puVar1 = PTR_operator_new_0043233c;
  *(undefined4 **)(iVar6 + iVar4 * 4) = puVar3;
  puVar3 = (undefined4 *)(*(code *)puVar1)(0xc);
  uVar5 = *(undefined4 *)param_3;
  puVar3[1] = 0;
  puVar3[2] = 0;
  puVar1 = PTR__M_initialize_moneypunct_004323a4;
                    /* try { // try from 0035b61c to 0035b623 has its CatchHandler @ 0035b9f8 */
  *puVar3 = PTR_vtable_004323a0 + 8;
  (*(code *)puVar1)(puVar3,uVar5,in_stack_00000010);
  if (puVar2 == (undefined *)0x0) {
    puVar3[1] = puVar3[1] + 1;
  }
  else {
    SYNC(0);
    puVar3[1] = puVar3[1] + 1;
    SYNC(0);
  }
  iVar6 = *(int *)((int)param_1 + 4);
  iVar4 = (*(code *)PTR__M_id_00433800)(PTR_id_00432334);
  puVar1 = PTR_operator_new_0043233c;
  *(undefined4 **)(iVar6 + iVar4 * 4) = puVar3;
  puVar3 = (undefined4 *)(*(code *)puVar1)(0xc);
  uVar5 = *(undefined4 *)param_3;
  puVar3[1] = 0;
  puVar3[2] = 0;
  puVar1 = PTR__M_initialize_moneypunct_00432394;
                    /* try { // try from 0035b69c to 0035b6a3 has its CatchHandler @ 0035b9f0 */
  *puVar3 = PTR_vtable_00432390 + 8;
  (*(code *)puVar1)(puVar3,uVar5,in_stack_00000010);
  if (puVar2 == (undefined *)0x0) {
    puVar3[1] = puVar3[1] + 1;
  }
  else {
    SYNC(0);
    puVar3[1] = puVar3[1] + 1;
    SYNC(0);
  }
  iVar6 = *(int *)((int)param_1 + 4);
  iVar4 = (*(code *)PTR__M_id_00433800)(PTR_id_00432330);
  puVar1 = PTR_operator_new_0043233c;
  *(undefined4 **)(iVar6 + iVar4 * 4) = puVar3;
  puVar3 = (undefined4 *)(*(code *)puVar1)(8);
  puVar3[1] = 0;
  *puVar3 = PTR_vtable_004322c8 + 8;
  if (puVar2 == (undefined *)0x0) {
    puVar3[1] = 1;
  }
  else {
    SYNC(0);
    puVar3[1] = puVar3[1] + 1;
    SYNC(0);
  }
  iVar6 = *(int *)((int)param_1 + 4);
  iVar4 = (*(code *)PTR__M_id_00433800)(PTR_id_00432328);
  puVar1 = PTR_operator_new_0043233c;
  *(undefined4 **)(iVar6 + iVar4 * 4) = puVar3;
  puVar3 = (undefined4 *)(*(code *)puVar1)(8);
  puVar3[1] = 0;
  *puVar3 = PTR_vtable_004322bc + 8;
  if (puVar2 == (undefined *)0x0) {
    puVar3[1] = 1;
  }
  else {
    SYNC(0);
    puVar3[1] = puVar3[1] + 1;
    SYNC(0);
  }
  iVar6 = *(int *)((int)param_1 + 4);
  iVar4 = (*(code *)PTR__M_id_00433800)(PTR_id_0043232c);
  puVar1 = PTR_operator_new_0043233c;
  *(undefined4 **)(iVar6 + iVar4 * 4) = puVar3;
  puVar3 = (undefined4 *)(*(code *)puVar1)(8);
  puVar3[1] = 0;
  *puVar3 = PTR_vtable_004322c4 + 8;
  if (puVar2 == (undefined *)0x0) {
    puVar3[1] = 1;
  }
  else {
    SYNC(0);
    puVar3[1] = puVar3[1] + 1;
    SYNC(0);
  }
  iVar6 = *(int *)((int)param_1 + 4);
  iVar4 = (*(code *)PTR__M_id_00433800)(PTR_id_00432324);
  puVar1 = PTR_operator_new_0043233c;
  *(undefined4 **)(iVar6 + iVar4 * 4) = puVar3;
  iVar4 = (*(code *)puVar1)(0x10);
                    /* WARNING: Load size is inaccurate */
                    /* try { // try from 0035b838 to 0035b83f has its CatchHandler @ 0035ba08 */
  (*(code *)PTR_messages_00436450)(iVar4,*param_2,param_4,0);
  if (puVar2 == (undefined *)0x0) {
    *(int *)(iVar4 + 4) = *(int *)(iVar4 + 4) + 1;
  }
  else {
    SYNC(0);
    *(int *)(iVar4 + 4) = *(int *)(iVar4 + 4) + 1;
    SYNC(0);
  }
  iVar7 = *(int *)((int)param_1 + 4);
  iVar6 = (*(code *)PTR__M_id_00433800)(PTR_id_00432338);
  *(int *)(iVar7 + iVar6 * 4) = iVar4;
  return;
}



void FUN_0035b100(int param_1,undefined4 *param_2,undefined4 *param_3,undefined4 param_4,
                 undefined4 param_5)

{
  undefined *puVar1;
  undefined *puVar2;
  undefined4 *puVar3;
  int iVar4;
  undefined4 uVar5;
  int iVar6;
  int iVar7;
  undefined4 local_30 [3];
  
  puVar3 = (undefined4 *)(*(code *)PTR_operator_new_0043233c)(0xc);
  uVar5 = *param_2;
  puVar3[1] = 0;
  puVar3[2] = 0;
  puVar2 = PTR__M_initialize_numpunct_0043234c;
                    /* try { // try from 0035b178 to 0035b17f has its CatchHandler @ 0035ba00 */
  *puVar3 = PTR_vtable_00432348 + 8;
  (*(code *)puVar2)(puVar3,uVar5);
  puVar2 = PTR___pthread_key_create_0043667c;
  if (PTR___pthread_key_create_0043667c == (undefined *)0x0) {
    puVar3[1] = puVar3[1] + 1;
  }
  else {
    SYNC(0);
    puVar3[1] = puVar3[1] + 1;
    SYNC(0);
  }
  iVar6 = *(int *)(param_1 + 4);
  iVar4 = (*(code *)PTR__M_id_00433800)(PTR_id_004322fc);
  puVar1 = PTR_operator_new_0043233c;
  *(undefined4 **)(iVar6 + iVar4 * 4) = puVar3;
  puVar3 = (undefined4 *)(*(code *)puVar1)(0xc);
  local_30[0] = *param_2;
  puVar3[1] = 0;
  puVar1 = PTR__S_clone_c_locale_004337ec;
  *puVar3 = PTR_vtable_00432290 + 8;
  uVar5 = (*(code *)puVar1)(local_30);
  puVar3[2] = uVar5;
  if (puVar2 == (undefined *)0x0) {
    puVar3[1] = puVar3[1] + 1;
  }
  else {
    SYNC(0);
    puVar3[1] = puVar3[1] + 1;
    SYNC(0);
  }
  iVar6 = *(int *)(param_1 + 4);
  iVar4 = (*(code *)PTR__M_id_00433800)(PTR_id_00432300);
  puVar1 = PTR_operator_new_0043233c;
  *(undefined4 **)(iVar6 + iVar4 * 4) = puVar3;
  puVar3 = (undefined4 *)(*(code *)puVar1)(0xc);
  uVar5 = *param_2;
  puVar3[1] = 0;
  puVar3[2] = 0;
  puVar1 = PTR__M_initialize_moneypunct_00432370;
                    /* try { // try from 0035b284 to 0035b28b has its CatchHandler @ 0035b9cc */
  *puVar3 = PTR_vtable_0043236c + 8;
  (*(code *)puVar1)(puVar3,uVar5,0);
  if (puVar2 == (undefined *)0x0) {
    puVar3[1] = puVar3[1] + 1;
  }
  else {
    SYNC(0);
    puVar3[1] = puVar3[1] + 1;
    SYNC(0);
  }
  iVar6 = *(int *)(param_1 + 4);
  iVar4 = (*(code *)PTR__M_id_00433800)(PTR_id_00432314);
  puVar1 = PTR_operator_new_0043233c;
  *(undefined4 **)(iVar6 + iVar4 * 4) = puVar3;
  puVar3 = (undefined4 *)(*(code *)puVar1)(0xc);
  uVar5 = *param_2;
  puVar3[1] = 0;
  puVar3[2] = 0;
  puVar1 = PTR__M_initialize_moneypunct_00432360;
                    /* try { // try from 0035b304 to 0035b30b has its CatchHandler @ 0035b994 */
  *puVar3 = PTR_vtable_0043235c + 8;
  (*(code *)puVar1)(puVar3,uVar5,0);
  if (puVar2 == (undefined *)0x0) {
    puVar3[1] = puVar3[1] + 1;
  }
  else {
    SYNC(0);
    puVar3[1] = puVar3[1] + 1;
    SYNC(0);
  }
  iVar6 = *(int *)(param_1 + 4);
  iVar4 = (*(code *)PTR__M_id_00433800)(PTR_id_00432310);
  puVar1 = PTR_operator_new_0043233c;
  *(undefined4 **)(iVar6 + iVar4 * 4) = puVar3;
  puVar3 = (undefined4 *)(*(code *)puVar1)(8);
  puVar3[1] = 0;
  *puVar3 = PTR_vtable_004322b8 + 8;
  if (puVar2 == (undefined *)0x0) {
    puVar3[1] = 1;
  }
  else {
    SYNC(0);
    puVar3[1] = puVar3[1] + 1;
    SYNC(0);
  }
  iVar6 = *(int *)(param_1 + 4);
  iVar4 = (*(code *)PTR__M_id_00433800)(PTR_id_00432308);
  puVar1 = PTR_operator_new_0043233c;
  *(undefined4 **)(iVar6 + iVar4 * 4) = puVar3;
  puVar3 = (undefined4 *)(*(code *)puVar1)(8);
  puVar3[1] = 0;
  *puVar3 = PTR_vtable_004322b4 + 8;
  if (puVar2 == (undefined *)0x0) {
    puVar3[1] = 1;
  }
  else {
    SYNC(0);
    puVar3[1] = puVar3[1] + 1;
    SYNC(0);
  }
  iVar6 = *(int *)(param_1 + 4);
  iVar4 = (*(code *)PTR__M_id_00433800)(PTR_id_0043230c);
  puVar1 = PTR_operator_new_0043233c;
  *(undefined4 **)(iVar6 + iVar4 * 4) = puVar3;
  puVar3 = (undefined4 *)(*(code *)puVar1)(8);
  puVar3[1] = 0;
  *puVar3 = PTR_vtable_004322c0 + 8;
  if (puVar2 == (undefined *)0x0) {
    puVar3[1] = 1;
  }
  else {
    SYNC(0);
    puVar3[1] = puVar3[1] + 1;
    SYNC(0);
  }
  iVar6 = *(int *)(param_1 + 4);
  iVar4 = (*(code *)PTR__M_id_00433800)(PTR_id_00432304);
  puVar1 = PTR_operator_new_0043233c;
  *(undefined4 **)(iVar6 + iVar4 * 4) = puVar3;
  iVar4 = (*(code *)puVar1)(0x10);
                    /* try { // try from 0035b4a0 to 0035b4a7 has its CatchHandler @ 0035b9dc */
  (*(code *)PTR_messages_0043644c)(iVar4,*param_2,param_4,0);
  if (puVar2 == (undefined *)0x0) {
    *(int *)(iVar4 + 4) = *(int *)(iVar4 + 4) + 1;
  }
  else {
    SYNC(0);
    *(int *)(iVar4 + 4) = *(int *)(iVar4 + 4) + 1;
    SYNC(0);
  }
  iVar7 = *(int *)(param_1 + 4);
  iVar6 = (*(code *)PTR__M_id_00433800)(PTR_id_00432318);
  puVar1 = PTR_operator_new_0043233c;
  *(int *)(iVar7 + iVar6 * 4) = iVar4;
  puVar3 = (undefined4 *)(*(code *)puVar1)(0xc);
  uVar5 = *param_2;
  puVar3[1] = 0;
  puVar3[2] = 0;
  puVar1 = PTR__M_initialize_numpunct_00432384;
                    /* try { // try from 0035b51c to 0035b523 has its CatchHandler @ 0035b9d4 */
  *puVar3 = PTR_vtable_00432380 + 8;
  (*(code *)puVar1)(puVar3,uVar5);
  if (puVar2 == (undefined *)0x0) {
    puVar3[1] = puVar3[1] + 1;
  }
  else {
    SYNC(0);
    puVar3[1] = puVar3[1] + 1;
    SYNC(0);
  }
  iVar6 = *(int *)(param_1 + 4);
  iVar4 = (*(code *)PTR__M_id_00433800)(PTR_id_0043231c);
  puVar1 = PTR_operator_new_0043233c;
  *(undefined4 **)(iVar6 + iVar4 * 4) = puVar3;
  puVar3 = (undefined4 *)(*(code *)puVar1)(0xc);
  local_30[0] = *param_2;
  puVar3[1] = 0;
  puVar1 = PTR__S_clone_c_locale_004337ec;
  *puVar3 = PTR_vtable_00432280 + 8;
  uVar5 = (*(code *)puVar1)(local_30);
  puVar3[2] = uVar5;
  if (puVar2 == (undefined *)0x0) {
    puVar3[1] = puVar3[1] + 1;
  }
  else {
    SYNC(0);
    puVar3[1] = puVar3[1] + 1;
    SYNC(0);
  }
  iVar6 = *(int *)(param_1 + 4);
  iVar4 = (*(code *)PTR__M_id_00433800)(PTR_id_00432320);
  puVar1 = PTR_operator_new_0043233c;
  *(undefined4 **)(iVar6 + iVar4 * 4) = puVar3;
  puVar3 = (undefined4 *)(*(code *)puVar1)(0xc);
  uVar5 = *param_3;
  puVar3[1] = 0;
  puVar3[2] = 0;
  puVar1 = PTR__M_initialize_moneypunct_004323a4;
                    /* try { // try from 0035b61c to 0035b623 has its CatchHandler @ 0035b9f8 */
  *puVar3 = PTR_vtable_004323a0 + 8;
  (*(code *)puVar1)(puVar3,uVar5,param_5);
  if (puVar2 == (undefined *)0x0) {
    puVar3[1] = puVar3[1] + 1;
  }
  else {
    SYNC(0);
    puVar3[1] = puVar3[1] + 1;
    SYNC(0);
  }
  iVar6 = *(int *)(param_1 + 4);
  iVar4 = (*(code *)PTR__M_id_00433800)(PTR_id_00432334);
  puVar1 = PTR_operator_new_0043233c;
  *(undefined4 **)(iVar6 + iVar4 * 4) = puVar3;
  puVar3 = (undefined4 *)(*(code *)puVar1)(0xc);
  uVar5 = *param_3;
  puVar3[1] = 0;
  puVar3[2] = 0;
  puVar1 = PTR__M_initialize_moneypunct_00432394;
                    /* try { // try from 0035b69c to 0035b6a3 has its CatchHandler @ 0035b9f0 */
  *puVar3 = PTR_vtable_00432390 + 8;
  (*(code *)puVar1)(puVar3,uVar5,param_5);
  if (puVar2 == (undefined *)0x0) {
    puVar3[1] = puVar3[1] + 1;
  }
  else {
    SYNC(0);
    puVar3[1] = puVar3[1] + 1;
    SYNC(0);
  }
  iVar6 = *(int *)(param_1 + 4);
  iVar4 = (*(code *)PTR__M_id_00433800)(PTR_id_00432330);
  puVar1 = PTR_operator_new_0043233c;
  *(undefined4 **)(iVar6 + iVar4 * 4) = puVar3;
  puVar3 = (undefined4 *)(*(code *)puVar1)(8);
  puVar3[1] = 0;
  *puVar3 = PTR_vtable_004322c8 + 8;
  if (puVar2 == (undefined *)0x0) {
    puVar3[1] = 1;
  }
  else {
    SYNC(0);
    puVar3[1] = puVar3[1] + 1;
    SYNC(0);
  }
  iVar6 = *(int *)(param_1 + 4);
  iVar4 = (*(code *)PTR__M_id_00433800)(PTR_id_00432328);
  puVar1 = PTR_operator_new_0043233c;
  *(undefined4 **)(iVar6 + iVar4 * 4) = puVar3;
  puVar3 = (undefined4 *)(*(code *)puVar1)(8);
  puVar3[1] = 0;
  *puVar3 = PTR_vtable_004322bc + 8;
  if (puVar2 == (undefined *)0x0) {
    puVar3[1] = 1;
  }
  else {
    SYNC(0);
    puVar3[1] = puVar3[1] + 1;
    SYNC(0);
  }
  iVar6 = *(int *)(param_1 + 4);
  iVar4 = (*(code *)PTR__M_id_00433800)(PTR_id_0043232c);
  puVar1 = PTR_operator_new_0043233c;
  *(undefined4 **)(iVar6 + iVar4 * 4) = puVar3;
  puVar3 = (undefined4 *)(*(code *)puVar1)(8);
  puVar3[1] = 0;
  *puVar3 = PTR_vtable_004322c4 + 8;
  if (puVar2 == (undefined *)0x0) {
    puVar3[1] = 1;
  }
  else {
    SYNC(0);
    puVar3[1] = puVar3[1] + 1;
    SYNC(0);
  }
  iVar6 = *(int *)(param_1 + 4);
  iVar4 = (*(code *)PTR__M_id_00433800)(PTR_id_00432324);
  puVar1 = PTR_operator_new_0043233c;
  *(undefined4 **)(iVar6 + iVar4 * 4) = puVar3;
  iVar4 = (*(code *)puVar1)(0x10);
                    /* try { // try from 0035b838 to 0035b83f has its CatchHandler @ 0035ba08 */
  (*(code *)PTR_messages_00436450)(iVar4,*param_2,param_4,0);
  if (puVar2 == (undefined *)0x0) {
    *(int *)(iVar4 + 4) = *(int *)(iVar4 + 4) + 1;
  }
  else {
    SYNC(0);
    *(int *)(iVar4 + 4) = *(int *)(iVar4 + 4) + 1;
    SYNC(0);
  }
  iVar7 = *(int *)(param_1 + 4);
  iVar6 = (*(code *)PTR__M_id_00433800)(PTR_id_00432338);
  *(int *)(iVar7 + iVar6 * 4) = iVar4;
  return;
}


lui gp,0xe
addiu gp,gp,-0xf30
addu gp,gp,t9
addiu sp,sp,-0x48
lw t9,-0x7e94(gp)
sw s0,0x24(sp)
or s0,a0,zero
li a0,0xc
sw gp,0x10(sp)
sw s5,0x38(sp)
or s5,a2,zero
sw s4,0x34(sp)
or s4,a3,zero
sw s3,0x30(sp)
sw s2,0x2c(sp)
or s2,a1,zero
sw ra,0x44(sp)
sw s7,0x40(sp)
sw s6,0x3c(sp)
jalr t9
_sw s1,0x28(sp)
lw gp,0x10(sp)
or s3,v0,zero
lw a1,0x0(s2)
or a0,v0,zero
sw zero,0x4(v0)
sw zero,0x8(v0)
lw v0,-0x7e88(gp)
lw t9,-0x7e84(gp)
addiu v0,v0,0x8
jalr t9
_sw v0,0x0(s3)
lw gp,0x10(sp)
lw s1,-0x3b54(gp)
beq s1,zero,0x0035b8ac
_nop
sync 0x0
ll at,0x4(s3)
addiu at,at,0x1
sc at,0x4(s3)
beq at,zero,0x0035b194
_nop
sync 0x0
lw t9,-0x69d0(gp)
addiu s6,sp,0x18
lw a0,-0x7ed4(gp)
jalr t9
_lw s7,0x4(s0)
li a0,0xc
lw gp,0x10(sp)
sll v0,v0,0x2
addu s7,s7,v0
lw t9,-0x7e94(gp)
jalr t9
_sw s3,0x0(s7)
or a0,s6,zero
lw gp,0x10(sp)
or s3,v0,zero
lw v0,0x0(s2)
sw zero,0x4(s3)
sw v0,0x18(sp)
lw v0,-0x7f40(gp)
lw t9,-0x69e4(gp)
addiu v0,v0,0x8
jalr t9
_sw v0,0x0(s3)
lw gp,0x10(sp)
beq s1,zero,0x0035b984
_sw v0,0x8(s3)
sync 0x0
ll at,0x4(s3)
addiu at,at,0x1
sc at,0x4(s3)
beq at,zero,0x0035b218
_nop
sync 0x0
lw t9,-0x69d0(gp)
lw a0,-0x7ed0(gp)
jalr t9
_lw s7,0x4(s0)
li a0,0xc
lw gp,0x10(sp)
sll v0,v0,0x2
addu s7,s7,v0
lw t9,-0x7e94(gp)
jalr t9
_sw s3,0x0(s7)
or a2,zero,zero
lw gp,0x10(sp)
or s3,v0,zero
lw a1,0x0(s2)
or a0,v0,zero
sw zero,0x4(v0)
sw zero,0x8(v0)
lw v0,-0x7e64(gp)
lw t9,-0x7e60(gp)
addiu v0,v0,0x8
jalr t9
_sw v0,0x0(s3)
beq s1,zero,0x0035b974
_lw gp,0x10(sp)
sync 0x0
ll at,0x4(s3)
addiu at,at,0x1
sc at,0x4(s3)
beq at,zero,0x0035b298
_nop
sync 0x0
lw t9,-0x69d0(gp)
lw a0,-0x7ebc(gp)
jalr t9
_lw s7,0x4(s0)
li a0,0xc
lw gp,0x10(sp)
sll v0,v0,0x2
addu s7,s7,v0
lw t9,-0x7e94(gp)
jalr t9
_sw s3,0x0(s7)
or a2,zero,zero
lw gp,0x10(sp)
or s3,v0,zero
lw a1,0x0(s2)
or a0,v0,zero
sw zero,0x4(v0)
sw zero,0x8(v0)
lw v0,-0x7e74(gp)
lw t9,-0x7e70(gp)
addiu v0,v0,0x8
jalr t9
_sw v0,0x0(s3)
beq s1,zero,0x0035b964
_lw gp,0x10(sp)
sync 0x0
ll at,0x4(s3)
addiu at,at,0x1
sc at,0x4(s3)
beq at,zero,0x0035b318
_nop
sync 0x0
lw t9,-0x69d0(gp)
lw a0,-0x7ec0(gp)
jalr t9
_lw s7,0x4(s0)
li a0,0x8
lw gp,0x10(sp)
sll v0,v0,0x2
addu s7,s7,v0
lw t9,-0x7e94(gp)
jalr t9
_sw s3,0x0(s7)
lw gp,0x10(sp)
or s3,v0,zero
sw zero,0x4(v0)
lw v0,-0x7f18(gp)
addiu v0,v0,0x8
beq s1,zero,0x0035b958
_sw v0,0x0(s3)
sync 0x0
ll at,0x4(s3)
addiu at,at,0x1
sc at,0x4(s3)
beq at,zero,0x0035b37c
_nop
sync 0x0
lw t9,-0x69d0(gp)
lw a0,-0x7ec8(gp)
jalr t9
_lw s7,0x4(s0)
li a0,0x8
lw gp,0x10(sp)
sll v0,v0,0x2
addu s7,s7,v0
lw t9,-0x7e94(gp)
jalr t9
_sw s3,0x0(s7)
lw gp,0x10(sp)
or s3,v0,zero
sw zero,0x4(v0)
lw v0,-0x7f1c(gp)
addiu v0,v0,0x8
beq s1,zero,0x0035b94c
_sw v0,0x0(s3)
sync 0x0
ll at,0x4(s3)
addiu at,at,0x1
sc at,0x4(s3)
beq at,zero,0x0035b3e0
_nop
sync 0x0
lw t9,-0x69d0(gp)
lw a0,-0x7ec4(gp)
jalr t9
_lw s7,0x4(s0)
li a0,0x8
lw gp,0x10(sp)
sll v0,v0,0x2
addu s7,s7,v0
lw t9,-0x7e94(gp)
jalr t9
_sw s3,0x0(s7)
lw gp,0x10(sp)
or s3,v0,zero
sw zero,0x4(v0)
lw v0,-0x7f10(gp)
addiu v0,v0,0x8
beq s1,zero,0x0035b940
_sw v0,0x0(s3)
sync 0x0
ll at,0x4(s3)
addiu at,at,0x1
sc at,0x4(s3)
beq at,zero,0x0035b444
_nop
sync 0x0
lw t9,-0x69d0(gp)
lw a0,-0x7ecc(gp)
jalr t9
_lw s7,0x4(s0)
li a0,0x10
lw gp,0x10(sp)
sll v0,v0,0x2
addu s7,s7,v0
lw t9,-0x7e94(gp)
jalr t9
_sw s3,0x0(s7)
or a3,zero,zero
lw gp,0x10(sp)
or a2,s4,zero
lw a1,0x0(s2)
or a0,v0,zero
lw t9,-0x3d84(gp)
jalr t9
_or s3,v0,zero
beq s1,zero,0x0035b930
_lw gp,0x10(sp)
sync 0x0
ll at,0x4(s3)
addiu at,at,0x1
sc at,0x4(s3)
beq at,zero,0x0035b4b4
_nop
sync 0x0
lw t9,-0x69d0(gp)
lw a0,-0x7eb8(gp)
jalr t9
_lw s7,0x4(s0)
li a0,0xc
lw gp,0x10(sp)
sll v0,v0,0x2
addu s7,s7,v0
lw t9,-0x7e94(gp)
jalr t9
_sw s3,0x0(s7)
lw gp,0x10(sp)
or s3,v0,zero
lw a1,0x0(s2)
or a0,v0,zero
sw zero,0x4(v0)
sw zero,0x8(v0)
lw v0,-0x7e50(gp)
lw t9,-0x7e4c(gp)
addiu v0,v0,0x8
jalr t9
_sw v0,0x0(s3)
beq s1,zero,0x0035b920
_lw gp,0x10(sp)
sync 0x0
ll at,0x4(s3)
addiu at,at,0x1
sc at,0x4(s3)
beq at,zero,0x0035b530
_nop
sync 0x0
lw t9,-0x69d0(gp)
lw a0,-0x7eb4(gp)
jalr t9
_lw s7,0x4(s0)
li a0,0xc
lw gp,0x10(sp)
sll v0,v0,0x2
addu s7,s7,v0
lw t9,-0x7e94(gp)
jalr t9
_sw s3,0x0(s7)
or a0,s6,zero
lw gp,0x10(sp)
or s3,v0,zero
lw v0,0x0(s2)
sw zero,0x4(s3)
sw v0,0x18(sp)
lw v0,-0x7f50(gp)
lw t9,-0x69e4(gp)
addiu v0,v0,0x8
jalr t9
_sw v0,0x0(s3)
lw gp,0x10(sp)
beq s1,zero,0x0035b910
_sw v0,0x8(s3)
sync 0x0
ll at,0x4(s3)
addiu at,at,0x1
sc at,0x4(s3)
beq at,zero,0x0035b5b0
_nop
sync 0x0
lw t9,-0x69d0(gp)
lw a0,-0x7eb0(gp)
jalr t9
_lw s6,0x4(s0)
li a0,0xc
lw gp,0x10(sp)
sll v0,v0,0x2
addu s6,s6,v0
lw t9,-0x7e94(gp)
jalr t9
_sw s3,0x0(s6)
lw gp,0x10(sp)
or s3,v0,zero
lw a2,0x58(sp)
or a0,v0,zero
lw a1,0x0(s5)
sw zero,0x4(v0)
sw zero,0x8(v0)
lw v0,-0x7e30(gp)
lw t9,-0x7e2c(gp)
addiu v0,v0,0x8
jalr t9
_sw v0,0x0(s3)
beq s1,zero,0x0035b900
_lw gp,0x10(sp)
sync 0x0
ll at,0x4(s3)
addiu at,at,0x1
sc at,0x4(s3)
beq at,zero,0x0035b630
_nop
sync 0x0
lw t9,-0x69d0(gp)
lw a0,-0x7e9c(gp)
jalr t9
_lw s6,0x4(s0)
li a0,0xc
lw gp,0x10(sp)
sll v0,v0,0x2
addu s6,s6,v0
lw t9,-0x7e94(gp)
jalr t9
_sw s3,0x0(s6)
lw gp,0x10(sp)
or s3,v0,zero
lw a2,0x58(sp)
or a0,v0,zero
lw a1,0x0(s5)
sw zero,0x4(v0)
sw zero,0x8(v0)
lw v0,-0x7e40(gp)
lw t9,-0x7e3c(gp)
addiu v0,v0,0x8
jalr t9
_sw v0,0x0(s3)
beq s1,zero,0x0035b8f0
_lw gp,0x10(sp)
sync 0x0
ll at,0x4(s3)
addiu at,at,0x1
sc at,0x4(s3)
beq at,zero,0x0035b6b0
_nop
sync 0x0
lw t9,-0x69d0(gp)
lw a0,-0x7ea0(gp)
jalr t9
_lw s5,0x4(s0)
li a0,0x8
lw gp,0x10(sp)
sll v0,v0,0x2
addu s5,s5,v0
lw t9,-0x7e94(gp)
jalr t9
_sw s3,0x0(s5)
lw gp,0x10(sp)
or s3,v0,zero
sw zero,0x4(v0)
lw v0,-0x7f08(gp)
addiu v0,v0,0x8
beq s1,zero,0x0035b8e4
_sw v0,0x0(s3)
sync 0x0
ll at,0x4(s3)
addiu at,at,0x1
sc at,0x4(s3)
beq at,zero,0x0035b714
_nop
sync 0x0
lw t9,-0x69d0(gp)
lw a0,-0x7ea8(gp)
jalr t9
_lw s5,0x4(s0)
li a0,0x8
lw gp,0x10(sp)
sll v0,v0,0x2
addu s5,s5,v0
lw t9,-0x7e94(gp)
jalr t9
_sw s3,0x0(s5)
lw gp,0x10(sp)
or s3,v0,zero
sw zero,0x4(v0)
lw v0,-0x7f14(gp)
addiu v0,v0,0x8
beq s1,zero,0x0035b8d8
_sw v0,0x0(s3)
sync 0x0
ll at,0x4(s3)
addiu at,at,0x1
sc at,0x4(s3)
beq at,zero,0x0035b778
_nop
sync 0x0
lw t9,-0x69d0(gp)
lw a0,-0x7ea4(gp)
jalr t9
_lw s5,0x4(s0)
li a0,0x8
lw gp,0x10(sp)
sll v0,v0,0x2
addu s5,s5,v0
lw t9,-0x7e94(gp)
jalr t9
_sw s3,0x0(s5)
lw gp,0x10(sp)
or s3,v0,zero
sw zero,0x4(v0)
lw v0,-0x7f0c(gp)
addiu v0,v0,0x8
beq s1,zero,0x0035b8cc
_sw v0,0x0(s3)
sync 0x0
ll at,0x4(s3)
addiu at,at,0x1
sc at,0x4(s3)
beq at,zero,0x0035b7dc
_nop
sync 0x0
lw t9,-0x69d0(gp)
lw a0,-0x7eac(gp)
jalr t9
_lw s5,0x4(s0)
li a0,0x10
lw gp,0x10(sp)
sll v0,v0,0x2
addu s5,s5,v0
lw t9,-0x7e94(gp)
jalr t9
_sw s3,0x0(s5)
or a3,zero,zero
lw gp,0x10(sp)
or a2,s4,zero
lw a1,0x0(s2)
or a0,v0,zero
lw t9,-0x3d80(gp)
jalr t9
_or s2,v0,zero
beq s1,zero,0x0035b8bc
_lw gp,0x10(sp)
sync 0x0
ll at,0x4(s2)
addiu at,at,0x1
sc at,0x4(s2)
beq at,zero,0x0035b84c
_nop
sync 0x0
lw t9,-0x69d0(gp)
lw a0,-0x7e98(gp)
jalr t9
_lw s0,0x4(s0)
sll v0,v0,0x2
lw ra,0x44(sp)
lw s7,0x40(sp)
addu s0,s0,v0
lw s6,0x3c(sp)
lw s5,0x38(sp)
lw s4,0x34(sp)
lw s3,0x30(sp)
lw s1,0x28(sp)
sw s2,0x0(s0)
lw s2,0x2c(sp)
lw s0,0x24(sp)
jr ra
_addiu sp,sp,0x48
lw v0,0x4(s3)
addiu v0,v0,0x1
b 0x0035b1ac
_sw v0,0x4(s3)
lw v0,0x4(s2)
addiu v0,v0,0x1
b 0x0035b864
_sw v0,0x4(s2)
li v0,0x1
b 0x0035b7f4
_sw v0,0x4(s3)
li v0,0x1
b 0x0035b790
_sw v0,0x4(s3)
li v0,0x1
b 0x0035b72c
_sw v0,0x4(s3)
lw v0,0x4(s3)
addiu v0,v0,0x1
b 0x0035b6c8
_sw v0,0x4(s3)
lw v0,0x4(s3)
addiu v0,v0,0x1
b 0x0035b648
_sw v0,0x4(s3)
lw v0,0x4(s3)
addiu v0,v0,0x1
b 0x0035b5c8
_sw v0,0x4(s3)
lw v0,0x4(s3)
addiu v0,v0,0x1
b 0x0035b548
_sw v0,0x4(s3)
lw v0,0x4(s3)
addiu v0,v0,0x1
b 0x0035b4cc
_sw v0,0x4(s3)
li v0,0x1
b 0x0035b45c
_sw v0,0x4(s3)
li v0,0x1
b 0x0035b3f8
_sw v0,0x4(s3)
li v0,0x1
b 0x0035b394
_sw v0,0x4(s3)
lw v0,0x4(s3)
addiu v0,v0,0x1
b 0x0035b330
_sw v0,0x4(s3)
lw v0,0x4(s3)
addiu v0,v0,0x1
b 0x0035b2b0
_sw v0,0x4(s3)
lw v0,0x4(s3)
addiu v0,v0,0x1
b 0x0035b230
_sw v0,0x4(s3)
(translation_unit "void FUN_0035b100(int param_1,undefined4 *param_2,undefined4 *param_3,undefined4 param_4,\n                 undefined4 param_5)\n\n{\n  undefined *puVar1;\n  undefined *puVar2;\n  undefined4 *puVar3;\n  int iVar4;\n  undefined4 uVar5;\n  int iVar6;\n  int iVar7;\n  undefined4 local_30 [3];\n  \n  puVar3 = (undefined4 *)(*(code *)PTR_operator_new_0043233c)(0xc);\n  uVar5 = *param_2;\n  puVar3[1] = 0;\n  puVar3[2] = 0;\n  puVar2 = PTR__M_initialize_numpunct_0043234c;\n                    /* try { // try from 0035b178 to 0035b17f has its CatchHandler @ 0035ba00 */\n  *puVar3 = PTR_vtable_00432348 + 8;\n  (*(code *)puVar2)(puVar3,uVar5);\n  puVar2 = PTR___pthread_key_create_0043667c;\n  if (PTR___pthread_key_create_0043667c == (undefined *)0x0) {\n    puVar3[1] = puVar3[1] + 1;\n  }\n  else {\n    SYNC(0);\n    puVar3[1] = puVar3[1] + 1;\n    SYNC(0);\n  }\n  iVar6 = *(int *)(param_1 + 4);\n  iVar4 = (*(code *)PTR__M_id_00433800)(PTR_id_004322fc);\n  puVar1 = PTR_operator_new_0043233c;\n  *(undefined4 **)(iVar6 + iVar4 * 4) = puVar3;\n  puVar3 = (undefined4 *)(*(code *)puVar1)(0xc);\n  local_30[0] = *param_2;\n  puVar3[1] = 0;\n  puVar1 = PTR__S_clone_c_locale_004337ec;\n  *puVar3 = PTR_vtable_00432290 + 8;\n  uVar5 = (*(code *)puVar1)(local_30);\n  puVar3[2] = uVar5;\n  if (puVar2 == (undefined *)0x0) {\n    puVar3[1] = puVar3[1] + 1;\n  }\n  else {\n    SYNC(0);\n    puVar3[1] = puVar3[1] + 1;\n    SYNC(0);\n  }\n  iVar6 = *(int *)(param_1 + 4);\n  iVar4 = (*(code *)PTR__M_id_00433800)(PTR_id_00432300);\n  puVar1 = PTR_operator_new_0043233c;\n  *(undefined4 **)(iVar6 + iVar4 * 4) = puVar3;\n  puVar3 = (undefined4 *)(*(code *)puVar1)(0xc);\n  uVar5 = *param_2;\n  puVar3[1] = 0;\n  puVar3[2] = 0;\n  puVar1 = PTR__M_initialize_moneypunct_00432370;\n                    /* try { // try from 0035b284 to 0035b28b has its CatchHandler @ 0035b9cc */\n  *puVar3 = PTR_vtable_0043236c + 8;\n  (*(code *)puVar1)(puVar3,uVar5,0);\n  if (puVar2 == (undefined *)0x0) {\n    puVar3[1] = puVar3[1] + 1;\n  }\n  else {\n    SYNC(0);\n    puVar3[1] = puVar3[1] + 1;\n    SYNC(0);\n  }\n  iVar6 = *(int *)(param_1 + 4);\n  iVar4 = (*(code *)PTR__M_id_00433800)(PTR_id_00432314);\n  puVar1 = PTR_operator_new_0043233c;\n  *(undefined4 **)(iVar6 + iVar4 * 4) = puVar3;\n  puVar3 = (undefined4 *)(*(code *)puVar1)(0xc);\n  uVar5 = *param_2;\n  puVar3[1] = 0;\n  puVar3[2] = 0;\n  puVar1 = PTR__M_initialize_moneypunct_00432360;\n                    /* try { // try from 0035b304 to 0035b30b has its CatchHandler @ 0035b994 */\n  *puVar3 = PTR_vtable_0043235c + 8;\n  (*(code *)puVar1)(puVar3,uVar5,0);\n  if (puVar2 == (undefined *)0x0) {\n    puVar3[1] = puVar3[1] + 1;\n  }\n  else {\n    SYNC(0);\n    puVar3[1] = puVar3[1] + 1;\n    SYNC(0);\n  }\n  iVar6 = *(int *)(param_1 + 4);\n  iVar4 = (*(code *)PTR__M_id_00433800)(PTR_id_00432310);\n  puVar1 = PTR_operator_new_0043233c;\n  *(undefined4 **)(iVar6 + iVar4 * 4) = puVar3;\n  puVar3 = (undefined4 *)(*(code *)puVar1)(8);\n  puVar3[1] = 0;\n  *puVar3 = PTR_vtable_004322b8 + 8;\n  if (puVar2 == (undefined *)0x0) {\n    puVar3[1] = 1;\n  }\n  else {\n    SYNC(0);\n    puVar3[1] = puVar3[1] + 1;\n    SYNC(0);\n  }\n  iVar6 = *(int *)(param_1 + 4);\n  iVar4 = (*(code *)PTR__M_id_00433800)(PTR_id_00432308);\n  puVar1 = PTR_operator_new_0043233c;\n  *(undefined4 **)(iVar6 + iVar4 * 4) = puVar3;\n  puVar3 = (undefined4 *)(*(code *)puVar1)(8);\n  puVar3[1] = 0;\n  *puVar3 = PTR_vtable_004322b4 + 8;\n  if (puVar2 == (undefined *)0x0) {\n    puVar3[1] = 1;\n  }\n  else {\n    SYNC(0);\n    puVar3[1] = puVar3[1] + 1;\n    SYNC(0);\n  }\n  iVar6 = *(int *)(param_1 + 4);\n  iVar4 = (*(code *)PTR__M_id_00433800)(PTR_id_0043230c);\n  puVar1 = PTR_operator_new_0043233c;\n  *(undefined4 **)(iVar6 + iVar4 * 4) = puVar3;\n  puVar3 = (undefined4 *)(*(code *)puVar1)(8);\n  puVar3[1] = 0;\n  *puVar3 = PTR_vtable_004322c0 + 8;\n  if (puVar2 == (undefined *)0x0) {\n    puVar3[1] = 1;\n  }\n  else {\n    SYNC(0);\n    puVar3[1] = puVar3[1] + 1;\n    SYNC(0);\n  }\n  iVar6 = *(int *)(param_1 + 4);\n  iVar4 = (*(code *)PTR__M_id_00433800)(PTR_id_00432304);\n  puVar1 = PTR_operator_new_0043233c;\n  *(undefined4 **)(iVar6 + iVar4 * 4) = puVar3;\n  iVar4 = (*(code *)puVar1)(0x10);\n                    /* try { // try from 0035b4a0 to 0035b4a7 has its CatchHandler @ 0035b9dc */\n  (*(code *)PTR_messages_0043644c)(iVar4,*param_2,param_4,0);\n  if (puVar2 == (undefined *)0x0) {\n    *(int *)(iVar4 + 4) = *(int *)(iVar4 + 4) + 1;\n  }\n  else {\n    SYNC(0);\n    *(int *)(iVar4 + 4) = *(int *)(iVar4 + 4) + 1;\n    SYNC(0);\n  }\n  iVar7 = *(int *)(param_1 + 4);\n  iVar6 = (*(code *)PTR__M_id_00433800)(PTR_id_00432318);\n  puVar1 = PTR_operator_new_0043233c;\n  *(int *)(iVar7 + iVar6 * 4) = iVar4;\n  puVar3 = (undefined4 *)(*(code *)puVar1)(0xc);\n  uVar5 = *param_2;\n  puVar3[1] = 0;\n  puVar3[2] = 0;\n  puVar1 = PTR__M_initialize_numpunct_00432384;\n                    /* try { // try from 0035b51c to 0035b523 has its CatchHandler @ 0035b9d4 */\n  *puVar3 = PTR_vtable_00432380 + 8;\n  (*(code *)puVar1)(puVar3,uVar5);\n  if (puVar2 == (undefined *)0x0) {\n    puVar3[1] = puVar3[1] + 1;\n  }\n  else {\n    SYNC(0);\n    puVar3[1] = puVar3[1] + 1;\n    SYNC(0);\n  }\n  iVar6 = *(int *)(param_1 + 4);\n  iVar4 = (*(code *)PTR__M_id_00433800)(PTR_id_0043231c);\n  puVar1 = PTR_operator_new_0043233c;\n  *(undefined4 **)(iVar6 + iVar4 * 4) = puVar3;\n  puVar3 = (undefined4 *)(*(code *)puVar1)(0xc);\n  local_30[0] = *param_2;\n  puVar3[1] = 0;\n  puVar1 = PTR__S_clone_c_locale_004337ec;\n  *puVar3 = PTR_vtable_00432280 + 8;\n  uVar5 = (*(code *)puVar1)(local_30);\n  puVar3[2] = uVar5;\n  if (puVar2 == (undefined *)0x0) {\n    puVar3[1] = puVar3[1] + 1;\n  }\n  else {\n    SYNC(0);\n    puVar3[1] = puVar3[1] + 1;\n    SYNC(0);\n  }\n  iVar6 = *(int *)(param_1 + 4);\n  iVar4 = (*(code *)PTR__M_id_00433800)(PTR_id_00432320);\n  puVar1 = PTR_operator_new_0043233c;\n  *(undefined4 **)(iVar6 + iVar4 * 4) = puVar3;\n  puVar3 = (undefined4 *)(*(code *)puVar1)(0xc);\n  uVar5 = *param_3;\n  puVar3[1] = 0;\n  puVar3[2] = 0;\n  puVar1 = PTR__M_initialize_moneypunct_004323a4;\n                    /* try { // try from 0035b61c to 0035b623 has its CatchHandler @ 0035b9f8 */\n  *puVar3 = PTR_vtable_004323a0 + 8;\n  (*(code *)puVar1)(puVar3,uVar5,param_5);\n  if (puVar2 == (undefined *)0x0) {\n    puVar3[1] = puVar3[1] + 1;\n  }\n  else {\n    SYNC(0);\n    puVar3[1] = puVar3[1] + 1;\n    SYNC(0);\n  }\n  iVar6 = *(int *)(param_1 + 4);\n  iVar4 = (*(code *)PTR__M_id_00433800)(PTR_id_00432334);\n  puVar1 = PTR_operator_new_0043233c;\n  *(undefined4 **)(iVar6 + iVar4 * 4) = puVar3;\n  puVar3 = (undefined4 *)(*(code *)puVar1)(0xc);\n  uVar5 = *param_3;\n  puVar3[1] = 0;\n  puVar3[2] = 0;\n  puVar1 = PTR__M_initialize_moneypunct_00432394;\n                    /* try { // try from 0035b69c to 0035b6a3 has its CatchHandler @ 0035b9f0 */\n  *puVar3 = PTR_vtable_00432390 + 8;\n  (*(code *)puVar1)(puVar3,uVar5,param_5);\n  if (puVar2 == (undefined *)0x0) {\n    puVar3[1] = puVar3[1] + 1;\n  }\n  else {\n    SYNC(0);\n    puVar3[1] = puVar3[1] + 1;\n    SYNC(0);\n  }\n  iVar6 = *(int *)(param_1 + 4);\n  iVar4 = (*(code *)PTR__M_id_00433800)(PTR_id_00432330);\n  puVar1 = PTR_operator_new_0043233c;\n  *(undefined4 **)(iVar6 + iVar4 * 4) = puVar3;\n  puVar3 = (undefined4 *)(*(code *)puVar1)(8);\n  puVar3[1] = 0;\n  *puVar3 = PTR_vtable_004322c8 + 8;\n  if (puVar2 == (undefined *)0x0) {\n    puVar3[1] = 1;\n  }\n  else {\n    SYNC(0);\n    puVar3[1] = puVar3[1] + 1;\n    SYNC(0);\n  }\n  iVar6 = *(int *)(param_1 + 4);\n  iVar4 = (*(code *)PTR__M_id_00433800)(PTR_id_00432328);\n  puVar1 = PTR_operator_new_0043233c;\n  *(undefined4 **)(iVar6 + iVar4 * 4) = puVar3;\n  puVar3 = (undefined4 *)(*(code *)puVar1)(8);\n  puVar3[1] = 0;\n  *puVar3 = PTR_vtable_004322bc + 8;\n  if (puVar2 == (undefined *)0x0) {\n    puVar3[1] = 1;\n  }\n  else {\n    SYNC(0);\n    puVar3[1] = puVar3[1] + 1;\n    SYNC(0);\n  }\n  iVar6 = *(int *)(param_1 + 4);\n  iVar4 = (*(code *)PTR__M_id_00433800)(PTR_id_0043232c);\n  puVar1 = PTR_operator_new_0043233c;\n  *(undefined4 **)(iVar6 + iVar4 * 4) = puVar3;\n  puVar3 = (undefined4 *)(*(code *)puVar1)(8);\n  puVar3[1] = 0;\n  *puVar3 = PTR_vtable_004322c4 + 8;\n  if (puVar2 == (undefined *)0x0) {\n    puVar3[1] = 1;\n  }\n  else {\n    SYNC(0);\n    puVar3[1] = puVar3[1] + 1;\n    SYNC(0);\n  }\n  iVar6 = *(int *)(param_1 + 4);\n  iVar4 = (*(code *)PTR__M_id_00433800)(PTR_id_00432324);\n  puVar1 = PTR_operator_new_0043233c;\n  *(undefined4 **)(iVar6 + iVar4 * 4) = puVar3;\n  iVar4 = (*(code *)puVar1)(0x10);\n                    /* try { // try from 0035b838 to 0035b83f has its CatchHandler @ 0035ba08 */\n  (*(code *)PTR_messages_00436450)(iVar4,*param_2,param_4,0);\n  if (puVar2 == (undefined *)0x0) {\n    *(int *)(iVar4 + 4) = *(int *)(iVar4 + 4) + 1;\n  }\n  else {\n    SYNC(0);\n    *(int *)(iVar4 + 4) = *(int *)(iVar4 + 4) + 1;\n    SYNC(0);\n  }\n  iVar7 = *(int *)(param_1 + 4);\n  iVar6 = (*(code *)PTR__M_id_00433800)(PTR_id_00432338);\n  *(int *)(iVar7 + iVar6 * 4) = iVar4;\n  return;\n}\n\n" (function_definition "void FUN_0035b100(int param_1,undefined4 *param_2,undefined4 *param_3,undefined4 param_4,\n                 undefined4 param_5)\n\n{\n  undefined *puVar1;\n  undefined *puVar2;\n  undefined4 *puVar3;\n  int iVar4;\n  undefined4 uVar5;\n  int iVar6;\n  int iVar7;\n  undefined4 local_30 [3];\n  \n  puVar3 = (undefined4 *)(*(code *)PTR_operator_new_0043233c)(0xc);\n  uVar5 = *param_2;\n  puVar3[1] = 0;\n  puVar3[2] = 0;\n  puVar2 = PTR__M_initialize_numpunct_0043234c;\n                    /* try { // try from 0035b178 to 0035b17f has its CatchHandler @ 0035ba00 */\n  *puVar3 = PTR_vtable_00432348 + 8;\n  (*(code *)puVar2)(puVar3,uVar5);\n  puVar2 = PTR___pthread_key_create_0043667c;\n  if (PTR___pthread_key_create_0043667c == (undefined *)0x0) {\n    puVar3[1] = puVar3[1] + 1;\n  }\n  else {\n    SYNC(0);\n    puVar3[1] = puVar3[1] + 1;\n    SYNC(0);\n  }\n  iVar6 = *(int *)(param_1 + 4);\n  iVar4 = (*(code *)PTR__M_id_00433800)(PTR_id_004322fc);\n  puVar1 = PTR_operator_new_0043233c;\n  *(undefined4 **)(iVar6 + iVar4 * 4) = puVar3;\n  puVar3 = (undefined4 *)(*(code *)puVar1)(0xc);\n  local_30[0] = *param_2;\n  puVar3[1] = 0;\n  puVar1 = PTR__S_clone_c_locale_004337ec;\n  *puVar3 = PTR_vtable_00432290 + 8;\n  uVar5 = (*(code *)puVar1)(local_30);\n  puVar3[2] = uVar5;\n  if (puVar2 == (undefined *)0x0) {\n    puVar3[1] = puVar3[1] + 1;\n  }\n  else {\n    SYNC(0);\n    puVar3[1] = puVar3[1] + 1;\n    SYNC(0);\n  }\n  iVar6 = *(int *)(param_1 + 4);\n  iVar4 = (*(code *)PTR__M_id_00433800)(PTR_id_00432300);\n  puVar1 = PTR_operator_new_0043233c;\n  *(undefined4 **)(iVar6 + iVar4 * 4) = puVar3;\n  puVar3 = (undefined4 *)(*(code *)puVar1)(0xc);\n  uVar5 = *param_2;\n  puVar3[1] = 0;\n  puVar3[2] = 0;\n  puVar1 = PTR__M_initialize_moneypunct_00432370;\n                    /* try { // try from 0035b284 to 0035b28b has its CatchHandler @ 0035b9cc */\n  *puVar3 = PTR_vtable_0043236c + 8;\n  (*(code *)puVar1)(puVar3,uVar5,0);\n  if (puVar2 == (undefined *)0x0) {\n    puVar3[1] = puVar3[1] + 1;\n  }\n  else {\n    SYNC(0);\n    puVar3[1] = puVar3[1] + 1;\n    SYNC(0);\n  }\n  iVar6 = *(int *)(param_1 + 4);\n  iVar4 = (*(code *)PTR__M_id_00433800)(PTR_id_00432314);\n  puVar1 = PTR_operator_new_0043233c;\n  *(undefined4 **)(iVar6 + iVar4 * 4) = puVar3;\n  puVar3 = (undefined4 *)(*(code *)puVar1)(0xc);\n  uVar5 = *param_2;\n  puVar3[1] = 0;\n  puVar3[2] = 0;\n  puVar1 = PTR__M_initialize_moneypunct_00432360;\n                    /* try { // try from 0035b304 to 0035b30b has its CatchHandler @ 0035b994 */\n  *puVar3 = PTR_vtable_0043235c + 8;\n  (*(code *)puVar1)(puVar3,uVar5,0);\n  if (puVar2 == (undefined *)0x0) {\n    puVar3[1] = puVar3[1] + 1;\n  }\n  else {\n    SYNC(0);\n    puVar3[1] = puVar3[1] + 1;\n    SYNC(0);\n  }\n  iVar6 = *(int *)(param_1 + 4);\n  iVar4 = (*(code *)PTR__M_id_00433800)(PTR_id_00432310);\n  puVar1 = PTR_operator_new_0043233c;\n  *(undefined4 **)(iVar6 + iVar4 * 4) = puVar3;\n  puVar3 = (undefined4 *)(*(code *)puVar1)(8);\n  puVar3[1] = 0;\n  *puVar3 = PTR_vtable_004322b8 + 8;\n  if (puVar2 == (undefined *)0x0) {\n    puVar3[1] = 1;\n  }\n  else {\n    SYNC(0);\n    puVar3[1] = puVar3[1] + 1;\n    SYNC(0);\n  }\n  iVar6 = *(int *)(param_1 + 4);\n  iVar4 = (*(code *)PTR__M_id_00433800)(PTR_id_00432308);\n  puVar1 = PTR_operator_new_0043233c;\n  *(undefined4 **)(iVar6 + iVar4 * 4) = puVar3;\n  puVar3 = (undefined4 *)(*(code *)puVar1)(8);\n  puVar3[1] = 0;\n  *puVar3 = PTR_vtable_004322b4 + 8;\n  if (puVar2 == (undefined *)0x0) {\n    puVar3[1] = 1;\n  }\n  else {\n    SYNC(0);\n    puVar3[1] = puVar3[1] + 1;\n    SYNC(0);\n  }\n  iVar6 = *(int *)(param_1 + 4);\n  iVar4 = (*(code *)PTR__M_id_00433800)(PTR_id_0043230c);\n  puVar1 = PTR_operator_new_0043233c;\n  *(undefined4 **)(iVar6 + iVar4 * 4) = puVar3;\n  puVar3 = (undefined4 *)(*(code *)puVar1)(8);\n  puVar3[1] = 0;\n  *puVar3 = PTR_vtable_004322c0 + 8;\n  if (puVar2 == (undefined *)0x0) {\n    puVar3[1] = 1;\n  }\n  else {\n    SYNC(0);\n    puVar3[1] = puVar3[1] + 1;\n    SYNC(0);\n  }\n  iVar6 = *(int *)(param_1 + 4);\n  iVar4 = (*(code *)PTR__M_id_00433800)(PTR_id_00432304);\n  puVar1 = PTR_operator_new_0043233c;\n  *(undefined4 **)(iVar6 + iVar4 * 4) = puVar3;\n  iVar4 = (*(code *)puVar1)(0x10);\n                    /* try { // try from 0035b4a0 to 0035b4a7 has its CatchHandler @ 0035b9dc */\n  (*(code *)PTR_messages_0043644c)(iVar4,*param_2,param_4,0);\n  if (puVar2 == (undefined *)0x0) {\n    *(int *)(iVar4 + 4) = *(int *)(iVar4 + 4) + 1;\n  }\n  else {\n    SYNC(0);\n    *(int *)(iVar4 + 4) = *(int *)(iVar4 + 4) + 1;\n    SYNC(0);\n  }\n  iVar7 = *(int *)(param_1 + 4);\n  iVar6 = (*(code *)PTR__M_id_00433800)(PTR_id_00432318);\n  puVar1 = PTR_operator_new_0043233c;\n  *(int *)(iVar7 + iVar6 * 4) = iVar4;\n  puVar3 = (undefined4 *)(*(code *)puVar1)(0xc);\n  uVar5 = *param_2;\n  puVar3[1] = 0;\n  puVar3[2] = 0;\n  puVar1 = PTR__M_initialize_numpunct_00432384;\n                    /* try { // try from 0035b51c to 0035b523 has its CatchHandler @ 0035b9d4 */\n  *puVar3 = PTR_vtable_00432380 + 8;\n  (*(code *)puVar1)(puVar3,uVar5);\n  if (puVar2 == (undefined *)0x0) {\n    puVar3[1] = puVar3[1] + 1;\n  }\n  else {\n    SYNC(0);\n    puVar3[1] = puVar3[1] + 1;\n    SYNC(0);\n  }\n  iVar6 = *(int *)(param_1 + 4);\n  iVar4 = (*(code *)PTR__M_id_00433800)(PTR_id_0043231c);\n  puVar1 = PTR_operator_new_0043233c;\n  *(undefined4 **)(iVar6 + iVar4 * 4) = puVar3;\n  puVar3 = (undefined4 *)(*(code *)puVar1)(0xc);\n  local_30[0] = *param_2;\n  puVar3[1] = 0;\n  puVar1 = PTR__S_clone_c_locale_004337ec;\n  *puVar3 = PTR_vtable_00432280 + 8;\n  uVar5 = (*(code *)puVar1)(local_30);\n  puVar3[2] = uVar5;\n  if (puVar2 == (undefined *)0x0) {\n    puVar3[1] = puVar3[1] + 1;\n  }\n  else {\n    SYNC(0);\n    puVar3[1] = puVar3[1] + 1;\n    SYNC(0);\n  }\n  iVar6 = *(int *)(param_1 + 4);\n  iVar4 = (*(code *)PTR__M_id_00433800)(PTR_id_00432320);\n  puVar1 = PTR_operator_new_0043233c;\n  *(undefined4 **)(iVar6 + iVar4 * 4) = puVar3;\n  puVar3 = (undefined4 *)(*(code *)puVar1)(0xc);\n  uVar5 = *param_3;\n  puVar3[1] = 0;\n  puVar3[2] = 0;\n  puVar1 = PTR__M_initialize_moneypunct_004323a4;\n                    /* try { // try from 0035b61c to 0035b623 has its CatchHandler @ 0035b9f8 */\n  *puVar3 = PTR_vtable_004323a0 + 8;\n  (*(code *)puVar1)(puVar3,uVar5,param_5);\n  if (puVar2 == (undefined *)0x0) {\n    puVar3[1] = puVar3[1] + 1;\n  }\n  else {\n    SYNC(0);\n    puVar3[1] = puVar3[1] + 1;\n    SYNC(0);\n  }\n  iVar6 = *(int *)(param_1 + 4);\n  iVar4 = (*(code *)PTR__M_id_00433800)(PTR_id_00432334);\n  puVar1 = PTR_operator_new_0043233c;\n  *(undefined4 **)(iVar6 + iVar4 * 4) = puVar3;\n  puVar3 = (undefined4 *)(*(code *)puVar1)(0xc);\n  uVar5 = *param_3;\n  puVar3[1] = 0;\n  puVar3[2] = 0;\n  puVar1 = PTR__M_initialize_moneypunct_00432394;\n                    /* try { // try from 0035b69c to 0035b6a3 has its CatchHandler @ 0035b9f0 */\n  *puVar3 = PTR_vtable_00432390 + 8;\n  (*(code *)puVar1)(puVar3,uVar5,param_5);\n  if (puVar2 == (undefined *)0x0) {\n    puVar3[1] = puVar3[1] + 1;\n  }\n  else {\n    SYNC(0);\n    puVar3[1] = puVar3[1] + 1;\n    SYNC(0);\n  }\n  iVar6 = *(int *)(param_1 + 4);\n  iVar4 = (*(code *)PTR__M_id_00433800)(PTR_id_00432330);\n  puVar1 = PTR_operator_new_0043233c;\n  *(undefined4 **)(iVar6 + iVar4 * 4) = puVar3;\n  puVar3 = (undefined4 *)(*(code *)puVar1)(8);\n  puVar3[1] = 0;\n  *puVar3 = PTR_vtable_004322c8 + 8;\n  if (puVar2 == (undefined *)0x0) {\n    puVar3[1] = 1;\n  }\n  else {\n    SYNC(0);\n    puVar3[1] = puVar3[1] + 1;\n    SYNC(0);\n  }\n  iVar6 = *(int *)(param_1 + 4);\n  iVar4 = (*(code *)PTR__M_id_00433800)(PTR_id_00432328);\n  puVar1 = PTR_operator_new_0043233c;\n  *(undefined4 **)(iVar6 + iVar4 * 4) = puVar3;\n  puVar3 = (undefined4 *)(*(code *)puVar1)(8);\n  puVar3[1] = 0;\n  *puVar3 = PTR_vtable_004322bc + 8;\n  if (puVar2 == (undefined *)0x0) {\n    puVar3[1] = 1;\n  }\n  else {\n    SYNC(0);\n    puVar3[1] = puVar3[1] + 1;\n    SYNC(0);\n  }\n  iVar6 = *(int *)(param_1 + 4);\n  iVar4 = (*(code *)PTR__M_id_00433800)(PTR_id_0043232c);\n  puVar1 = PTR_operator_new_0043233c;\n  *(undefined4 **)(iVar6 + iVar4 * 4) = puVar3;\n  puVar3 = (undefined4 *)(*(code *)puVar1)(8);\n  puVar3[1] = 0;\n  *puVar3 = PTR_vtable_004322c4 + 8;\n  if (puVar2 == (undefined *)0x0) {\n    puVar3[1] = 1;\n  }\n  else {\n    SYNC(0);\n    puVar3[1] = puVar3[1] + 1;\n    SYNC(0);\n  }\n  iVar6 = *(int *)(param_1 + 4);\n  iVar4 = (*(code *)PTR__M_id_00433800)(PTR_id_00432324);\n  puVar1 = PTR_operator_new_0043233c;\n  *(undefined4 **)(iVar6 + iVar4 * 4) = puVar3;\n  iVar4 = (*(code *)puVar1)(0x10);\n                    /* try { // try from 0035b838 to 0035b83f has its CatchHandler @ 0035ba08 */\n  (*(code *)PTR_messages_00436450)(iVar4,*param_2,param_4,0);\n  if (puVar2 == (undefined *)0x0) {\n    *(int *)(iVar4 + 4) = *(int *)(iVar4 + 4) + 1;\n  }\n  else {\n    SYNC(0);\n    *(int *)(iVar4 + 4) = *(int *)(iVar4 + 4) + 1;\n    SYNC(0);\n  }\n  iVar7 = *(int *)(param_1 + 4);\n  iVar6 = (*(code *)PTR__M_id_00433800)(PTR_id_00432338);\n  *(int *)(iVar7 + iVar6 * 4) = iVar4;\n  return;\n}" primitive_type (function_declarator "FUN_0035b100(int param_1,undefined4 *param_2,undefined4 *param_3,undefined4 param_4,\n                 undefined4 param_5)" identifier (parameter_list "(int param_1,undefined4 *param_2,undefined4 *param_3,undefined4 param_4,\n                 undefined4 param_5)" ( (parameter_declaration "int param_1" primitive_type identifier) , (parameter_declaration "undefined4 *param_2" type_identifier (pointer_declarator "*param_2" * identifier)) , (parameter_declaration "undefined4 *param_3" type_identifier (pointer_declarator "*param_3" * identifier)) , (parameter_declaration "undefined4 param_4" type_identifier identifier) , (parameter_declaration "undefined4 param_5" type_identifier identifier) ))) (compound_statement "{\n  undefined *puVar1;\n  undefined *puVar2;\n  undefined4 *puVar3;\n  int iVar4;\n  undefined4 uVar5;\n  int iVar6;\n  int iVar7;\n  undefined4 local_30 [3];\n  \n  puVar3 = (undefined4 *)(*(code *)PTR_operator_new_0043233c)(0xc);\n  uVar5 = *param_2;\n  puVar3[1] = 0;\n  puVar3[2] = 0;\n  puVar2 = PTR__M_initialize_numpunct_0043234c;\n                    /* try { // try from 0035b178 to 0035b17f has its CatchHandler @ 0035ba00 */\n  *puVar3 = PTR_vtable_00432348 + 8;\n  (*(code *)puVar2)(puVar3,uVar5);\n  puVar2 = PTR___pthread_key_create_0043667c;\n  if (PTR___pthread_key_create_0043667c == (undefined *)0x0) {\n    puVar3[1] = puVar3[1] + 1;\n  }\n  else {\n    SYNC(0);\n    puVar3[1] = puVar3[1] + 1;\n    SYNC(0);\n  }\n  iVar6 = *(int *)(param_1 + 4);\n  iVar4 = (*(code *)PTR__M_id_00433800)(PTR_id_004322fc);\n  puVar1 = PTR_operator_new_0043233c;\n  *(undefined4 **)(iVar6 + iVar4 * 4) = puVar3;\n  puVar3 = (undefined4 *)(*(code *)puVar1)(0xc);\n  local_30[0] = *param_2;\n  puVar3[1] = 0;\n  puVar1 = PTR__S_clone_c_locale_004337ec;\n  *puVar3 = PTR_vtable_00432290 + 8;\n  uVar5 = (*(code *)puVar1)(local_30);\n  puVar3[2] = uVar5;\n  if (puVar2 == (undefined *)0x0) {\n    puVar3[1] = puVar3[1] + 1;\n  }\n  else {\n    SYNC(0);\n    puVar3[1] = puVar3[1] + 1;\n    SYNC(0);\n  }\n  iVar6 = *(int *)(param_1 + 4);\n  iVar4 = (*(code *)PTR__M_id_00433800)(PTR_id_00432300);\n  puVar1 = PTR_operator_new_0043233c;\n  *(undefined4 **)(iVar6 + iVar4 * 4) = puVar3;\n  puVar3 = (undefined4 *)(*(code *)puVar1)(0xc);\n  uVar5 = *param_2;\n  puVar3[1] = 0;\n  puVar3[2] = 0;\n  puVar1 = PTR__M_initialize_moneypunct_00432370;\n                    /* try { // try from 0035b284 to 0035b28b has its CatchHandler @ 0035b9cc */\n  *puVar3 = PTR_vtable_0043236c + 8;\n  (*(code *)puVar1)(puVar3,uVar5,0);\n  if (puVar2 == (undefined *)0x0) {\n    puVar3[1] = puVar3[1] + 1;\n  }\n  else {\n    SYNC(0);\n    puVar3[1] = puVar3[1] + 1;\n    SYNC(0);\n  }\n  iVar6 = *(int *)(param_1 + 4);\n  iVar4 = (*(code *)PTR__M_id_00433800)(PTR_id_00432314);\n  puVar1 = PTR_operator_new_0043233c;\n  *(undefined4 **)(iVar6 + iVar4 * 4) = puVar3;\n  puVar3 = (undefined4 *)(*(code *)puVar1)(0xc);\n  uVar5 = *param_2;\n  puVar3[1] = 0;\n  puVar3[2] = 0;\n  puVar1 = PTR__M_initialize_moneypunct_00432360;\n                    /* try { // try from 0035b304 to 0035b30b has its CatchHandler @ 0035b994 */\n  *puVar3 = PTR_vtable_0043235c + 8;\n  (*(code *)puVar1)(puVar3,uVar5,0);\n  if (puVar2 == (undefined *)0x0) {\n    puVar3[1] = puVar3[1] + 1;\n  }\n  else {\n    SYNC(0);\n    puVar3[1] = puVar3[1] + 1;\n    SYNC(0);\n  }\n  iVar6 = *(int *)(param_1 + 4);\n  iVar4 = (*(code *)PTR__M_id_00433800)(PTR_id_00432310);\n  puVar1 = PTR_operator_new_0043233c;\n  *(undefined4 **)(iVar6 + iVar4 * 4) = puVar3;\n  puVar3 = (undefined4 *)(*(code *)puVar1)(8);\n  puVar3[1] = 0;\n  *puVar3 = PTR_vtable_004322b8 + 8;\n  if (puVar2 == (undefined *)0x0) {\n    puVar3[1] = 1;\n  }\n  else {\n    SYNC(0);\n    puVar3[1] = puVar3[1] + 1;\n    SYNC(0);\n  }\n  iVar6 = *(int *)(param_1 + 4);\n  iVar4 = (*(code *)PTR__M_id_00433800)(PTR_id_00432308);\n  puVar1 = PTR_operator_new_0043233c;\n  *(undefined4 **)(iVar6 + iVar4 * 4) = puVar3;\n  puVar3 = (undefined4 *)(*(code *)puVar1)(8);\n  puVar3[1] = 0;\n  *puVar3 = PTR_vtable_004322b4 + 8;\n  if (puVar2 == (undefined *)0x0) {\n    puVar3[1] = 1;\n  }\n  else {\n    SYNC(0);\n    puVar3[1] = puVar3[1] + 1;\n    SYNC(0);\n  }\n  iVar6 = *(int *)(param_1 + 4);\n  iVar4 = (*(code *)PTR__M_id_00433800)(PTR_id_0043230c);\n  puVar1 = PTR_operator_new_0043233c;\n  *(undefined4 **)(iVar6 + iVar4 * 4) = puVar3;\n  puVar3 = (undefined4 *)(*(code *)puVar1)(8);\n  puVar3[1] = 0;\n  *puVar3 = PTR_vtable_004322c0 + 8;\n  if (puVar2 == (undefined *)0x0) {\n    puVar3[1] = 1;\n  }\n  else {\n    SYNC(0);\n    puVar3[1] = puVar3[1] + 1;\n    SYNC(0);\n  }\n  iVar6 = *(int *)(param_1 + 4);\n  iVar4 = (*(code *)PTR__M_id_00433800)(PTR_id_00432304);\n  puVar1 = PTR_operator_new_0043233c;\n  *(undefined4 **)(iVar6 + iVar4 * 4) = puVar3;\n  iVar4 = (*(code *)puVar1)(0x10);\n                    /* try { // try from 0035b4a0 to 0035b4a7 has its CatchHandler @ 0035b9dc */\n  (*(code *)PTR_messages_0043644c)(iVar4,*param_2,param_4,0);\n  if (puVar2 == (undefined *)0x0) {\n    *(int *)(iVar4 + 4) = *(int *)(iVar4 + 4) + 1;\n  }\n  else {\n    SYNC(0);\n    *(int *)(iVar4 + 4) = *(int *)(iVar4 + 4) + 1;\n    SYNC(0);\n  }\n  iVar7 = *(int *)(param_1 + 4);\n  iVar6 = (*(code *)PTR__M_id_00433800)(PTR_id_00432318);\n  puVar1 = PTR_operator_new_0043233c;\n  *(int *)(iVar7 + iVar6 * 4) = iVar4;\n  puVar3 = (undefined4 *)(*(code *)puVar1)(0xc);\n  uVar5 = *param_2;\n  puVar3[1] = 0;\n  puVar3[2] = 0;\n  puVar1 = PTR__M_initialize_numpunct_00432384;\n                    /* try { // try from 0035b51c to 0035b523 has its CatchHandler @ 0035b9d4 */\n  *puVar3 = PTR_vtable_00432380 + 8;\n  (*(code *)puVar1)(puVar3,uVar5);\n  if (puVar2 == (undefined *)0x0) {\n    puVar3[1] = puVar3[1] + 1;\n  }\n  else {\n    SYNC(0);\n    puVar3[1] = puVar3[1] + 1;\n    SYNC(0);\n  }\n  iVar6 = *(int *)(param_1 + 4);\n  iVar4 = (*(code *)PTR__M_id_00433800)(PTR_id_0043231c);\n  puVar1 = PTR_operator_new_0043233c;\n  *(undefined4 **)(iVar6 + iVar4 * 4) = puVar3;\n  puVar3 = (undefined4 *)(*(code *)puVar1)(0xc);\n  local_30[0] = *param_2;\n  puVar3[1] = 0;\n  puVar1 = PTR__S_clone_c_locale_004337ec;\n  *puVar3 = PTR_vtable_00432280 + 8;\n  uVar5 = (*(code *)puVar1)(local_30);\n  puVar3[2] = uVar5;\n  if (puVar2 == (undefined *)0x0) {\n    puVar3[1] = puVar3[1] + 1;\n  }\n  else {\n    SYNC(0);\n    puVar3[1] = puVar3[1] + 1;\n    SYNC(0);\n  }\n  iVar6 = *(int *)(param_1 + 4);\n  iVar4 = (*(code *)PTR__M_id_00433800)(PTR_id_00432320);\n  puVar1 = PTR_operator_new_0043233c;\n  *(undefined4 **)(iVar6 + iVar4 * 4) = puVar3;\n  puVar3 = (undefined4 *)(*(code *)puVar1)(0xc);\n  uVar5 = *param_3;\n  puVar3[1] = 0;\n  puVar3[2] = 0;\n  puVar1 = PTR__M_initialize_moneypunct_004323a4;\n                    /* try { // try from 0035b61c to 0035b623 has its CatchHandler @ 0035b9f8 */\n  *puVar3 = PTR_vtable_004323a0 + 8;\n  (*(code *)puVar1)(puVar3,uVar5,param_5);\n  if (puVar2 == (undefined *)0x0) {\n    puVar3[1] = puVar3[1] + 1;\n  }\n  else {\n    SYNC(0);\n    puVar3[1] = puVar3[1] + 1;\n    SYNC(0);\n  }\n  iVar6 = *(int *)(param_1 + 4);\n  iVar4 = (*(code *)PTR__M_id_00433800)(PTR_id_00432334);\n  puVar1 = PTR_operator_new_0043233c;\n  *(undefined4 **)(iVar6 + iVar4 * 4) = puVar3;\n  puVar3 = (undefined4 *)(*(code *)puVar1)(0xc);\n  uVar5 = *param_3;\n  puVar3[1] = 0;\n  puVar3[2] = 0;\n  puVar1 = PTR__M_initialize_moneypunct_00432394;\n                    /* try { // try from 0035b69c to 0035b6a3 has its CatchHandler @ 0035b9f0 */\n  *puVar3 = PTR_vtable_00432390 + 8;\n  (*(code *)puVar1)(puVar3,uVar5,param_5);\n  if (puVar2 == (undefined *)0x0) {\n    puVar3[1] = puVar3[1] + 1;\n  }\n  else {\n    SYNC(0);\n    puVar3[1] = puVar3[1] + 1;\n    SYNC(0);\n  }\n  iVar6 = *(int *)(param_1 + 4);\n  iVar4 = (*(code *)PTR__M_id_00433800)(PTR_id_00432330);\n  puVar1 = PTR_operator_new_0043233c;\n  *(undefined4 **)(iVar6 + iVar4 * 4) = puVar3;\n  puVar3 = (undefined4 *)(*(code *)puVar1)(8);\n  puVar3[1] = 0;\n  *puVar3 = PTR_vtable_004322c8 + 8;\n  if (puVar2 == (undefined *)0x0) {\n    puVar3[1] = 1;\n  }\n  else {\n    SYNC(0);\n    puVar3[1] = puVar3[1] + 1;\n    SYNC(0);\n  }\n  iVar6 = *(int *)(param_1 + 4);\n  iVar4 = (*(code *)PTR__M_id_00433800)(PTR_id_00432328);\n  puVar1 = PTR_operator_new_0043233c;\n  *(undefined4 **)(iVar6 + iVar4 * 4) = puVar3;\n  puVar3 = (undefined4 *)(*(code *)puVar1)(8);\n  puVar3[1] = 0;\n  *puVar3 = PTR_vtable_004322bc + 8;\n  if (puVar2 == (undefined *)0x0) {\n    puVar3[1] = 1;\n  }\n  else {\n    SYNC(0);\n    puVar3[1] = puVar3[1] + 1;\n    SYNC(0);\n  }\n  iVar6 = *(int *)(param_1 + 4);\n  iVar4 = (*(code *)PTR__M_id_00433800)(PTR_id_0043232c);\n  puVar1 = PTR_operator_new_0043233c;\n  *(undefined4 **)(iVar6 + iVar4 * 4) = puVar3;\n  puVar3 = (undefined4 *)(*(code *)puVar1)(8);\n  puVar3[1] = 0;\n  *puVar3 = PTR_vtable_004322c4 + 8;\n  if (puVar2 == (undefined *)0x0) {\n    puVar3[1] = 1;\n  }\n  else {\n    SYNC(0);\n    puVar3[1] = puVar3[1] + 1;\n    SYNC(0);\n  }\n  iVar6 = *(int *)(param_1 + 4);\n  iVar4 = (*(code *)PTR__M_id_00433800)(PTR_id_00432324);\n  puVar1 = PTR_operator_new_0043233c;\n  *(undefined4 **)(iVar6 + iVar4 * 4) = puVar3;\n  iVar4 = (*(code *)puVar1)(0x10);\n                    /* try { // try from 0035b838 to 0035b83f has its CatchHandler @ 0035ba08 */\n  (*(code *)PTR_messages_00436450)(iVar4,*param_2,param_4,0);\n  if (puVar2 == (undefined *)0x0) {\n    *(int *)(iVar4 + 4) = *(int *)(iVar4 + 4) + 1;\n  }\n  else {\n    SYNC(0);\n    *(int *)(iVar4 + 4) = *(int *)(iVar4 + 4) + 1;\n    SYNC(0);\n  }\n  iVar7 = *(int *)(param_1 + 4);\n  iVar6 = (*(code *)PTR__M_id_00433800)(PTR_id_00432338);\n  *(int *)(iVar7 + iVar6 * 4) = iVar4;\n  return;\n}" { (declaration "undefined *puVar1;" type_identifier (pointer_declarator "*puVar1" * identifier) ;) (declaration "undefined *puVar2;" type_identifier (pointer_declarator "*puVar2" * identifier) ;) (declaration "undefined4 *puVar3;" type_identifier (pointer_declarator "*puVar3" * identifier) ;) (declaration "int iVar4;" primitive_type identifier ;) (declaration "undefined4 uVar5;" type_identifier identifier ;) (declaration "int iVar6;" primitive_type identifier ;) (declaration "int iVar7;" primitive_type identifier ;) (declaration "undefined4 local_30 [3];" type_identifier (array_declarator "local_30 [3]" identifier [ number_literal ]) ;) (expression_statement "puVar3 = (undefined4 *)(*(code *)PTR_operator_new_0043233c)(0xc);" (assignment_expression "puVar3 = (undefined4 *)(*(code *)PTR_operator_new_0043233c)(0xc)" identifier = (cast_expression "(undefined4 *)(*(code *)PTR_operator_new_0043233c)(0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_operator_new_0043233c)(0xc)" (parenthesized_expression "(*(code *)PTR_operator_new_0043233c)" ( (pointer_expression "*(code *)PTR_operator_new_0043233c" * (cast_expression "(code *)PTR_operator_new_0043233c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0xc)" ( number_literal ))))) ;) (expression_statement "uVar5 = *param_2;" (assignment_expression "uVar5 = *param_2" identifier = (pointer_expression "*param_2" * identifier)) ;) (expression_statement "puVar3[1] = 0;" (assignment_expression "puVar3[1] = 0" (subscript_expression "puVar3[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar3[2] = 0;" (assignment_expression "puVar3[2] = 0" (subscript_expression "puVar3[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar2 = PTR__M_initialize_numpunct_0043234c;" (assignment_expression "puVar2 = PTR__M_initialize_numpunct_0043234c" identifier = identifier) ;) comment (expression_statement "*puVar3 = PTR_vtable_00432348 + 8;" (assignment_expression "*puVar3 = PTR_vtable_00432348 + 8" (pointer_expression "*puVar3" * identifier) = (binary_expression "PTR_vtable_00432348 + 8" identifier + number_literal)) ;) (expression_statement "(*(code *)puVar2)(puVar3,uVar5);" (call_expression "(*(code *)puVar2)(puVar3,uVar5)" (parenthesized_expression "(*(code *)puVar2)" ( (pointer_expression "*(code *)puVar2" * (cast_expression "(code *)puVar2" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar3,uVar5)" ( identifier , identifier ))) ;) (expression_statement "puVar2 = PTR___pthread_key_create_0043667c;" (assignment_expression "puVar2 = PTR___pthread_key_create_0043667c" identifier = identifier) ;) (if_statement "if (PTR___pthread_key_create_0043667c == (undefined *)0x0) {\n    puVar3[1] = puVar3[1] + 1;\n  }\n  else {\n    SYNC(0);\n    puVar3[1] = puVar3[1] + 1;\n    SYNC(0);\n  }" if (parenthesized_expression "(PTR___pthread_key_create_0043667c == (undefined *)0x0)" ( (binary_expression "PTR___pthread_key_create_0043667c == (undefined *)0x0" identifier == (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    puVar3[1] = puVar3[1] + 1;\n  }" { (expression_statement "puVar3[1] = puVar3[1] + 1;" (assignment_expression "puVar3[1] = puVar3[1] + 1" (subscript_expression "puVar3[1]" identifier [ number_literal ]) = (binary_expression "puVar3[1] + 1" (subscript_expression "puVar3[1]" identifier [ number_literal ]) + number_literal)) ;) }) (else_clause "else {\n    SYNC(0);\n    puVar3[1] = puVar3[1] + 1;\n    SYNC(0);\n  }" else (compound_statement "{\n    SYNC(0);\n    puVar3[1] = puVar3[1] + 1;\n    SYNC(0);\n  }" { (expression_statement "SYNC(0);" (call_expression "SYNC(0)" identifier (argument_list "(0)" ( number_literal ))) ;) (expression_statement "puVar3[1] = puVar3[1] + 1;" (assignment_expression "puVar3[1] = puVar3[1] + 1" (subscript_expression "puVar3[1]" identifier [ number_literal ]) = (binary_expression "puVar3[1] + 1" (subscript_expression "puVar3[1]" identifier [ number_literal ]) + number_literal)) ;) (expression_statement "SYNC(0);" (call_expression "SYNC(0)" identifier (argument_list "(0)" ( number_literal ))) ;) }))) (expression_statement "iVar6 = *(int *)(param_1 + 4);" (assignment_expression "iVar6 = *(int *)(param_1 + 4)" identifier = (pointer_expression "*(int *)(param_1 + 4)" * (cast_expression "(int *)(param_1 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 4)" ( (binary_expression "param_1 + 4" identifier + number_literal) ))))) ;) (expression_statement "iVar4 = (*(code *)PTR__M_id_00433800)(PTR_id_004322fc);" (assignment_expression "iVar4 = (*(code *)PTR__M_id_00433800)(PTR_id_004322fc)" identifier = (call_expression "(*(code *)PTR__M_id_00433800)(PTR_id_004322fc)" (parenthesized_expression "(*(code *)PTR__M_id_00433800)" ( (pointer_expression "*(code *)PTR__M_id_00433800" * (cast_expression "(code *)PTR__M_id_00433800" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_id_004322fc)" ( identifier )))) ;) (expression_statement "puVar1 = PTR_operator_new_0043233c;" (assignment_expression "puVar1 = PTR_operator_new_0043233c" identifier = identifier) ;) (expression_statement "*(undefined4 **)(iVar6 + iVar4 * 4) = puVar3;" (assignment_expression "*(undefined4 **)(iVar6 + iVar4 * 4) = puVar3" (pointer_expression "*(undefined4 **)(iVar6 + iVar4 * 4)" * (cast_expression "(undefined4 **)(iVar6 + iVar4 * 4)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar6 + iVar4 * 4)" ( (binary_expression "iVar6 + iVar4 * 4" identifier + (binary_expression "iVar4 * 4" identifier * number_literal)) )))) = identifier) ;) (expression_statement "puVar3 = (undefined4 *)(*(code *)puVar1)(0xc);" (assignment_expression "puVar3 = (undefined4 *)(*(code *)puVar1)(0xc)" identifier = (cast_expression "(undefined4 *)(*(code *)puVar1)(0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)puVar1)(0xc)" (parenthesized_expression "(*(code *)puVar1)" ( (pointer_expression "*(code *)puVar1" * (cast_expression "(code *)puVar1" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0xc)" ( number_literal ))))) ;) (expression_statement "local_30[0] = *param_2;" (assignment_expression "local_30[0] = *param_2" (subscript_expression "local_30[0]" identifier [ number_literal ]) = (pointer_expression "*param_2" * identifier)) ;) (expression_statement "puVar3[1] = 0;" (assignment_expression "puVar3[1] = 0" (subscript_expression "puVar3[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar1 = PTR__S_clone_c_locale_004337ec;" (assignment_expression "puVar1 = PTR__S_clone_c_locale_004337ec" identifier = identifier) ;) (expression_statement "*puVar3 = PTR_vtable_00432290 + 8;" (assignment_expression "*puVar3 = PTR_vtable_00432290 + 8" (pointer_expression "*puVar3" * identifier) = (binary_expression "PTR_vtable_00432290 + 8" identifier + number_literal)) ;) (expression_statement "uVar5 = (*(code *)puVar1)(local_30);" (assignment_expression "uVar5 = (*(code *)puVar1)(local_30)" identifier = (call_expression "(*(code *)puVar1)(local_30)" (parenthesized_expression "(*(code *)puVar1)" ( (pointer_expression "*(code *)puVar1" * (cast_expression "(code *)puVar1" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(local_30)" ( identifier )))) ;) (expression_statement "puVar3[2] = uVar5;" (assignment_expression "puVar3[2] = uVar5" (subscript_expression "puVar3[2]" identifier [ number_literal ]) = identifier) ;) (if_statement "if (puVar2 == (undefined *)0x0) {\n    puVar3[1] = puVar3[1] + 1;\n  }\n  else {\n    SYNC(0);\n    puVar3[1] = puVar3[1] + 1;\n    SYNC(0);\n  }" if (parenthesized_expression "(puVar2 == (undefined *)0x0)" ( (binary_expression "puVar2 == (undefined *)0x0" identifier == (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    puVar3[1] = puVar3[1] + 1;\n  }" { (expression_statement "puVar3[1] = puVar3[1] + 1;" (assignment_expression "puVar3[1] = puVar3[1] + 1" (subscript_expression "puVar3[1]" identifier [ number_literal ]) = (binary_expression "puVar3[1] + 1" (subscript_expression "puVar3[1]" identifier [ number_literal ]) + number_literal)) ;) }) (else_clause "else {\n    SYNC(0);\n    puVar3[1] = puVar3[1] + 1;\n    SYNC(0);\n  }" else (compound_statement "{\n    SYNC(0);\n    puVar3[1] = puVar3[1] + 1;\n    SYNC(0);\n  }" { (expression_statement "SYNC(0);" (call_expression "SYNC(0)" identifier (argument_list "(0)" ( number_literal ))) ;) (expression_statement "puVar3[1] = puVar3[1] + 1;" (assignment_expression "puVar3[1] = puVar3[1] + 1" (subscript_expression "puVar3[1]" identifier [ number_literal ]) = (binary_expression "puVar3[1] + 1" (subscript_expression "puVar3[1]" identifier [ number_literal ]) + number_literal)) ;) (expression_statement "SYNC(0);" (call_expression "SYNC(0)" identifier (argument_list "(0)" ( number_literal ))) ;) }))) (expression_statement "iVar6 = *(int *)(param_1 + 4);" (assignment_expression "iVar6 = *(int *)(param_1 + 4)" identifier = (pointer_expression "*(int *)(param_1 + 4)" * (cast_expression "(int *)(param_1 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 4)" ( (binary_expression "param_1 + 4" identifier + number_literal) ))))) ;) (expression_statement "iVar4 = (*(code *)PTR__M_id_00433800)(PTR_id_00432300);" (assignment_expression "iVar4 = (*(code *)PTR__M_id_00433800)(PTR_id_00432300)" identifier = (call_expression "(*(code *)PTR__M_id_00433800)(PTR_id_00432300)" (parenthesized_expression "(*(code *)PTR__M_id_00433800)" ( (pointer_expression "*(code *)PTR__M_id_00433800" * (cast_expression "(code *)PTR__M_id_00433800" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_id_00432300)" ( identifier )))) ;) (expression_statement "puVar1 = PTR_operator_new_0043233c;" (assignment_expression "puVar1 = PTR_operator_new_0043233c" identifier = identifier) ;) (expression_statement "*(undefined4 **)(iVar6 + iVar4 * 4) = puVar3;" (assignment_expression "*(undefined4 **)(iVar6 + iVar4 * 4) = puVar3" (pointer_expression "*(undefined4 **)(iVar6 + iVar4 * 4)" * (cast_expression "(undefined4 **)(iVar6 + iVar4 * 4)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar6 + iVar4 * 4)" ( (binary_expression "iVar6 + iVar4 * 4" identifier + (binary_expression "iVar4 * 4" identifier * number_literal)) )))) = identifier) ;) (expression_statement "puVar3 = (undefined4 *)(*(code *)puVar1)(0xc);" (assignment_expression "puVar3 = (undefined4 *)(*(code *)puVar1)(0xc)" identifier = (cast_expression "(undefined4 *)(*(code *)puVar1)(0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)puVar1)(0xc)" (parenthesized_expression "(*(code *)puVar1)" ( (pointer_expression "*(code *)puVar1" * (cast_expression "(code *)puVar1" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0xc)" ( number_literal ))))) ;) (expression_statement "uVar5 = *param_2;" (assignment_expression "uVar5 = *param_2" identifier = (pointer_expression "*param_2" * identifier)) ;) (expression_statement "puVar3[1] = 0;" (assignment_expression "puVar3[1] = 0" (subscript_expression "puVar3[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar3[2] = 0;" (assignment_expression "puVar3[2] = 0" (subscript_expression "puVar3[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar1 = PTR__M_initialize_moneypunct_00432370;" (assignment_expression "puVar1 = PTR__M_initialize_moneypunct_00432370" identifier = identifier) ;) comment (expression_statement "*puVar3 = PTR_vtable_0043236c + 8;" (assignment_expression "*puVar3 = PTR_vtable_0043236c + 8" (pointer_expression "*puVar3" * identifier) = (binary_expression "PTR_vtable_0043236c + 8" identifier + number_literal)) ;) (expression_statement "(*(code *)puVar1)(puVar3,uVar5,0);" (call_expression "(*(code *)puVar1)(puVar3,uVar5,0)" (parenthesized_expression "(*(code *)puVar1)" ( (pointer_expression "*(code *)puVar1" * (cast_expression "(code *)puVar1" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar3,uVar5,0)" ( identifier , identifier , number_literal ))) ;) (if_statement "if (puVar2 == (undefined *)0x0) {\n    puVar3[1] = puVar3[1] + 1;\n  }\n  else {\n    SYNC(0);\n    puVar3[1] = puVar3[1] + 1;\n    SYNC(0);\n  }" if (parenthesized_expression "(puVar2 == (undefined *)0x0)" ( (binary_expression "puVar2 == (undefined *)0x0" identifier == (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    puVar3[1] = puVar3[1] + 1;\n  }" { (expression_statement "puVar3[1] = puVar3[1] + 1;" (assignment_expression "puVar3[1] = puVar3[1] + 1" (subscript_expression "puVar3[1]" identifier [ number_literal ]) = (binary_expression "puVar3[1] + 1" (subscript_expression "puVar3[1]" identifier [ number_literal ]) + number_literal)) ;) }) (else_clause "else {\n    SYNC(0);\n    puVar3[1] = puVar3[1] + 1;\n    SYNC(0);\n  }" else (compound_statement "{\n    SYNC(0);\n    puVar3[1] = puVar3[1] + 1;\n    SYNC(0);\n  }" { (expression_statement "SYNC(0);" (call_expression "SYNC(0)" identifier (argument_list "(0)" ( number_literal ))) ;) (expression_statement "puVar3[1] = puVar3[1] + 1;" (assignment_expression "puVar3[1] = puVar3[1] + 1" (subscript_expression "puVar3[1]" identifier [ number_literal ]) = (binary_expression "puVar3[1] + 1" (subscript_expression "puVar3[1]" identifier [ number_literal ]) + number_literal)) ;) (expression_statement "SYNC(0);" (call_expression "SYNC(0)" identifier (argument_list "(0)" ( number_literal ))) ;) }))) (expression_statement "iVar6 = *(int *)(param_1 + 4);" (assignment_expression "iVar6 = *(int *)(param_1 + 4)" identifier = (pointer_expression "*(int *)(param_1 + 4)" * (cast_expression "(int *)(param_1 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 4)" ( (binary_expression "param_1 + 4" identifier + number_literal) ))))) ;) (expression_statement "iVar4 = (*(code *)PTR__M_id_00433800)(PTR_id_00432314);" (assignment_expression "iVar4 = (*(code *)PTR__M_id_00433800)(PTR_id_00432314)" identifier = (call_expression "(*(code *)PTR__M_id_00433800)(PTR_id_00432314)" (parenthesized_expression "(*(code *)PTR__M_id_00433800)" ( (pointer_expression "*(code *)PTR__M_id_00433800" * (cast_expression "(code *)PTR__M_id_00433800" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_id_00432314)" ( identifier )))) ;) (expression_statement "puVar1 = PTR_operator_new_0043233c;" (assignment_expression "puVar1 = PTR_operator_new_0043233c" identifier = identifier) ;) (expression_statement "*(undefined4 **)(iVar6 + iVar4 * 4) = puVar3;" (assignment_expression "*(undefined4 **)(iVar6 + iVar4 * 4) = puVar3" (pointer_expression "*(undefined4 **)(iVar6 + iVar4 * 4)" * (cast_expression "(undefined4 **)(iVar6 + iVar4 * 4)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar6 + iVar4 * 4)" ( (binary_expression "iVar6 + iVar4 * 4" identifier + (binary_expression "iVar4 * 4" identifier * number_literal)) )))) = identifier) ;) (expression_statement "puVar3 = (undefined4 *)(*(code *)puVar1)(0xc);" (assignment_expression "puVar3 = (undefined4 *)(*(code *)puVar1)(0xc)" identifier = (cast_expression "(undefined4 *)(*(code *)puVar1)(0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)puVar1)(0xc)" (parenthesized_expression "(*(code *)puVar1)" ( (pointer_expression "*(code *)puVar1" * (cast_expression "(code *)puVar1" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0xc)" ( number_literal ))))) ;) (expression_statement "uVar5 = *param_2;" (assignment_expression "uVar5 = *param_2" identifier = (pointer_expression "*param_2" * identifier)) ;) (expression_statement "puVar3[1] = 0;" (assignment_expression "puVar3[1] = 0" (subscript_expression "puVar3[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar3[2] = 0;" (assignment_expression "puVar3[2] = 0" (subscript_expression "puVar3[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar1 = PTR__M_initialize_moneypunct_00432360;" (assignment_expression "puVar1 = PTR__M_initialize_moneypunct_00432360" identifier = identifier) ;) comment (expression_statement "*puVar3 = PTR_vtable_0043235c + 8;" (assignment_expression "*puVar3 = PTR_vtable_0043235c + 8" (pointer_expression "*puVar3" * identifier) = (binary_expression "PTR_vtable_0043235c + 8" identifier + number_literal)) ;) (expression_statement "(*(code *)puVar1)(puVar3,uVar5,0);" (call_expression "(*(code *)puVar1)(puVar3,uVar5,0)" (parenthesized_expression "(*(code *)puVar1)" ( (pointer_expression "*(code *)puVar1" * (cast_expression "(code *)puVar1" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar3,uVar5,0)" ( identifier , identifier , number_literal ))) ;) (if_statement "if (puVar2 == (undefined *)0x0) {\n    puVar3[1] = puVar3[1] + 1;\n  }\n  else {\n    SYNC(0);\n    puVar3[1] = puVar3[1] + 1;\n    SYNC(0);\n  }" if (parenthesized_expression "(puVar2 == (undefined *)0x0)" ( (binary_expression "puVar2 == (undefined *)0x0" identifier == (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    puVar3[1] = puVar3[1] + 1;\n  }" { (expression_statement "puVar3[1] = puVar3[1] + 1;" (assignment_expression "puVar3[1] = puVar3[1] + 1" (subscript_expression "puVar3[1]" identifier [ number_literal ]) = (binary_expression "puVar3[1] + 1" (subscript_expression "puVar3[1]" identifier [ number_literal ]) + number_literal)) ;) }) (else_clause "else {\n    SYNC(0);\n    puVar3[1] = puVar3[1] + 1;\n    SYNC(0);\n  }" else (compound_statement "{\n    SYNC(0);\n    puVar3[1] = puVar3[1] + 1;\n    SYNC(0);\n  }" { (expression_statement "SYNC(0);" (call_expression "SYNC(0)" identifier (argument_list "(0)" ( number_literal ))) ;) (expression_statement "puVar3[1] = puVar3[1] + 1;" (assignment_expression "puVar3[1] = puVar3[1] + 1" (subscript_expression "puVar3[1]" identifier [ number_literal ]) = (binary_expression "puVar3[1] + 1" (subscript_expression "puVar3[1]" identifier [ number_literal ]) + number_literal)) ;) (expression_statement "SYNC(0);" (call_expression "SYNC(0)" identifier (argument_list "(0)" ( number_literal ))) ;) }))) (expression_statement "iVar6 = *(int *)(param_1 + 4);" (assignment_expression "iVar6 = *(int *)(param_1 + 4)" identifier = (pointer_expression "*(int *)(param_1 + 4)" * (cast_expression "(int *)(param_1 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 4)" ( (binary_expression "param_1 + 4" identifier + number_literal) ))))) ;) (expression_statement "iVar4 = (*(code *)PTR__M_id_00433800)(PTR_id_00432310);" (assignment_expression "iVar4 = (*(code *)PTR__M_id_00433800)(PTR_id_00432310)" identifier = (call_expression "(*(code *)PTR__M_id_00433800)(PTR_id_00432310)" (parenthesized_expression "(*(code *)PTR__M_id_00433800)" ( (pointer_expression "*(code *)PTR__M_id_00433800" * (cast_expression "(code *)PTR__M_id_00433800" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_id_00432310)" ( identifier )))) ;) (expression_statement "puVar1 = PTR_operator_new_0043233c;" (assignment_expression "puVar1 = PTR_operator_new_0043233c" identifier = identifier) ;) (expression_statement "*(undefined4 **)(iVar6 + iVar4 * 4) = puVar3;" (assignment_expression "*(undefined4 **)(iVar6 + iVar4 * 4) = puVar3" (pointer_expression "*(undefined4 **)(iVar6 + iVar4 * 4)" * (cast_expression "(undefined4 **)(iVar6 + iVar4 * 4)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar6 + iVar4 * 4)" ( (binary_expression "iVar6 + iVar4 * 4" identifier + (binary_expression "iVar4 * 4" identifier * number_literal)) )))) = identifier) ;) (expression_statement "puVar3 = (undefined4 *)(*(code *)puVar1)(8);" (assignment_expression "puVar3 = (undefined4 *)(*(code *)puVar1)(8)" identifier = (cast_expression "(undefined4 *)(*(code *)puVar1)(8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)puVar1)(8)" (parenthesized_expression "(*(code *)puVar1)" ( (pointer_expression "*(code *)puVar1" * (cast_expression "(code *)puVar1" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(8)" ( number_literal ))))) ;) (expression_statement "puVar3[1] = 0;" (assignment_expression "puVar3[1] = 0" (subscript_expression "puVar3[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*puVar3 = PTR_vtable_004322b8 + 8;" (assignment_expression "*puVar3 = PTR_vtable_004322b8 + 8" (pointer_expression "*puVar3" * identifier) = (binary_expression "PTR_vtable_004322b8 + 8" identifier + number_literal)) ;) (if_statement "if (puVar2 == (undefined *)0x0) {\n    puVar3[1] = 1;\n  }\n  else {\n    SYNC(0);\n    puVar3[1] = puVar3[1] + 1;\n    SYNC(0);\n  }" if (parenthesized_expression "(puVar2 == (undefined *)0x0)" ( (binary_expression "puVar2 == (undefined *)0x0" identifier == (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    puVar3[1] = 1;\n  }" { (expression_statement "puVar3[1] = 1;" (assignment_expression "puVar3[1] = 1" (subscript_expression "puVar3[1]" identifier [ number_literal ]) = number_literal) ;) }) (else_clause "else {\n    SYNC(0);\n    puVar3[1] = puVar3[1] + 1;\n    SYNC(0);\n  }" else (compound_statement "{\n    SYNC(0);\n    puVar3[1] = puVar3[1] + 1;\n    SYNC(0);\n  }" { (expression_statement "SYNC(0);" (call_expression "SYNC(0)" identifier (argument_list "(0)" ( number_literal ))) ;) (expression_statement "puVar3[1] = puVar3[1] + 1;" (assignment_expression "puVar3[1] = puVar3[1] + 1" (subscript_expression "puVar3[1]" identifier [ number_literal ]) = (binary_expression "puVar3[1] + 1" (subscript_expression "puVar3[1]" identifier [ number_literal ]) + number_literal)) ;) (expression_statement "SYNC(0);" (call_expression "SYNC(0)" identifier (argument_list "(0)" ( number_literal ))) ;) }))) (expression_statement "iVar6 = *(int *)(param_1 + 4);" (assignment_expression "iVar6 = *(int *)(param_1 + 4)" identifier = (pointer_expression "*(int *)(param_1 + 4)" * (cast_expression "(int *)(param_1 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 4)" ( (binary_expression "param_1 + 4" identifier + number_literal) ))))) ;) (expression_statement "iVar4 = (*(code *)PTR__M_id_00433800)(PTR_id_00432308);" (assignment_expression "iVar4 = (*(code *)PTR__M_id_00433800)(PTR_id_00432308)" identifier = (call_expression "(*(code *)PTR__M_id_00433800)(PTR_id_00432308)" (parenthesized_expression "(*(code *)PTR__M_id_00433800)" ( (pointer_expression "*(code *)PTR__M_id_00433800" * (cast_expression "(code *)PTR__M_id_00433800" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_id_00432308)" ( identifier )))) ;) (expression_statement "puVar1 = PTR_operator_new_0043233c;" (assignment_expression "puVar1 = PTR_operator_new_0043233c" identifier = identifier) ;) (expression_statement "*(undefined4 **)(iVar6 + iVar4 * 4) = puVar3;" (assignment_expression "*(undefined4 **)(iVar6 + iVar4 * 4) = puVar3" (pointer_expression "*(undefined4 **)(iVar6 + iVar4 * 4)" * (cast_expression "(undefined4 **)(iVar6 + iVar4 * 4)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar6 + iVar4 * 4)" ( (binary_expression "iVar6 + iVar4 * 4" identifier + (binary_expression "iVar4 * 4" identifier * number_literal)) )))) = identifier) ;) (expression_statement "puVar3 = (undefined4 *)(*(code *)puVar1)(8);" (assignment_expression "puVar3 = (undefined4 *)(*(code *)puVar1)(8)" identifier = (cast_expression "(undefined4 *)(*(code *)puVar1)(8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)puVar1)(8)" (parenthesized_expression "(*(code *)puVar1)" ( (pointer_expression "*(code *)puVar1" * (cast_expression "(code *)puVar1" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(8)" ( number_literal ))))) ;) (expression_statement "puVar3[1] = 0;" (assignment_expression "puVar3[1] = 0" (subscript_expression "puVar3[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*puVar3 = PTR_vtable_004322b4 + 8;" (assignment_expression "*puVar3 = PTR_vtable_004322b4 + 8" (pointer_expression "*puVar3" * identifier) = (binary_expression "PTR_vtable_004322b4 + 8" identifier + number_literal)) ;) (if_statement "if (puVar2 == (undefined *)0x0) {\n    puVar3[1] = 1;\n  }\n  else {\n    SYNC(0);\n    puVar3[1] = puVar3[1] + 1;\n    SYNC(0);\n  }" if (parenthesized_expression "(puVar2 == (undefined *)0x0)" ( (binary_expression "puVar2 == (undefined *)0x0" identifier == (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    puVar3[1] = 1;\n  }" { (expression_statement "puVar3[1] = 1;" (assignment_expression "puVar3[1] = 1" (subscript_expression "puVar3[1]" identifier [ number_literal ]) = number_literal) ;) }) (else_clause "else {\n    SYNC(0);\n    puVar3[1] = puVar3[1] + 1;\n    SYNC(0);\n  }" else (compound_statement "{\n    SYNC(0);\n    puVar3[1] = puVar3[1] + 1;\n    SYNC(0);\n  }" { (expression_statement "SYNC(0);" (call_expression "SYNC(0)" identifier (argument_list "(0)" ( number_literal ))) ;) (expression_statement "puVar3[1] = puVar3[1] + 1;" (assignment_expression "puVar3[1] = puVar3[1] + 1" (subscript_expression "puVar3[1]" identifier [ number_literal ]) = (binary_expression "puVar3[1] + 1" (subscript_expression "puVar3[1]" identifier [ number_literal ]) + number_literal)) ;) (expression_statement "SYNC(0);" (call_expression "SYNC(0)" identifier (argument_list "(0)" ( number_literal ))) ;) }))) (expression_statement "iVar6 = *(int *)(param_1 + 4);" (assignment_expression "iVar6 = *(int *)(param_1 + 4)" identifier = (pointer_expression "*(int *)(param_1 + 4)" * (cast_expression "(int *)(param_1 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 4)" ( (binary_expression "param_1 + 4" identifier + number_literal) ))))) ;) (expression_statement "iVar4 = (*(code *)PTR__M_id_00433800)(PTR_id_0043230c);" (assignment_expression "iVar4 = (*(code *)PTR__M_id_00433800)(PTR_id_0043230c)" identifier = (call_expression "(*(code *)PTR__M_id_00433800)(PTR_id_0043230c)" (parenthesized_expression "(*(code *)PTR__M_id_00433800)" ( (pointer_expression "*(code *)PTR__M_id_00433800" * (cast_expression "(code *)PTR__M_id_00433800" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_id_0043230c)" ( identifier )))) ;) (expression_statement "puVar1 = PTR_operator_new_0043233c;" (assignment_expression "puVar1 = PTR_operator_new_0043233c" identifier = identifier) ;) (expression_statement "*(undefined4 **)(iVar6 + iVar4 * 4) = puVar3;" (assignment_expression "*(undefined4 **)(iVar6 + iVar4 * 4) = puVar3" (pointer_expression "*(undefined4 **)(iVar6 + iVar4 * 4)" * (cast_expression "(undefined4 **)(iVar6 + iVar4 * 4)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar6 + iVar4 * 4)" ( (binary_expression "iVar6 + iVar4 * 4" identifier + (binary_expression "iVar4 * 4" identifier * number_literal)) )))) = identifier) ;) (expression_statement "puVar3 = (undefined4 *)(*(code *)puVar1)(8);" (assignment_expression "puVar3 = (undefined4 *)(*(code *)puVar1)(8)" identifier = (cast_expression "(undefined4 *)(*(code *)puVar1)(8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)puVar1)(8)" (parenthesized_expression "(*(code *)puVar1)" ( (pointer_expression "*(code *)puVar1" * (cast_expression "(code *)puVar1" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(8)" ( number_literal ))))) ;) (expression_statement "puVar3[1] = 0;" (assignment_expression "puVar3[1] = 0" (subscript_expression "puVar3[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*puVar3 = PTR_vtable_004322c0 + 8;" (assignment_expression "*puVar3 = PTR_vtable_004322c0 + 8" (pointer_expression "*puVar3" * identifier) = (binary_expression "PTR_vtable_004322c0 + 8" identifier + number_literal)) ;) (if_statement "if (puVar2 == (undefined *)0x0) {\n    puVar3[1] = 1;\n  }\n  else {\n    SYNC(0);\n    puVar3[1] = puVar3[1] + 1;\n    SYNC(0);\n  }" if (parenthesized_expression "(puVar2 == (undefined *)0x0)" ( (binary_expression "puVar2 == (undefined *)0x0" identifier == (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    puVar3[1] = 1;\n  }" { (expression_statement "puVar3[1] = 1;" (assignment_expression "puVar3[1] = 1" (subscript_expression "puVar3[1]" identifier [ number_literal ]) = number_literal) ;) }) (else_clause "else {\n    SYNC(0);\n    puVar3[1] = puVar3[1] + 1;\n    SYNC(0);\n  }" else (compound_statement "{\n    SYNC(0);\n    puVar3[1] = puVar3[1] + 1;\n    SYNC(0);\n  }" { (expression_statement "SYNC(0);" (call_expression "SYNC(0)" identifier (argument_list "(0)" ( number_literal ))) ;) (expression_statement "puVar3[1] = puVar3[1] + 1;" (assignment_expression "puVar3[1] = puVar3[1] + 1" (subscript_expression "puVar3[1]" identifier [ number_literal ]) = (binary_expression "puVar3[1] + 1" (subscript_expression "puVar3[1]" identifier [ number_literal ]) + number_literal)) ;) (expression_statement "SYNC(0);" (call_expression "SYNC(0)" identifier (argument_list "(0)" ( number_literal ))) ;) }))) (expression_statement "iVar6 = *(int *)(param_1 + 4);" (assignment_expression "iVar6 = *(int *)(param_1 + 4)" identifier = (pointer_expression "*(int *)(param_1 + 4)" * (cast_expression "(int *)(param_1 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 4)" ( (binary_expression "param_1 + 4" identifier + number_literal) ))))) ;) (expression_statement "iVar4 = (*(code *)PTR__M_id_00433800)(PTR_id_00432304);" (assignment_expression "iVar4 = (*(code *)PTR__M_id_00433800)(PTR_id_00432304)" identifier = (call_expression "(*(code *)PTR__M_id_00433800)(PTR_id_00432304)" (parenthesized_expression "(*(code *)PTR__M_id_00433800)" ( (pointer_expression "*(code *)PTR__M_id_00433800" * (cast_expression "(code *)PTR__M_id_00433800" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_id_00432304)" ( identifier )))) ;) (expression_statement "puVar1 = PTR_operator_new_0043233c;" (assignment_expression "puVar1 = PTR_operator_new_0043233c" identifier = identifier) ;) (expression_statement "*(undefined4 **)(iVar6 + iVar4 * 4) = puVar3;" (assignment_expression "*(undefined4 **)(iVar6 + iVar4 * 4) = puVar3" (pointer_expression "*(undefined4 **)(iVar6 + iVar4 * 4)" * (cast_expression "(undefined4 **)(iVar6 + iVar4 * 4)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar6 + iVar4 * 4)" ( (binary_expression "iVar6 + iVar4 * 4" identifier + (binary_expression "iVar4 * 4" identifier * number_literal)) )))) = identifier) ;) (expression_statement "iVar4 = (*(code *)puVar1)(0x10);" (assignment_expression "iVar4 = (*(code *)puVar1)(0x10)" identifier = (call_expression "(*(code *)puVar1)(0x10)" (parenthesized_expression "(*(code *)puVar1)" ( (pointer_expression "*(code *)puVar1" * (cast_expression "(code *)puVar1" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0x10)" ( number_literal )))) ;) comment (expression_statement "(*(code *)PTR_messages_0043644c)(iVar4,*param_2,param_4,0);" (call_expression "(*(code *)PTR_messages_0043644c)(iVar4,*param_2,param_4,0)" (parenthesized_expression "(*(code *)PTR_messages_0043644c)" ( (pointer_expression "*(code *)PTR_messages_0043644c" * (cast_expression "(code *)PTR_messages_0043644c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar4,*param_2,param_4,0)" ( identifier , (pointer_expression "*param_2" * identifier) , identifier , number_literal ))) ;) (if_statement "if (puVar2 == (undefined *)0x0) {\n    *(int *)(iVar4 + 4) = *(int *)(iVar4 + 4) + 1;\n  }\n  else {\n    SYNC(0);\n    *(int *)(iVar4 + 4) = *(int *)(iVar4 + 4) + 1;\n    SYNC(0);\n  }" if (parenthesized_expression "(puVar2 == (undefined *)0x0)" ( (binary_expression "puVar2 == (undefined *)0x0" identifier == (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    *(int *)(iVar4 + 4) = *(int *)(iVar4 + 4) + 1;\n  }" { (expression_statement "*(int *)(iVar4 + 4) = *(int *)(iVar4 + 4) + 1;" (assignment_expression "*(int *)(iVar4 + 4) = *(int *)(iVar4 + 4) + 1" (pointer_expression "*(int *)(iVar4 + 4)" * (cast_expression "(int *)(iVar4 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 4)" ( (binary_expression "iVar4 + 4" identifier + number_literal) )))) = (binary_expression "*(int *)(iVar4 + 4) + 1" (pointer_expression "*(int *)(iVar4 + 4)" * (cast_expression "(int *)(iVar4 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 4)" ( (binary_expression "iVar4 + 4" identifier + number_literal) )))) + number_literal)) ;) }) (else_clause "else {\n    SYNC(0);\n    *(int *)(iVar4 + 4) = *(int *)(iVar4 + 4) + 1;\n    SYNC(0);\n  }" else (compound_statement "{\n    SYNC(0);\n    *(int *)(iVar4 + 4) = *(int *)(iVar4 + 4) + 1;\n    SYNC(0);\n  }" { (expression_statement "SYNC(0);" (call_expression "SYNC(0)" identifier (argument_list "(0)" ( number_literal ))) ;) (expression_statement "*(int *)(iVar4 + 4) = *(int *)(iVar4 + 4) + 1;" (assignment_expression "*(int *)(iVar4 + 4) = *(int *)(iVar4 + 4) + 1" (pointer_expression "*(int *)(iVar4 + 4)" * (cast_expression "(int *)(iVar4 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 4)" ( (binary_expression "iVar4 + 4" identifier + number_literal) )))) = (binary_expression "*(int *)(iVar4 + 4) + 1" (pointer_expression "*(int *)(iVar4 + 4)" * (cast_expression "(int *)(iVar4 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 4)" ( (binary_expression "iVar4 + 4" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "SYNC(0);" (call_expression "SYNC(0)" identifier (argument_list "(0)" ( number_literal ))) ;) }))) (expression_statement "iVar7 = *(int *)(param_1 + 4);" (assignment_expression "iVar7 = *(int *)(param_1 + 4)" identifier = (pointer_expression "*(int *)(param_1 + 4)" * (cast_expression "(int *)(param_1 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 4)" ( (binary_expression "param_1 + 4" identifier + number_literal) ))))) ;) (expression_statement "iVar6 = (*(code *)PTR__M_id_00433800)(PTR_id_00432318);" (assignment_expression "iVar6 = (*(code *)PTR__M_id_00433800)(PTR_id_00432318)" identifier = (call_expression "(*(code *)PTR__M_id_00433800)(PTR_id_00432318)" (parenthesized_expression "(*(code *)PTR__M_id_00433800)" ( (pointer_expression "*(code *)PTR__M_id_00433800" * (cast_expression "(code *)PTR__M_id_00433800" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_id_00432318)" ( identifier )))) ;) (expression_statement "puVar1 = PTR_operator_new_0043233c;" (assignment_expression "puVar1 = PTR_operator_new_0043233c" identifier = identifier) ;) (expression_statement "*(int *)(iVar7 + iVar6 * 4) = iVar4;" (assignment_expression "*(int *)(iVar7 + iVar6 * 4) = iVar4" (pointer_expression "*(int *)(iVar7 + iVar6 * 4)" * (cast_expression "(int *)(iVar7 + iVar6 * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + iVar6 * 4)" ( (binary_expression "iVar7 + iVar6 * 4" identifier + (binary_expression "iVar6 * 4" identifier * number_literal)) )))) = identifier) ;) (expression_statement "puVar3 = (undefined4 *)(*(code *)puVar1)(0xc);" (assignment_expression "puVar3 = (undefined4 *)(*(code *)puVar1)(0xc)" identifier = (cast_expression "(undefined4 *)(*(code *)puVar1)(0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)puVar1)(0xc)" (parenthesized_expression "(*(code *)puVar1)" ( (pointer_expression "*(code *)puVar1" * (cast_expression "(code *)puVar1" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0xc)" ( number_literal ))))) ;) (expression_statement "uVar5 = *param_2;" (assignment_expression "uVar5 = *param_2" identifier = (pointer_expression "*param_2" * identifier)) ;) (expression_statement "puVar3[1] = 0;" (assignment_expression "puVar3[1] = 0" (subscript_expression "puVar3[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar3[2] = 0;" (assignment_expression "puVar3[2] = 0" (subscript_expression "puVar3[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar1 = PTR__M_initialize_numpunct_00432384;" (assignment_expression "puVar1 = PTR__M_initialize_numpunct_00432384" identifier = identifier) ;) comment (expression_statement "*puVar3 = PTR_vtable_00432380 + 8;" (assignment_expression "*puVar3 = PTR_vtable_00432380 + 8" (pointer_expression "*puVar3" * identifier) = (binary_expression "PTR_vtable_00432380 + 8" identifier + number_literal)) ;) (expression_statement "(*(code *)puVar1)(puVar3,uVar5);" (call_expression "(*(code *)puVar1)(puVar3,uVar5)" (parenthesized_expression "(*(code *)puVar1)" ( (pointer_expression "*(code *)puVar1" * (cast_expression "(code *)puVar1" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar3,uVar5)" ( identifier , identifier ))) ;) (if_statement "if (puVar2 == (undefined *)0x0) {\n    puVar3[1] = puVar3[1] + 1;\n  }\n  else {\n    SYNC(0);\n    puVar3[1] = puVar3[1] + 1;\n    SYNC(0);\n  }" if (parenthesized_expression "(puVar2 == (undefined *)0x0)" ( (binary_expression "puVar2 == (undefined *)0x0" identifier == (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    puVar3[1] = puVar3[1] + 1;\n  }" { (expression_statement "puVar3[1] = puVar3[1] + 1;" (assignment_expression "puVar3[1] = puVar3[1] + 1" (subscript_expression "puVar3[1]" identifier [ number_literal ]) = (binary_expression "puVar3[1] + 1" (subscript_expression "puVar3[1]" identifier [ number_literal ]) + number_literal)) ;) }) (else_clause "else {\n    SYNC(0);\n    puVar3[1] = puVar3[1] + 1;\n    SYNC(0);\n  }" else (compound_statement "{\n    SYNC(0);\n    puVar3[1] = puVar3[1] + 1;\n    SYNC(0);\n  }" { (expression_statement "SYNC(0);" (call_expression "SYNC(0)" identifier (argument_list "(0)" ( number_literal ))) ;) (expression_statement "puVar3[1] = puVar3[1] + 1;" (assignment_expression "puVar3[1] = puVar3[1] + 1" (subscript_expression "puVar3[1]" identifier [ number_literal ]) = (binary_expression "puVar3[1] + 1" (subscript_expression "puVar3[1]" identifier [ number_literal ]) + number_literal)) ;) (expression_statement "SYNC(0);" (call_expression "SYNC(0)" identifier (argument_list "(0)" ( number_literal ))) ;) }))) (expression_statement "iVar6 = *(int *)(param_1 + 4);" (assignment_expression "iVar6 = *(int *)(param_1 + 4)" identifier = (pointer_expression "*(int *)(param_1 + 4)" * (cast_expression "(int *)(param_1 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 4)" ( (binary_expression "param_1 + 4" identifier + number_literal) ))))) ;) (expression_statement "iVar4 = (*(code *)PTR__M_id_00433800)(PTR_id_0043231c);" (assignment_expression "iVar4 = (*(code *)PTR__M_id_00433800)(PTR_id_0043231c)" identifier = (call_expression "(*(code *)PTR__M_id_00433800)(PTR_id_0043231c)" (parenthesized_expression "(*(code *)PTR__M_id_00433800)" ( (pointer_expression "*(code *)PTR__M_id_00433800" * (cast_expression "(code *)PTR__M_id_00433800" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_id_0043231c)" ( identifier )))) ;) (expression_statement "puVar1 = PTR_operator_new_0043233c;" (assignment_expression "puVar1 = PTR_operator_new_0043233c" identifier = identifier) ;) (expression_statement "*(undefined4 **)(iVar6 + iVar4 * 4) = puVar3;" (assignment_expression "*(undefined4 **)(iVar6 + iVar4 * 4) = puVar3" (pointer_expression "*(undefined4 **)(iVar6 + iVar4 * 4)" * (cast_expression "(undefined4 **)(iVar6 + iVar4 * 4)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar6 + iVar4 * 4)" ( (binary_expression "iVar6 + iVar4 * 4" identifier + (binary_expression "iVar4 * 4" identifier * number_literal)) )))) = identifier) ;) (expression_statement "puVar3 = (undefined4 *)(*(code *)puVar1)(0xc);" (assignment_expression "puVar3 = (undefined4 *)(*(code *)puVar1)(0xc)" identifier = (cast_expression "(undefined4 *)(*(code *)puVar1)(0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)puVar1)(0xc)" (parenthesized_expression "(*(code *)puVar1)" ( (pointer_expression "*(code *)puVar1" * (cast_expression "(code *)puVar1" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0xc)" ( number_literal ))))) ;) (expression_statement "local_30[0] = *param_2;" (assignment_expression "local_30[0] = *param_2" (subscript_expression "local_30[0]" identifier [ number_literal ]) = (pointer_expression "*param_2" * identifier)) ;) (expression_statement "puVar3[1] = 0;" (assignment_expression "puVar3[1] = 0" (subscript_expression "puVar3[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar1 = PTR__S_clone_c_locale_004337ec;" (assignment_expression "puVar1 = PTR__S_clone_c_locale_004337ec" identifier = identifier) ;) (expression_statement "*puVar3 = PTR_vtable_00432280 + 8;" (assignment_expression "*puVar3 = PTR_vtable_00432280 + 8" (pointer_expression "*puVar3" * identifier) = (binary_expression "PTR_vtable_00432280 + 8" identifier + number_literal)) ;) (expression_statement "uVar5 = (*(code *)puVar1)(local_30);" (assignment_expression "uVar5 = (*(code *)puVar1)(local_30)" identifier = (call_expression "(*(code *)puVar1)(local_30)" (parenthesized_expression "(*(code *)puVar1)" ( (pointer_expression "*(code *)puVar1" * (cast_expression "(code *)puVar1" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(local_30)" ( identifier )))) ;) (expression_statement "puVar3[2] = uVar5;" (assignment_expression "puVar3[2] = uVar5" (subscript_expression "puVar3[2]" identifier [ number_literal ]) = identifier) ;) (if_statement "if (puVar2 == (undefined *)0x0) {\n    puVar3[1] = puVar3[1] + 1;\n  }\n  else {\n    SYNC(0);\n    puVar3[1] = puVar3[1] + 1;\n    SYNC(0);\n  }" if (parenthesized_expression "(puVar2 == (undefined *)0x0)" ( (binary_expression "puVar2 == (undefined *)0x0" identifier == (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    puVar3[1] = puVar3[1] + 1;\n  }" { (expression_statement "puVar3[1] = puVar3[1] + 1;" (assignment_expression "puVar3[1] = puVar3[1] + 1" (subscript_expression "puVar3[1]" identifier [ number_literal ]) = (binary_expression "puVar3[1] + 1" (subscript_expression "puVar3[1]" identifier [ number_literal ]) + number_literal)) ;) }) (else_clause "else {\n    SYNC(0);\n    puVar3[1] = puVar3[1] + 1;\n    SYNC(0);\n  }" else (compound_statement "{\n    SYNC(0);\n    puVar3[1] = puVar3[1] + 1;\n    SYNC(0);\n  }" { (expression_statement "SYNC(0);" (call_expression "SYNC(0)" identifier (argument_list "(0)" ( number_literal ))) ;) (expression_statement "puVar3[1] = puVar3[1] + 1;" (assignment_expression "puVar3[1] = puVar3[1] + 1" (subscript_expression "puVar3[1]" identifier [ number_literal ]) = (binary_expression "puVar3[1] + 1" (subscript_expression "puVar3[1]" identifier [ number_literal ]) + number_literal)) ;) (expression_statement "SYNC(0);" (call_expression "SYNC(0)" identifier (argument_list "(0)" ( number_literal ))) ;) }))) (expression_statement "iVar6 = *(int *)(param_1 + 4);" (assignment_expression "iVar6 = *(int *)(param_1 + 4)" identifier = (pointer_expression "*(int *)(param_1 + 4)" * (cast_expression "(int *)(param_1 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 4)" ( (binary_expression "param_1 + 4" identifier + number_literal) ))))) ;) (expression_statement "iVar4 = (*(code *)PTR__M_id_00433800)(PTR_id_00432320);" (assignment_expression "iVar4 = (*(code *)PTR__M_id_00433800)(PTR_id_00432320)" identifier = (call_expression "(*(code *)PTR__M_id_00433800)(PTR_id_00432320)" (parenthesized_expression "(*(code *)PTR__M_id_00433800)" ( (pointer_expression "*(code *)PTR__M_id_00433800" * (cast_expression "(code *)PTR__M_id_00433800" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_id_00432320)" ( identifier )))) ;) (expression_statement "puVar1 = PTR_operator_new_0043233c;" (assignment_expression "puVar1 = PTR_operator_new_0043233c" identifier = identifier) ;) (expression_statement "*(undefined4 **)(iVar6 + iVar4 * 4) = puVar3;" (assignment_expression "*(undefined4 **)(iVar6 + iVar4 * 4) = puVar3" (pointer_expression "*(undefined4 **)(iVar6 + iVar4 * 4)" * (cast_expression "(undefined4 **)(iVar6 + iVar4 * 4)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar6 + iVar4 * 4)" ( (binary_expression "iVar6 + iVar4 * 4" identifier + (binary_expression "iVar4 * 4" identifier * number_literal)) )))) = identifier) ;) (expression_statement "puVar3 = (undefined4 *)(*(code *)puVar1)(0xc);" (assignment_expression "puVar3 = (undefined4 *)(*(code *)puVar1)(0xc)" identifier = (cast_expression "(undefined4 *)(*(code *)puVar1)(0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)puVar1)(0xc)" (parenthesized_expression "(*(code *)puVar1)" ( (pointer_expression "*(code *)puVar1" * (cast_expression "(code *)puVar1" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0xc)" ( number_literal ))))) ;) (expression_statement "uVar5 = *param_3;" (assignment_expression "uVar5 = *param_3" identifier = (pointer_expression "*param_3" * identifier)) ;) (expression_statement "puVar3[1] = 0;" (assignment_expression "puVar3[1] = 0" (subscript_expression "puVar3[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar3[2] = 0;" (assignment_expression "puVar3[2] = 0" (subscript_expression "puVar3[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar1 = PTR__M_initialize_moneypunct_004323a4;" (assignment_expression "puVar1 = PTR__M_initialize_moneypunct_004323a4" identifier = identifier) ;) comment (expression_statement "*puVar3 = PTR_vtable_004323a0 + 8;" (assignment_expression "*puVar3 = PTR_vtable_004323a0 + 8" (pointer_expression "*puVar3" * identifier) = (binary_expression "PTR_vtable_004323a0 + 8" identifier + number_literal)) ;) (expression_statement "(*(code *)puVar1)(puVar3,uVar5,param_5);" (call_expression "(*(code *)puVar1)(puVar3,uVar5,param_5)" (parenthesized_expression "(*(code *)puVar1)" ( (pointer_expression "*(code *)puVar1" * (cast_expression "(code *)puVar1" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar3,uVar5,param_5)" ( identifier , identifier , identifier ))) ;) (if_statement "if (puVar2 == (undefined *)0x0) {\n    puVar3[1] = puVar3[1] + 1;\n  }\n  else {\n    SYNC(0);\n    puVar3[1] = puVar3[1] + 1;\n    SYNC(0);\n  }" if (parenthesized_expression "(puVar2 == (undefined *)0x0)" ( (binary_expression "puVar2 == (undefined *)0x0" identifier == (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    puVar3[1] = puVar3[1] + 1;\n  }" { (expression_statement "puVar3[1] = puVar3[1] + 1;" (assignment_expression "puVar3[1] = puVar3[1] + 1" (subscript_expression "puVar3[1]" identifier [ number_literal ]) = (binary_expression "puVar3[1] + 1" (subscript_expression "puVar3[1]" identifier [ number_literal ]) + number_literal)) ;) }) (else_clause "else {\n    SYNC(0);\n    puVar3[1] = puVar3[1] + 1;\n    SYNC(0);\n  }" else (compound_statement "{\n    SYNC(0);\n    puVar3[1] = puVar3[1] + 1;\n    SYNC(0);\n  }" { (expression_statement "SYNC(0);" (call_expression "SYNC(0)" identifier (argument_list "(0)" ( number_literal ))) ;) (expression_statement "puVar3[1] = puVar3[1] + 1;" (assignment_expression "puVar3[1] = puVar3[1] + 1" (subscript_expression "puVar3[1]" identifier [ number_literal ]) = (binary_expression "puVar3[1] + 1" (subscript_expression "puVar3[1]" identifier [ number_literal ]) + number_literal)) ;) (expression_statement "SYNC(0);" (call_expression "SYNC(0)" identifier (argument_list "(0)" ( number_literal ))) ;) }))) (expression_statement "iVar6 = *(int *)(param_1 + 4);" (assignment_expression "iVar6 = *(int *)(param_1 + 4)" identifier = (pointer_expression "*(int *)(param_1 + 4)" * (cast_expression "(int *)(param_1 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 4)" ( (binary_expression "param_1 + 4" identifier + number_literal) ))))) ;) (expression_statement "iVar4 = (*(code *)PTR__M_id_00433800)(PTR_id_00432334);" (assignment_expression "iVar4 = (*(code *)PTR__M_id_00433800)(PTR_id_00432334)" identifier = (call_expression "(*(code *)PTR__M_id_00433800)(PTR_id_00432334)" (parenthesized_expression "(*(code *)PTR__M_id_00433800)" ( (pointer_expression "*(code *)PTR__M_id_00433800" * (cast_expression "(code *)PTR__M_id_00433800" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_id_00432334)" ( identifier )))) ;) (expression_statement "puVar1 = PTR_operator_new_0043233c;" (assignment_expression "puVar1 = PTR_operator_new_0043233c" identifier = identifier) ;) (expression_statement "*(undefined4 **)(iVar6 + iVar4 * 4) = puVar3;" (assignment_expression "*(undefined4 **)(iVar6 + iVar4 * 4) = puVar3" (pointer_expression "*(undefined4 **)(iVar6 + iVar4 * 4)" * (cast_expression "(undefined4 **)(iVar6 + iVar4 * 4)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar6 + iVar4 * 4)" ( (binary_expression "iVar6 + iVar4 * 4" identifier + (binary_expression "iVar4 * 4" identifier * number_literal)) )))) = identifier) ;) (expression_statement "puVar3 = (undefined4 *)(*(code *)puVar1)(0xc);" (assignment_expression "puVar3 = (undefined4 *)(*(code *)puVar1)(0xc)" identifier = (cast_expression "(undefined4 *)(*(code *)puVar1)(0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)puVar1)(0xc)" (parenthesized_expression "(*(code *)puVar1)" ( (pointer_expression "*(code *)puVar1" * (cast_expression "(code *)puVar1" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0xc)" ( number_literal ))))) ;) (expression_statement "uVar5 = *param_3;" (assignment_expression "uVar5 = *param_3" identifier = (pointer_expression "*param_3" * identifier)) ;) (expression_statement "puVar3[1] = 0;" (assignment_expression "puVar3[1] = 0" (subscript_expression "puVar3[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar3[2] = 0;" (assignment_expression "puVar3[2] = 0" (subscript_expression "puVar3[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar1 = PTR__M_initialize_moneypunct_00432394;" (assignment_expression "puVar1 = PTR__M_initialize_moneypunct_00432394" identifier = identifier) ;) comment (expression_statement "*puVar3 = PTR_vtable_00432390 + 8;" (assignment_expression "*puVar3 = PTR_vtable_00432390 + 8" (pointer_expression "*puVar3" * identifier) = (binary_expression "PTR_vtable_00432390 + 8" identifier + number_literal)) ;) (expression_statement "(*(code *)puVar1)(puVar3,uVar5,param_5);" (call_expression "(*(code *)puVar1)(puVar3,uVar5,param_5)" (parenthesized_expression "(*(code *)puVar1)" ( (pointer_expression "*(code *)puVar1" * (cast_expression "(code *)puVar1" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar3,uVar5,param_5)" ( identifier , identifier , identifier ))) ;) (if_statement "if (puVar2 == (undefined *)0x0) {\n    puVar3[1] = puVar3[1] + 1;\n  }\n  else {\n    SYNC(0);\n    puVar3[1] = puVar3[1] + 1;\n    SYNC(0);\n  }" if (parenthesized_expression "(puVar2 == (undefined *)0x0)" ( (binary_expression "puVar2 == (undefined *)0x0" identifier == (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    puVar3[1] = puVar3[1] + 1;\n  }" { (expression_statement "puVar3[1] = puVar3[1] + 1;" (assignment_expression "puVar3[1] = puVar3[1] + 1" (subscript_expression "puVar3[1]" identifier [ number_literal ]) = (binary_expression "puVar3[1] + 1" (subscript_expression "puVar3[1]" identifier [ number_literal ]) + number_literal)) ;) }) (else_clause "else {\n    SYNC(0);\n    puVar3[1] = puVar3[1] + 1;\n    SYNC(0);\n  }" else (compound_statement "{\n    SYNC(0);\n    puVar3[1] = puVar3[1] + 1;\n    SYNC(0);\n  }" { (expression_statement "SYNC(0);" (call_expression "SYNC(0)" identifier (argument_list "(0)" ( number_literal ))) ;) (expression_statement "puVar3[1] = puVar3[1] + 1;" (assignment_expression "puVar3[1] = puVar3[1] + 1" (subscript_expression "puVar3[1]" identifier [ number_literal ]) = (binary_expression "puVar3[1] + 1" (subscript_expression "puVar3[1]" identifier [ number_literal ]) + number_literal)) ;) (expression_statement "SYNC(0);" (call_expression "SYNC(0)" identifier (argument_list "(0)" ( number_literal ))) ;) }))) (expression_statement "iVar6 = *(int *)(param_1 + 4);" (assignment_expression "iVar6 = *(int *)(param_1 + 4)" identifier = (pointer_expression "*(int *)(param_1 + 4)" * (cast_expression "(int *)(param_1 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 4)" ( (binary_expression "param_1 + 4" identifier + number_literal) ))))) ;) (expression_statement "iVar4 = (*(code *)PTR__M_id_00433800)(PTR_id_00432330);" (assignment_expression "iVar4 = (*(code *)PTR__M_id_00433800)(PTR_id_00432330)" identifier = (call_expression "(*(code *)PTR__M_id_00433800)(PTR_id_00432330)" (parenthesized_expression "(*(code *)PTR__M_id_00433800)" ( (pointer_expression "*(code *)PTR__M_id_00433800" * (cast_expression "(code *)PTR__M_id_00433800" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_id_00432330)" ( identifier )))) ;) (expression_statement "puVar1 = PTR_operator_new_0043233c;" (assignment_expression "puVar1 = PTR_operator_new_0043233c" identifier = identifier) ;) (expression_statement "*(undefined4 **)(iVar6 + iVar4 * 4) = puVar3;" (assignment_expression "*(undefined4 **)(iVar6 + iVar4 * 4) = puVar3" (pointer_expression "*(undefined4 **)(iVar6 + iVar4 * 4)" * (cast_expression "(undefined4 **)(iVar6 + iVar4 * 4)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar6 + iVar4 * 4)" ( (binary_expression "iVar6 + iVar4 * 4" identifier + (binary_expression "iVar4 * 4" identifier * number_literal)) )))) = identifier) ;) (expression_statement "puVar3 = (undefined4 *)(*(code *)puVar1)(8);" (assignment_expression "puVar3 = (undefined4 *)(*(code *)puVar1)(8)" identifier = (cast_expression "(undefined4 *)(*(code *)puVar1)(8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)puVar1)(8)" (parenthesized_expression "(*(code *)puVar1)" ( (pointer_expression "*(code *)puVar1" * (cast_expression "(code *)puVar1" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(8)" ( number_literal ))))) ;) (expression_statement "puVar3[1] = 0;" (assignment_expression "puVar3[1] = 0" (subscript_expression "puVar3[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*puVar3 = PTR_vtable_004322c8 + 8;" (assignment_expression "*puVar3 = PTR_vtable_004322c8 + 8" (pointer_expression "*puVar3" * identifier) = (binary_expression "PTR_vtable_004322c8 + 8" identifier + number_literal)) ;) (if_statement "if (puVar2 == (undefined *)0x0) {\n    puVar3[1] = 1;\n  }\n  else {\n    SYNC(0);\n    puVar3[1] = puVar3[1] + 1;\n    SYNC(0);\n  }" if (parenthesized_expression "(puVar2 == (undefined *)0x0)" ( (binary_expression "puVar2 == (undefined *)0x0" identifier == (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    puVar3[1] = 1;\n  }" { (expression_statement "puVar3[1] = 1;" (assignment_expression "puVar3[1] = 1" (subscript_expression "puVar3[1]" identifier [ number_literal ]) = number_literal) ;) }) (else_clause "else {\n    SYNC(0);\n    puVar3[1] = puVar3[1] + 1;\n    SYNC(0);\n  }" else (compound_statement "{\n    SYNC(0);\n    puVar3[1] = puVar3[1] + 1;\n    SYNC(0);\n  }" { (expression_statement "SYNC(0);" (call_expression "SYNC(0)" identifier (argument_list "(0)" ( number_literal ))) ;) (expression_statement "puVar3[1] = puVar3[1] + 1;" (assignment_expression "puVar3[1] = puVar3[1] + 1" (subscript_expression "puVar3[1]" identifier [ number_literal ]) = (binary_expression "puVar3[1] + 1" (subscript_expression "puVar3[1]" identifier [ number_literal ]) + number_literal)) ;) (expression_statement "SYNC(0);" (call_expression "SYNC(0)" identifier (argument_list "(0)" ( number_literal ))) ;) }))) (expression_statement "iVar6 = *(int *)(param_1 + 4);" (assignment_expression "iVar6 = *(int *)(param_1 + 4)" identifier = (pointer_expression "*(int *)(param_1 + 4)" * (cast_expression "(int *)(param_1 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 4)" ( (binary_expression "param_1 + 4" identifier + number_literal) ))))) ;) (expression_statement "iVar4 = (*(code *)PTR__M_id_00433800)(PTR_id_00432328);" (assignment_expression "iVar4 = (*(code *)PTR__M_id_00433800)(PTR_id_00432328)" identifier = (call_expression "(*(code *)PTR__M_id_00433800)(PTR_id_00432328)" (parenthesized_expression "(*(code *)PTR__M_id_00433800)" ( (pointer_expression "*(code *)PTR__M_id_00433800" * (cast_expression "(code *)PTR__M_id_00433800" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_id_00432328)" ( identifier )))) ;) (expression_statement "puVar1 = PTR_operator_new_0043233c;" (assignment_expression "puVar1 = PTR_operator_new_0043233c" identifier = identifier) ;) (expression_statement "*(undefined4 **)(iVar6 + iVar4 * 4) = puVar3;" (assignment_expression "*(undefined4 **)(iVar6 + iVar4 * 4) = puVar3" (pointer_expression "*(undefined4 **)(iVar6 + iVar4 * 4)" * (cast_expression "(undefined4 **)(iVar6 + iVar4 * 4)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar6 + iVar4 * 4)" ( (binary_expression "iVar6 + iVar4 * 4" identifier + (binary_expression "iVar4 * 4" identifier * number_literal)) )))) = identifier) ;) (expression_statement "puVar3 = (undefined4 *)(*(code *)puVar1)(8);" (assignment_expression "puVar3 = (undefined4 *)(*(code *)puVar1)(8)" identifier = (cast_expression "(undefined4 *)(*(code *)puVar1)(8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)puVar1)(8)" (parenthesized_expression "(*(code *)puVar1)" ( (pointer_expression "*(code *)puVar1" * (cast_expression "(code *)puVar1" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(8)" ( number_literal ))))) ;) (expression_statement "puVar3[1] = 0;" (assignment_expression "puVar3[1] = 0" (subscript_expression "puVar3[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*puVar3 = PTR_vtable_004322bc + 8;" (assignment_expression "*puVar3 = PTR_vtable_004322bc + 8" (pointer_expression "*puVar3" * identifier) = (binary_expression "PTR_vtable_004322bc + 8" identifier + number_literal)) ;) (if_statement "if (puVar2 == (undefined *)0x0) {\n    puVar3[1] = 1;\n  }\n  else {\n    SYNC(0);\n    puVar3[1] = puVar3[1] + 1;\n    SYNC(0);\n  }" if (parenthesized_expression "(puVar2 == (undefined *)0x0)" ( (binary_expression "puVar2 == (undefined *)0x0" identifier == (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    puVar3[1] = 1;\n  }" { (expression_statement "puVar3[1] = 1;" (assignment_expression "puVar3[1] = 1" (subscript_expression "puVar3[1]" identifier [ number_literal ]) = number_literal) ;) }) (else_clause "else {\n    SYNC(0);\n    puVar3[1] = puVar3[1] + 1;\n    SYNC(0);\n  }" else (compound_statement "{\n    SYNC(0);\n    puVar3[1] = puVar3[1] + 1;\n    SYNC(0);\n  }" { (expression_statement "SYNC(0);" (call_expression "SYNC(0)" identifier (argument_list "(0)" ( number_literal ))) ;) (expression_statement "puVar3[1] = puVar3[1] + 1;" (assignment_expression "puVar3[1] = puVar3[1] + 1" (subscript_expression "puVar3[1]" identifier [ number_literal ]) = (binary_expression "puVar3[1] + 1" (subscript_expression "puVar3[1]" identifier [ number_literal ]) + number_literal)) ;) (expression_statement "SYNC(0);" (call_expression "SYNC(0)" identifier (argument_list "(0)" ( number_literal ))) ;) }))) (expression_statement "iVar6 = *(int *)(param_1 + 4);" (assignment_expression "iVar6 = *(int *)(param_1 + 4)" identifier = (pointer_expression "*(int *)(param_1 + 4)" * (cast_expression "(int *)(param_1 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 4)" ( (binary_expression "param_1 + 4" identifier + number_literal) ))))) ;) (expression_statement "iVar4 = (*(code *)PTR__M_id_00433800)(PTR_id_0043232c);" (assignment_expression "iVar4 = (*(code *)PTR__M_id_00433800)(PTR_id_0043232c)" identifier = (call_expression "(*(code *)PTR__M_id_00433800)(PTR_id_0043232c)" (parenthesized_expression "(*(code *)PTR__M_id_00433800)" ( (pointer_expression "*(code *)PTR__M_id_00433800" * (cast_expression "(code *)PTR__M_id_00433800" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_id_0043232c)" ( identifier )))) ;) (expression_statement "puVar1 = PTR_operator_new_0043233c;" (assignment_expression "puVar1 = PTR_operator_new_0043233c" identifier = identifier) ;) (expression_statement "*(undefined4 **)(iVar6 + iVar4 * 4) = puVar3;" (assignment_expression "*(undefined4 **)(iVar6 + iVar4 * 4) = puVar3" (pointer_expression "*(undefined4 **)(iVar6 + iVar4 * 4)" * (cast_expression "(undefined4 **)(iVar6 + iVar4 * 4)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar6 + iVar4 * 4)" ( (binary_expression "iVar6 + iVar4 * 4" identifier + (binary_expression "iVar4 * 4" identifier * number_literal)) )))) = identifier) ;) (expression_statement "puVar3 = (undefined4 *)(*(code *)puVar1)(8);" (assignment_expression "puVar3 = (undefined4 *)(*(code *)puVar1)(8)" identifier = (cast_expression "(undefined4 *)(*(code *)puVar1)(8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)puVar1)(8)" (parenthesized_expression "(*(code *)puVar1)" ( (pointer_expression "*(code *)puVar1" * (cast_expression "(code *)puVar1" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(8)" ( number_literal ))))) ;) (expression_statement "puVar3[1] = 0;" (assignment_expression "puVar3[1] = 0" (subscript_expression "puVar3[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*puVar3 = PTR_vtable_004322c4 + 8;" (assignment_expression "*puVar3 = PTR_vtable_004322c4 + 8" (pointer_expression "*puVar3" * identifier) = (binary_expression "PTR_vtable_004322c4 + 8" identifier + number_literal)) ;) (if_statement "if (puVar2 == (undefined *)0x0) {\n    puVar3[1] = 1;\n  }\n  else {\n    SYNC(0);\n    puVar3[1] = puVar3[1] + 1;\n    SYNC(0);\n  }" if (parenthesized_expression "(puVar2 == (undefined *)0x0)" ( (binary_expression "puVar2 == (undefined *)0x0" identifier == (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    puVar3[1] = 1;\n  }" { (expression_statement "puVar3[1] = 1;" (assignment_expression "puVar3[1] = 1" (subscript_expression "puVar3[1]" identifier [ number_literal ]) = number_literal) ;) }) (else_clause "else {\n    SYNC(0);\n    puVar3[1] = puVar3[1] + 1;\n    SYNC(0);\n  }" else (compound_statement "{\n    SYNC(0);\n    puVar3[1] = puVar3[1] + 1;\n    SYNC(0);\n  }" { (expression_statement "SYNC(0);" (call_expression "SYNC(0)" identifier (argument_list "(0)" ( number_literal ))) ;) (expression_statement "puVar3[1] = puVar3[1] + 1;" (assignment_expression "puVar3[1] = puVar3[1] + 1" (subscript_expression "puVar3[1]" identifier [ number_literal ]) = (binary_expression "puVar3[1] + 1" (subscript_expression "puVar3[1]" identifier [ number_literal ]) + number_literal)) ;) (expression_statement "SYNC(0);" (call_expression "SYNC(0)" identifier (argument_list "(0)" ( number_literal ))) ;) }))) (expression_statement "iVar6 = *(int *)(param_1 + 4);" (assignment_expression "iVar6 = *(int *)(param_1 + 4)" identifier = (pointer_expression "*(int *)(param_1 + 4)" * (cast_expression "(int *)(param_1 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 4)" ( (binary_expression "param_1 + 4" identifier + number_literal) ))))) ;) (expression_statement "iVar4 = (*(code *)PTR__M_id_00433800)(PTR_id_00432324);" (assignment_expression "iVar4 = (*(code *)PTR__M_id_00433800)(PTR_id_00432324)" identifier = (call_expression "(*(code *)PTR__M_id_00433800)(PTR_id_00432324)" (parenthesized_expression "(*(code *)PTR__M_id_00433800)" ( (pointer_expression "*(code *)PTR__M_id_00433800" * (cast_expression "(code *)PTR__M_id_00433800" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_id_00432324)" ( identifier )))) ;) (expression_statement "puVar1 = PTR_operator_new_0043233c;" (assignment_expression "puVar1 = PTR_operator_new_0043233c" identifier = identifier) ;) (expression_statement "*(undefined4 **)(iVar6 + iVar4 * 4) = puVar3;" (assignment_expression "*(undefined4 **)(iVar6 + iVar4 * 4) = puVar3" (pointer_expression "*(undefined4 **)(iVar6 + iVar4 * 4)" * (cast_expression "(undefined4 **)(iVar6 + iVar4 * 4)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar6 + iVar4 * 4)" ( (binary_expression "iVar6 + iVar4 * 4" identifier + (binary_expression "iVar4 * 4" identifier * number_literal)) )))) = identifier) ;) (expression_statement "iVar4 = (*(code *)puVar1)(0x10);" (assignment_expression "iVar4 = (*(code *)puVar1)(0x10)" identifier = (call_expression "(*(code *)puVar1)(0x10)" (parenthesized_expression "(*(code *)puVar1)" ( (pointer_expression "*(code *)puVar1" * (cast_expression "(code *)puVar1" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0x10)" ( number_literal )))) ;) comment (expression_statement "(*(code *)PTR_messages_00436450)(iVar4,*param_2,param_4,0);" (call_expression "(*(code *)PTR_messages_00436450)(iVar4,*param_2,param_4,0)" (parenthesized_expression "(*(code *)PTR_messages_00436450)" ( (pointer_expression "*(code *)PTR_messages_00436450" * (cast_expression "(code *)PTR_messages_00436450" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar4,*param_2,param_4,0)" ( identifier , (pointer_expression "*param_2" * identifier) , identifier , number_literal ))) ;) (if_statement "if (puVar2 == (undefined *)0x0) {\n    *(int *)(iVar4 + 4) = *(int *)(iVar4 + 4) + 1;\n  }\n  else {\n    SYNC(0);\n    *(int *)(iVar4 + 4) = *(int *)(iVar4 + 4) + 1;\n    SYNC(0);\n  }" if (parenthesized_expression "(puVar2 == (undefined *)0x0)" ( (binary_expression "puVar2 == (undefined *)0x0" identifier == (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    *(int *)(iVar4 + 4) = *(int *)(iVar4 + 4) + 1;\n  }" { (expression_statement "*(int *)(iVar4 + 4) = *(int *)(iVar4 + 4) + 1;" (assignment_expression "*(int *)(iVar4 + 4) = *(int *)(iVar4 + 4) + 1" (pointer_expression "*(int *)(iVar4 + 4)" * (cast_expression "(int *)(iVar4 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 4)" ( (binary_expression "iVar4 + 4" identifier + number_literal) )))) = (binary_expression "*(int *)(iVar4 + 4) + 1" (pointer_expression "*(int *)(iVar4 + 4)" * (cast_expression "(int *)(iVar4 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 4)" ( (binary_expression "iVar4 + 4" identifier + number_literal) )))) + number_literal)) ;) }) (else_clause "else {\n    SYNC(0);\n    *(int *)(iVar4 + 4) = *(int *)(iVar4 + 4) + 1;\n    SYNC(0);\n  }" else (compound_statement "{\n    SYNC(0);\n    *(int *)(iVar4 + 4) = *(int *)(iVar4 + 4) + 1;\n    SYNC(0);\n  }" { (expression_statement "SYNC(0);" (call_expression "SYNC(0)" identifier (argument_list "(0)" ( number_literal ))) ;) (expression_statement "*(int *)(iVar4 + 4) = *(int *)(iVar4 + 4) + 1;" (assignment_expression "*(int *)(iVar4 + 4) = *(int *)(iVar4 + 4) + 1" (pointer_expression "*(int *)(iVar4 + 4)" * (cast_expression "(int *)(iVar4 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 4)" ( (binary_expression "iVar4 + 4" identifier + number_literal) )))) = (binary_expression "*(int *)(iVar4 + 4) + 1" (pointer_expression "*(int *)(iVar4 + 4)" * (cast_expression "(int *)(iVar4 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 4)" ( (binary_expression "iVar4 + 4" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "SYNC(0);" (call_expression "SYNC(0)" identifier (argument_list "(0)" ( number_literal ))) ;) }))) (expression_statement "iVar7 = *(int *)(param_1 + 4);" (assignment_expression "iVar7 = *(int *)(param_1 + 4)" identifier = (pointer_expression "*(int *)(param_1 + 4)" * (cast_expression "(int *)(param_1 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 4)" ( (binary_expression "param_1 + 4" identifier + number_literal) ))))) ;) (expression_statement "iVar6 = (*(code *)PTR__M_id_00433800)(PTR_id_00432338);" (assignment_expression "iVar6 = (*(code *)PTR__M_id_00433800)(PTR_id_00432338)" identifier = (call_expression "(*(code *)PTR__M_id_00433800)(PTR_id_00432338)" (parenthesized_expression "(*(code *)PTR__M_id_00433800)" ( (pointer_expression "*(code *)PTR__M_id_00433800" * (cast_expression "(code *)PTR__M_id_00433800" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_id_00432338)" ( identifier )))) ;) (expression_statement "*(int *)(iVar7 + iVar6 * 4) = iVar4;" (assignment_expression "*(int *)(iVar7 + iVar6 * 4) = iVar4" (pointer_expression "*(int *)(iVar7 + iVar6 * 4)" * (cast_expression "(int *)(iVar7 + iVar6 * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + iVar6 * 4)" ( (binary_expression "iVar7 + iVar6 * 4" identifier + (binary_expression "iVar6 * 4" identifier * number_literal)) )))) = identifier) ;) (return_statement "return;" return ;) })))
(translation_unit "/* std::locale::_Impl::_M_init_extra(void*, void*, char const*, char const*) */\n\nvoid std::locale::_Impl::_M_init_extra(void *param_1,void *param_2,char *param_3,char *param_4)\n\n{\n  undefined *puVar1;\n  undefined *puVar2;\n  undefined4 *puVar3;\n  int iVar4;\n  undefined4 uVar5;\n  int iVar6;\n  int iVar7;\n  undefined4 in_stack_00000010;\n  undefined4 local_30 [3];\n  \n  puVar3 = (undefined4 *)(*(code *)PTR_operator_new_0043233c)(0xc);\n                    /* WARNING: Load size is inaccurate */\n  uVar5 = *param_2;\n  puVar3[1] = 0;\n  puVar3[2] = 0;\n  puVar2 = PTR__M_initialize_numpunct_0043234c;\n                    /* try { // try from 0035b178 to 0035b17f has its CatchHandler @ 0035ba00 */\n  *puVar3 = PTR_vtable_00432348 + 8;\n  (*(code *)puVar2)(puVar3,uVar5);\n  puVar2 = PTR___pthread_key_create_0043667c;\n  if (PTR___pthread_key_create_0043667c == (undefined *)0x0) {\n    puVar3[1] = puVar3[1] + 1;\n  }\n  else {\n    SYNC(0);\n    puVar3[1] = puVar3[1] + 1;\n    SYNC(0);\n  }\n  iVar6 = *(int *)((int)param_1 + 4);\n  iVar4 = (*(code *)PTR__M_id_00433800)(PTR_id_004322fc);\n  puVar1 = PTR_operator_new_0043233c;\n  *(undefined4 **)(iVar6 + iVar4 * 4) = puVar3;\n  puVar3 = (undefined4 *)(*(code *)puVar1)(0xc);\n                    /* WARNING: Load size is inaccurate */\n  local_30[0] = *param_2;\n  puVar3[1] = 0;\n  puVar1 = PTR__S_clone_c_locale_004337ec;\n  *puVar3 = PTR_vtable_00432290 + 8;\n  uVar5 = (*(code *)puVar1)(local_30);\n  puVar3[2] = uVar5;\n  if (puVar2 == (undefined *)0x0) {\n    puVar3[1] = puVar3[1] + 1;\n  }\n  else {\n    SYNC(0);\n    puVar3[1] = puVar3[1] + 1;\n    SYNC(0);\n  }\n  iVar6 = *(int *)((int)param_1 + 4);\n  iVar4 = (*(code *)PTR__M_id_00433800)(PTR_id_00432300);\n  puVar1 = PTR_operator_new_0043233c;\n  *(undefined4 **)(iVar6 + iVar4 * 4) = puVar3;\n  puVar3 = (undefined4 *)(*(code *)puVar1)(0xc);\n                    /* WARNING: Load size is inaccurate */\n  uVar5 = *param_2;\n  puVar3[1] = 0;\n  puVar3[2] = 0;\n  puVar1 = PTR__M_initialize_moneypunct_00432370;\n                    /* try { // try from 0035b284 to 0035b28b has its CatchHandler @ 0035b9cc */\n  *puVar3 = PTR_vtable_0043236c + 8;\n  (*(code *)puVar1)(puVar3,uVar5,0);\n  if (puVar2 == (undefined *)0x0) {\n    puVar3[1] = puVar3[1] + 1;\n  }\n  else {\n    SYNC(0);\n    puVar3[1] = puVar3[1] + 1;\n    SYNC(0);\n  }\n  iVar6 = *(int *)((int)param_1 + 4);\n  iVar4 = (*(code *)PTR__M_id_00433800)(PTR_id_00432314);\n  puVar1 = PTR_operator_new_0043233c;\n  *(undefined4 **)(iVar6 + iVar4 * 4) = puVar3;\n  puVar3 = (undefined4 *)(*(code *)puVar1)(0xc);\n                    /* WARNING: Load size is inaccurate */\n  uVar5 = *param_2;\n  puVar3[1] = 0;\n  puVar3[2] = 0;\n  puVar1 = PTR__M_initialize_moneypunct_00432360;\n                    /* try { // try from 0035b304 to 0035b30b has its CatchHandler @ 0035b994 */\n  *puVar3 = PTR_vtable_0043235c + 8;\n  (*(code *)puVar1)(puVar3,uVar5,0);\n  if (puVar2 == (undefined *)0x0) {\n    puVar3[1] = puVar3[1] + 1;\n  }\n  else {\n    SYNC(0);\n    puVar3[1] = puVar3[1] + 1;\n    SYNC(0);\n  }\n  iVar6 = *(int *)((int)param_1 + 4);\n  iVar4 = (*(code *)PTR__M_id_00433800)(PTR_id_00432310);\n  puVar1 = PTR_operator_new_0043233c;\n  *(undefined4 **)(iVar6 + iVar4 * 4) = puVar3;\n  puVar3 = (undefined4 *)(*(code *)puVar1)(8);\n  puVar3[1] = 0;\n  *puVar3 = PTR_vtable_004322b8 + 8;\n  if (puVar2 == (undefined *)0x0) {\n    puVar3[1] = 1;\n  }\n  else {\n    SYNC(0);\n    puVar3[1] = puVar3[1] + 1;\n    SYNC(0);\n  }\n  iVar6 = *(int *)((int)param_1 + 4);\n  iVar4 = (*(code *)PTR__M_id_00433800)(PTR_id_00432308);\n  puVar1 = PTR_operator_new_0043233c;\n  *(undefined4 **)(iVar6 + iVar4 * 4) = puVar3;\n  puVar3 = (undefined4 *)(*(code *)puVar1)(8);\n  puVar3[1] = 0;\n  *puVar3 = PTR_vtable_004322b4 + 8;\n  if (puVar2 == (undefined *)0x0) {\n    puVar3[1] = 1;\n  }\n  else {\n    SYNC(0);\n    puVar3[1] = puVar3[1] + 1;\n    SYNC(0);\n  }\n  iVar6 = *(int *)((int)param_1 + 4);\n  iVar4 = (*(code *)PTR__M_id_00433800)(PTR_id_0043230c);\n  puVar1 = PTR_operator_new_0043233c;\n  *(undefined4 **)(iVar6 + iVar4 * 4) = puVar3;\n  puVar3 = (undefined4 *)(*(code *)puVar1)(8);\n  puVar3[1] = 0;\n  *puVar3 = PTR_vtable_004322c0 + 8;\n  if (puVar2 == (undefined *)0x0) {\n    puVar3[1] = 1;\n  }\n  else {\n    SYNC(0);\n    puVar3[1] = puVar3[1] + 1;\n    SYNC(0);\n  }\n  iVar6 = *(int *)((int)param_1 + 4);\n  iVar4 = (*(code *)PTR__M_id_00433800)(PTR_id_00432304);\n  puVar1 = PTR_operator_new_0043233c;\n  *(undefined4 **)(iVar6 + iVar4 * 4) = puVar3;\n  iVar4 = (*(code *)puVar1)(0x10);\n                    /* WARNING: Load size is inaccurate */\n                    /* try { // try from 0035b4a0 to 0035b4a7 has its CatchHandler @ 0035b9dc */\n  (*(code *)PTR_messages_0043644c)(iVar4,*param_2,param_4,0);\n  if (puVar2 == (undefined *)0x0) {\n    *(int *)(iVar4 + 4) = *(int *)(iVar4 + 4) + 1;\n  }\n  else {\n    SYNC(0);\n    *(int *)(iVar4 + 4) = *(int *)(iVar4 + 4) + 1;\n    SYNC(0);\n  }\n  iVar7 = *(int *)((int)param_1 + 4);\n  iVar6 = (*(code *)PTR__M_id_00433800)(PTR_id_00432318);\n  puVar1 = PTR_operator_new_0043233c;\n  *(int *)(iVar7 + iVar6 * 4) = iVar4;\n  puVar3 = (undefined4 *)(*(code *)puVar1)(0xc);\n                    /* WARNING: Load size is inaccurate */\n  uVar5 = *param_2;\n  puVar3[1] = 0;\n  puVar3[2] = 0;\n  puVar1 = PTR__M_initialize_numpunct_00432384;\n                    /* try { // try from 0035b51c to 0035b523 has its CatchHandler @ 0035b9d4 */\n  *puVar3 = PTR_vtable_00432380 + 8;\n  (*(code *)puVar1)(puVar3,uVar5);\n  if (puVar2 == (undefined *)0x0) {\n    puVar3[1] = puVar3[1] + 1;\n  }\n  else {\n    SYNC(0);\n    puVar3[1] = puVar3[1] + 1;\n    SYNC(0);\n  }\n  iVar6 = *(int *)((int)param_1 + 4);\n  iVar4 = (*(code *)PTR__M_id_00433800)(PTR_id_0043231c);\n  puVar1 = PTR_operator_new_0043233c;\n  *(undefined4 **)(iVar6 + iVar4 * 4) = puVar3;\n  puVar3 = (undefined4 *)(*(code *)puVar1)(0xc);\n                    /* WARNING: Load size is inaccurate */\n  local_30[0] = *param_2;\n  puVar3[1] = 0;\n  puVar1 = PTR__S_clone_c_locale_004337ec;\n  *puVar3 = PTR_vtable_00432280 + 8;\n  uVar5 = (*(code *)puVar1)(local_30);\n  puVar3[2] = uVar5;\n  if (puVar2 == (undefined *)0x0) {\n    puVar3[1] = puVar3[1] + 1;\n  }\n  else {\n    SYNC(0);\n    puVar3[1] = puVar3[1] + 1;\n    SYNC(0);\n  }\n  iVar6 = *(int *)((int)param_1 + 4);\n  iVar4 = (*(code *)PTR__M_id_00433800)(PTR_id_00432320);\n  puVar1 = PTR_operator_new_0043233c;\n  *(undefined4 **)(iVar6 + iVar4 * 4) = puVar3;\n  puVar3 = (undefined4 *)(*(code *)puVar1)(0xc);\n  uVar5 = *(undefined4 *)param_3;\n  puVar3[1] = 0;\n  puVar3[2] = 0;\n  puVar1 = PTR__M_initialize_moneypunct_004323a4;\n                    /* try { // try from 0035b61c to 0035b623 has its CatchHandler @ 0035b9f8 */\n  *puVar3 = PTR_vtable_004323a0 + 8;\n  (*(code *)puVar1)(puVar3,uVar5,in_stack_00000010);\n  if (puVar2 == (undefined *)0x0) {\n    puVar3[1] = puVar3[1] + 1;\n  }\n  else {\n    SYNC(0);\n    puVar3[1] = puVar3[1] + 1;\n    SYNC(0);\n  }\n  iVar6 = *(int *)((int)param_1 + 4);\n  iVar4 = (*(code *)PTR__M_id_00433800)(PTR_id_00432334);\n  puVar1 = PTR_operator_new_0043233c;\n  *(undefined4 **)(iVar6 + iVar4 * 4) = puVar3;\n  puVar3 = (undefined4 *)(*(code *)puVar1)(0xc);\n  uVar5 = *(undefined4 *)param_3;\n  puVar3[1] = 0;\n  puVar3[2] = 0;\n  puVar1 = PTR__M_initialize_moneypunct_00432394;\n                    /* try { // try from 0035b69c to 0035b6a3 has its CatchHandler @ 0035b9f0 */\n  *puVar3 = PTR_vtable_00432390 + 8;\n  (*(code *)puVar1)(puVar3,uVar5,in_stack_00000010);\n  if (puVar2 == (undefined *)0x0) {\n    puVar3[1] = puVar3[1] + 1;\n  }\n  else {\n    SYNC(0);\n    puVar3[1] = puVar3[1] + 1;\n    SYNC(0);\n  }\n  iVar6 = *(int *)((int)param_1 + 4);\n  iVar4 = (*(code *)PTR__M_id_00433800)(PTR_id_00432330);\n  puVar1 = PTR_operator_new_0043233c;\n  *(undefined4 **)(iVar6 + iVar4 * 4) = puVar3;\n  puVar3 = (undefined4 *)(*(code *)puVar1)(8);\n  puVar3[1] = 0;\n  *puVar3 = PTR_vtable_004322c8 + 8;\n  if (puVar2 == (undefined *)0x0) {\n    puVar3[1] = 1;\n  }\n  else {\n    SYNC(0);\n    puVar3[1] = puVar3[1] + 1;\n    SYNC(0);\n  }\n  iVar6 = *(int *)((int)param_1 + 4);\n  iVar4 = (*(code *)PTR__M_id_00433800)(PTR_id_00432328);\n  puVar1 = PTR_operator_new_0043233c;\n  *(undefined4 **)(iVar6 + iVar4 * 4) = puVar3;\n  puVar3 = (undefined4 *)(*(code *)puVar1)(8);\n  puVar3[1] = 0;\n  *puVar3 = PTR_vtable_004322bc + 8;\n  if (puVar2 == (undefined *)0x0) {\n    puVar3[1] = 1;\n  }\n  else {\n    SYNC(0);\n    puVar3[1] = puVar3[1] + 1;\n    SYNC(0);\n  }\n  iVar6 = *(int *)((int)param_1 + 4);\n  iVar4 = (*(code *)PTR__M_id_00433800)(PTR_id_0043232c);\n  puVar1 = PTR_operator_new_0043233c;\n  *(undefined4 **)(iVar6 + iVar4 * 4) = puVar3;\n  puVar3 = (undefined4 *)(*(code *)puVar1)(8);\n  puVar3[1] = 0;\n  *puVar3 = PTR_vtable_004322c4 + 8;\n  if (puVar2 == (undefined *)0x0) {\n    puVar3[1] = 1;\n  }\n  else {\n    SYNC(0);\n    puVar3[1] = puVar3[1] + 1;\n    SYNC(0);\n  }\n  iVar6 = *(int *)((int)param_1 + 4);\n  iVar4 = (*(code *)PTR__M_id_00433800)(PTR_id_00432324);\n  puVar1 = PTR_operator_new_0043233c;\n  *(undefined4 **)(iVar6 + iVar4 * 4) = puVar3;\n  iVar4 = (*(code *)puVar1)(0x10);\n                    /* WARNING: Load size is inaccurate */\n                    /* try { // try from 0035b838 to 0035b83f has its CatchHandler @ 0035ba08 */\n  (*(code *)PTR_messages_00436450)(iVar4,*param_2,param_4,0);\n  if (puVar2 == (undefined *)0x0) {\n    *(int *)(iVar4 + 4) = *(int *)(iVar4 + 4) + 1;\n  }\n  else {\n    SYNC(0);\n    *(int *)(iVar4 + 4) = *(int *)(iVar4 + 4) + 1;\n    SYNC(0);\n  }\n  iVar7 = *(int *)((int)param_1 + 4);\n  iVar6 = (*(code *)PTR__M_id_00433800)(PTR_id_00432338);\n  *(int *)(iVar7 + iVar6 * 4) = iVar4;\n  return;\n}\n\n" comment (function_definition "void std::locale::_Impl::_M_init_extra(void *param_1,void *param_2,char *param_3,char *param_4)\n\n{\n  undefined *puVar1;\n  undefined *puVar2;\n  undefined4 *puVar3;\n  int iVar4;\n  undefined4 uVar5;\n  int iVar6;\n  int iVar7;\n  undefined4 in_stack_00000010;\n  undefined4 local_30 [3];\n  \n  puVar3 = (undefined4 *)(*(code *)PTR_operator_new_0043233c)(0xc);\n                    /* WARNING: Load size is inaccurate */\n  uVar5 = *param_2;\n  puVar3[1] = 0;\n  puVar3[2] = 0;\n  puVar2 = PTR__M_initialize_numpunct_0043234c;\n                    /* try { // try from 0035b178 to 0035b17f has its CatchHandler @ 0035ba00 */\n  *puVar3 = PTR_vtable_00432348 + 8;\n  (*(code *)puVar2)(puVar3,uVar5);\n  puVar2 = PTR___pthread_key_create_0043667c;\n  if (PTR___pthread_key_create_0043667c == (undefined *)0x0) {\n    puVar3[1] = puVar3[1] + 1;\n  }\n  else {\n    SYNC(0);\n    puVar3[1] = puVar3[1] + 1;\n    SYNC(0);\n  }\n  iVar6 = *(int *)((int)param_1 + 4);\n  iVar4 = (*(code *)PTR__M_id_00433800)(PTR_id_004322fc);\n  puVar1 = PTR_operator_new_0043233c;\n  *(undefined4 **)(iVar6 + iVar4 * 4) = puVar3;\n  puVar3 = (undefined4 *)(*(code *)puVar1)(0xc);\n                    /* WARNING: Load size is inaccurate */\n  local_30[0] = *param_2;\n  puVar3[1] = 0;\n  puVar1 = PTR__S_clone_c_locale_004337ec;\n  *puVar3 = PTR_vtable_00432290 + 8;\n  uVar5 = (*(code *)puVar1)(local_30);\n  puVar3[2] = uVar5;\n  if (puVar2 == (undefined *)0x0) {\n    puVar3[1] = puVar3[1] + 1;\n  }\n  else {\n    SYNC(0);\n    puVar3[1] = puVar3[1] + 1;\n    SYNC(0);\n  }\n  iVar6 = *(int *)((int)param_1 + 4);\n  iVar4 = (*(code *)PTR__M_id_00433800)(PTR_id_00432300);\n  puVar1 = PTR_operator_new_0043233c;\n  *(undefined4 **)(iVar6 + iVar4 * 4) = puVar3;\n  puVar3 = (undefined4 *)(*(code *)puVar1)(0xc);\n                    /* WARNING: Load size is inaccurate */\n  uVar5 = *param_2;\n  puVar3[1] = 0;\n  puVar3[2] = 0;\n  puVar1 = PTR__M_initialize_moneypunct_00432370;\n                    /* try { // try from 0035b284 to 0035b28b has its CatchHandler @ 0035b9cc */\n  *puVar3 = PTR_vtable_0043236c + 8;\n  (*(code *)puVar1)(puVar3,uVar5,0);\n  if (puVar2 == (undefined *)0x0) {\n    puVar3[1] = puVar3[1] + 1;\n  }\n  else {\n    SYNC(0);\n    puVar3[1] = puVar3[1] + 1;\n    SYNC(0);\n  }\n  iVar6 = *(int *)((int)param_1 + 4);\n  iVar4 = (*(code *)PTR__M_id_00433800)(PTR_id_00432314);\n  puVar1 = PTR_operator_new_0043233c;\n  *(undefined4 **)(iVar6 + iVar4 * 4) = puVar3;\n  puVar3 = (undefined4 *)(*(code *)puVar1)(0xc);\n                    /* WARNING: Load size is inaccurate */\n  uVar5 = *param_2;\n  puVar3[1] = 0;\n  puVar3[2] = 0;\n  puVar1 = PTR__M_initialize_moneypunct_00432360;\n                    /* try { // try from 0035b304 to 0035b30b has its CatchHandler @ 0035b994 */\n  *puVar3 = PTR_vtable_0043235c + 8;\n  (*(code *)puVar1)(puVar3,uVar5,0);\n  if (puVar2 == (undefined *)0x0) {\n    puVar3[1] = puVar3[1] + 1;\n  }\n  else {\n    SYNC(0);\n    puVar3[1] = puVar3[1] + 1;\n    SYNC(0);\n  }\n  iVar6 = *(int *)((int)param_1 + 4);\n  iVar4 = (*(code *)PTR__M_id_00433800)(PTR_id_00432310);\n  puVar1 = PTR_operator_new_0043233c;\n  *(undefined4 **)(iVar6 + iVar4 * 4) = puVar3;\n  puVar3 = (undefined4 *)(*(code *)puVar1)(8);\n  puVar3[1] = 0;\n  *puVar3 = PTR_vtable_004322b8 + 8;\n  if (puVar2 == (undefined *)0x0) {\n    puVar3[1] = 1;\n  }\n  else {\n    SYNC(0);\n    puVar3[1] = puVar3[1] + 1;\n    SYNC(0);\n  }\n  iVar6 = *(int *)((int)param_1 + 4);\n  iVar4 = (*(code *)PTR__M_id_00433800)(PTR_id_00432308);\n  puVar1 = PTR_operator_new_0043233c;\n  *(undefined4 **)(iVar6 + iVar4 * 4) = puVar3;\n  puVar3 = (undefined4 *)(*(code *)puVar1)(8);\n  puVar3[1] = 0;\n  *puVar3 = PTR_vtable_004322b4 + 8;\n  if (puVar2 == (undefined *)0x0) {\n    puVar3[1] = 1;\n  }\n  else {\n    SYNC(0);\n    puVar3[1] = puVar3[1] + 1;\n    SYNC(0);\n  }\n  iVar6 = *(int *)((int)param_1 + 4);\n  iVar4 = (*(code *)PTR__M_id_00433800)(PTR_id_0043230c);\n  puVar1 = PTR_operator_new_0043233c;\n  *(undefined4 **)(iVar6 + iVar4 * 4) = puVar3;\n  puVar3 = (undefined4 *)(*(code *)puVar1)(8);\n  puVar3[1] = 0;\n  *puVar3 = PTR_vtable_004322c0 + 8;\n  if (puVar2 == (undefined *)0x0) {\n    puVar3[1] = 1;\n  }\n  else {\n    SYNC(0);\n    puVar3[1] = puVar3[1] + 1;\n    SYNC(0);\n  }\n  iVar6 = *(int *)((int)param_1 + 4);\n  iVar4 = (*(code *)PTR__M_id_00433800)(PTR_id_00432304);\n  puVar1 = PTR_operator_new_0043233c;\n  *(undefined4 **)(iVar6 + iVar4 * 4) = puVar3;\n  iVar4 = (*(code *)puVar1)(0x10);\n                    /* WARNING: Load size is inaccurate */\n                    /* try { // try from 0035b4a0 to 0035b4a7 has its CatchHandler @ 0035b9dc */\n  (*(code *)PTR_messages_0043644c)(iVar4,*param_2,param_4,0);\n  if (puVar2 == (undefined *)0x0) {\n    *(int *)(iVar4 + 4) = *(int *)(iVar4 + 4) + 1;\n  }\n  else {\n    SYNC(0);\n    *(int *)(iVar4 + 4) = *(int *)(iVar4 + 4) + 1;\n    SYNC(0);\n  }\n  iVar7 = *(int *)((int)param_1 + 4);\n  iVar6 = (*(code *)PTR__M_id_00433800)(PTR_id_00432318);\n  puVar1 = PTR_operator_new_0043233c;\n  *(int *)(iVar7 + iVar6 * 4) = iVar4;\n  puVar3 = (undefined4 *)(*(code *)puVar1)(0xc);\n                    /* WARNING: Load size is inaccurate */\n  uVar5 = *param_2;\n  puVar3[1] = 0;\n  puVar3[2] = 0;\n  puVar1 = PTR__M_initialize_numpunct_00432384;\n                    /* try { // try from 0035b51c to 0035b523 has its CatchHandler @ 0035b9d4 */\n  *puVar3 = PTR_vtable_00432380 + 8;\n  (*(code *)puVar1)(puVar3,uVar5);\n  if (puVar2 == (undefined *)0x0) {\n    puVar3[1] = puVar3[1] + 1;\n  }\n  else {\n    SYNC(0);\n    puVar3[1] = puVar3[1] + 1;\n    SYNC(0);\n  }\n  iVar6 = *(int *)((int)param_1 + 4);\n  iVar4 = (*(code *)PTR__M_id_00433800)(PTR_id_0043231c);\n  puVar1 = PTR_operator_new_0043233c;\n  *(undefined4 **)(iVar6 + iVar4 * 4) = puVar3;\n  puVar3 = (undefined4 *)(*(code *)puVar1)(0xc);\n                    /* WARNING: Load size is inaccurate */\n  local_30[0] = *param_2;\n  puVar3[1] = 0;\n  puVar1 = PTR__S_clone_c_locale_004337ec;\n  *puVar3 = PTR_vtable_00432280 + 8;\n  uVar5 = (*(code *)puVar1)(local_30);\n  puVar3[2] = uVar5;\n  if (puVar2 == (undefined *)0x0) {\n    puVar3[1] = puVar3[1] + 1;\n  }\n  else {\n    SYNC(0);\n    puVar3[1] = puVar3[1] + 1;\n    SYNC(0);\n  }\n  iVar6 = *(int *)((int)param_1 + 4);\n  iVar4 = (*(code *)PTR__M_id_00433800)(PTR_id_00432320);\n  puVar1 = PTR_operator_new_0043233c;\n  *(undefined4 **)(iVar6 + iVar4 * 4) = puVar3;\n  puVar3 = (undefined4 *)(*(code *)puVar1)(0xc);\n  uVar5 = *(undefined4 *)param_3;\n  puVar3[1] = 0;\n  puVar3[2] = 0;\n  puVar1 = PTR__M_initialize_moneypunct_004323a4;\n                    /* try { // try from 0035b61c to 0035b623 has its CatchHandler @ 0035b9f8 */\n  *puVar3 = PTR_vtable_004323a0 + 8;\n  (*(code *)puVar1)(puVar3,uVar5,in_stack_00000010);\n  if (puVar2 == (undefined *)0x0) {\n    puVar3[1] = puVar3[1] + 1;\n  }\n  else {\n    SYNC(0);\n    puVar3[1] = puVar3[1] + 1;\n    SYNC(0);\n  }\n  iVar6 = *(int *)((int)param_1 + 4);\n  iVar4 = (*(code *)PTR__M_id_00433800)(PTR_id_00432334);\n  puVar1 = PTR_operator_new_0043233c;\n  *(undefined4 **)(iVar6 + iVar4 * 4) = puVar3;\n  puVar3 = (undefined4 *)(*(code *)puVar1)(0xc);\n  uVar5 = *(undefined4 *)param_3;\n  puVar3[1] = 0;\n  puVar3[2] = 0;\n  puVar1 = PTR__M_initialize_moneypunct_00432394;\n                    /* try { // try from 0035b69c to 0035b6a3 has its CatchHandler @ 0035b9f0 */\n  *puVar3 = PTR_vtable_00432390 + 8;\n  (*(code *)puVar1)(puVar3,uVar5,in_stack_00000010);\n  if (puVar2 == (undefined *)0x0) {\n    puVar3[1] = puVar3[1] + 1;\n  }\n  else {\n    SYNC(0);\n    puVar3[1] = puVar3[1] + 1;\n    SYNC(0);\n  }\n  iVar6 = *(int *)((int)param_1 + 4);\n  iVar4 = (*(code *)PTR__M_id_00433800)(PTR_id_00432330);\n  puVar1 = PTR_operator_new_0043233c;\n  *(undefined4 **)(iVar6 + iVar4 * 4) = puVar3;\n  puVar3 = (undefined4 *)(*(code *)puVar1)(8);\n  puVar3[1] = 0;\n  *puVar3 = PTR_vtable_004322c8 + 8;\n  if (puVar2 == (undefined *)0x0) {\n    puVar3[1] = 1;\n  }\n  else {\n    SYNC(0);\n    puVar3[1] = puVar3[1] + 1;\n    SYNC(0);\n  }\n  iVar6 = *(int *)((int)param_1 + 4);\n  iVar4 = (*(code *)PTR__M_id_00433800)(PTR_id_00432328);\n  puVar1 = PTR_operator_new_0043233c;\n  *(undefined4 **)(iVar6 + iVar4 * 4) = puVar3;\n  puVar3 = (undefined4 *)(*(code *)puVar1)(8);\n  puVar3[1] = 0;\n  *puVar3 = PTR_vtable_004322bc + 8;\n  if (puVar2 == (undefined *)0x0) {\n    puVar3[1] = 1;\n  }\n  else {\n    SYNC(0);\n    puVar3[1] = puVar3[1] + 1;\n    SYNC(0);\n  }\n  iVar6 = *(int *)((int)param_1 + 4);\n  iVar4 = (*(code *)PTR__M_id_00433800)(PTR_id_0043232c);\n  puVar1 = PTR_operator_new_0043233c;\n  *(undefined4 **)(iVar6 + iVar4 * 4) = puVar3;\n  puVar3 = (undefined4 *)(*(code *)puVar1)(8);\n  puVar3[1] = 0;\n  *puVar3 = PTR_vtable_004322c4 + 8;\n  if (puVar2 == (undefined *)0x0) {\n    puVar3[1] = 1;\n  }\n  else {\n    SYNC(0);\n    puVar3[1] = puVar3[1] + 1;\n    SYNC(0);\n  }\n  iVar6 = *(int *)((int)param_1 + 4);\n  iVar4 = (*(code *)PTR__M_id_00433800)(PTR_id_00432324);\n  puVar1 = PTR_operator_new_0043233c;\n  *(undefined4 **)(iVar6 + iVar4 * 4) = puVar3;\n  iVar4 = (*(code *)puVar1)(0x10);\n                    /* WARNING: Load size is inaccurate */\n                    /* try { // try from 0035b838 to 0035b83f has its CatchHandler @ 0035ba08 */\n  (*(code *)PTR_messages_00436450)(iVar4,*param_2,param_4,0);\n  if (puVar2 == (undefined *)0x0) {\n    *(int *)(iVar4 + 4) = *(int *)(iVar4 + 4) + 1;\n  }\n  else {\n    SYNC(0);\n    *(int *)(iVar4 + 4) = *(int *)(iVar4 + 4) + 1;\n    SYNC(0);\n  }\n  iVar7 = *(int *)((int)param_1 + 4);\n  iVar6 = (*(code *)PTR__M_id_00433800)(PTR_id_00432338);\n  *(int *)(iVar7 + iVar6 * 4) = iVar4;\n  return;\n}" primitive_type (ERROR "std::locale::_Impl::" identifier : : identifier : : identifier : :) (function_declarator "_M_init_extra(void *param_1,void *param_2,char *param_3,char *param_4)" identifier (parameter_list "(void *param_1,void *param_2,char *param_3,char *param_4)" ( (parameter_declaration "void *param_1" primitive_type (pointer_declarator "*param_1" * identifier)) , (parameter_declaration "void *param_2" primitive_type (pointer_declarator "*param_2" * identifier)) , (parameter_declaration "char *param_3" primitive_type (pointer_declarator "*param_3" * identifier)) , (parameter_declaration "char *param_4" primitive_type (pointer_declarator "*param_4" * identifier)) ))) (compound_statement "{\n  undefined *puVar1;\n  undefined *puVar2;\n  undefined4 *puVar3;\n  int iVar4;\n  undefined4 uVar5;\n  int iVar6;\n  int iVar7;\n  undefined4 in_stack_00000010;\n  undefined4 local_30 [3];\n  \n  puVar3 = (undefined4 *)(*(code *)PTR_operator_new_0043233c)(0xc);\n                    /* WARNING: Load size is inaccurate */\n  uVar5 = *param_2;\n  puVar3[1] = 0;\n  puVar3[2] = 0;\n  puVar2 = PTR__M_initialize_numpunct_0043234c;\n                    /* try { // try from 0035b178 to 0035b17f has its CatchHandler @ 0035ba00 */\n  *puVar3 = PTR_vtable_00432348 + 8;\n  (*(code *)puVar2)(puVar3,uVar5);\n  puVar2 = PTR___pthread_key_create_0043667c;\n  if (PTR___pthread_key_create_0043667c == (undefined *)0x0) {\n    puVar3[1] = puVar3[1] + 1;\n  }\n  else {\n    SYNC(0);\n    puVar3[1] = puVar3[1] + 1;\n    SYNC(0);\n  }\n  iVar6 = *(int *)((int)param_1 + 4);\n  iVar4 = (*(code *)PTR__M_id_00433800)(PTR_id_004322fc);\n  puVar1 = PTR_operator_new_0043233c;\n  *(undefined4 **)(iVar6 + iVar4 * 4) = puVar3;\n  puVar3 = (undefined4 *)(*(code *)puVar1)(0xc);\n                    /* WARNING: Load size is inaccurate */\n  local_30[0] = *param_2;\n  puVar3[1] = 0;\n  puVar1 = PTR__S_clone_c_locale_004337ec;\n  *puVar3 = PTR_vtable_00432290 + 8;\n  uVar5 = (*(code *)puVar1)(local_30);\n  puVar3[2] = uVar5;\n  if (puVar2 == (undefined *)0x0) {\n    puVar3[1] = puVar3[1] + 1;\n  }\n  else {\n    SYNC(0);\n    puVar3[1] = puVar3[1] + 1;\n    SYNC(0);\n  }\n  iVar6 = *(int *)((int)param_1 + 4);\n  iVar4 = (*(code *)PTR__M_id_00433800)(PTR_id_00432300);\n  puVar1 = PTR_operator_new_0043233c;\n  *(undefined4 **)(iVar6 + iVar4 * 4) = puVar3;\n  puVar3 = (undefined4 *)(*(code *)puVar1)(0xc);\n                    /* WARNING: Load size is inaccurate */\n  uVar5 = *param_2;\n  puVar3[1] = 0;\n  puVar3[2] = 0;\n  puVar1 = PTR__M_initialize_moneypunct_00432370;\n                    /* try { // try from 0035b284 to 0035b28b has its CatchHandler @ 0035b9cc */\n  *puVar3 = PTR_vtable_0043236c + 8;\n  (*(code *)puVar1)(puVar3,uVar5,0);\n  if (puVar2 == (undefined *)0x0) {\n    puVar3[1] = puVar3[1] + 1;\n  }\n  else {\n    SYNC(0);\n    puVar3[1] = puVar3[1] + 1;\n    SYNC(0);\n  }\n  iVar6 = *(int *)((int)param_1 + 4);\n  iVar4 = (*(code *)PTR__M_id_00433800)(PTR_id_00432314);\n  puVar1 = PTR_operator_new_0043233c;\n  *(undefined4 **)(iVar6 + iVar4 * 4) = puVar3;\n  puVar3 = (undefined4 *)(*(code *)puVar1)(0xc);\n                    /* WARNING: Load size is inaccurate */\n  uVar5 = *param_2;\n  puVar3[1] = 0;\n  puVar3[2] = 0;\n  puVar1 = PTR__M_initialize_moneypunct_00432360;\n                    /* try { // try from 0035b304 to 0035b30b has its CatchHandler @ 0035b994 */\n  *puVar3 = PTR_vtable_0043235c + 8;\n  (*(code *)puVar1)(puVar3,uVar5,0);\n  if (puVar2 == (undefined *)0x0) {\n    puVar3[1] = puVar3[1] + 1;\n  }\n  else {\n    SYNC(0);\n    puVar3[1] = puVar3[1] + 1;\n    SYNC(0);\n  }\n  iVar6 = *(int *)((int)param_1 + 4);\n  iVar4 = (*(code *)PTR__M_id_00433800)(PTR_id_00432310);\n  puVar1 = PTR_operator_new_0043233c;\n  *(undefined4 **)(iVar6 + iVar4 * 4) = puVar3;\n  puVar3 = (undefined4 *)(*(code *)puVar1)(8);\n  puVar3[1] = 0;\n  *puVar3 = PTR_vtable_004322b8 + 8;\n  if (puVar2 == (undefined *)0x0) {\n    puVar3[1] = 1;\n  }\n  else {\n    SYNC(0);\n    puVar3[1] = puVar3[1] + 1;\n    SYNC(0);\n  }\n  iVar6 = *(int *)((int)param_1 + 4);\n  iVar4 = (*(code *)PTR__M_id_00433800)(PTR_id_00432308);\n  puVar1 = PTR_operator_new_0043233c;\n  *(undefined4 **)(iVar6 + iVar4 * 4) = puVar3;\n  puVar3 = (undefined4 *)(*(code *)puVar1)(8);\n  puVar3[1] = 0;\n  *puVar3 = PTR_vtable_004322b4 + 8;\n  if (puVar2 == (undefined *)0x0) {\n    puVar3[1] = 1;\n  }\n  else {\n    SYNC(0);\n    puVar3[1] = puVar3[1] + 1;\n    SYNC(0);\n  }\n  iVar6 = *(int *)((int)param_1 + 4);\n  iVar4 = (*(code *)PTR__M_id_00433800)(PTR_id_0043230c);\n  puVar1 = PTR_operator_new_0043233c;\n  *(undefined4 **)(iVar6 + iVar4 * 4) = puVar3;\n  puVar3 = (undefined4 *)(*(code *)puVar1)(8);\n  puVar3[1] = 0;\n  *puVar3 = PTR_vtable_004322c0 + 8;\n  if (puVar2 == (undefined *)0x0) {\n    puVar3[1] = 1;\n  }\n  else {\n    SYNC(0);\n    puVar3[1] = puVar3[1] + 1;\n    SYNC(0);\n  }\n  iVar6 = *(int *)((int)param_1 + 4);\n  iVar4 = (*(code *)PTR__M_id_00433800)(PTR_id_00432304);\n  puVar1 = PTR_operator_new_0043233c;\n  *(undefined4 **)(iVar6 + iVar4 * 4) = puVar3;\n  iVar4 = (*(code *)puVar1)(0x10);\n                    /* WARNING: Load size is inaccurate */\n                    /* try { // try from 0035b4a0 to 0035b4a7 has its CatchHandler @ 0035b9dc */\n  (*(code *)PTR_messages_0043644c)(iVar4,*param_2,param_4,0);\n  if (puVar2 == (undefined *)0x0) {\n    *(int *)(iVar4 + 4) = *(int *)(iVar4 + 4) + 1;\n  }\n  else {\n    SYNC(0);\n    *(int *)(iVar4 + 4) = *(int *)(iVar4 + 4) + 1;\n    SYNC(0);\n  }\n  iVar7 = *(int *)((int)param_1 + 4);\n  iVar6 = (*(code *)PTR__M_id_00433800)(PTR_id_00432318);\n  puVar1 = PTR_operator_new_0043233c;\n  *(int *)(iVar7 + iVar6 * 4) = iVar4;\n  puVar3 = (undefined4 *)(*(code *)puVar1)(0xc);\n                    /* WARNING: Load size is inaccurate */\n  uVar5 = *param_2;\n  puVar3[1] = 0;\n  puVar3[2] = 0;\n  puVar1 = PTR__M_initialize_numpunct_00432384;\n                    /* try { // try from 0035b51c to 0035b523 has its CatchHandler @ 0035b9d4 */\n  *puVar3 = PTR_vtable_00432380 + 8;\n  (*(code *)puVar1)(puVar3,uVar5);\n  if (puVar2 == (undefined *)0x0) {\n    puVar3[1] = puVar3[1] + 1;\n  }\n  else {\n    SYNC(0);\n    puVar3[1] = puVar3[1] + 1;\n    SYNC(0);\n  }\n  iVar6 = *(int *)((int)param_1 + 4);\n  iVar4 = (*(code *)PTR__M_id_00433800)(PTR_id_0043231c);\n  puVar1 = PTR_operator_new_0043233c;\n  *(undefined4 **)(iVar6 + iVar4 * 4) = puVar3;\n  puVar3 = (undefined4 *)(*(code *)puVar1)(0xc);\n                    /* WARNING: Load size is inaccurate */\n  local_30[0] = *param_2;\n  puVar3[1] = 0;\n  puVar1 = PTR__S_clone_c_locale_004337ec;\n  *puVar3 = PTR_vtable_00432280 + 8;\n  uVar5 = (*(code *)puVar1)(local_30);\n  puVar3[2] = uVar5;\n  if (puVar2 == (undefined *)0x0) {\n    puVar3[1] = puVar3[1] + 1;\n  }\n  else {\n    SYNC(0);\n    puVar3[1] = puVar3[1] + 1;\n    SYNC(0);\n  }\n  iVar6 = *(int *)((int)param_1 + 4);\n  iVar4 = (*(code *)PTR__M_id_00433800)(PTR_id_00432320);\n  puVar1 = PTR_operator_new_0043233c;\n  *(undefined4 **)(iVar6 + iVar4 * 4) = puVar3;\n  puVar3 = (undefined4 *)(*(code *)puVar1)(0xc);\n  uVar5 = *(undefined4 *)param_3;\n  puVar3[1] = 0;\n  puVar3[2] = 0;\n  puVar1 = PTR__M_initialize_moneypunct_004323a4;\n                    /* try { // try from 0035b61c to 0035b623 has its CatchHandler @ 0035b9f8 */\n  *puVar3 = PTR_vtable_004323a0 + 8;\n  (*(code *)puVar1)(puVar3,uVar5,in_stack_00000010);\n  if (puVar2 == (undefined *)0x0) {\n    puVar3[1] = puVar3[1] + 1;\n  }\n  else {\n    SYNC(0);\n    puVar3[1] = puVar3[1] + 1;\n    SYNC(0);\n  }\n  iVar6 = *(int *)((int)param_1 + 4);\n  iVar4 = (*(code *)PTR__M_id_00433800)(PTR_id_00432334);\n  puVar1 = PTR_operator_new_0043233c;\n  *(undefined4 **)(iVar6 + iVar4 * 4) = puVar3;\n  puVar3 = (undefined4 *)(*(code *)puVar1)(0xc);\n  uVar5 = *(undefined4 *)param_3;\n  puVar3[1] = 0;\n  puVar3[2] = 0;\n  puVar1 = PTR__M_initialize_moneypunct_00432394;\n                    /* try { // try from 0035b69c to 0035b6a3 has its CatchHandler @ 0035b9f0 */\n  *puVar3 = PTR_vtable_00432390 + 8;\n  (*(code *)puVar1)(puVar3,uVar5,in_stack_00000010);\n  if (puVar2 == (undefined *)0x0) {\n    puVar3[1] = puVar3[1] + 1;\n  }\n  else {\n    SYNC(0);\n    puVar3[1] = puVar3[1] + 1;\n    SYNC(0);\n  }\n  iVar6 = *(int *)((int)param_1 + 4);\n  iVar4 = (*(code *)PTR__M_id_00433800)(PTR_id_00432330);\n  puVar1 = PTR_operator_new_0043233c;\n  *(undefined4 **)(iVar6 + iVar4 * 4) = puVar3;\n  puVar3 = (undefined4 *)(*(code *)puVar1)(8);\n  puVar3[1] = 0;\n  *puVar3 = PTR_vtable_004322c8 + 8;\n  if (puVar2 == (undefined *)0x0) {\n    puVar3[1] = 1;\n  }\n  else {\n    SYNC(0);\n    puVar3[1] = puVar3[1] + 1;\n    SYNC(0);\n  }\n  iVar6 = *(int *)((int)param_1 + 4);\n  iVar4 = (*(code *)PTR__M_id_00433800)(PTR_id_00432328);\n  puVar1 = PTR_operator_new_0043233c;\n  *(undefined4 **)(iVar6 + iVar4 * 4) = puVar3;\n  puVar3 = (undefined4 *)(*(code *)puVar1)(8);\n  puVar3[1] = 0;\n  *puVar3 = PTR_vtable_004322bc + 8;\n  if (puVar2 == (undefined *)0x0) {\n    puVar3[1] = 1;\n  }\n  else {\n    SYNC(0);\n    puVar3[1] = puVar3[1] + 1;\n    SYNC(0);\n  }\n  iVar6 = *(int *)((int)param_1 + 4);\n  iVar4 = (*(code *)PTR__M_id_00433800)(PTR_id_0043232c);\n  puVar1 = PTR_operator_new_0043233c;\n  *(undefined4 **)(iVar6 + iVar4 * 4) = puVar3;\n  puVar3 = (undefined4 *)(*(code *)puVar1)(8);\n  puVar3[1] = 0;\n  *puVar3 = PTR_vtable_004322c4 + 8;\n  if (puVar2 == (undefined *)0x0) {\n    puVar3[1] = 1;\n  }\n  else {\n    SYNC(0);\n    puVar3[1] = puVar3[1] + 1;\n    SYNC(0);\n  }\n  iVar6 = *(int *)((int)param_1 + 4);\n  iVar4 = (*(code *)PTR__M_id_00433800)(PTR_id_00432324);\n  puVar1 = PTR_operator_new_0043233c;\n  *(undefined4 **)(iVar6 + iVar4 * 4) = puVar3;\n  iVar4 = (*(code *)puVar1)(0x10);\n                    /* WARNING: Load size is inaccurate */\n                    /* try { // try from 0035b838 to 0035b83f has its CatchHandler @ 0035ba08 */\n  (*(code *)PTR_messages_00436450)(iVar4,*param_2,param_4,0);\n  if (puVar2 == (undefined *)0x0) {\n    *(int *)(iVar4 + 4) = *(int *)(iVar4 + 4) + 1;\n  }\n  else {\n    SYNC(0);\n    *(int *)(iVar4 + 4) = *(int *)(iVar4 + 4) + 1;\n    SYNC(0);\n  }\n  iVar7 = *(int *)((int)param_1 + 4);\n  iVar6 = (*(code *)PTR__M_id_00433800)(PTR_id_00432338);\n  *(int *)(iVar7 + iVar6 * 4) = iVar4;\n  return;\n}" { (declaration "undefined *puVar1;" type_identifier (pointer_declarator "*puVar1" * identifier) ;) (declaration "undefined *puVar2;" type_identifier (pointer_declarator "*puVar2" * identifier) ;) (declaration "undefined4 *puVar3;" type_identifier (pointer_declarator "*puVar3" * identifier) ;) (declaration "int iVar4;" primitive_type identifier ;) (declaration "undefined4 uVar5;" type_identifier identifier ;) (declaration "int iVar6;" primitive_type identifier ;) (declaration "int iVar7;" primitive_type identifier ;) (declaration "undefined4 in_stack_00000010;" type_identifier identifier ;) (declaration "undefined4 local_30 [3];" type_identifier (array_declarator "local_30 [3]" identifier [ number_literal ]) ;) (expression_statement "puVar3 = (undefined4 *)(*(code *)PTR_operator_new_0043233c)(0xc);" (assignment_expression "puVar3 = (undefined4 *)(*(code *)PTR_operator_new_0043233c)(0xc)" identifier = (cast_expression "(undefined4 *)(*(code *)PTR_operator_new_0043233c)(0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_operator_new_0043233c)(0xc)" (parenthesized_expression "(*(code *)PTR_operator_new_0043233c)" ( (pointer_expression "*(code *)PTR_operator_new_0043233c" * (cast_expression "(code *)PTR_operator_new_0043233c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0xc)" ( number_literal ))))) ;) comment (expression_statement "uVar5 = *param_2;" (assignment_expression "uVar5 = *param_2" identifier = (pointer_expression "*param_2" * identifier)) ;) (expression_statement "puVar3[1] = 0;" (assignment_expression "puVar3[1] = 0" (subscript_expression "puVar3[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar3[2] = 0;" (assignment_expression "puVar3[2] = 0" (subscript_expression "puVar3[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar2 = PTR__M_initialize_numpunct_0043234c;" (assignment_expression "puVar2 = PTR__M_initialize_numpunct_0043234c" identifier = identifier) ;) comment (expression_statement "*puVar3 = PTR_vtable_00432348 + 8;" (assignment_expression "*puVar3 = PTR_vtable_00432348 + 8" (pointer_expression "*puVar3" * identifier) = (binary_expression "PTR_vtable_00432348 + 8" identifier + number_literal)) ;) (expression_statement "(*(code *)puVar2)(puVar3,uVar5);" (call_expression "(*(code *)puVar2)(puVar3,uVar5)" (parenthesized_expression "(*(code *)puVar2)" ( (pointer_expression "*(code *)puVar2" * (cast_expression "(code *)puVar2" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar3,uVar5)" ( identifier , identifier ))) ;) (expression_statement "puVar2 = PTR___pthread_key_create_0043667c;" (assignment_expression "puVar2 = PTR___pthread_key_create_0043667c" identifier = identifier) ;) (if_statement "if (PTR___pthread_key_create_0043667c == (undefined *)0x0) {\n    puVar3[1] = puVar3[1] + 1;\n  }\n  else {\n    SYNC(0);\n    puVar3[1] = puVar3[1] + 1;\n    SYNC(0);\n  }" if (parenthesized_expression "(PTR___pthread_key_create_0043667c == (undefined *)0x0)" ( (binary_expression "PTR___pthread_key_create_0043667c == (undefined *)0x0" identifier == (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    puVar3[1] = puVar3[1] + 1;\n  }" { (expression_statement "puVar3[1] = puVar3[1] + 1;" (assignment_expression "puVar3[1] = puVar3[1] + 1" (subscript_expression "puVar3[1]" identifier [ number_literal ]) = (binary_expression "puVar3[1] + 1" (subscript_expression "puVar3[1]" identifier [ number_literal ]) + number_literal)) ;) }) (else_clause "else {\n    SYNC(0);\n    puVar3[1] = puVar3[1] + 1;\n    SYNC(0);\n  }" else (compound_statement "{\n    SYNC(0);\n    puVar3[1] = puVar3[1] + 1;\n    SYNC(0);\n  }" { (expression_statement "SYNC(0);" (call_expression "SYNC(0)" identifier (argument_list "(0)" ( number_literal ))) ;) (expression_statement "puVar3[1] = puVar3[1] + 1;" (assignment_expression "puVar3[1] = puVar3[1] + 1" (subscript_expression "puVar3[1]" identifier [ number_literal ]) = (binary_expression "puVar3[1] + 1" (subscript_expression "puVar3[1]" identifier [ number_literal ]) + number_literal)) ;) (expression_statement "SYNC(0);" (call_expression "SYNC(0)" identifier (argument_list "(0)" ( number_literal ))) ;) }))) (expression_statement "iVar6 = *(int *)((int)param_1 + 4);" (assignment_expression "iVar6 = *(int *)((int)param_1 + 4)" identifier = (pointer_expression "*(int *)((int)param_1 + 4)" * (cast_expression "(int *)((int)param_1 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_1 + 4)" ( (binary_expression "(int)param_1 + 4" (cast_expression "(int)param_1" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "iVar4 = (*(code *)PTR__M_id_00433800)(PTR_id_004322fc);" (assignment_expression "iVar4 = (*(code *)PTR__M_id_00433800)(PTR_id_004322fc)" identifier = (call_expression "(*(code *)PTR__M_id_00433800)(PTR_id_004322fc)" (parenthesized_expression "(*(code *)PTR__M_id_00433800)" ( (pointer_expression "*(code *)PTR__M_id_00433800" * (cast_expression "(code *)PTR__M_id_00433800" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_id_004322fc)" ( identifier )))) ;) (expression_statement "puVar1 = PTR_operator_new_0043233c;" (assignment_expression "puVar1 = PTR_operator_new_0043233c" identifier = identifier) ;) (expression_statement "*(undefined4 **)(iVar6 + iVar4 * 4) = puVar3;" (assignment_expression "*(undefined4 **)(iVar6 + iVar4 * 4) = puVar3" (pointer_expression "*(undefined4 **)(iVar6 + iVar4 * 4)" * (cast_expression "(undefined4 **)(iVar6 + iVar4 * 4)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar6 + iVar4 * 4)" ( (binary_expression "iVar6 + iVar4 * 4" identifier + (binary_expression "iVar4 * 4" identifier * number_literal)) )))) = identifier) ;) (expression_statement "puVar3 = (undefined4 *)(*(code *)puVar1)(0xc);" (assignment_expression "puVar3 = (undefined4 *)(*(code *)puVar1)(0xc)" identifier = (cast_expression "(undefined4 *)(*(code *)puVar1)(0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)puVar1)(0xc)" (parenthesized_expression "(*(code *)puVar1)" ( (pointer_expression "*(code *)puVar1" * (cast_expression "(code *)puVar1" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0xc)" ( number_literal ))))) ;) comment (expression_statement "local_30[0] = *param_2;" (assignment_expression "local_30[0] = *param_2" (subscript_expression "local_30[0]" identifier [ number_literal ]) = (pointer_expression "*param_2" * identifier)) ;) (expression_statement "puVar3[1] = 0;" (assignment_expression "puVar3[1] = 0" (subscript_expression "puVar3[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar1 = PTR__S_clone_c_locale_004337ec;" (assignment_expression "puVar1 = PTR__S_clone_c_locale_004337ec" identifier = identifier) ;) (expression_statement "*puVar3 = PTR_vtable_00432290 + 8;" (assignment_expression "*puVar3 = PTR_vtable_00432290 + 8" (pointer_expression "*puVar3" * identifier) = (binary_expression "PTR_vtable_00432290 + 8" identifier + number_literal)) ;) (expression_statement "uVar5 = (*(code *)puVar1)(local_30);" (assignment_expression "uVar5 = (*(code *)puVar1)(local_30)" identifier = (call_expression "(*(code *)puVar1)(local_30)" (parenthesized_expression "(*(code *)puVar1)" ( (pointer_expression "*(code *)puVar1" * (cast_expression "(code *)puVar1" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(local_30)" ( identifier )))) ;) (expression_statement "puVar3[2] = uVar5;" (assignment_expression "puVar3[2] = uVar5" (subscript_expression "puVar3[2]" identifier [ number_literal ]) = identifier) ;) (if_statement "if (puVar2 == (undefined *)0x0) {\n    puVar3[1] = puVar3[1] + 1;\n  }\n  else {\n    SYNC(0);\n    puVar3[1] = puVar3[1] + 1;\n    SYNC(0);\n  }" if (parenthesized_expression "(puVar2 == (undefined *)0x0)" ( (binary_expression "puVar2 == (undefined *)0x0" identifier == (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    puVar3[1] = puVar3[1] + 1;\n  }" { (expression_statement "puVar3[1] = puVar3[1] + 1;" (assignment_expression "puVar3[1] = puVar3[1] + 1" (subscript_expression "puVar3[1]" identifier [ number_literal ]) = (binary_expression "puVar3[1] + 1" (subscript_expression "puVar3[1]" identifier [ number_literal ]) + number_literal)) ;) }) (else_clause "else {\n    SYNC(0);\n    puVar3[1] = puVar3[1] + 1;\n    SYNC(0);\n  }" else (compound_statement "{\n    SYNC(0);\n    puVar3[1] = puVar3[1] + 1;\n    SYNC(0);\n  }" { (expression_statement "SYNC(0);" (call_expression "SYNC(0)" identifier (argument_list "(0)" ( number_literal ))) ;) (expression_statement "puVar3[1] = puVar3[1] + 1;" (assignment_expression "puVar3[1] = puVar3[1] + 1" (subscript_expression "puVar3[1]" identifier [ number_literal ]) = (binary_expression "puVar3[1] + 1" (subscript_expression "puVar3[1]" identifier [ number_literal ]) + number_literal)) ;) (expression_statement "SYNC(0);" (call_expression "SYNC(0)" identifier (argument_list "(0)" ( number_literal ))) ;) }))) (expression_statement "iVar6 = *(int *)((int)param_1 + 4);" (assignment_expression "iVar6 = *(int *)((int)param_1 + 4)" identifier = (pointer_expression "*(int *)((int)param_1 + 4)" * (cast_expression "(int *)((int)param_1 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_1 + 4)" ( (binary_expression "(int)param_1 + 4" (cast_expression "(int)param_1" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "iVar4 = (*(code *)PTR__M_id_00433800)(PTR_id_00432300);" (assignment_expression "iVar4 = (*(code *)PTR__M_id_00433800)(PTR_id_00432300)" identifier = (call_expression "(*(code *)PTR__M_id_00433800)(PTR_id_00432300)" (parenthesized_expression "(*(code *)PTR__M_id_00433800)" ( (pointer_expression "*(code *)PTR__M_id_00433800" * (cast_expression "(code *)PTR__M_id_00433800" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_id_00432300)" ( identifier )))) ;) (expression_statement "puVar1 = PTR_operator_new_0043233c;" (assignment_expression "puVar1 = PTR_operator_new_0043233c" identifier = identifier) ;) (expression_statement "*(undefined4 **)(iVar6 + iVar4 * 4) = puVar3;" (assignment_expression "*(undefined4 **)(iVar6 + iVar4 * 4) = puVar3" (pointer_expression "*(undefined4 **)(iVar6 + iVar4 * 4)" * (cast_expression "(undefined4 **)(iVar6 + iVar4 * 4)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar6 + iVar4 * 4)" ( (binary_expression "iVar6 + iVar4 * 4" identifier + (binary_expression "iVar4 * 4" identifier * number_literal)) )))) = identifier) ;) (expression_statement "puVar3 = (undefined4 *)(*(code *)puVar1)(0xc);" (assignment_expression "puVar3 = (undefined4 *)(*(code *)puVar1)(0xc)" identifier = (cast_expression "(undefined4 *)(*(code *)puVar1)(0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)puVar1)(0xc)" (parenthesized_expression "(*(code *)puVar1)" ( (pointer_expression "*(code *)puVar1" * (cast_expression "(code *)puVar1" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0xc)" ( number_literal ))))) ;) comment (expression_statement "uVar5 = *param_2;" (assignment_expression "uVar5 = *param_2" identifier = (pointer_expression "*param_2" * identifier)) ;) (expression_statement "puVar3[1] = 0;" (assignment_expression "puVar3[1] = 0" (subscript_expression "puVar3[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar3[2] = 0;" (assignment_expression "puVar3[2] = 0" (subscript_expression "puVar3[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar1 = PTR__M_initialize_moneypunct_00432370;" (assignment_expression "puVar1 = PTR__M_initialize_moneypunct_00432370" identifier = identifier) ;) comment (expression_statement "*puVar3 = PTR_vtable_0043236c + 8;" (assignment_expression "*puVar3 = PTR_vtable_0043236c + 8" (pointer_expression "*puVar3" * identifier) = (binary_expression "PTR_vtable_0043236c + 8" identifier + number_literal)) ;) (expression_statement "(*(code *)puVar1)(puVar3,uVar5,0);" (call_expression "(*(code *)puVar1)(puVar3,uVar5,0)" (parenthesized_expression "(*(code *)puVar1)" ( (pointer_expression "*(code *)puVar1" * (cast_expression "(code *)puVar1" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar3,uVar5,0)" ( identifier , identifier , number_literal ))) ;) (if_statement "if (puVar2 == (undefined *)0x0) {\n    puVar3[1] = puVar3[1] + 1;\n  }\n  else {\n    SYNC(0);\n    puVar3[1] = puVar3[1] + 1;\n    SYNC(0);\n  }" if (parenthesized_expression "(puVar2 == (undefined *)0x0)" ( (binary_expression "puVar2 == (undefined *)0x0" identifier == (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    puVar3[1] = puVar3[1] + 1;\n  }" { (expression_statement "puVar3[1] = puVar3[1] + 1;" (assignment_expression "puVar3[1] = puVar3[1] + 1" (subscript_expression "puVar3[1]" identifier [ number_literal ]) = (binary_expression "puVar3[1] + 1" (subscript_expression "puVar3[1]" identifier [ number_literal ]) + number_literal)) ;) }) (else_clause "else {\n    SYNC(0);\n    puVar3[1] = puVar3[1] + 1;\n    SYNC(0);\n  }" else (compound_statement "{\n    SYNC(0);\n    puVar3[1] = puVar3[1] + 1;\n    SYNC(0);\n  }" { (expression_statement "SYNC(0);" (call_expression "SYNC(0)" identifier (argument_list "(0)" ( number_literal ))) ;) (expression_statement "puVar3[1] = puVar3[1] + 1;" (assignment_expression "puVar3[1] = puVar3[1] + 1" (subscript_expression "puVar3[1]" identifier [ number_literal ]) = (binary_expression "puVar3[1] + 1" (subscript_expression "puVar3[1]" identifier [ number_literal ]) + number_literal)) ;) (expression_statement "SYNC(0);" (call_expression "SYNC(0)" identifier (argument_list "(0)" ( number_literal ))) ;) }))) (expression_statement "iVar6 = *(int *)((int)param_1 + 4);" (assignment_expression "iVar6 = *(int *)((int)param_1 + 4)" identifier = (pointer_expression "*(int *)((int)param_1 + 4)" * (cast_expression "(int *)((int)param_1 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_1 + 4)" ( (binary_expression "(int)param_1 + 4" (cast_expression "(int)param_1" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "iVar4 = (*(code *)PTR__M_id_00433800)(PTR_id_00432314);" (assignment_expression "iVar4 = (*(code *)PTR__M_id_00433800)(PTR_id_00432314)" identifier = (call_expression "(*(code *)PTR__M_id_00433800)(PTR_id_00432314)" (parenthesized_expression "(*(code *)PTR__M_id_00433800)" ( (pointer_expression "*(code *)PTR__M_id_00433800" * (cast_expression "(code *)PTR__M_id_00433800" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_id_00432314)" ( identifier )))) ;) (expression_statement "puVar1 = PTR_operator_new_0043233c;" (assignment_expression "puVar1 = PTR_operator_new_0043233c" identifier = identifier) ;) (expression_statement "*(undefined4 **)(iVar6 + iVar4 * 4) = puVar3;" (assignment_expression "*(undefined4 **)(iVar6 + iVar4 * 4) = puVar3" (pointer_expression "*(undefined4 **)(iVar6 + iVar4 * 4)" * (cast_expression "(undefined4 **)(iVar6 + iVar4 * 4)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar6 + iVar4 * 4)" ( (binary_expression "iVar6 + iVar4 * 4" identifier + (binary_expression "iVar4 * 4" identifier * number_literal)) )))) = identifier) ;) (expression_statement "puVar3 = (undefined4 *)(*(code *)puVar1)(0xc);" (assignment_expression "puVar3 = (undefined4 *)(*(code *)puVar1)(0xc)" identifier = (cast_expression "(undefined4 *)(*(code *)puVar1)(0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)puVar1)(0xc)" (parenthesized_expression "(*(code *)puVar1)" ( (pointer_expression "*(code *)puVar1" * (cast_expression "(code *)puVar1" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0xc)" ( number_literal ))))) ;) comment (expression_statement "uVar5 = *param_2;" (assignment_expression "uVar5 = *param_2" identifier = (pointer_expression "*param_2" * identifier)) ;) (expression_statement "puVar3[1] = 0;" (assignment_expression "puVar3[1] = 0" (subscript_expression "puVar3[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar3[2] = 0;" (assignment_expression "puVar3[2] = 0" (subscript_expression "puVar3[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar1 = PTR__M_initialize_moneypunct_00432360;" (assignment_expression "puVar1 = PTR__M_initialize_moneypunct_00432360" identifier = identifier) ;) comment (expression_statement "*puVar3 = PTR_vtable_0043235c + 8;" (assignment_expression "*puVar3 = PTR_vtable_0043235c + 8" (pointer_expression "*puVar3" * identifier) = (binary_expression "PTR_vtable_0043235c + 8" identifier + number_literal)) ;) (expression_statement "(*(code *)puVar1)(puVar3,uVar5,0);" (call_expression "(*(code *)puVar1)(puVar3,uVar5,0)" (parenthesized_expression "(*(code *)puVar1)" ( (pointer_expression "*(code *)puVar1" * (cast_expression "(code *)puVar1" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar3,uVar5,0)" ( identifier , identifier , number_literal ))) ;) (if_statement "if (puVar2 == (undefined *)0x0) {\n    puVar3[1] = puVar3[1] + 1;\n  }\n  else {\n    SYNC(0);\n    puVar3[1] = puVar3[1] + 1;\n    SYNC(0);\n  }" if (parenthesized_expression "(puVar2 == (undefined *)0x0)" ( (binary_expression "puVar2 == (undefined *)0x0" identifier == (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    puVar3[1] = puVar3[1] + 1;\n  }" { (expression_statement "puVar3[1] = puVar3[1] + 1;" (assignment_expression "puVar3[1] = puVar3[1] + 1" (subscript_expression "puVar3[1]" identifier [ number_literal ]) = (binary_expression "puVar3[1] + 1" (subscript_expression "puVar3[1]" identifier [ number_literal ]) + number_literal)) ;) }) (else_clause "else {\n    SYNC(0);\n    puVar3[1] = puVar3[1] + 1;\n    SYNC(0);\n  }" else (compound_statement "{\n    SYNC(0);\n    puVar3[1] = puVar3[1] + 1;\n    SYNC(0);\n  }" { (expression_statement "SYNC(0);" (call_expression "SYNC(0)" identifier (argument_list "(0)" ( number_literal ))) ;) (expression_statement "puVar3[1] = puVar3[1] + 1;" (assignment_expression "puVar3[1] = puVar3[1] + 1" (subscript_expression "puVar3[1]" identifier [ number_literal ]) = (binary_expression "puVar3[1] + 1" (subscript_expression "puVar3[1]" identifier [ number_literal ]) + number_literal)) ;) (expression_statement "SYNC(0);" (call_expression "SYNC(0)" identifier (argument_list "(0)" ( number_literal ))) ;) }))) (expression_statement "iVar6 = *(int *)((int)param_1 + 4);" (assignment_expression "iVar6 = *(int *)((int)param_1 + 4)" identifier = (pointer_expression "*(int *)((int)param_1 + 4)" * (cast_expression "(int *)((int)param_1 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_1 + 4)" ( (binary_expression "(int)param_1 + 4" (cast_expression "(int)param_1" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "iVar4 = (*(code *)PTR__M_id_00433800)(PTR_id_00432310);" (assignment_expression "iVar4 = (*(code *)PTR__M_id_00433800)(PTR_id_00432310)" identifier = (call_expression "(*(code *)PTR__M_id_00433800)(PTR_id_00432310)" (parenthesized_expression "(*(code *)PTR__M_id_00433800)" ( (pointer_expression "*(code *)PTR__M_id_00433800" * (cast_expression "(code *)PTR__M_id_00433800" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_id_00432310)" ( identifier )))) ;) (expression_statement "puVar1 = PTR_operator_new_0043233c;" (assignment_expression "puVar1 = PTR_operator_new_0043233c" identifier = identifier) ;) (expression_statement "*(undefined4 **)(iVar6 + iVar4 * 4) = puVar3;" (assignment_expression "*(undefined4 **)(iVar6 + iVar4 * 4) = puVar3" (pointer_expression "*(undefined4 **)(iVar6 + iVar4 * 4)" * (cast_expression "(undefined4 **)(iVar6 + iVar4 * 4)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar6 + iVar4 * 4)" ( (binary_expression "iVar6 + iVar4 * 4" identifier + (binary_expression "iVar4 * 4" identifier * number_literal)) )))) = identifier) ;) (expression_statement "puVar3 = (undefined4 *)(*(code *)puVar1)(8);" (assignment_expression "puVar3 = (undefined4 *)(*(code *)puVar1)(8)" identifier = (cast_expression "(undefined4 *)(*(code *)puVar1)(8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)puVar1)(8)" (parenthesized_expression "(*(code *)puVar1)" ( (pointer_expression "*(code *)puVar1" * (cast_expression "(code *)puVar1" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(8)" ( number_literal ))))) ;) (expression_statement "puVar3[1] = 0;" (assignment_expression "puVar3[1] = 0" (subscript_expression "puVar3[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*puVar3 = PTR_vtable_004322b8 + 8;" (assignment_expression "*puVar3 = PTR_vtable_004322b8 + 8" (pointer_expression "*puVar3" * identifier) = (binary_expression "PTR_vtable_004322b8 + 8" identifier + number_literal)) ;) (if_statement "if (puVar2 == (undefined *)0x0) {\n    puVar3[1] = 1;\n  }\n  else {\n    SYNC(0);\n    puVar3[1] = puVar3[1] + 1;\n    SYNC(0);\n  }" if (parenthesized_expression "(puVar2 == (undefined *)0x0)" ( (binary_expression "puVar2 == (undefined *)0x0" identifier == (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    puVar3[1] = 1;\n  }" { (expression_statement "puVar3[1] = 1;" (assignment_expression "puVar3[1] = 1" (subscript_expression "puVar3[1]" identifier [ number_literal ]) = number_literal) ;) }) (else_clause "else {\n    SYNC(0);\n    puVar3[1] = puVar3[1] + 1;\n    SYNC(0);\n  }" else (compound_statement "{\n    SYNC(0);\n    puVar3[1] = puVar3[1] + 1;\n    SYNC(0);\n  }" { (expression_statement "SYNC(0);" (call_expression "SYNC(0)" identifier (argument_list "(0)" ( number_literal ))) ;) (expression_statement "puVar3[1] = puVar3[1] + 1;" (assignment_expression "puVar3[1] = puVar3[1] + 1" (subscript_expression "puVar3[1]" identifier [ number_literal ]) = (binary_expression "puVar3[1] + 1" (subscript_expression "puVar3[1]" identifier [ number_literal ]) + number_literal)) ;) (expression_statement "SYNC(0);" (call_expression "SYNC(0)" identifier (argument_list "(0)" ( number_literal ))) ;) }))) (expression_statement "iVar6 = *(int *)((int)param_1 + 4);" (assignment_expression "iVar6 = *(int *)((int)param_1 + 4)" identifier = (pointer_expression "*(int *)((int)param_1 + 4)" * (cast_expression "(int *)((int)param_1 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_1 + 4)" ( (binary_expression "(int)param_1 + 4" (cast_expression "(int)param_1" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "iVar4 = (*(code *)PTR__M_id_00433800)(PTR_id_00432308);" (assignment_expression "iVar4 = (*(code *)PTR__M_id_00433800)(PTR_id_00432308)" identifier = (call_expression "(*(code *)PTR__M_id_00433800)(PTR_id_00432308)" (parenthesized_expression "(*(code *)PTR__M_id_00433800)" ( (pointer_expression "*(code *)PTR__M_id_00433800" * (cast_expression "(code *)PTR__M_id_00433800" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_id_00432308)" ( identifier )))) ;) (expression_statement "puVar1 = PTR_operator_new_0043233c;" (assignment_expression "puVar1 = PTR_operator_new_0043233c" identifier = identifier) ;) (expression_statement "*(undefined4 **)(iVar6 + iVar4 * 4) = puVar3;" (assignment_expression "*(undefined4 **)(iVar6 + iVar4 * 4) = puVar3" (pointer_expression "*(undefined4 **)(iVar6 + iVar4 * 4)" * (cast_expression "(undefined4 **)(iVar6 + iVar4 * 4)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar6 + iVar4 * 4)" ( (binary_expression "iVar6 + iVar4 * 4" identifier + (binary_expression "iVar4 * 4" identifier * number_literal)) )))) = identifier) ;) (expression_statement "puVar3 = (undefined4 *)(*(code *)puVar1)(8);" (assignment_expression "puVar3 = (undefined4 *)(*(code *)puVar1)(8)" identifier = (cast_expression "(undefined4 *)(*(code *)puVar1)(8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)puVar1)(8)" (parenthesized_expression "(*(code *)puVar1)" ( (pointer_expression "*(code *)puVar1" * (cast_expression "(code *)puVar1" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(8)" ( number_literal ))))) ;) (expression_statement "puVar3[1] = 0;" (assignment_expression "puVar3[1] = 0" (subscript_expression "puVar3[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*puVar3 = PTR_vtable_004322b4 + 8;" (assignment_expression "*puVar3 = PTR_vtable_004322b4 + 8" (pointer_expression "*puVar3" * identifier) = (binary_expression "PTR_vtable_004322b4 + 8" identifier + number_literal)) ;) (if_statement "if (puVar2 == (undefined *)0x0) {\n    puVar3[1] = 1;\n  }\n  else {\n    SYNC(0);\n    puVar3[1] = puVar3[1] + 1;\n    SYNC(0);\n  }" if (parenthesized_expression "(puVar2 == (undefined *)0x0)" ( (binary_expression "puVar2 == (undefined *)0x0" identifier == (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    puVar3[1] = 1;\n  }" { (expression_statement "puVar3[1] = 1;" (assignment_expression "puVar3[1] = 1" (subscript_expression "puVar3[1]" identifier [ number_literal ]) = number_literal) ;) }) (else_clause "else {\n    SYNC(0);\n    puVar3[1] = puVar3[1] + 1;\n    SYNC(0);\n  }" else (compound_statement "{\n    SYNC(0);\n    puVar3[1] = puVar3[1] + 1;\n    SYNC(0);\n  }" { (expression_statement "SYNC(0);" (call_expression "SYNC(0)" identifier (argument_list "(0)" ( number_literal ))) ;) (expression_statement "puVar3[1] = puVar3[1] + 1;" (assignment_expression "puVar3[1] = puVar3[1] + 1" (subscript_expression "puVar3[1]" identifier [ number_literal ]) = (binary_expression "puVar3[1] + 1" (subscript_expression "puVar3[1]" identifier [ number_literal ]) + number_literal)) ;) (expression_statement "SYNC(0);" (call_expression "SYNC(0)" identifier (argument_list "(0)" ( number_literal ))) ;) }))) (expression_statement "iVar6 = *(int *)((int)param_1 + 4);" (assignment_expression "iVar6 = *(int *)((int)param_1 + 4)" identifier = (pointer_expression "*(int *)((int)param_1 + 4)" * (cast_expression "(int *)((int)param_1 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_1 + 4)" ( (binary_expression "(int)param_1 + 4" (cast_expression "(int)param_1" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "iVar4 = (*(code *)PTR__M_id_00433800)(PTR_id_0043230c);" (assignment_expression "iVar4 = (*(code *)PTR__M_id_00433800)(PTR_id_0043230c)" identifier = (call_expression "(*(code *)PTR__M_id_00433800)(PTR_id_0043230c)" (parenthesized_expression "(*(code *)PTR__M_id_00433800)" ( (pointer_expression "*(code *)PTR__M_id_00433800" * (cast_expression "(code *)PTR__M_id_00433800" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_id_0043230c)" ( identifier )))) ;) (expression_statement "puVar1 = PTR_operator_new_0043233c;" (assignment_expression "puVar1 = PTR_operator_new_0043233c" identifier = identifier) ;) (expression_statement "*(undefined4 **)(iVar6 + iVar4 * 4) = puVar3;" (assignment_expression "*(undefined4 **)(iVar6 + iVar4 * 4) = puVar3" (pointer_expression "*(undefined4 **)(iVar6 + iVar4 * 4)" * (cast_expression "(undefined4 **)(iVar6 + iVar4 * 4)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar6 + iVar4 * 4)" ( (binary_expression "iVar6 + iVar4 * 4" identifier + (binary_expression "iVar4 * 4" identifier * number_literal)) )))) = identifier) ;) (expression_statement "puVar3 = (undefined4 *)(*(code *)puVar1)(8);" (assignment_expression "puVar3 = (undefined4 *)(*(code *)puVar1)(8)" identifier = (cast_expression "(undefined4 *)(*(code *)puVar1)(8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)puVar1)(8)" (parenthesized_expression "(*(code *)puVar1)" ( (pointer_expression "*(code *)puVar1" * (cast_expression "(code *)puVar1" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(8)" ( number_literal ))))) ;) (expression_statement "puVar3[1] = 0;" (assignment_expression "puVar3[1] = 0" (subscript_expression "puVar3[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*puVar3 = PTR_vtable_004322c0 + 8;" (assignment_expression "*puVar3 = PTR_vtable_004322c0 + 8" (pointer_expression "*puVar3" * identifier) = (binary_expression "PTR_vtable_004322c0 + 8" identifier + number_literal)) ;) (if_statement "if (puVar2 == (undefined *)0x0) {\n    puVar3[1] = 1;\n  }\n  else {\n    SYNC(0);\n    puVar3[1] = puVar3[1] + 1;\n    SYNC(0);\n  }" if (parenthesized_expression "(puVar2 == (undefined *)0x0)" ( (binary_expression "puVar2 == (undefined *)0x0" identifier == (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    puVar3[1] = 1;\n  }" { (expression_statement "puVar3[1] = 1;" (assignment_expression "puVar3[1] = 1" (subscript_expression "puVar3[1]" identifier [ number_literal ]) = number_literal) ;) }) (else_clause "else {\n    SYNC(0);\n    puVar3[1] = puVar3[1] + 1;\n    SYNC(0);\n  }" else (compound_statement "{\n    SYNC(0);\n    puVar3[1] = puVar3[1] + 1;\n    SYNC(0);\n  }" { (expression_statement "SYNC(0);" (call_expression "SYNC(0)" identifier (argument_list "(0)" ( number_literal ))) ;) (expression_statement "puVar3[1] = puVar3[1] + 1;" (assignment_expression "puVar3[1] = puVar3[1] + 1" (subscript_expression "puVar3[1]" identifier [ number_literal ]) = (binary_expression "puVar3[1] + 1" (subscript_expression "puVar3[1]" identifier [ number_literal ]) + number_literal)) ;) (expression_statement "SYNC(0);" (call_expression "SYNC(0)" identifier (argument_list "(0)" ( number_literal ))) ;) }))) (expression_statement "iVar6 = *(int *)((int)param_1 + 4);" (assignment_expression "iVar6 = *(int *)((int)param_1 + 4)" identifier = (pointer_expression "*(int *)((int)param_1 + 4)" * (cast_expression "(int *)((int)param_1 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_1 + 4)" ( (binary_expression "(int)param_1 + 4" (cast_expression "(int)param_1" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "iVar4 = (*(code *)PTR__M_id_00433800)(PTR_id_00432304);" (assignment_expression "iVar4 = (*(code *)PTR__M_id_00433800)(PTR_id_00432304)" identifier = (call_expression "(*(code *)PTR__M_id_00433800)(PTR_id_00432304)" (parenthesized_expression "(*(code *)PTR__M_id_00433800)" ( (pointer_expression "*(code *)PTR__M_id_00433800" * (cast_expression "(code *)PTR__M_id_00433800" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_id_00432304)" ( identifier )))) ;) (expression_statement "puVar1 = PTR_operator_new_0043233c;" (assignment_expression "puVar1 = PTR_operator_new_0043233c" identifier = identifier) ;) (expression_statement "*(undefined4 **)(iVar6 + iVar4 * 4) = puVar3;" (assignment_expression "*(undefined4 **)(iVar6 + iVar4 * 4) = puVar3" (pointer_expression "*(undefined4 **)(iVar6 + iVar4 * 4)" * (cast_expression "(undefined4 **)(iVar6 + iVar4 * 4)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar6 + iVar4 * 4)" ( (binary_expression "iVar6 + iVar4 * 4" identifier + (binary_expression "iVar4 * 4" identifier * number_literal)) )))) = identifier) ;) (expression_statement "iVar4 = (*(code *)puVar1)(0x10);" (assignment_expression "iVar4 = (*(code *)puVar1)(0x10)" identifier = (call_expression "(*(code *)puVar1)(0x10)" (parenthesized_expression "(*(code *)puVar1)" ( (pointer_expression "*(code *)puVar1" * (cast_expression "(code *)puVar1" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0x10)" ( number_literal )))) ;) comment comment (expression_statement "(*(code *)PTR_messages_0043644c)(iVar4,*param_2,param_4,0);" (call_expression "(*(code *)PTR_messages_0043644c)(iVar4,*param_2,param_4,0)" (parenthesized_expression "(*(code *)PTR_messages_0043644c)" ( (pointer_expression "*(code *)PTR_messages_0043644c" * (cast_expression "(code *)PTR_messages_0043644c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar4,*param_2,param_4,0)" ( identifier , (pointer_expression "*param_2" * identifier) , identifier , number_literal ))) ;) (if_statement "if (puVar2 == (undefined *)0x0) {\n    *(int *)(iVar4 + 4) = *(int *)(iVar4 + 4) + 1;\n  }\n  else {\n    SYNC(0);\n    *(int *)(iVar4 + 4) = *(int *)(iVar4 + 4) + 1;\n    SYNC(0);\n  }" if (parenthesized_expression "(puVar2 == (undefined *)0x0)" ( (binary_expression "puVar2 == (undefined *)0x0" identifier == (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    *(int *)(iVar4 + 4) = *(int *)(iVar4 + 4) + 1;\n  }" { (expression_statement "*(int *)(iVar4 + 4) = *(int *)(iVar4 + 4) + 1;" (assignment_expression "*(int *)(iVar4 + 4) = *(int *)(iVar4 + 4) + 1" (pointer_expression "*(int *)(iVar4 + 4)" * (cast_expression "(int *)(iVar4 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 4)" ( (binary_expression "iVar4 + 4" identifier + number_literal) )))) = (binary_expression "*(int *)(iVar4 + 4) + 1" (pointer_expression "*(int *)(iVar4 + 4)" * (cast_expression "(int *)(iVar4 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 4)" ( (binary_expression "iVar4 + 4" identifier + number_literal) )))) + number_literal)) ;) }) (else_clause "else {\n    SYNC(0);\n    *(int *)(iVar4 + 4) = *(int *)(iVar4 + 4) + 1;\n    SYNC(0);\n  }" else (compound_statement "{\n    SYNC(0);\n    *(int *)(iVar4 + 4) = *(int *)(iVar4 + 4) + 1;\n    SYNC(0);\n  }" { (expression_statement "SYNC(0);" (call_expression "SYNC(0)" identifier (argument_list "(0)" ( number_literal ))) ;) (expression_statement "*(int *)(iVar4 + 4) = *(int *)(iVar4 + 4) + 1;" (assignment_expression "*(int *)(iVar4 + 4) = *(int *)(iVar4 + 4) + 1" (pointer_expression "*(int *)(iVar4 + 4)" * (cast_expression "(int *)(iVar4 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 4)" ( (binary_expression "iVar4 + 4" identifier + number_literal) )))) = (binary_expression "*(int *)(iVar4 + 4) + 1" (pointer_expression "*(int *)(iVar4 + 4)" * (cast_expression "(int *)(iVar4 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 4)" ( (binary_expression "iVar4 + 4" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "SYNC(0);" (call_expression "SYNC(0)" identifier (argument_list "(0)" ( number_literal ))) ;) }))) (expression_statement "iVar7 = *(int *)((int)param_1 + 4);" (assignment_expression "iVar7 = *(int *)((int)param_1 + 4)" identifier = (pointer_expression "*(int *)((int)param_1 + 4)" * (cast_expression "(int *)((int)param_1 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_1 + 4)" ( (binary_expression "(int)param_1 + 4" (cast_expression "(int)param_1" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "iVar6 = (*(code *)PTR__M_id_00433800)(PTR_id_00432318);" (assignment_expression "iVar6 = (*(code *)PTR__M_id_00433800)(PTR_id_00432318)" identifier = (call_expression "(*(code *)PTR__M_id_00433800)(PTR_id_00432318)" (parenthesized_expression "(*(code *)PTR__M_id_00433800)" ( (pointer_expression "*(code *)PTR__M_id_00433800" * (cast_expression "(code *)PTR__M_id_00433800" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_id_00432318)" ( identifier )))) ;) (expression_statement "puVar1 = PTR_operator_new_0043233c;" (assignment_expression "puVar1 = PTR_operator_new_0043233c" identifier = identifier) ;) (expression_statement "*(int *)(iVar7 + iVar6 * 4) = iVar4;" (assignment_expression "*(int *)(iVar7 + iVar6 * 4) = iVar4" (pointer_expression "*(int *)(iVar7 + iVar6 * 4)" * (cast_expression "(int *)(iVar7 + iVar6 * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + iVar6 * 4)" ( (binary_expression "iVar7 + iVar6 * 4" identifier + (binary_expression "iVar6 * 4" identifier * number_literal)) )))) = identifier) ;) (expression_statement "puVar3 = (undefined4 *)(*(code *)puVar1)(0xc);" (assignment_expression "puVar3 = (undefined4 *)(*(code *)puVar1)(0xc)" identifier = (cast_expression "(undefined4 *)(*(code *)puVar1)(0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)puVar1)(0xc)" (parenthesized_expression "(*(code *)puVar1)" ( (pointer_expression "*(code *)puVar1" * (cast_expression "(code *)puVar1" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0xc)" ( number_literal ))))) ;) comment (expression_statement "uVar5 = *param_2;" (assignment_expression "uVar5 = *param_2" identifier = (pointer_expression "*param_2" * identifier)) ;) (expression_statement "puVar3[1] = 0;" (assignment_expression "puVar3[1] = 0" (subscript_expression "puVar3[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar3[2] = 0;" (assignment_expression "puVar3[2] = 0" (subscript_expression "puVar3[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar1 = PTR__M_initialize_numpunct_00432384;" (assignment_expression "puVar1 = PTR__M_initialize_numpunct_00432384" identifier = identifier) ;) comment (expression_statement "*puVar3 = PTR_vtable_00432380 + 8;" (assignment_expression "*puVar3 = PTR_vtable_00432380 + 8" (pointer_expression "*puVar3" * identifier) = (binary_expression "PTR_vtable_00432380 + 8" identifier + number_literal)) ;) (expression_statement "(*(code *)puVar1)(puVar3,uVar5);" (call_expression "(*(code *)puVar1)(puVar3,uVar5)" (parenthesized_expression "(*(code *)puVar1)" ( (pointer_expression "*(code *)puVar1" * (cast_expression "(code *)puVar1" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar3,uVar5)" ( identifier , identifier ))) ;) (if_statement "if (puVar2 == (undefined *)0x0) {\n    puVar3[1] = puVar3[1] + 1;\n  }\n  else {\n    SYNC(0);\n    puVar3[1] = puVar3[1] + 1;\n    SYNC(0);\n  }" if (parenthesized_expression "(puVar2 == (undefined *)0x0)" ( (binary_expression "puVar2 == (undefined *)0x0" identifier == (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    puVar3[1] = puVar3[1] + 1;\n  }" { (expression_statement "puVar3[1] = puVar3[1] + 1;" (assignment_expression "puVar3[1] = puVar3[1] + 1" (subscript_expression "puVar3[1]" identifier [ number_literal ]) = (binary_expression "puVar3[1] + 1" (subscript_expression "puVar3[1]" identifier [ number_literal ]) + number_literal)) ;) }) (else_clause "else {\n    SYNC(0);\n    puVar3[1] = puVar3[1] + 1;\n    SYNC(0);\n  }" else (compound_statement "{\n    SYNC(0);\n    puVar3[1] = puVar3[1] + 1;\n    SYNC(0);\n  }" { (expression_statement "SYNC(0);" (call_expression "SYNC(0)" identifier (argument_list "(0)" ( number_literal ))) ;) (expression_statement "puVar3[1] = puVar3[1] + 1;" (assignment_expression "puVar3[1] = puVar3[1] + 1" (subscript_expression "puVar3[1]" identifier [ number_literal ]) = (binary_expression "puVar3[1] + 1" (subscript_expression "puVar3[1]" identifier [ number_literal ]) + number_literal)) ;) (expression_statement "SYNC(0);" (call_expression "SYNC(0)" identifier (argument_list "(0)" ( number_literal ))) ;) }))) (expression_statement "iVar6 = *(int *)((int)param_1 + 4);" (assignment_expression "iVar6 = *(int *)((int)param_1 + 4)" identifier = (pointer_expression "*(int *)((int)param_1 + 4)" * (cast_expression "(int *)((int)param_1 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_1 + 4)" ( (binary_expression "(int)param_1 + 4" (cast_expression "(int)param_1" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "iVar4 = (*(code *)PTR__M_id_00433800)(PTR_id_0043231c);" (assignment_expression "iVar4 = (*(code *)PTR__M_id_00433800)(PTR_id_0043231c)" identifier = (call_expression "(*(code *)PTR__M_id_00433800)(PTR_id_0043231c)" (parenthesized_expression "(*(code *)PTR__M_id_00433800)" ( (pointer_expression "*(code *)PTR__M_id_00433800" * (cast_expression "(code *)PTR__M_id_00433800" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_id_0043231c)" ( identifier )))) ;) (expression_statement "puVar1 = PTR_operator_new_0043233c;" (assignment_expression "puVar1 = PTR_operator_new_0043233c" identifier = identifier) ;) (expression_statement "*(undefined4 **)(iVar6 + iVar4 * 4) = puVar3;" (assignment_expression "*(undefined4 **)(iVar6 + iVar4 * 4) = puVar3" (pointer_expression "*(undefined4 **)(iVar6 + iVar4 * 4)" * (cast_expression "(undefined4 **)(iVar6 + iVar4 * 4)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar6 + iVar4 * 4)" ( (binary_expression "iVar6 + iVar4 * 4" identifier + (binary_expression "iVar4 * 4" identifier * number_literal)) )))) = identifier) ;) (expression_statement "puVar3 = (undefined4 *)(*(code *)puVar1)(0xc);" (assignment_expression "puVar3 = (undefined4 *)(*(code *)puVar1)(0xc)" identifier = (cast_expression "(undefined4 *)(*(code *)puVar1)(0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)puVar1)(0xc)" (parenthesized_expression "(*(code *)puVar1)" ( (pointer_expression "*(code *)puVar1" * (cast_expression "(code *)puVar1" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0xc)" ( number_literal ))))) ;) comment (expression_statement "local_30[0] = *param_2;" (assignment_expression "local_30[0] = *param_2" (subscript_expression "local_30[0]" identifier [ number_literal ]) = (pointer_expression "*param_2" * identifier)) ;) (expression_statement "puVar3[1] = 0;" (assignment_expression "puVar3[1] = 0" (subscript_expression "puVar3[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar1 = PTR__S_clone_c_locale_004337ec;" (assignment_expression "puVar1 = PTR__S_clone_c_locale_004337ec" identifier = identifier) ;) (expression_statement "*puVar3 = PTR_vtable_00432280 + 8;" (assignment_expression "*puVar3 = PTR_vtable_00432280 + 8" (pointer_expression "*puVar3" * identifier) = (binary_expression "PTR_vtable_00432280 + 8" identifier + number_literal)) ;) (expression_statement "uVar5 = (*(code *)puVar1)(local_30);" (assignment_expression "uVar5 = (*(code *)puVar1)(local_30)" identifier = (call_expression "(*(code *)puVar1)(local_30)" (parenthesized_expression "(*(code *)puVar1)" ( (pointer_expression "*(code *)puVar1" * (cast_expression "(code *)puVar1" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(local_30)" ( identifier )))) ;) (expression_statement "puVar3[2] = uVar5;" (assignment_expression "puVar3[2] = uVar5" (subscript_expression "puVar3[2]" identifier [ number_literal ]) = identifier) ;) (if_statement "if (puVar2 == (undefined *)0x0) {\n    puVar3[1] = puVar3[1] + 1;\n  }\n  else {\n    SYNC(0);\n    puVar3[1] = puVar3[1] + 1;\n    SYNC(0);\n  }" if (parenthesized_expression "(puVar2 == (undefined *)0x0)" ( (binary_expression "puVar2 == (undefined *)0x0" identifier == (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    puVar3[1] = puVar3[1] + 1;\n  }" { (expression_statement "puVar3[1] = puVar3[1] + 1;" (assignment_expression "puVar3[1] = puVar3[1] + 1" (subscript_expression "puVar3[1]" identifier [ number_literal ]) = (binary_expression "puVar3[1] + 1" (subscript_expression "puVar3[1]" identifier [ number_literal ]) + number_literal)) ;) }) (else_clause "else {\n    SYNC(0);\n    puVar3[1] = puVar3[1] + 1;\n    SYNC(0);\n  }" else (compound_statement "{\n    SYNC(0);\n    puVar3[1] = puVar3[1] + 1;\n    SYNC(0);\n  }" { (expression_statement "SYNC(0);" (call_expression "SYNC(0)" identifier (argument_list "(0)" ( number_literal ))) ;) (expression_statement "puVar3[1] = puVar3[1] + 1;" (assignment_expression "puVar3[1] = puVar3[1] + 1" (subscript_expression "puVar3[1]" identifier [ number_literal ]) = (binary_expression "puVar3[1] + 1" (subscript_expression "puVar3[1]" identifier [ number_literal ]) + number_literal)) ;) (expression_statement "SYNC(0);" (call_expression "SYNC(0)" identifier (argument_list "(0)" ( number_literal ))) ;) }))) (expression_statement "iVar6 = *(int *)((int)param_1 + 4);" (assignment_expression "iVar6 = *(int *)((int)param_1 + 4)" identifier = (pointer_expression "*(int *)((int)param_1 + 4)" * (cast_expression "(int *)((int)param_1 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_1 + 4)" ( (binary_expression "(int)param_1 + 4" (cast_expression "(int)param_1" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "iVar4 = (*(code *)PTR__M_id_00433800)(PTR_id_00432320);" (assignment_expression "iVar4 = (*(code *)PTR__M_id_00433800)(PTR_id_00432320)" identifier = (call_expression "(*(code *)PTR__M_id_00433800)(PTR_id_00432320)" (parenthesized_expression "(*(code *)PTR__M_id_00433800)" ( (pointer_expression "*(code *)PTR__M_id_00433800" * (cast_expression "(code *)PTR__M_id_00433800" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_id_00432320)" ( identifier )))) ;) (expression_statement "puVar1 = PTR_operator_new_0043233c;" (assignment_expression "puVar1 = PTR_operator_new_0043233c" identifier = identifier) ;) (expression_statement "*(undefined4 **)(iVar6 + iVar4 * 4) = puVar3;" (assignment_expression "*(undefined4 **)(iVar6 + iVar4 * 4) = puVar3" (pointer_expression "*(undefined4 **)(iVar6 + iVar4 * 4)" * (cast_expression "(undefined4 **)(iVar6 + iVar4 * 4)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar6 + iVar4 * 4)" ( (binary_expression "iVar6 + iVar4 * 4" identifier + (binary_expression "iVar4 * 4" identifier * number_literal)) )))) = identifier) ;) (expression_statement "puVar3 = (undefined4 *)(*(code *)puVar1)(0xc);" (assignment_expression "puVar3 = (undefined4 *)(*(code *)puVar1)(0xc)" identifier = (cast_expression "(undefined4 *)(*(code *)puVar1)(0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)puVar1)(0xc)" (parenthesized_expression "(*(code *)puVar1)" ( (pointer_expression "*(code *)puVar1" * (cast_expression "(code *)puVar1" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0xc)" ( number_literal ))))) ;) (expression_statement "uVar5 = *(undefined4 *)param_3;" (assignment_expression "uVar5 = *(undefined4 *)param_3" identifier = (pointer_expression "*(undefined4 *)param_3" * (cast_expression "(undefined4 *)param_3" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "puVar3[1] = 0;" (assignment_expression "puVar3[1] = 0" (subscript_expression "puVar3[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar3[2] = 0;" (assignment_expression "puVar3[2] = 0" (subscript_expression "puVar3[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar1 = PTR__M_initialize_moneypunct_004323a4;" (assignment_expression "puVar1 = PTR__M_initialize_moneypunct_004323a4" identifier = identifier) ;) comment (expression_statement "*puVar3 = PTR_vtable_004323a0 + 8;" (assignment_expression "*puVar3 = PTR_vtable_004323a0 + 8" (pointer_expression "*puVar3" * identifier) = (binary_expression "PTR_vtable_004323a0 + 8" identifier + number_literal)) ;) (expression_statement "(*(code *)puVar1)(puVar3,uVar5,in_stack_00000010);" (call_expression "(*(code *)puVar1)(puVar3,uVar5,in_stack_00000010)" (parenthesized_expression "(*(code *)puVar1)" ( (pointer_expression "*(code *)puVar1" * (cast_expression "(code *)puVar1" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar3,uVar5,in_stack_00000010)" ( identifier , identifier , identifier ))) ;) (if_statement "if (puVar2 == (undefined *)0x0) {\n    puVar3[1] = puVar3[1] + 1;\n  }\n  else {\n    SYNC(0);\n    puVar3[1] = puVar3[1] + 1;\n    SYNC(0);\n  }" if (parenthesized_expression "(puVar2 == (undefined *)0x0)" ( (binary_expression "puVar2 == (undefined *)0x0" identifier == (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    puVar3[1] = puVar3[1] + 1;\n  }" { (expression_statement "puVar3[1] = puVar3[1] + 1;" (assignment_expression "puVar3[1] = puVar3[1] + 1" (subscript_expression "puVar3[1]" identifier [ number_literal ]) = (binary_expression "puVar3[1] + 1" (subscript_expression "puVar3[1]" identifier [ number_literal ]) + number_literal)) ;) }) (else_clause "else {\n    SYNC(0);\n    puVar3[1] = puVar3[1] + 1;\n    SYNC(0);\n  }" else (compound_statement "{\n    SYNC(0);\n    puVar3[1] = puVar3[1] + 1;\n    SYNC(0);\n  }" { (expression_statement "SYNC(0);" (call_expression "SYNC(0)" identifier (argument_list "(0)" ( number_literal ))) ;) (expression_statement "puVar3[1] = puVar3[1] + 1;" (assignment_expression "puVar3[1] = puVar3[1] + 1" (subscript_expression "puVar3[1]" identifier [ number_literal ]) = (binary_expression "puVar3[1] + 1" (subscript_expression "puVar3[1]" identifier [ number_literal ]) + number_literal)) ;) (expression_statement "SYNC(0);" (call_expression "SYNC(0)" identifier (argument_list "(0)" ( number_literal ))) ;) }))) (expression_statement "iVar6 = *(int *)((int)param_1 + 4);" (assignment_expression "iVar6 = *(int *)((int)param_1 + 4)" identifier = (pointer_expression "*(int *)((int)param_1 + 4)" * (cast_expression "(int *)((int)param_1 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_1 + 4)" ( (binary_expression "(int)param_1 + 4" (cast_expression "(int)param_1" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "iVar4 = (*(code *)PTR__M_id_00433800)(PTR_id_00432334);" (assignment_expression "iVar4 = (*(code *)PTR__M_id_00433800)(PTR_id_00432334)" identifier = (call_expression "(*(code *)PTR__M_id_00433800)(PTR_id_00432334)" (parenthesized_expression "(*(code *)PTR__M_id_00433800)" ( (pointer_expression "*(code *)PTR__M_id_00433800" * (cast_expression "(code *)PTR__M_id_00433800" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_id_00432334)" ( identifier )))) ;) (expression_statement "puVar1 = PTR_operator_new_0043233c;" (assignment_expression "puVar1 = PTR_operator_new_0043233c" identifier = identifier) ;) (expression_statement "*(undefined4 **)(iVar6 + iVar4 * 4) = puVar3;" (assignment_expression "*(undefined4 **)(iVar6 + iVar4 * 4) = puVar3" (pointer_expression "*(undefined4 **)(iVar6 + iVar4 * 4)" * (cast_expression "(undefined4 **)(iVar6 + iVar4 * 4)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar6 + iVar4 * 4)" ( (binary_expression "iVar6 + iVar4 * 4" identifier + (binary_expression "iVar4 * 4" identifier * number_literal)) )))) = identifier) ;) (expression_statement "puVar3 = (undefined4 *)(*(code *)puVar1)(0xc);" (assignment_expression "puVar3 = (undefined4 *)(*(code *)puVar1)(0xc)" identifier = (cast_expression "(undefined4 *)(*(code *)puVar1)(0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)puVar1)(0xc)" (parenthesized_expression "(*(code *)puVar1)" ( (pointer_expression "*(code *)puVar1" * (cast_expression "(code *)puVar1" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0xc)" ( number_literal ))))) ;) (expression_statement "uVar5 = *(undefined4 *)param_3;" (assignment_expression "uVar5 = *(undefined4 *)param_3" identifier = (pointer_expression "*(undefined4 *)param_3" * (cast_expression "(undefined4 *)param_3" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "puVar3[1] = 0;" (assignment_expression "puVar3[1] = 0" (subscript_expression "puVar3[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar3[2] = 0;" (assignment_expression "puVar3[2] = 0" (subscript_expression "puVar3[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar1 = PTR__M_initialize_moneypunct_00432394;" (assignment_expression "puVar1 = PTR__M_initialize_moneypunct_00432394" identifier = identifier) ;) comment (expression_statement "*puVar3 = PTR_vtable_00432390 + 8;" (assignment_expression "*puVar3 = PTR_vtable_00432390 + 8" (pointer_expression "*puVar3" * identifier) = (binary_expression "PTR_vtable_00432390 + 8" identifier + number_literal)) ;) (expression_statement "(*(code *)puVar1)(puVar3,uVar5,in_stack_00000010);" (call_expression "(*(code *)puVar1)(puVar3,uVar5,in_stack_00000010)" (parenthesized_expression "(*(code *)puVar1)" ( (pointer_expression "*(code *)puVar1" * (cast_expression "(code *)puVar1" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar3,uVar5,in_stack_00000010)" ( identifier , identifier , identifier ))) ;) (if_statement "if (puVar2 == (undefined *)0x0) {\n    puVar3[1] = puVar3[1] + 1;\n  }\n  else {\n    SYNC(0);\n    puVar3[1] = puVar3[1] + 1;\n    SYNC(0);\n  }" if (parenthesized_expression "(puVar2 == (undefined *)0x0)" ( (binary_expression "puVar2 == (undefined *)0x0" identifier == (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    puVar3[1] = puVar3[1] + 1;\n  }" { (expression_statement "puVar3[1] = puVar3[1] + 1;" (assignment_expression "puVar3[1] = puVar3[1] + 1" (subscript_expression "puVar3[1]" identifier [ number_literal ]) = (binary_expression "puVar3[1] + 1" (subscript_expression "puVar3[1]" identifier [ number_literal ]) + number_literal)) ;) }) (else_clause "else {\n    SYNC(0);\n    puVar3[1] = puVar3[1] + 1;\n    SYNC(0);\n  }" else (compound_statement "{\n    SYNC(0);\n    puVar3[1] = puVar3[1] + 1;\n    SYNC(0);\n  }" { (expression_statement "SYNC(0);" (call_expression "SYNC(0)" identifier (argument_list "(0)" ( number_literal ))) ;) (expression_statement "puVar3[1] = puVar3[1] + 1;" (assignment_expression "puVar3[1] = puVar3[1] + 1" (subscript_expression "puVar3[1]" identifier [ number_literal ]) = (binary_expression "puVar3[1] + 1" (subscript_expression "puVar3[1]" identifier [ number_literal ]) + number_literal)) ;) (expression_statement "SYNC(0);" (call_expression "SYNC(0)" identifier (argument_list "(0)" ( number_literal ))) ;) }))) (expression_statement "iVar6 = *(int *)((int)param_1 + 4);" (assignment_expression "iVar6 = *(int *)((int)param_1 + 4)" identifier = (pointer_expression "*(int *)((int)param_1 + 4)" * (cast_expression "(int *)((int)param_1 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_1 + 4)" ( (binary_expression "(int)param_1 + 4" (cast_expression "(int)param_1" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "iVar4 = (*(code *)PTR__M_id_00433800)(PTR_id_00432330);" (assignment_expression "iVar4 = (*(code *)PTR__M_id_00433800)(PTR_id_00432330)" identifier = (call_expression "(*(code *)PTR__M_id_00433800)(PTR_id_00432330)" (parenthesized_expression "(*(code *)PTR__M_id_00433800)" ( (pointer_expression "*(code *)PTR__M_id_00433800" * (cast_expression "(code *)PTR__M_id_00433800" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_id_00432330)" ( identifier )))) ;) (expression_statement "puVar1 = PTR_operator_new_0043233c;" (assignment_expression "puVar1 = PTR_operator_new_0043233c" identifier = identifier) ;) (expression_statement "*(undefined4 **)(iVar6 + iVar4 * 4) = puVar3;" (assignment_expression "*(undefined4 **)(iVar6 + iVar4 * 4) = puVar3" (pointer_expression "*(undefined4 **)(iVar6 + iVar4 * 4)" * (cast_expression "(undefined4 **)(iVar6 + iVar4 * 4)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar6 + iVar4 * 4)" ( (binary_expression "iVar6 + iVar4 * 4" identifier + (binary_expression "iVar4 * 4" identifier * number_literal)) )))) = identifier) ;) (expression_statement "puVar3 = (undefined4 *)(*(code *)puVar1)(8);" (assignment_expression "puVar3 = (undefined4 *)(*(code *)puVar1)(8)" identifier = (cast_expression "(undefined4 *)(*(code *)puVar1)(8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)puVar1)(8)" (parenthesized_expression "(*(code *)puVar1)" ( (pointer_expression "*(code *)puVar1" * (cast_expression "(code *)puVar1" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(8)" ( number_literal ))))) ;) (expression_statement "puVar3[1] = 0;" (assignment_expression "puVar3[1] = 0" (subscript_expression "puVar3[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*puVar3 = PTR_vtable_004322c8 + 8;" (assignment_expression "*puVar3 = PTR_vtable_004322c8 + 8" (pointer_expression "*puVar3" * identifier) = (binary_expression "PTR_vtable_004322c8 + 8" identifier + number_literal)) ;) (if_statement "if (puVar2 == (undefined *)0x0) {\n    puVar3[1] = 1;\n  }\n  else {\n    SYNC(0);\n    puVar3[1] = puVar3[1] + 1;\n    SYNC(0);\n  }" if (parenthesized_expression "(puVar2 == (undefined *)0x0)" ( (binary_expression "puVar2 == (undefined *)0x0" identifier == (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    puVar3[1] = 1;\n  }" { (expression_statement "puVar3[1] = 1;" (assignment_expression "puVar3[1] = 1" (subscript_expression "puVar3[1]" identifier [ number_literal ]) = number_literal) ;) }) (else_clause "else {\n    SYNC(0);\n    puVar3[1] = puVar3[1] + 1;\n    SYNC(0);\n  }" else (compound_statement "{\n    SYNC(0);\n    puVar3[1] = puVar3[1] + 1;\n    SYNC(0);\n  }" { (expression_statement "SYNC(0);" (call_expression "SYNC(0)" identifier (argument_list "(0)" ( number_literal ))) ;) (expression_statement "puVar3[1] = puVar3[1] + 1;" (assignment_expression "puVar3[1] = puVar3[1] + 1" (subscript_expression "puVar3[1]" identifier [ number_literal ]) = (binary_expression "puVar3[1] + 1" (subscript_expression "puVar3[1]" identifier [ number_literal ]) + number_literal)) ;) (expression_statement "SYNC(0);" (call_expression "SYNC(0)" identifier (argument_list "(0)" ( number_literal ))) ;) }))) (expression_statement "iVar6 = *(int *)((int)param_1 + 4);" (assignment_expression "iVar6 = *(int *)((int)param_1 + 4)" identifier = (pointer_expression "*(int *)((int)param_1 + 4)" * (cast_expression "(int *)((int)param_1 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_1 + 4)" ( (binary_expression "(int)param_1 + 4" (cast_expression "(int)param_1" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "iVar4 = (*(code *)PTR__M_id_00433800)(PTR_id_00432328);" (assignment_expression "iVar4 = (*(code *)PTR__M_id_00433800)(PTR_id_00432328)" identifier = (call_expression "(*(code *)PTR__M_id_00433800)(PTR_id_00432328)" (parenthesized_expression "(*(code *)PTR__M_id_00433800)" ( (pointer_expression "*(code *)PTR__M_id_00433800" * (cast_expression "(code *)PTR__M_id_00433800" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_id_00432328)" ( identifier )))) ;) (expression_statement "puVar1 = PTR_operator_new_0043233c;" (assignment_expression "puVar1 = PTR_operator_new_0043233c" identifier = identifier) ;) (expression_statement "*(undefined4 **)(iVar6 + iVar4 * 4) = puVar3;" (assignment_expression "*(undefined4 **)(iVar6 + iVar4 * 4) = puVar3" (pointer_expression "*(undefined4 **)(iVar6 + iVar4 * 4)" * (cast_expression "(undefined4 **)(iVar6 + iVar4 * 4)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar6 + iVar4 * 4)" ( (binary_expression "iVar6 + iVar4 * 4" identifier + (binary_expression "iVar4 * 4" identifier * number_literal)) )))) = identifier) ;) (expression_statement "puVar3 = (undefined4 *)(*(code *)puVar1)(8);" (assignment_expression "puVar3 = (undefined4 *)(*(code *)puVar1)(8)" identifier = (cast_expression "(undefined4 *)(*(code *)puVar1)(8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)puVar1)(8)" (parenthesized_expression "(*(code *)puVar1)" ( (pointer_expression "*(code *)puVar1" * (cast_expression "(code *)puVar1" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(8)" ( number_literal ))))) ;) (expression_statement "puVar3[1] = 0;" (assignment_expression "puVar3[1] = 0" (subscript_expression "puVar3[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*puVar3 = PTR_vtable_004322bc + 8;" (assignment_expression "*puVar3 = PTR_vtable_004322bc + 8" (pointer_expression "*puVar3" * identifier) = (binary_expression "PTR_vtable_004322bc + 8" identifier + number_literal)) ;) (if_statement "if (puVar2 == (undefined *)0x0) {\n    puVar3[1] = 1;\n  }\n  else {\n    SYNC(0);\n    puVar3[1] = puVar3[1] + 1;\n    SYNC(0);\n  }" if (parenthesized_expression "(puVar2 == (undefined *)0x0)" ( (binary_expression "puVar2 == (undefined *)0x0" identifier == (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    puVar3[1] = 1;\n  }" { (expression_statement "puVar3[1] = 1;" (assignment_expression "puVar3[1] = 1" (subscript_expression "puVar3[1]" identifier [ number_literal ]) = number_literal) ;) }) (else_clause "else {\n    SYNC(0);\n    puVar3[1] = puVar3[1] + 1;\n    SYNC(0);\n  }" else (compound_statement "{\n    SYNC(0);\n    puVar3[1] = puVar3[1] + 1;\n    SYNC(0);\n  }" { (expression_statement "SYNC(0);" (call_expression "SYNC(0)" identifier (argument_list "(0)" ( number_literal ))) ;) (expression_statement "puVar3[1] = puVar3[1] + 1;" (assignment_expression "puVar3[1] = puVar3[1] + 1" (subscript_expression "puVar3[1]" identifier [ number_literal ]) = (binary_expression "puVar3[1] + 1" (subscript_expression "puVar3[1]" identifier [ number_literal ]) + number_literal)) ;) (expression_statement "SYNC(0);" (call_expression "SYNC(0)" identifier (argument_list "(0)" ( number_literal ))) ;) }))) (expression_statement "iVar6 = *(int *)((int)param_1 + 4);" (assignment_expression "iVar6 = *(int *)((int)param_1 + 4)" identifier = (pointer_expression "*(int *)((int)param_1 + 4)" * (cast_expression "(int *)((int)param_1 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_1 + 4)" ( (binary_expression "(int)param_1 + 4" (cast_expression "(int)param_1" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "iVar4 = (*(code *)PTR__M_id_00433800)(PTR_id_0043232c);" (assignment_expression "iVar4 = (*(code *)PTR__M_id_00433800)(PTR_id_0043232c)" identifier = (call_expression "(*(code *)PTR__M_id_00433800)(PTR_id_0043232c)" (parenthesized_expression "(*(code *)PTR__M_id_00433800)" ( (pointer_expression "*(code *)PTR__M_id_00433800" * (cast_expression "(code *)PTR__M_id_00433800" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_id_0043232c)" ( identifier )))) ;) (expression_statement "puVar1 = PTR_operator_new_0043233c;" (assignment_expression "puVar1 = PTR_operator_new_0043233c" identifier = identifier) ;) (expression_statement "*(undefined4 **)(iVar6 + iVar4 * 4) = puVar3;" (assignment_expression "*(undefined4 **)(iVar6 + iVar4 * 4) = puVar3" (pointer_expression "*(undefined4 **)(iVar6 + iVar4 * 4)" * (cast_expression "(undefined4 **)(iVar6 + iVar4 * 4)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar6 + iVar4 * 4)" ( (binary_expression "iVar6 + iVar4 * 4" identifier + (binary_expression "iVar4 * 4" identifier * number_literal)) )))) = identifier) ;) (expression_statement "puVar3 = (undefined4 *)(*(code *)puVar1)(8);" (assignment_expression "puVar3 = (undefined4 *)(*(code *)puVar1)(8)" identifier = (cast_expression "(undefined4 *)(*(code *)puVar1)(8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)puVar1)(8)" (parenthesized_expression "(*(code *)puVar1)" ( (pointer_expression "*(code *)puVar1" * (cast_expression "(code *)puVar1" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(8)" ( number_literal ))))) ;) (expression_statement "puVar3[1] = 0;" (assignment_expression "puVar3[1] = 0" (subscript_expression "puVar3[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*puVar3 = PTR_vtable_004322c4 + 8;" (assignment_expression "*puVar3 = PTR_vtable_004322c4 + 8" (pointer_expression "*puVar3" * identifier) = (binary_expression "PTR_vtable_004322c4 + 8" identifier + number_literal)) ;) (if_statement "if (puVar2 == (undefined *)0x0) {\n    puVar3[1] = 1;\n  }\n  else {\n    SYNC(0);\n    puVar3[1] = puVar3[1] + 1;\n    SYNC(0);\n  }" if (parenthesized_expression "(puVar2 == (undefined *)0x0)" ( (binary_expression "puVar2 == (undefined *)0x0" identifier == (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    puVar3[1] = 1;\n  }" { (expression_statement "puVar3[1] = 1;" (assignment_expression "puVar3[1] = 1" (subscript_expression "puVar3[1]" identifier [ number_literal ]) = number_literal) ;) }) (else_clause "else {\n    SYNC(0);\n    puVar3[1] = puVar3[1] + 1;\n    SYNC(0);\n  }" else (compound_statement "{\n    SYNC(0);\n    puVar3[1] = puVar3[1] + 1;\n    SYNC(0);\n  }" { (expression_statement "SYNC(0);" (call_expression "SYNC(0)" identifier (argument_list "(0)" ( number_literal ))) ;) (expression_statement "puVar3[1] = puVar3[1] + 1;" (assignment_expression "puVar3[1] = puVar3[1] + 1" (subscript_expression "puVar3[1]" identifier [ number_literal ]) = (binary_expression "puVar3[1] + 1" (subscript_expression "puVar3[1]" identifier [ number_literal ]) + number_literal)) ;) (expression_statement "SYNC(0);" (call_expression "SYNC(0)" identifier (argument_list "(0)" ( number_literal ))) ;) }))) (expression_statement "iVar6 = *(int *)((int)param_1 + 4);" (assignment_expression "iVar6 = *(int *)((int)param_1 + 4)" identifier = (pointer_expression "*(int *)((int)param_1 + 4)" * (cast_expression "(int *)((int)param_1 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_1 + 4)" ( (binary_expression "(int)param_1 + 4" (cast_expression "(int)param_1" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "iVar4 = (*(code *)PTR__M_id_00433800)(PTR_id_00432324);" (assignment_expression "iVar4 = (*(code *)PTR__M_id_00433800)(PTR_id_00432324)" identifier = (call_expression "(*(code *)PTR__M_id_00433800)(PTR_id_00432324)" (parenthesized_expression "(*(code *)PTR__M_id_00433800)" ( (pointer_expression "*(code *)PTR__M_id_00433800" * (cast_expression "(code *)PTR__M_id_00433800" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_id_00432324)" ( identifier )))) ;) (expression_statement "puVar1 = PTR_operator_new_0043233c;" (assignment_expression "puVar1 = PTR_operator_new_0043233c" identifier = identifier) ;) (expression_statement "*(undefined4 **)(iVar6 + iVar4 * 4) = puVar3;" (assignment_expression "*(undefined4 **)(iVar6 + iVar4 * 4) = puVar3" (pointer_expression "*(undefined4 **)(iVar6 + iVar4 * 4)" * (cast_expression "(undefined4 **)(iVar6 + iVar4 * 4)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar6 + iVar4 * 4)" ( (binary_expression "iVar6 + iVar4 * 4" identifier + (binary_expression "iVar4 * 4" identifier * number_literal)) )))) = identifier) ;) (expression_statement "iVar4 = (*(code *)puVar1)(0x10);" (assignment_expression "iVar4 = (*(code *)puVar1)(0x10)" identifier = (call_expression "(*(code *)puVar1)(0x10)" (parenthesized_expression "(*(code *)puVar1)" ( (pointer_expression "*(code *)puVar1" * (cast_expression "(code *)puVar1" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0x10)" ( number_literal )))) ;) comment comment (expression_statement "(*(code *)PTR_messages_00436450)(iVar4,*param_2,param_4,0);" (call_expression "(*(code *)PTR_messages_00436450)(iVar4,*param_2,param_4,0)" (parenthesized_expression "(*(code *)PTR_messages_00436450)" ( (pointer_expression "*(code *)PTR_messages_00436450" * (cast_expression "(code *)PTR_messages_00436450" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar4,*param_2,param_4,0)" ( identifier , (pointer_expression "*param_2" * identifier) , identifier , number_literal ))) ;) (if_statement "if (puVar2 == (undefined *)0x0) {\n    *(int *)(iVar4 + 4) = *(int *)(iVar4 + 4) + 1;\n  }\n  else {\n    SYNC(0);\n    *(int *)(iVar4 + 4) = *(int *)(iVar4 + 4) + 1;\n    SYNC(0);\n  }" if (parenthesized_expression "(puVar2 == (undefined *)0x0)" ( (binary_expression "puVar2 == (undefined *)0x0" identifier == (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    *(int *)(iVar4 + 4) = *(int *)(iVar4 + 4) + 1;\n  }" { (expression_statement "*(int *)(iVar4 + 4) = *(int *)(iVar4 + 4) + 1;" (assignment_expression "*(int *)(iVar4 + 4) = *(int *)(iVar4 + 4) + 1" (pointer_expression "*(int *)(iVar4 + 4)" * (cast_expression "(int *)(iVar4 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 4)" ( (binary_expression "iVar4 + 4" identifier + number_literal) )))) = (binary_expression "*(int *)(iVar4 + 4) + 1" (pointer_expression "*(int *)(iVar4 + 4)" * (cast_expression "(int *)(iVar4 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 4)" ( (binary_expression "iVar4 + 4" identifier + number_literal) )))) + number_literal)) ;) }) (else_clause "else {\n    SYNC(0);\n    *(int *)(iVar4 + 4) = *(int *)(iVar4 + 4) + 1;\n    SYNC(0);\n  }" else (compound_statement "{\n    SYNC(0);\n    *(int *)(iVar4 + 4) = *(int *)(iVar4 + 4) + 1;\n    SYNC(0);\n  }" { (expression_statement "SYNC(0);" (call_expression "SYNC(0)" identifier (argument_list "(0)" ( number_literal ))) ;) (expression_statement "*(int *)(iVar4 + 4) = *(int *)(iVar4 + 4) + 1;" (assignment_expression "*(int *)(iVar4 + 4) = *(int *)(iVar4 + 4) + 1" (pointer_expression "*(int *)(iVar4 + 4)" * (cast_expression "(int *)(iVar4 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 4)" ( (binary_expression "iVar4 + 4" identifier + number_literal) )))) = (binary_expression "*(int *)(iVar4 + 4) + 1" (pointer_expression "*(int *)(iVar4 + 4)" * (cast_expression "(int *)(iVar4 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 4)" ( (binary_expression "iVar4 + 4" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "SYNC(0);" (call_expression "SYNC(0)" identifier (argument_list "(0)" ( number_literal ))) ;) }))) (expression_statement "iVar7 = *(int *)((int)param_1 + 4);" (assignment_expression "iVar7 = *(int *)((int)param_1 + 4)" identifier = (pointer_expression "*(int *)((int)param_1 + 4)" * (cast_expression "(int *)((int)param_1 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_1 + 4)" ( (binary_expression "(int)param_1 + 4" (cast_expression "(int)param_1" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "iVar6 = (*(code *)PTR__M_id_00433800)(PTR_id_00432338);" (assignment_expression "iVar6 = (*(code *)PTR__M_id_00433800)(PTR_id_00432338)" identifier = (call_expression "(*(code *)PTR__M_id_00433800)(PTR_id_00432338)" (parenthesized_expression "(*(code *)PTR__M_id_00433800)" ( (pointer_expression "*(code *)PTR__M_id_00433800" * (cast_expression "(code *)PTR__M_id_00433800" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_id_00432338)" ( identifier )))) ;) (expression_statement "*(int *)(iVar7 + iVar6 * 4) = iVar4;" (assignment_expression "*(int *)(iVar7 + iVar6 * 4) = iVar4" (pointer_expression "*(int *)(iVar7 + iVar6 * 4)" * (cast_expression "(int *)(iVar7 + iVar6 * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + iVar6 * 4)" ( (binary_expression "iVar7 + iVar6 * 4" identifier + (binary_expression "iVar6 * 4" identifier * number_literal)) )))) = identifier) ;) (return_statement "return;" return ;) })))
(translation_unit "void FUN_0035b100(int param_1,undefined4 *param_2,undefined4 *param_3,undefined4 param_4,\n                 undefined4 param_5)\n\n{\n  undefined *puVar1;\n  undefined *puVar2;\n  undefined4 *puVar3;\n  int iVar4;\n  undefined4 uVar5;\n  int iVar6;\n  int iVar7;\n  undefined4 local_30 [3];\n  \n  puVar3 = (undefined4 *)(*(code *)PTR_operator_new_0043233c)(0xc);\n  uVar5 = *param_2;\n  puVar3[1] = 0;\n  puVar3[2] = 0;\n  puVar2 = PTR__M_initialize_numpunct_0043234c;\n                    \n  *puVar3 = PTR_vtable_00432348 + 8;\n  (*(code *)puVar2)(puVar3,uVar5);\n  puVar2 = PTR___pthread_key_create_0043667c;\n  if (PTR___pthread_key_create_0043667c == (undefined *)0x0) {\n    puVar3[1] = puVar3[1] + 1;\n  }\n  else {\n    SYNC(0);\n    puVar3[1] = puVar3[1] + 1;\n    SYNC(0);\n  }\n  iVar6 = *(int *)(param_1 + 4);\n  iVar4 = (*(code *)PTR__M_id_00433800)(PTR_id_004322fc);\n  puVar1 = PTR_operator_new_0043233c;\n  *(undefined4 **)(iVar6 + iVar4 * 4) = puVar3;\n  puVar3 = (undefined4 *)(*(code *)puVar1)(0xc);\n  local_30[0] = *param_2;\n  puVar3[1] = 0;\n  puVar1 = PTR__S_clone_c_locale_004337ec;\n  *puVar3 = PTR_vtable_00432290 + 8;\n  uVar5 = (*(code *)puVar1)(local_30);\n  puVar3[2] = uVar5;\n  if (puVar2 == (undefined *)0x0) {\n    puVar3[1] = puVar3[1] + 1;\n  }\n  else {\n    SYNC(0);\n    puVar3[1] = puVar3[1] + 1;\n    SYNC(0);\n  }\n  iVar6 = *(int *)(param_1 + 4);\n  iVar4 = (*(code *)PTR__M_id_00433800)(PTR_id_00432300);\n  puVar1 = PTR_operator_new_0043233c;\n  *(undefined4 **)(iVar6 + iVar4 * 4) = puVar3;\n  puVar3 = (undefined4 *)(*(code *)puVar1)(0xc);\n  uVar5 = *param_2;\n  puVar3[1] = 0;\n  puVar3[2] = 0;\n  puVar1 = PTR__M_initialize_moneypunct_00432370;\n                    \n  *puVar3 = PTR_vtable_0043236c + 8;\n  (*(code *)puVar1)(puVar3,uVar5,0);\n  if (puVar2 == (undefined *)0x0) {\n    puVar3[1] = puVar3[1] + 1;\n  }\n  else {\n    SYNC(0);\n    puVar3[1] = puVar3[1] + 1;\n    SYNC(0);\n  }\n  iVar6 = *(int *)(param_1 + 4);\n  iVar4 = (*(code *)PTR__M_id_00433800)(PTR_id_00432314);\n  puVar1 = PTR_operator_new_0043233c;\n  *(undefined4 **)(iVar6 + iVar4 * 4) = puVar3;\n  puVar3 = (undefined4 *)(*(code *)puVar1)(0xc);\n  uVar5 = *param_2;\n  puVar3[1] = 0;\n  puVar3[2] = 0;\n  puVar1 = PTR__M_initialize_moneypunct_00432360;\n                    \n  *puVar3 = PTR_vtable_0043235c + 8;\n  (*(code *)puVar1)(puVar3,uVar5,0);\n  if (puVar2 == (undefined *)0x0) {\n    puVar3[1] = puVar3[1] + 1;\n  }\n  else {\n    SYNC(0);\n    puVar3[1] = puVar3[1] + 1;\n    SYNC(0);\n  }\n  iVar6 = *(int *)(param_1 + 4);\n  iVar4 = (*(code *)PTR__M_id_00433800)(PTR_id_00432310);\n  puVar1 = PTR_operator_new_0043233c;\n  *(undefined4 **)(iVar6 + iVar4 * 4) = puVar3;\n  puVar3 = (undefined4 *)(*(code *)puVar1)(8);\n  puVar3[1] = 0;\n  *puVar3 = PTR_vtable_004322b8 + 8;\n  if (puVar2 == (undefined *)0x0) {\n    puVar3[1] = 1;\n  }\n  else {\n    SYNC(0);\n    puVar3[1] = puVar3[1] + 1;\n    SYNC(0);\n  }\n  iVar6 = *(int *)(param_1 + 4);\n  iVar4 = (*(code *)PTR__M_id_00433800)(PTR_id_00432308);\n  puVar1 = PTR_operator_new_0043233c;\n  *(undefined4 **)(iVar6 + iVar4 * 4) = puVar3;\n  puVar3 = (undefined4 *)(*(code *)puVar1)(8);\n  puVar3[1] = 0;\n  *puVar3 = PTR_vtable_004322b4 + 8;\n  if (puVar2 == (undefined *)0x0) {\n    puVar3[1] = 1;\n  }\n  else {\n    SYNC(0);\n    puVar3[1] = puVar3[1] + 1;\n    SYNC(0);\n  }\n  iVar6 = *(int *)(param_1 + 4);\n  iVar4 = (*(code *)PTR__M_id_00433800)(PTR_id_0043230c);\n  puVar1 = PTR_operator_new_0043233c;\n  *(undefined4 **)(iVar6 + iVar4 * 4) = puVar3;\n  puVar3 = (undefined4 *)(*(code *)puVar1)(8);\n  puVar3[1] = 0;\n  *puVar3 = PTR_vtable_004322c0 + 8;\n  if (puVar2 == (undefined *)0x0) {\n    puVar3[1] = 1;\n  }\n  else {\n    SYNC(0);\n    puVar3[1] = puVar3[1] + 1;\n    SYNC(0);\n  }\n  iVar6 = *(int *)(param_1 + 4);\n  iVar4 = (*(code *)PTR__M_id_00433800)(PTR_id_00432304);\n  puVar1 = PTR_operator_new_0043233c;\n  *(undefined4 **)(iVar6 + iVar4 * 4) = puVar3;\n  iVar4 = (*(code *)puVar1)(0x10);\n                    \n  (*(code *)PTR_messages_0043644c)(iVar4,*param_2,param_4,0);\n  if (puVar2 == (undefined *)0x0) {\n    *(int *)(iVar4 + 4) = *(int *)(iVar4 + 4) + 1;\n  }\n  else {\n    SYNC(0);\n    *(int *)(iVar4 + 4) = *(int *)(iVar4 + 4) + 1;\n    SYNC(0);\n  }\n  iVar7 = *(int *)(param_1 + 4);\n  iVar6 = (*(code *)PTR__M_id_00433800)(PTR_id_00432318);\n  puVar1 = PTR_operator_new_0043233c;\n  *(int *)(iVar7 + iVar6 * 4) = iVar4;\n  puVar3 = (undefined4 *)(*(code *)puVar1)(0xc);\n  uVar5 = *param_2;\n  puVar3[1] = 0;\n  puVar3[2] = 0;\n  puVar1 = PTR__M_initialize_numpunct_00432384;\n                    \n  *puVar3 = PTR_vtable_00432380 + 8;\n  (*(code *)puVar1)(puVar3,uVar5);\n  if (puVar2 == (undefined *)0x0) {\n    puVar3[1] = puVar3[1] + 1;\n  }\n  else {\n    SYNC(0);\n    puVar3[1] = puVar3[1] + 1;\n    SYNC(0);\n  }\n  iVar6 = *(int *)(param_1 + 4);\n  iVar4 = (*(code *)PTR__M_id_00433800)(PTR_id_0043231c);\n  puVar1 = PTR_operator_new_0043233c;\n  *(undefined4 **)(iVar6 + iVar4 * 4) = puVar3;\n  puVar3 = (undefined4 *)(*(code *)puVar1)(0xc);\n  local_30[0] = *param_2;\n  puVar3[1] = 0;\n  puVar1 = PTR__S_clone_c_locale_004337ec;\n  *puVar3 = PTR_vtable_00432280 + 8;\n  uVar5 = (*(code *)puVar1)(local_30);\n  puVar3[2] = uVar5;\n  if (puVar2 == (undefined *)0x0) {\n    puVar3[1] = puVar3[1] + 1;\n  }\n  else {\n    SYNC(0);\n    puVar3[1] = puVar3[1] + 1;\n    SYNC(0);\n  }\n  iVar6 = *(int *)(param_1 + 4);\n  iVar4 = (*(code *)PTR__M_id_00433800)(PTR_id_00432320);\n  puVar1 = PTR_operator_new_0043233c;\n  *(undefined4 **)(iVar6 + iVar4 * 4) = puVar3;\n  puVar3 = (undefined4 *)(*(code *)puVar1)(0xc);\n  uVar5 = *param_3;\n  puVar3[1] = 0;\n  puVar3[2] = 0;\n  puVar1 = PTR__M_initialize_moneypunct_004323a4;\n                    \n  *puVar3 = PTR_vtable_004323a0 + 8;\n  (*(code *)puVar1)(puVar3,uVar5,param_5);\n  if (puVar2 == (undefined *)0x0) {\n    puVar3[1] = puVar3[1] + 1;\n  }\n  else {\n    SYNC(0);\n    puVar3[1] = puVar3[1] + 1;\n    SYNC(0);\n  }\n  iVar6 = *(int *)(param_1 + 4);\n  iVar4 = (*(code *)PTR__M_id_00433800)(PTR_id_00432334);\n  puVar1 = PTR_operator_new_0043233c;\n  *(undefined4 **)(iVar6 + iVar4 * 4) = puVar3;\n  puVar3 = (undefined4 *)(*(code *)puVar1)(0xc);\n  uVar5 = *param_3;\n  puVar3[1] = 0;\n  puVar3[2] = 0;\n  puVar1 = PTR__M_initialize_moneypunct_00432394;\n                    \n  *puVar3 = PTR_vtable_00432390 + 8;\n  (*(code *)puVar1)(puVar3,uVar5,param_5);\n  if (puVar2 == (undefined *)0x0) {\n    puVar3[1] = puVar3[1] + 1;\n  }\n  else {\n    SYNC(0);\n    puVar3[1] = puVar3[1] + 1;\n    SYNC(0);\n  }\n  iVar6 = *(int *)(param_1 + 4);\n  iVar4 = (*(code *)PTR__M_id_00433800)(PTR_id_00432330);\n  puVar1 = PTR_operator_new_0043233c;\n  *(undefined4 **)(iVar6 + iVar4 * 4) = puVar3;\n  puVar3 = (undefined4 *)(*(code *)puVar1)(8);\n  puVar3[1] = 0;\n  *puVar3 = PTR_vtable_004322c8 + 8;\n  if (puVar2 == (undefined *)0x0) {\n    puVar3[1] = 1;\n  }\n  else {\n    SYNC(0);\n    puVar3[1] = puVar3[1] + 1;\n    SYNC(0);\n  }\n  iVar6 = *(int *)(param_1 + 4);\n  iVar4 = (*(code *)PTR__M_id_00433800)(PTR_id_00432328);\n  puVar1 = PTR_operator_new_0043233c;\n  *(undefined4 **)(iVar6 + iVar4 * 4) = puVar3;\n  puVar3 = (undefined4 *)(*(code *)puVar1)(8);\n  puVar3[1] = 0;\n  *puVar3 = PTR_vtable_004322bc + 8;\n  if (puVar2 == (undefined *)0x0) {\n    puVar3[1] = 1;\n  }\n  else {\n    SYNC(0);\n    puVar3[1] = puVar3[1] + 1;\n    SYNC(0);\n  }\n  iVar6 = *(int *)(param_1 + 4);\n  iVar4 = (*(code *)PTR__M_id_00433800)(PTR_id_0043232c);\n  puVar1 = PTR_operator_new_0043233c;\n  *(undefined4 **)(iVar6 + iVar4 * 4) = puVar3;\n  puVar3 = (undefined4 *)(*(code *)puVar1)(8);\n  puVar3[1] = 0;\n  *puVar3 = PTR_vtable_004322c4 + 8;\n  if (puVar2 == (undefined *)0x0) {\n    puVar3[1] = 1;\n  }\n  else {\n    SYNC(0);\n    puVar3[1] = puVar3[1] + 1;\n    SYNC(0);\n  }\n  iVar6 = *(int *)(param_1 + 4);\n  iVar4 = (*(code *)PTR__M_id_00433800)(PTR_id_00432324);\n  puVar1 = PTR_operator_new_0043233c;\n  *(undefined4 **)(iVar6 + iVar4 * 4) = puVar3;\n  iVar4 = (*(code *)puVar1)(0x10);\n                    \n  (*(code *)PTR_messages_00436450)(iVar4,*param_2,param_4,0);\n  if (puVar2 == (undefined *)0x0) {\n    *(int *)(iVar4 + 4) = *(int *)(iVar4 + 4) + 1;\n  }\n  else {\n    SYNC(0);\n    *(int *)(iVar4 + 4) = *(int *)(iVar4 + 4) + 1;\n    SYNC(0);\n  }\n  iVar7 = *(int *)(param_1 + 4);\n  iVar6 = (*(code *)PTR__M_id_00433800)(PTR_id_00432338);\n  *(int *)(iVar7 + iVar6 * 4) = iVar4;\n  return;\n}\n\n" (function_definition "void FUN_0035b100(int param_1,undefined4 *param_2,undefined4 *param_3,undefined4 param_4,\n                 undefined4 param_5)\n\n{\n  undefined *puVar1;\n  undefined *puVar2;\n  undefined4 *puVar3;\n  int iVar4;\n  undefined4 uVar5;\n  int iVar6;\n  int iVar7;\n  undefined4 local_30 [3];\n  \n  puVar3 = (undefined4 *)(*(code *)PTR_operator_new_0043233c)(0xc);\n  uVar5 = *param_2;\n  puVar3[1] = 0;\n  puVar3[2] = 0;\n  puVar2 = PTR__M_initialize_numpunct_0043234c;\n                    \n  *puVar3 = PTR_vtable_00432348 + 8;\n  (*(code *)puVar2)(puVar3,uVar5);\n  puVar2 = PTR___pthread_key_create_0043667c;\n  if (PTR___pthread_key_create_0043667c == (undefined *)0x0) {\n    puVar3[1] = puVar3[1] + 1;\n  }\n  else {\n    SYNC(0);\n    puVar3[1] = puVar3[1] + 1;\n    SYNC(0);\n  }\n  iVar6 = *(int *)(param_1 + 4);\n  iVar4 = (*(code *)PTR__M_id_00433800)(PTR_id_004322fc);\n  puVar1 = PTR_operator_new_0043233c;\n  *(undefined4 **)(iVar6 + iVar4 * 4) = puVar3;\n  puVar3 = (undefined4 *)(*(code *)puVar1)(0xc);\n  local_30[0] = *param_2;\n  puVar3[1] = 0;\n  puVar1 = PTR__S_clone_c_locale_004337ec;\n  *puVar3 = PTR_vtable_00432290 + 8;\n  uVar5 = (*(code *)puVar1)(local_30);\n  puVar3[2] = uVar5;\n  if (puVar2 == (undefined *)0x0) {\n    puVar3[1] = puVar3[1] + 1;\n  }\n  else {\n    SYNC(0);\n    puVar3[1] = puVar3[1] + 1;\n    SYNC(0);\n  }\n  iVar6 = *(int *)(param_1 + 4);\n  iVar4 = (*(code *)PTR__M_id_00433800)(PTR_id_00432300);\n  puVar1 = PTR_operator_new_0043233c;\n  *(undefined4 **)(iVar6 + iVar4 * 4) = puVar3;\n  puVar3 = (undefined4 *)(*(code *)puVar1)(0xc);\n  uVar5 = *param_2;\n  puVar3[1] = 0;\n  puVar3[2] = 0;\n  puVar1 = PTR__M_initialize_moneypunct_00432370;\n                    \n  *puVar3 = PTR_vtable_0043236c + 8;\n  (*(code *)puVar1)(puVar3,uVar5,0);\n  if (puVar2 == (undefined *)0x0) {\n    puVar3[1] = puVar3[1] + 1;\n  }\n  else {\n    SYNC(0);\n    puVar3[1] = puVar3[1] + 1;\n    SYNC(0);\n  }\n  iVar6 = *(int *)(param_1 + 4);\n  iVar4 = (*(code *)PTR__M_id_00433800)(PTR_id_00432314);\n  puVar1 = PTR_operator_new_0043233c;\n  *(undefined4 **)(iVar6 + iVar4 * 4) = puVar3;\n  puVar3 = (undefined4 *)(*(code *)puVar1)(0xc);\n  uVar5 = *param_2;\n  puVar3[1] = 0;\n  puVar3[2] = 0;\n  puVar1 = PTR__M_initialize_moneypunct_00432360;\n                    \n  *puVar3 = PTR_vtable_0043235c + 8;\n  (*(code *)puVar1)(puVar3,uVar5,0);\n  if (puVar2 == (undefined *)0x0) {\n    puVar3[1] = puVar3[1] + 1;\n  }\n  else {\n    SYNC(0);\n    puVar3[1] = puVar3[1] + 1;\n    SYNC(0);\n  }\n  iVar6 = *(int *)(param_1 + 4);\n  iVar4 = (*(code *)PTR__M_id_00433800)(PTR_id_00432310);\n  puVar1 = PTR_operator_new_0043233c;\n  *(undefined4 **)(iVar6 + iVar4 * 4) = puVar3;\n  puVar3 = (undefined4 *)(*(code *)puVar1)(8);\n  puVar3[1] = 0;\n  *puVar3 = PTR_vtable_004322b8 + 8;\n  if (puVar2 == (undefined *)0x0) {\n    puVar3[1] = 1;\n  }\n  else {\n    SYNC(0);\n    puVar3[1] = puVar3[1] + 1;\n    SYNC(0);\n  }\n  iVar6 = *(int *)(param_1 + 4);\n  iVar4 = (*(code *)PTR__M_id_00433800)(PTR_id_00432308);\n  puVar1 = PTR_operator_new_0043233c;\n  *(undefined4 **)(iVar6 + iVar4 * 4) = puVar3;\n  puVar3 = (undefined4 *)(*(code *)puVar1)(8);\n  puVar3[1] = 0;\n  *puVar3 = PTR_vtable_004322b4 + 8;\n  if (puVar2 == (undefined *)0x0) {\n    puVar3[1] = 1;\n  }\n  else {\n    SYNC(0);\n    puVar3[1] = puVar3[1] + 1;\n    SYNC(0);\n  }\n  iVar6 = *(int *)(param_1 + 4);\n  iVar4 = (*(code *)PTR__M_id_00433800)(PTR_id_0043230c);\n  puVar1 = PTR_operator_new_0043233c;\n  *(undefined4 **)(iVar6 + iVar4 * 4) = puVar3;\n  puVar3 = (undefined4 *)(*(code *)puVar1)(8);\n  puVar3[1] = 0;\n  *puVar3 = PTR_vtable_004322c0 + 8;\n  if (puVar2 == (undefined *)0x0) {\n    puVar3[1] = 1;\n  }\n  else {\n    SYNC(0);\n    puVar3[1] = puVar3[1] + 1;\n    SYNC(0);\n  }\n  iVar6 = *(int *)(param_1 + 4);\n  iVar4 = (*(code *)PTR__M_id_00433800)(PTR_id_00432304);\n  puVar1 = PTR_operator_new_0043233c;\n  *(undefined4 **)(iVar6 + iVar4 * 4) = puVar3;\n  iVar4 = (*(code *)puVar1)(0x10);\n                    \n  (*(code *)PTR_messages_0043644c)(iVar4,*param_2,param_4,0);\n  if (puVar2 == (undefined *)0x0) {\n    *(int *)(iVar4 + 4) = *(int *)(iVar4 + 4) + 1;\n  }\n  else {\n    SYNC(0);\n    *(int *)(iVar4 + 4) = *(int *)(iVar4 + 4) + 1;\n    SYNC(0);\n  }\n  iVar7 = *(int *)(param_1 + 4);\n  iVar6 = (*(code *)PTR__M_id_00433800)(PTR_id_00432318);\n  puVar1 = PTR_operator_new_0043233c;\n  *(int *)(iVar7 + iVar6 * 4) = iVar4;\n  puVar3 = (undefined4 *)(*(code *)puVar1)(0xc);\n  uVar5 = *param_2;\n  puVar3[1] = 0;\n  puVar3[2] = 0;\n  puVar1 = PTR__M_initialize_numpunct_00432384;\n                    \n  *puVar3 = PTR_vtable_00432380 + 8;\n  (*(code *)puVar1)(puVar3,uVar5);\n  if (puVar2 == (undefined *)0x0) {\n    puVar3[1] = puVar3[1] + 1;\n  }\n  else {\n    SYNC(0);\n    puVar3[1] = puVar3[1] + 1;\n    SYNC(0);\n  }\n  iVar6 = *(int *)(param_1 + 4);\n  iVar4 = (*(code *)PTR__M_id_00433800)(PTR_id_0043231c);\n  puVar1 = PTR_operator_new_0043233c;\n  *(undefined4 **)(iVar6 + iVar4 * 4) = puVar3;\n  puVar3 = (undefined4 *)(*(code *)puVar1)(0xc);\n  local_30[0] = *param_2;\n  puVar3[1] = 0;\n  puVar1 = PTR__S_clone_c_locale_004337ec;\n  *puVar3 = PTR_vtable_00432280 + 8;\n  uVar5 = (*(code *)puVar1)(local_30);\n  puVar3[2] = uVar5;\n  if (puVar2 == (undefined *)0x0) {\n    puVar3[1] = puVar3[1] + 1;\n  }\n  else {\n    SYNC(0);\n    puVar3[1] = puVar3[1] + 1;\n    SYNC(0);\n  }\n  iVar6 = *(int *)(param_1 + 4);\n  iVar4 = (*(code *)PTR__M_id_00433800)(PTR_id_00432320);\n  puVar1 = PTR_operator_new_0043233c;\n  *(undefined4 **)(iVar6 + iVar4 * 4) = puVar3;\n  puVar3 = (undefined4 *)(*(code *)puVar1)(0xc);\n  uVar5 = *param_3;\n  puVar3[1] = 0;\n  puVar3[2] = 0;\n  puVar1 = PTR__M_initialize_moneypunct_004323a4;\n                    \n  *puVar3 = PTR_vtable_004323a0 + 8;\n  (*(code *)puVar1)(puVar3,uVar5,param_5);\n  if (puVar2 == (undefined *)0x0) {\n    puVar3[1] = puVar3[1] + 1;\n  }\n  else {\n    SYNC(0);\n    puVar3[1] = puVar3[1] + 1;\n    SYNC(0);\n  }\n  iVar6 = *(int *)(param_1 + 4);\n  iVar4 = (*(code *)PTR__M_id_00433800)(PTR_id_00432334);\n  puVar1 = PTR_operator_new_0043233c;\n  *(undefined4 **)(iVar6 + iVar4 * 4) = puVar3;\n  puVar3 = (undefined4 *)(*(code *)puVar1)(0xc);\n  uVar5 = *param_3;\n  puVar3[1] = 0;\n  puVar3[2] = 0;\n  puVar1 = PTR__M_initialize_moneypunct_00432394;\n                    \n  *puVar3 = PTR_vtable_00432390 + 8;\n  (*(code *)puVar1)(puVar3,uVar5,param_5);\n  if (puVar2 == (undefined *)0x0) {\n    puVar3[1] = puVar3[1] + 1;\n  }\n  else {\n    SYNC(0);\n    puVar3[1] = puVar3[1] + 1;\n    SYNC(0);\n  }\n  iVar6 = *(int *)(param_1 + 4);\n  iVar4 = (*(code *)PTR__M_id_00433800)(PTR_id_00432330);\n  puVar1 = PTR_operator_new_0043233c;\n  *(undefined4 **)(iVar6 + iVar4 * 4) = puVar3;\n  puVar3 = (undefined4 *)(*(code *)puVar1)(8);\n  puVar3[1] = 0;\n  *puVar3 = PTR_vtable_004322c8 + 8;\n  if (puVar2 == (undefined *)0x0) {\n    puVar3[1] = 1;\n  }\n  else {\n    SYNC(0);\n    puVar3[1] = puVar3[1] + 1;\n    SYNC(0);\n  }\n  iVar6 = *(int *)(param_1 + 4);\n  iVar4 = (*(code *)PTR__M_id_00433800)(PTR_id_00432328);\n  puVar1 = PTR_operator_new_0043233c;\n  *(undefined4 **)(iVar6 + iVar4 * 4) = puVar3;\n  puVar3 = (undefined4 *)(*(code *)puVar1)(8);\n  puVar3[1] = 0;\n  *puVar3 = PTR_vtable_004322bc + 8;\n  if (puVar2 == (undefined *)0x0) {\n    puVar3[1] = 1;\n  }\n  else {\n    SYNC(0);\n    puVar3[1] = puVar3[1] + 1;\n    SYNC(0);\n  }\n  iVar6 = *(int *)(param_1 + 4);\n  iVar4 = (*(code *)PTR__M_id_00433800)(PTR_id_0043232c);\n  puVar1 = PTR_operator_new_0043233c;\n  *(undefined4 **)(iVar6 + iVar4 * 4) = puVar3;\n  puVar3 = (undefined4 *)(*(code *)puVar1)(8);\n  puVar3[1] = 0;\n  *puVar3 = PTR_vtable_004322c4 + 8;\n  if (puVar2 == (undefined *)0x0) {\n    puVar3[1] = 1;\n  }\n  else {\n    SYNC(0);\n    puVar3[1] = puVar3[1] + 1;\n    SYNC(0);\n  }\n  iVar6 = *(int *)(param_1 + 4);\n  iVar4 = (*(code *)PTR__M_id_00433800)(PTR_id_00432324);\n  puVar1 = PTR_operator_new_0043233c;\n  *(undefined4 **)(iVar6 + iVar4 * 4) = puVar3;\n  iVar4 = (*(code *)puVar1)(0x10);\n                    \n  (*(code *)PTR_messages_00436450)(iVar4,*param_2,param_4,0);\n  if (puVar2 == (undefined *)0x0) {\n    *(int *)(iVar4 + 4) = *(int *)(iVar4 + 4) + 1;\n  }\n  else {\n    SYNC(0);\n    *(int *)(iVar4 + 4) = *(int *)(iVar4 + 4) + 1;\n    SYNC(0);\n  }\n  iVar7 = *(int *)(param_1 + 4);\n  iVar6 = (*(code *)PTR__M_id_00433800)(PTR_id_00432338);\n  *(int *)(iVar7 + iVar6 * 4) = iVar4;\n  return;\n}" primitive_type (function_declarator "FUN_0035b100(int param_1,undefined4 *param_2,undefined4 *param_3,undefined4 param_4,\n                 undefined4 param_5)" identifier (parameter_list "(int param_1,undefined4 *param_2,undefined4 *param_3,undefined4 param_4,\n                 undefined4 param_5)" ( (parameter_declaration "int param_1" primitive_type identifier) , (parameter_declaration "undefined4 *param_2" type_identifier (pointer_declarator "*param_2" * identifier)) , (parameter_declaration "undefined4 *param_3" type_identifier (pointer_declarator "*param_3" * identifier)) , (parameter_declaration "undefined4 param_4" type_identifier identifier) , (parameter_declaration "undefined4 param_5" type_identifier identifier) ))) (compound_statement "{\n  undefined *puVar1;\n  undefined *puVar2;\n  undefined4 *puVar3;\n  int iVar4;\n  undefined4 uVar5;\n  int iVar6;\n  int iVar7;\n  undefined4 local_30 [3];\n  \n  puVar3 = (undefined4 *)(*(code *)PTR_operator_new_0043233c)(0xc);\n  uVar5 = *param_2;\n  puVar3[1] = 0;\n  puVar3[2] = 0;\n  puVar2 = PTR__M_initialize_numpunct_0043234c;\n                    \n  *puVar3 = PTR_vtable_00432348 + 8;\n  (*(code *)puVar2)(puVar3,uVar5);\n  puVar2 = PTR___pthread_key_create_0043667c;\n  if (PTR___pthread_key_create_0043667c == (undefined *)0x0) {\n    puVar3[1] = puVar3[1] + 1;\n  }\n  else {\n    SYNC(0);\n    puVar3[1] = puVar3[1] + 1;\n    SYNC(0);\n  }\n  iVar6 = *(int *)(param_1 + 4);\n  iVar4 = (*(code *)PTR__M_id_00433800)(PTR_id_004322fc);\n  puVar1 = PTR_operator_new_0043233c;\n  *(undefined4 **)(iVar6 + iVar4 * 4) = puVar3;\n  puVar3 = (undefined4 *)(*(code *)puVar1)(0xc);\n  local_30[0] = *param_2;\n  puVar3[1] = 0;\n  puVar1 = PTR__S_clone_c_locale_004337ec;\n  *puVar3 = PTR_vtable_00432290 + 8;\n  uVar5 = (*(code *)puVar1)(local_30);\n  puVar3[2] = uVar5;\n  if (puVar2 == (undefined *)0x0) {\n    puVar3[1] = puVar3[1] + 1;\n  }\n  else {\n    SYNC(0);\n    puVar3[1] = puVar3[1] + 1;\n    SYNC(0);\n  }\n  iVar6 = *(int *)(param_1 + 4);\n  iVar4 = (*(code *)PTR__M_id_00433800)(PTR_id_00432300);\n  puVar1 = PTR_operator_new_0043233c;\n  *(undefined4 **)(iVar6 + iVar4 * 4) = puVar3;\n  puVar3 = (undefined4 *)(*(code *)puVar1)(0xc);\n  uVar5 = *param_2;\n  puVar3[1] = 0;\n  puVar3[2] = 0;\n  puVar1 = PTR__M_initialize_moneypunct_00432370;\n                    \n  *puVar3 = PTR_vtable_0043236c + 8;\n  (*(code *)puVar1)(puVar3,uVar5,0);\n  if (puVar2 == (undefined *)0x0) {\n    puVar3[1] = puVar3[1] + 1;\n  }\n  else {\n    SYNC(0);\n    puVar3[1] = puVar3[1] + 1;\n    SYNC(0);\n  }\n  iVar6 = *(int *)(param_1 + 4);\n  iVar4 = (*(code *)PTR__M_id_00433800)(PTR_id_00432314);\n  puVar1 = PTR_operator_new_0043233c;\n  *(undefined4 **)(iVar6 + iVar4 * 4) = puVar3;\n  puVar3 = (undefined4 *)(*(code *)puVar1)(0xc);\n  uVar5 = *param_2;\n  puVar3[1] = 0;\n  puVar3[2] = 0;\n  puVar1 = PTR__M_initialize_moneypunct_00432360;\n                    \n  *puVar3 = PTR_vtable_0043235c + 8;\n  (*(code *)puVar1)(puVar3,uVar5,0);\n  if (puVar2 == (undefined *)0x0) {\n    puVar3[1] = puVar3[1] + 1;\n  }\n  else {\n    SYNC(0);\n    puVar3[1] = puVar3[1] + 1;\n    SYNC(0);\n  }\n  iVar6 = *(int *)(param_1 + 4);\n  iVar4 = (*(code *)PTR__M_id_00433800)(PTR_id_00432310);\n  puVar1 = PTR_operator_new_0043233c;\n  *(undefined4 **)(iVar6 + iVar4 * 4) = puVar3;\n  puVar3 = (undefined4 *)(*(code *)puVar1)(8);\n  puVar3[1] = 0;\n  *puVar3 = PTR_vtable_004322b8 + 8;\n  if (puVar2 == (undefined *)0x0) {\n    puVar3[1] = 1;\n  }\n  else {\n    SYNC(0);\n    puVar3[1] = puVar3[1] + 1;\n    SYNC(0);\n  }\n  iVar6 = *(int *)(param_1 + 4);\n  iVar4 = (*(code *)PTR__M_id_00433800)(PTR_id_00432308);\n  puVar1 = PTR_operator_new_0043233c;\n  *(undefined4 **)(iVar6 + iVar4 * 4) = puVar3;\n  puVar3 = (undefined4 *)(*(code *)puVar1)(8);\n  puVar3[1] = 0;\n  *puVar3 = PTR_vtable_004322b4 + 8;\n  if (puVar2 == (undefined *)0x0) {\n    puVar3[1] = 1;\n  }\n  else {\n    SYNC(0);\n    puVar3[1] = puVar3[1] + 1;\n    SYNC(0);\n  }\n  iVar6 = *(int *)(param_1 + 4);\n  iVar4 = (*(code *)PTR__M_id_00433800)(PTR_id_0043230c);\n  puVar1 = PTR_operator_new_0043233c;\n  *(undefined4 **)(iVar6 + iVar4 * 4) = puVar3;\n  puVar3 = (undefined4 *)(*(code *)puVar1)(8);\n  puVar3[1] = 0;\n  *puVar3 = PTR_vtable_004322c0 + 8;\n  if (puVar2 == (undefined *)0x0) {\n    puVar3[1] = 1;\n  }\n  else {\n    SYNC(0);\n    puVar3[1] = puVar3[1] + 1;\n    SYNC(0);\n  }\n  iVar6 = *(int *)(param_1 + 4);\n  iVar4 = (*(code *)PTR__M_id_00433800)(PTR_id_00432304);\n  puVar1 = PTR_operator_new_0043233c;\n  *(undefined4 **)(iVar6 + iVar4 * 4) = puVar3;\n  iVar4 = (*(code *)puVar1)(0x10);\n                    \n  (*(code *)PTR_messages_0043644c)(iVar4,*param_2,param_4,0);\n  if (puVar2 == (undefined *)0x0) {\n    *(int *)(iVar4 + 4) = *(int *)(iVar4 + 4) + 1;\n  }\n  else {\n    SYNC(0);\n    *(int *)(iVar4 + 4) = *(int *)(iVar4 + 4) + 1;\n    SYNC(0);\n  }\n  iVar7 = *(int *)(param_1 + 4);\n  iVar6 = (*(code *)PTR__M_id_00433800)(PTR_id_00432318);\n  puVar1 = PTR_operator_new_0043233c;\n  *(int *)(iVar7 + iVar6 * 4) = iVar4;\n  puVar3 = (undefined4 *)(*(code *)puVar1)(0xc);\n  uVar5 = *param_2;\n  puVar3[1] = 0;\n  puVar3[2] = 0;\n  puVar1 = PTR__M_initialize_numpunct_00432384;\n                    \n  *puVar3 = PTR_vtable_00432380 + 8;\n  (*(code *)puVar1)(puVar3,uVar5);\n  if (puVar2 == (undefined *)0x0) {\n    puVar3[1] = puVar3[1] + 1;\n  }\n  else {\n    SYNC(0);\n    puVar3[1] = puVar3[1] + 1;\n    SYNC(0);\n  }\n  iVar6 = *(int *)(param_1 + 4);\n  iVar4 = (*(code *)PTR__M_id_00433800)(PTR_id_0043231c);\n  puVar1 = PTR_operator_new_0043233c;\n  *(undefined4 **)(iVar6 + iVar4 * 4) = puVar3;\n  puVar3 = (undefined4 *)(*(code *)puVar1)(0xc);\n  local_30[0] = *param_2;\n  puVar3[1] = 0;\n  puVar1 = PTR__S_clone_c_locale_004337ec;\n  *puVar3 = PTR_vtable_00432280 + 8;\n  uVar5 = (*(code *)puVar1)(local_30);\n  puVar3[2] = uVar5;\n  if (puVar2 == (undefined *)0x0) {\n    puVar3[1] = puVar3[1] + 1;\n  }\n  else {\n    SYNC(0);\n    puVar3[1] = puVar3[1] + 1;\n    SYNC(0);\n  }\n  iVar6 = *(int *)(param_1 + 4);\n  iVar4 = (*(code *)PTR__M_id_00433800)(PTR_id_00432320);\n  puVar1 = PTR_operator_new_0043233c;\n  *(undefined4 **)(iVar6 + iVar4 * 4) = puVar3;\n  puVar3 = (undefined4 *)(*(code *)puVar1)(0xc);\n  uVar5 = *param_3;\n  puVar3[1] = 0;\n  puVar3[2] = 0;\n  puVar1 = PTR__M_initialize_moneypunct_004323a4;\n                    \n  *puVar3 = PTR_vtable_004323a0 + 8;\n  (*(code *)puVar1)(puVar3,uVar5,param_5);\n  if (puVar2 == (undefined *)0x0) {\n    puVar3[1] = puVar3[1] + 1;\n  }\n  else {\n    SYNC(0);\n    puVar3[1] = puVar3[1] + 1;\n    SYNC(0);\n  }\n  iVar6 = *(int *)(param_1 + 4);\n  iVar4 = (*(code *)PTR__M_id_00433800)(PTR_id_00432334);\n  puVar1 = PTR_operator_new_0043233c;\n  *(undefined4 **)(iVar6 + iVar4 * 4) = puVar3;\n  puVar3 = (undefined4 *)(*(code *)puVar1)(0xc);\n  uVar5 = *param_3;\n  puVar3[1] = 0;\n  puVar3[2] = 0;\n  puVar1 = PTR__M_initialize_moneypunct_00432394;\n                    \n  *puVar3 = PTR_vtable_00432390 + 8;\n  (*(code *)puVar1)(puVar3,uVar5,param_5);\n  if (puVar2 == (undefined *)0x0) {\n    puVar3[1] = puVar3[1] + 1;\n  }\n  else {\n    SYNC(0);\n    puVar3[1] = puVar3[1] + 1;\n    SYNC(0);\n  }\n  iVar6 = *(int *)(param_1 + 4);\n  iVar4 = (*(code *)PTR__M_id_00433800)(PTR_id_00432330);\n  puVar1 = PTR_operator_new_0043233c;\n  *(undefined4 **)(iVar6 + iVar4 * 4) = puVar3;\n  puVar3 = (undefined4 *)(*(code *)puVar1)(8);\n  puVar3[1] = 0;\n  *puVar3 = PTR_vtable_004322c8 + 8;\n  if (puVar2 == (undefined *)0x0) {\n    puVar3[1] = 1;\n  }\n  else {\n    SYNC(0);\n    puVar3[1] = puVar3[1] + 1;\n    SYNC(0);\n  }\n  iVar6 = *(int *)(param_1 + 4);\n  iVar4 = (*(code *)PTR__M_id_00433800)(PTR_id_00432328);\n  puVar1 = PTR_operator_new_0043233c;\n  *(undefined4 **)(iVar6 + iVar4 * 4) = puVar3;\n  puVar3 = (undefined4 *)(*(code *)puVar1)(8);\n  puVar3[1] = 0;\n  *puVar3 = PTR_vtable_004322bc + 8;\n  if (puVar2 == (undefined *)0x0) {\n    puVar3[1] = 1;\n  }\n  else {\n    SYNC(0);\n    puVar3[1] = puVar3[1] + 1;\n    SYNC(0);\n  }\n  iVar6 = *(int *)(param_1 + 4);\n  iVar4 = (*(code *)PTR__M_id_00433800)(PTR_id_0043232c);\n  puVar1 = PTR_operator_new_0043233c;\n  *(undefined4 **)(iVar6 + iVar4 * 4) = puVar3;\n  puVar3 = (undefined4 *)(*(code *)puVar1)(8);\n  puVar3[1] = 0;\n  *puVar3 = PTR_vtable_004322c4 + 8;\n  if (puVar2 == (undefined *)0x0) {\n    puVar3[1] = 1;\n  }\n  else {\n    SYNC(0);\n    puVar3[1] = puVar3[1] + 1;\n    SYNC(0);\n  }\n  iVar6 = *(int *)(param_1 + 4);\n  iVar4 = (*(code *)PTR__M_id_00433800)(PTR_id_00432324);\n  puVar1 = PTR_operator_new_0043233c;\n  *(undefined4 **)(iVar6 + iVar4 * 4) = puVar3;\n  iVar4 = (*(code *)puVar1)(0x10);\n                    \n  (*(code *)PTR_messages_00436450)(iVar4,*param_2,param_4,0);\n  if (puVar2 == (undefined *)0x0) {\n    *(int *)(iVar4 + 4) = *(int *)(iVar4 + 4) + 1;\n  }\n  else {\n    SYNC(0);\n    *(int *)(iVar4 + 4) = *(int *)(iVar4 + 4) + 1;\n    SYNC(0);\n  }\n  iVar7 = *(int *)(param_1 + 4);\n  iVar6 = (*(code *)PTR__M_id_00433800)(PTR_id_00432338);\n  *(int *)(iVar7 + iVar6 * 4) = iVar4;\n  return;\n}" { (declaration "undefined *puVar1;" type_identifier (pointer_declarator "*puVar1" * identifier) ;) (declaration "undefined *puVar2;" type_identifier (pointer_declarator "*puVar2" * identifier) ;) (declaration "undefined4 *puVar3;" type_identifier (pointer_declarator "*puVar3" * identifier) ;) (declaration "int iVar4;" primitive_type identifier ;) (declaration "undefined4 uVar5;" type_identifier identifier ;) (declaration "int iVar6;" primitive_type identifier ;) (declaration "int iVar7;" primitive_type identifier ;) (declaration "undefined4 local_30 [3];" type_identifier (array_declarator "local_30 [3]" identifier [ number_literal ]) ;) (expression_statement "puVar3 = (undefined4 *)(*(code *)PTR_operator_new_0043233c)(0xc);" (assignment_expression "puVar3 = (undefined4 *)(*(code *)PTR_operator_new_0043233c)(0xc)" identifier = (cast_expression "(undefined4 *)(*(code *)PTR_operator_new_0043233c)(0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_operator_new_0043233c)(0xc)" (parenthesized_expression "(*(code *)PTR_operator_new_0043233c)" ( (pointer_expression "*(code *)PTR_operator_new_0043233c" * (cast_expression "(code *)PTR_operator_new_0043233c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0xc)" ( number_literal ))))) ;) (expression_statement "uVar5 = *param_2;" (assignment_expression "uVar5 = *param_2" identifier = (pointer_expression "*param_2" * identifier)) ;) (expression_statement "puVar3[1] = 0;" (assignment_expression "puVar3[1] = 0" (subscript_expression "puVar3[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar3[2] = 0;" (assignment_expression "puVar3[2] = 0" (subscript_expression "puVar3[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar2 = PTR__M_initialize_numpunct_0043234c;" (assignment_expression "puVar2 = PTR__M_initialize_numpunct_0043234c" identifier = identifier) ;) (expression_statement "*puVar3 = PTR_vtable_00432348 + 8;" (assignment_expression "*puVar3 = PTR_vtable_00432348 + 8" (pointer_expression "*puVar3" * identifier) = (binary_expression "PTR_vtable_00432348 + 8" identifier + number_literal)) ;) (expression_statement "(*(code *)puVar2)(puVar3,uVar5);" (call_expression "(*(code *)puVar2)(puVar3,uVar5)" (parenthesized_expression "(*(code *)puVar2)" ( (pointer_expression "*(code *)puVar2" * (cast_expression "(code *)puVar2" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar3,uVar5)" ( identifier , identifier ))) ;) (expression_statement "puVar2 = PTR___pthread_key_create_0043667c;" (assignment_expression "puVar2 = PTR___pthread_key_create_0043667c" identifier = identifier) ;) (if_statement "if (PTR___pthread_key_create_0043667c == (undefined *)0x0) {\n    puVar3[1] = puVar3[1] + 1;\n  }\n  else {\n    SYNC(0);\n    puVar3[1] = puVar3[1] + 1;\n    SYNC(0);\n  }" if (parenthesized_expression "(PTR___pthread_key_create_0043667c == (undefined *)0x0)" ( (binary_expression "PTR___pthread_key_create_0043667c == (undefined *)0x0" identifier == (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    puVar3[1] = puVar3[1] + 1;\n  }" { (expression_statement "puVar3[1] = puVar3[1] + 1;" (assignment_expression "puVar3[1] = puVar3[1] + 1" (subscript_expression "puVar3[1]" identifier [ number_literal ]) = (binary_expression "puVar3[1] + 1" (subscript_expression "puVar3[1]" identifier [ number_literal ]) + number_literal)) ;) }) (else_clause "else {\n    SYNC(0);\n    puVar3[1] = puVar3[1] + 1;\n    SYNC(0);\n  }" else (compound_statement "{\n    SYNC(0);\n    puVar3[1] = puVar3[1] + 1;\n    SYNC(0);\n  }" { (expression_statement "SYNC(0);" (call_expression "SYNC(0)" identifier (argument_list "(0)" ( number_literal ))) ;) (expression_statement "puVar3[1] = puVar3[1] + 1;" (assignment_expression "puVar3[1] = puVar3[1] + 1" (subscript_expression "puVar3[1]" identifier [ number_literal ]) = (binary_expression "puVar3[1] + 1" (subscript_expression "puVar3[1]" identifier [ number_literal ]) + number_literal)) ;) (expression_statement "SYNC(0);" (call_expression "SYNC(0)" identifier (argument_list "(0)" ( number_literal ))) ;) }))) (expression_statement "iVar6 = *(int *)(param_1 + 4);" (assignment_expression "iVar6 = *(int *)(param_1 + 4)" identifier = (pointer_expression "*(int *)(param_1 + 4)" * (cast_expression "(int *)(param_1 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 4)" ( (binary_expression "param_1 + 4" identifier + number_literal) ))))) ;) (expression_statement "iVar4 = (*(code *)PTR__M_id_00433800)(PTR_id_004322fc);" (assignment_expression "iVar4 = (*(code *)PTR__M_id_00433800)(PTR_id_004322fc)" identifier = (call_expression "(*(code *)PTR__M_id_00433800)(PTR_id_004322fc)" (parenthesized_expression "(*(code *)PTR__M_id_00433800)" ( (pointer_expression "*(code *)PTR__M_id_00433800" * (cast_expression "(code *)PTR__M_id_00433800" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_id_004322fc)" ( identifier )))) ;) (expression_statement "puVar1 = PTR_operator_new_0043233c;" (assignment_expression "puVar1 = PTR_operator_new_0043233c" identifier = identifier) ;) (expression_statement "*(undefined4 **)(iVar6 + iVar4 * 4) = puVar3;" (assignment_expression "*(undefined4 **)(iVar6 + iVar4 * 4) = puVar3" (pointer_expression "*(undefined4 **)(iVar6 + iVar4 * 4)" * (cast_expression "(undefined4 **)(iVar6 + iVar4 * 4)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar6 + iVar4 * 4)" ( (binary_expression "iVar6 + iVar4 * 4" identifier + (binary_expression "iVar4 * 4" identifier * number_literal)) )))) = identifier) ;) (expression_statement "puVar3 = (undefined4 *)(*(code *)puVar1)(0xc);" (assignment_expression "puVar3 = (undefined4 *)(*(code *)puVar1)(0xc)" identifier = (cast_expression "(undefined4 *)(*(code *)puVar1)(0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)puVar1)(0xc)" (parenthesized_expression "(*(code *)puVar1)" ( (pointer_expression "*(code *)puVar1" * (cast_expression "(code *)puVar1" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0xc)" ( number_literal ))))) ;) (expression_statement "local_30[0] = *param_2;" (assignment_expression "local_30[0] = *param_2" (subscript_expression "local_30[0]" identifier [ number_literal ]) = (pointer_expression "*param_2" * identifier)) ;) (expression_statement "puVar3[1] = 0;" (assignment_expression "puVar3[1] = 0" (subscript_expression "puVar3[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar1 = PTR__S_clone_c_locale_004337ec;" (assignment_expression "puVar1 = PTR__S_clone_c_locale_004337ec" identifier = identifier) ;) (expression_statement "*puVar3 = PTR_vtable_00432290 + 8;" (assignment_expression "*puVar3 = PTR_vtable_00432290 + 8" (pointer_expression "*puVar3" * identifier) = (binary_expression "PTR_vtable_00432290 + 8" identifier + number_literal)) ;) (expression_statement "uVar5 = (*(code *)puVar1)(local_30);" (assignment_expression "uVar5 = (*(code *)puVar1)(local_30)" identifier = (call_expression "(*(code *)puVar1)(local_30)" (parenthesized_expression "(*(code *)puVar1)" ( (pointer_expression "*(code *)puVar1" * (cast_expression "(code *)puVar1" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(local_30)" ( identifier )))) ;) (expression_statement "puVar3[2] = uVar5;" (assignment_expression "puVar3[2] = uVar5" (subscript_expression "puVar3[2]" identifier [ number_literal ]) = identifier) ;) (if_statement "if (puVar2 == (undefined *)0x0) {\n    puVar3[1] = puVar3[1] + 1;\n  }\n  else {\n    SYNC(0);\n    puVar3[1] = puVar3[1] + 1;\n    SYNC(0);\n  }" if (parenthesized_expression "(puVar2 == (undefined *)0x0)" ( (binary_expression "puVar2 == (undefined *)0x0" identifier == (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    puVar3[1] = puVar3[1] + 1;\n  }" { (expression_statement "puVar3[1] = puVar3[1] + 1;" (assignment_expression "puVar3[1] = puVar3[1] + 1" (subscript_expression "puVar3[1]" identifier [ number_literal ]) = (binary_expression "puVar3[1] + 1" (subscript_expression "puVar3[1]" identifier [ number_literal ]) + number_literal)) ;) }) (else_clause "else {\n    SYNC(0);\n    puVar3[1] = puVar3[1] + 1;\n    SYNC(0);\n  }" else (compound_statement "{\n    SYNC(0);\n    puVar3[1] = puVar3[1] + 1;\n    SYNC(0);\n  }" { (expression_statement "SYNC(0);" (call_expression "SYNC(0)" identifier (argument_list "(0)" ( number_literal ))) ;) (expression_statement "puVar3[1] = puVar3[1] + 1;" (assignment_expression "puVar3[1] = puVar3[1] + 1" (subscript_expression "puVar3[1]" identifier [ number_literal ]) = (binary_expression "puVar3[1] + 1" (subscript_expression "puVar3[1]" identifier [ number_literal ]) + number_literal)) ;) (expression_statement "SYNC(0);" (call_expression "SYNC(0)" identifier (argument_list "(0)" ( number_literal ))) ;) }))) (expression_statement "iVar6 = *(int *)(param_1 + 4);" (assignment_expression "iVar6 = *(int *)(param_1 + 4)" identifier = (pointer_expression "*(int *)(param_1 + 4)" * (cast_expression "(int *)(param_1 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 4)" ( (binary_expression "param_1 + 4" identifier + number_literal) ))))) ;) (expression_statement "iVar4 = (*(code *)PTR__M_id_00433800)(PTR_id_00432300);" (assignment_expression "iVar4 = (*(code *)PTR__M_id_00433800)(PTR_id_00432300)" identifier = (call_expression "(*(code *)PTR__M_id_00433800)(PTR_id_00432300)" (parenthesized_expression "(*(code *)PTR__M_id_00433800)" ( (pointer_expression "*(code *)PTR__M_id_00433800" * (cast_expression "(code *)PTR__M_id_00433800" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_id_00432300)" ( identifier )))) ;) (expression_statement "puVar1 = PTR_operator_new_0043233c;" (assignment_expression "puVar1 = PTR_operator_new_0043233c" identifier = identifier) ;) (expression_statement "*(undefined4 **)(iVar6 + iVar4 * 4) = puVar3;" (assignment_expression "*(undefined4 **)(iVar6 + iVar4 * 4) = puVar3" (pointer_expression "*(undefined4 **)(iVar6 + iVar4 * 4)" * (cast_expression "(undefined4 **)(iVar6 + iVar4 * 4)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar6 + iVar4 * 4)" ( (binary_expression "iVar6 + iVar4 * 4" identifier + (binary_expression "iVar4 * 4" identifier * number_literal)) )))) = identifier) ;) (expression_statement "puVar3 = (undefined4 *)(*(code *)puVar1)(0xc);" (assignment_expression "puVar3 = (undefined4 *)(*(code *)puVar1)(0xc)" identifier = (cast_expression "(undefined4 *)(*(code *)puVar1)(0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)puVar1)(0xc)" (parenthesized_expression "(*(code *)puVar1)" ( (pointer_expression "*(code *)puVar1" * (cast_expression "(code *)puVar1" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0xc)" ( number_literal ))))) ;) (expression_statement "uVar5 = *param_2;" (assignment_expression "uVar5 = *param_2" identifier = (pointer_expression "*param_2" * identifier)) ;) (expression_statement "puVar3[1] = 0;" (assignment_expression "puVar3[1] = 0" (subscript_expression "puVar3[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar3[2] = 0;" (assignment_expression "puVar3[2] = 0" (subscript_expression "puVar3[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar1 = PTR__M_initialize_moneypunct_00432370;" (assignment_expression "puVar1 = PTR__M_initialize_moneypunct_00432370" identifier = identifier) ;) (expression_statement "*puVar3 = PTR_vtable_0043236c + 8;" (assignment_expression "*puVar3 = PTR_vtable_0043236c + 8" (pointer_expression "*puVar3" * identifier) = (binary_expression "PTR_vtable_0043236c + 8" identifier + number_literal)) ;) (expression_statement "(*(code *)puVar1)(puVar3,uVar5,0);" (call_expression "(*(code *)puVar1)(puVar3,uVar5,0)" (parenthesized_expression "(*(code *)puVar1)" ( (pointer_expression "*(code *)puVar1" * (cast_expression "(code *)puVar1" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar3,uVar5,0)" ( identifier , identifier , number_literal ))) ;) (if_statement "if (puVar2 == (undefined *)0x0) {\n    puVar3[1] = puVar3[1] + 1;\n  }\n  else {\n    SYNC(0);\n    puVar3[1] = puVar3[1] + 1;\n    SYNC(0);\n  }" if (parenthesized_expression "(puVar2 == (undefined *)0x0)" ( (binary_expression "puVar2 == (undefined *)0x0" identifier == (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    puVar3[1] = puVar3[1] + 1;\n  }" { (expression_statement "puVar3[1] = puVar3[1] + 1;" (assignment_expression "puVar3[1] = puVar3[1] + 1" (subscript_expression "puVar3[1]" identifier [ number_literal ]) = (binary_expression "puVar3[1] + 1" (subscript_expression "puVar3[1]" identifier [ number_literal ]) + number_literal)) ;) }) (else_clause "else {\n    SYNC(0);\n    puVar3[1] = puVar3[1] + 1;\n    SYNC(0);\n  }" else (compound_statement "{\n    SYNC(0);\n    puVar3[1] = puVar3[1] + 1;\n    SYNC(0);\n  }" { (expression_statement "SYNC(0);" (call_expression "SYNC(0)" identifier (argument_list "(0)" ( number_literal ))) ;) (expression_statement "puVar3[1] = puVar3[1] + 1;" (assignment_expression "puVar3[1] = puVar3[1] + 1" (subscript_expression "puVar3[1]" identifier [ number_literal ]) = (binary_expression "puVar3[1] + 1" (subscript_expression "puVar3[1]" identifier [ number_literal ]) + number_literal)) ;) (expression_statement "SYNC(0);" (call_expression "SYNC(0)" identifier (argument_list "(0)" ( number_literal ))) ;) }))) (expression_statement "iVar6 = *(int *)(param_1 + 4);" (assignment_expression "iVar6 = *(int *)(param_1 + 4)" identifier = (pointer_expression "*(int *)(param_1 + 4)" * (cast_expression "(int *)(param_1 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 4)" ( (binary_expression "param_1 + 4" identifier + number_literal) ))))) ;) (expression_statement "iVar4 = (*(code *)PTR__M_id_00433800)(PTR_id_00432314);" (assignment_expression "iVar4 = (*(code *)PTR__M_id_00433800)(PTR_id_00432314)" identifier = (call_expression "(*(code *)PTR__M_id_00433800)(PTR_id_00432314)" (parenthesized_expression "(*(code *)PTR__M_id_00433800)" ( (pointer_expression "*(code *)PTR__M_id_00433800" * (cast_expression "(code *)PTR__M_id_00433800" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_id_00432314)" ( identifier )))) ;) (expression_statement "puVar1 = PTR_operator_new_0043233c;" (assignment_expression "puVar1 = PTR_operator_new_0043233c" identifier = identifier) ;) (expression_statement "*(undefined4 **)(iVar6 + iVar4 * 4) = puVar3;" (assignment_expression "*(undefined4 **)(iVar6 + iVar4 * 4) = puVar3" (pointer_expression "*(undefined4 **)(iVar6 + iVar4 * 4)" * (cast_expression "(undefined4 **)(iVar6 + iVar4 * 4)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar6 + iVar4 * 4)" ( (binary_expression "iVar6 + iVar4 * 4" identifier + (binary_expression "iVar4 * 4" identifier * number_literal)) )))) = identifier) ;) (expression_statement "puVar3 = (undefined4 *)(*(code *)puVar1)(0xc);" (assignment_expression "puVar3 = (undefined4 *)(*(code *)puVar1)(0xc)" identifier = (cast_expression "(undefined4 *)(*(code *)puVar1)(0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)puVar1)(0xc)" (parenthesized_expression "(*(code *)puVar1)" ( (pointer_expression "*(code *)puVar1" * (cast_expression "(code *)puVar1" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0xc)" ( number_literal ))))) ;) (expression_statement "uVar5 = *param_2;" (assignment_expression "uVar5 = *param_2" identifier = (pointer_expression "*param_2" * identifier)) ;) (expression_statement "puVar3[1] = 0;" (assignment_expression "puVar3[1] = 0" (subscript_expression "puVar3[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar3[2] = 0;" (assignment_expression "puVar3[2] = 0" (subscript_expression "puVar3[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar1 = PTR__M_initialize_moneypunct_00432360;" (assignment_expression "puVar1 = PTR__M_initialize_moneypunct_00432360" identifier = identifier) ;) (expression_statement "*puVar3 = PTR_vtable_0043235c + 8;" (assignment_expression "*puVar3 = PTR_vtable_0043235c + 8" (pointer_expression "*puVar3" * identifier) = (binary_expression "PTR_vtable_0043235c + 8" identifier + number_literal)) ;) (expression_statement "(*(code *)puVar1)(puVar3,uVar5,0);" (call_expression "(*(code *)puVar1)(puVar3,uVar5,0)" (parenthesized_expression "(*(code *)puVar1)" ( (pointer_expression "*(code *)puVar1" * (cast_expression "(code *)puVar1" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar3,uVar5,0)" ( identifier , identifier , number_literal ))) ;) (if_statement "if (puVar2 == (undefined *)0x0) {\n    puVar3[1] = puVar3[1] + 1;\n  }\n  else {\n    SYNC(0);\n    puVar3[1] = puVar3[1] + 1;\n    SYNC(0);\n  }" if (parenthesized_expression "(puVar2 == (undefined *)0x0)" ( (binary_expression "puVar2 == (undefined *)0x0" identifier == (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    puVar3[1] = puVar3[1] + 1;\n  }" { (expression_statement "puVar3[1] = puVar3[1] + 1;" (assignment_expression "puVar3[1] = puVar3[1] + 1" (subscript_expression "puVar3[1]" identifier [ number_literal ]) = (binary_expression "puVar3[1] + 1" (subscript_expression "puVar3[1]" identifier [ number_literal ]) + number_literal)) ;) }) (else_clause "else {\n    SYNC(0);\n    puVar3[1] = puVar3[1] + 1;\n    SYNC(0);\n  }" else (compound_statement "{\n    SYNC(0);\n    puVar3[1] = puVar3[1] + 1;\n    SYNC(0);\n  }" { (expression_statement "SYNC(0);" (call_expression "SYNC(0)" identifier (argument_list "(0)" ( number_literal ))) ;) (expression_statement "puVar3[1] = puVar3[1] + 1;" (assignment_expression "puVar3[1] = puVar3[1] + 1" (subscript_expression "puVar3[1]" identifier [ number_literal ]) = (binary_expression "puVar3[1] + 1" (subscript_expression "puVar3[1]" identifier [ number_literal ]) + number_literal)) ;) (expression_statement "SYNC(0);" (call_expression "SYNC(0)" identifier (argument_list "(0)" ( number_literal ))) ;) }))) (expression_statement "iVar6 = *(int *)(param_1 + 4);" (assignment_expression "iVar6 = *(int *)(param_1 + 4)" identifier = (pointer_expression "*(int *)(param_1 + 4)" * (cast_expression "(int *)(param_1 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 4)" ( (binary_expression "param_1 + 4" identifier + number_literal) ))))) ;) (expression_statement "iVar4 = (*(code *)PTR__M_id_00433800)(PTR_id_00432310);" (assignment_expression "iVar4 = (*(code *)PTR__M_id_00433800)(PTR_id_00432310)" identifier = (call_expression "(*(code *)PTR__M_id_00433800)(PTR_id_00432310)" (parenthesized_expression "(*(code *)PTR__M_id_00433800)" ( (pointer_expression "*(code *)PTR__M_id_00433800" * (cast_expression "(code *)PTR__M_id_00433800" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_id_00432310)" ( identifier )))) ;) (expression_statement "puVar1 = PTR_operator_new_0043233c;" (assignment_expression "puVar1 = PTR_operator_new_0043233c" identifier = identifier) ;) (expression_statement "*(undefined4 **)(iVar6 + iVar4 * 4) = puVar3;" (assignment_expression "*(undefined4 **)(iVar6 + iVar4 * 4) = puVar3" (pointer_expression "*(undefined4 **)(iVar6 + iVar4 * 4)" * (cast_expression "(undefined4 **)(iVar6 + iVar4 * 4)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar6 + iVar4 * 4)" ( (binary_expression "iVar6 + iVar4 * 4" identifier + (binary_expression "iVar4 * 4" identifier * number_literal)) )))) = identifier) ;) (expression_statement "puVar3 = (undefined4 *)(*(code *)puVar1)(8);" (assignment_expression "puVar3 = (undefined4 *)(*(code *)puVar1)(8)" identifier = (cast_expression "(undefined4 *)(*(code *)puVar1)(8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)puVar1)(8)" (parenthesized_expression "(*(code *)puVar1)" ( (pointer_expression "*(code *)puVar1" * (cast_expression "(code *)puVar1" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(8)" ( number_literal ))))) ;) (expression_statement "puVar3[1] = 0;" (assignment_expression "puVar3[1] = 0" (subscript_expression "puVar3[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*puVar3 = PTR_vtable_004322b8 + 8;" (assignment_expression "*puVar3 = PTR_vtable_004322b8 + 8" (pointer_expression "*puVar3" * identifier) = (binary_expression "PTR_vtable_004322b8 + 8" identifier + number_literal)) ;) (if_statement "if (puVar2 == (undefined *)0x0) {\n    puVar3[1] = 1;\n  }\n  else {\n    SYNC(0);\n    puVar3[1] = puVar3[1] + 1;\n    SYNC(0);\n  }" if (parenthesized_expression "(puVar2 == (undefined *)0x0)" ( (binary_expression "puVar2 == (undefined *)0x0" identifier == (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    puVar3[1] = 1;\n  }" { (expression_statement "puVar3[1] = 1;" (assignment_expression "puVar3[1] = 1" (subscript_expression "puVar3[1]" identifier [ number_literal ]) = number_literal) ;) }) (else_clause "else {\n    SYNC(0);\n    puVar3[1] = puVar3[1] + 1;\n    SYNC(0);\n  }" else (compound_statement "{\n    SYNC(0);\n    puVar3[1] = puVar3[1] + 1;\n    SYNC(0);\n  }" { (expression_statement "SYNC(0);" (call_expression "SYNC(0)" identifier (argument_list "(0)" ( number_literal ))) ;) (expression_statement "puVar3[1] = puVar3[1] + 1;" (assignment_expression "puVar3[1] = puVar3[1] + 1" (subscript_expression "puVar3[1]" identifier [ number_literal ]) = (binary_expression "puVar3[1] + 1" (subscript_expression "puVar3[1]" identifier [ number_literal ]) + number_literal)) ;) (expression_statement "SYNC(0);" (call_expression "SYNC(0)" identifier (argument_list "(0)" ( number_literal ))) ;) }))) (expression_statement "iVar6 = *(int *)(param_1 + 4);" (assignment_expression "iVar6 = *(int *)(param_1 + 4)" identifier = (pointer_expression "*(int *)(param_1 + 4)" * (cast_expression "(int *)(param_1 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 4)" ( (binary_expression "param_1 + 4" identifier + number_literal) ))))) ;) (expression_statement "iVar4 = (*(code *)PTR__M_id_00433800)(PTR_id_00432308);" (assignment_expression "iVar4 = (*(code *)PTR__M_id_00433800)(PTR_id_00432308)" identifier = (call_expression "(*(code *)PTR__M_id_00433800)(PTR_id_00432308)" (parenthesized_expression "(*(code *)PTR__M_id_00433800)" ( (pointer_expression "*(code *)PTR__M_id_00433800" * (cast_expression "(code *)PTR__M_id_00433800" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_id_00432308)" ( identifier )))) ;) (expression_statement "puVar1 = PTR_operator_new_0043233c;" (assignment_expression "puVar1 = PTR_operator_new_0043233c" identifier = identifier) ;) (expression_statement "*(undefined4 **)(iVar6 + iVar4 * 4) = puVar3;" (assignment_expression "*(undefined4 **)(iVar6 + iVar4 * 4) = puVar3" (pointer_expression "*(undefined4 **)(iVar6 + iVar4 * 4)" * (cast_expression "(undefined4 **)(iVar6 + iVar4 * 4)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar6 + iVar4 * 4)" ( (binary_expression "iVar6 + iVar4 * 4" identifier + (binary_expression "iVar4 * 4" identifier * number_literal)) )))) = identifier) ;) (expression_statement "puVar3 = (undefined4 *)(*(code *)puVar1)(8);" (assignment_expression "puVar3 = (undefined4 *)(*(code *)puVar1)(8)" identifier = (cast_expression "(undefined4 *)(*(code *)puVar1)(8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)puVar1)(8)" (parenthesized_expression "(*(code *)puVar1)" ( (pointer_expression "*(code *)puVar1" * (cast_expression "(code *)puVar1" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(8)" ( number_literal ))))) ;) (expression_statement "puVar3[1] = 0;" (assignment_expression "puVar3[1] = 0" (subscript_expression "puVar3[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*puVar3 = PTR_vtable_004322b4 + 8;" (assignment_expression "*puVar3 = PTR_vtable_004322b4 + 8" (pointer_expression "*puVar3" * identifier) = (binary_expression "PTR_vtable_004322b4 + 8" identifier + number_literal)) ;) (if_statement "if (puVar2 == (undefined *)0x0) {\n    puVar3[1] = 1;\n  }\n  else {\n    SYNC(0);\n    puVar3[1] = puVar3[1] + 1;\n    SYNC(0);\n  }" if (parenthesized_expression "(puVar2 == (undefined *)0x0)" ( (binary_expression "puVar2 == (undefined *)0x0" identifier == (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    puVar3[1] = 1;\n  }" { (expression_statement "puVar3[1] = 1;" (assignment_expression "puVar3[1] = 1" (subscript_expression "puVar3[1]" identifier [ number_literal ]) = number_literal) ;) }) (else_clause "else {\n    SYNC(0);\n    puVar3[1] = puVar3[1] + 1;\n    SYNC(0);\n  }" else (compound_statement "{\n    SYNC(0);\n    puVar3[1] = puVar3[1] + 1;\n    SYNC(0);\n  }" { (expression_statement "SYNC(0);" (call_expression "SYNC(0)" identifier (argument_list "(0)" ( number_literal ))) ;) (expression_statement "puVar3[1] = puVar3[1] + 1;" (assignment_expression "puVar3[1] = puVar3[1] + 1" (subscript_expression "puVar3[1]" identifier [ number_literal ]) = (binary_expression "puVar3[1] + 1" (subscript_expression "puVar3[1]" identifier [ number_literal ]) + number_literal)) ;) (expression_statement "SYNC(0);" (call_expression "SYNC(0)" identifier (argument_list "(0)" ( number_literal ))) ;) }))) (expression_statement "iVar6 = *(int *)(param_1 + 4);" (assignment_expression "iVar6 = *(int *)(param_1 + 4)" identifier = (pointer_expression "*(int *)(param_1 + 4)" * (cast_expression "(int *)(param_1 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 4)" ( (binary_expression "param_1 + 4" identifier + number_literal) ))))) ;) (expression_statement "iVar4 = (*(code *)PTR__M_id_00433800)(PTR_id_0043230c);" (assignment_expression "iVar4 = (*(code *)PTR__M_id_00433800)(PTR_id_0043230c)" identifier = (call_expression "(*(code *)PTR__M_id_00433800)(PTR_id_0043230c)" (parenthesized_expression "(*(code *)PTR__M_id_00433800)" ( (pointer_expression "*(code *)PTR__M_id_00433800" * (cast_expression "(code *)PTR__M_id_00433800" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_id_0043230c)" ( identifier )))) ;) (expression_statement "puVar1 = PTR_operator_new_0043233c;" (assignment_expression "puVar1 = PTR_operator_new_0043233c" identifier = identifier) ;) (expression_statement "*(undefined4 **)(iVar6 + iVar4 * 4) = puVar3;" (assignment_expression "*(undefined4 **)(iVar6 + iVar4 * 4) = puVar3" (pointer_expression "*(undefined4 **)(iVar6 + iVar4 * 4)" * (cast_expression "(undefined4 **)(iVar6 + iVar4 * 4)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar6 + iVar4 * 4)" ( (binary_expression "iVar6 + iVar4 * 4" identifier + (binary_expression "iVar4 * 4" identifier * number_literal)) )))) = identifier) ;) (expression_statement "puVar3 = (undefined4 *)(*(code *)puVar1)(8);" (assignment_expression "puVar3 = (undefined4 *)(*(code *)puVar1)(8)" identifier = (cast_expression "(undefined4 *)(*(code *)puVar1)(8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)puVar1)(8)" (parenthesized_expression "(*(code *)puVar1)" ( (pointer_expression "*(code *)puVar1" * (cast_expression "(code *)puVar1" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(8)" ( number_literal ))))) ;) (expression_statement "puVar3[1] = 0;" (assignment_expression "puVar3[1] = 0" (subscript_expression "puVar3[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*puVar3 = PTR_vtable_004322c0 + 8;" (assignment_expression "*puVar3 = PTR_vtable_004322c0 + 8" (pointer_expression "*puVar3" * identifier) = (binary_expression "PTR_vtable_004322c0 + 8" identifier + number_literal)) ;) (if_statement "if (puVar2 == (undefined *)0x0) {\n    puVar3[1] = 1;\n  }\n  else {\n    SYNC(0);\n    puVar3[1] = puVar3[1] + 1;\n    SYNC(0);\n  }" if (parenthesized_expression "(puVar2 == (undefined *)0x0)" ( (binary_expression "puVar2 == (undefined *)0x0" identifier == (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    puVar3[1] = 1;\n  }" { (expression_statement "puVar3[1] = 1;" (assignment_expression "puVar3[1] = 1" (subscript_expression "puVar3[1]" identifier [ number_literal ]) = number_literal) ;) }) (else_clause "else {\n    SYNC(0);\n    puVar3[1] = puVar3[1] + 1;\n    SYNC(0);\n  }" else (compound_statement "{\n    SYNC(0);\n    puVar3[1] = puVar3[1] + 1;\n    SYNC(0);\n  }" { (expression_statement "SYNC(0);" (call_expression "SYNC(0)" identifier (argument_list "(0)" ( number_literal ))) ;) (expression_statement "puVar3[1] = puVar3[1] + 1;" (assignment_expression "puVar3[1] = puVar3[1] + 1" (subscript_expression "puVar3[1]" identifier [ number_literal ]) = (binary_expression "puVar3[1] + 1" (subscript_expression "puVar3[1]" identifier [ number_literal ]) + number_literal)) ;) (expression_statement "SYNC(0);" (call_expression "SYNC(0)" identifier (argument_list "(0)" ( number_literal ))) ;) }))) (expression_statement "iVar6 = *(int *)(param_1 + 4);" (assignment_expression "iVar6 = *(int *)(param_1 + 4)" identifier = (pointer_expression "*(int *)(param_1 + 4)" * (cast_expression "(int *)(param_1 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 4)" ( (binary_expression "param_1 + 4" identifier + number_literal) ))))) ;) (expression_statement "iVar4 = (*(code *)PTR__M_id_00433800)(PTR_id_00432304);" (assignment_expression "iVar4 = (*(code *)PTR__M_id_00433800)(PTR_id_00432304)" identifier = (call_expression "(*(code *)PTR__M_id_00433800)(PTR_id_00432304)" (parenthesized_expression "(*(code *)PTR__M_id_00433800)" ( (pointer_expression "*(code *)PTR__M_id_00433800" * (cast_expression "(code *)PTR__M_id_00433800" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_id_00432304)" ( identifier )))) ;) (expression_statement "puVar1 = PTR_operator_new_0043233c;" (assignment_expression "puVar1 = PTR_operator_new_0043233c" identifier = identifier) ;) (expression_statement "*(undefined4 **)(iVar6 + iVar4 * 4) = puVar3;" (assignment_expression "*(undefined4 **)(iVar6 + iVar4 * 4) = puVar3" (pointer_expression "*(undefined4 **)(iVar6 + iVar4 * 4)" * (cast_expression "(undefined4 **)(iVar6 + iVar4 * 4)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar6 + iVar4 * 4)" ( (binary_expression "iVar6 + iVar4 * 4" identifier + (binary_expression "iVar4 * 4" identifier * number_literal)) )))) = identifier) ;) (expression_statement "iVar4 = (*(code *)puVar1)(0x10);" (assignment_expression "iVar4 = (*(code *)puVar1)(0x10)" identifier = (call_expression "(*(code *)puVar1)(0x10)" (parenthesized_expression "(*(code *)puVar1)" ( (pointer_expression "*(code *)puVar1" * (cast_expression "(code *)puVar1" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0x10)" ( number_literal )))) ;) (expression_statement "(*(code *)PTR_messages_0043644c)(iVar4,*param_2,param_4,0);" (call_expression "(*(code *)PTR_messages_0043644c)(iVar4,*param_2,param_4,0)" (parenthesized_expression "(*(code *)PTR_messages_0043644c)" ( (pointer_expression "*(code *)PTR_messages_0043644c" * (cast_expression "(code *)PTR_messages_0043644c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar4,*param_2,param_4,0)" ( identifier , (pointer_expression "*param_2" * identifier) , identifier , number_literal ))) ;) (if_statement "if (puVar2 == (undefined *)0x0) {\n    *(int *)(iVar4 + 4) = *(int *)(iVar4 + 4) + 1;\n  }\n  else {\n    SYNC(0);\n    *(int *)(iVar4 + 4) = *(int *)(iVar4 + 4) + 1;\n    SYNC(0);\n  }" if (parenthesized_expression "(puVar2 == (undefined *)0x0)" ( (binary_expression "puVar2 == (undefined *)0x0" identifier == (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    *(int *)(iVar4 + 4) = *(int *)(iVar4 + 4) + 1;\n  }" { (expression_statement "*(int *)(iVar4 + 4) = *(int *)(iVar4 + 4) + 1;" (assignment_expression "*(int *)(iVar4 + 4) = *(int *)(iVar4 + 4) + 1" (pointer_expression "*(int *)(iVar4 + 4)" * (cast_expression "(int *)(iVar4 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 4)" ( (binary_expression "iVar4 + 4" identifier + number_literal) )))) = (binary_expression "*(int *)(iVar4 + 4) + 1" (pointer_expression "*(int *)(iVar4 + 4)" * (cast_expression "(int *)(iVar4 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 4)" ( (binary_expression "iVar4 + 4" identifier + number_literal) )))) + number_literal)) ;) }) (else_clause "else {\n    SYNC(0);\n    *(int *)(iVar4 + 4) = *(int *)(iVar4 + 4) + 1;\n    SYNC(0);\n  }" else (compound_statement "{\n    SYNC(0);\n    *(int *)(iVar4 + 4) = *(int *)(iVar4 + 4) + 1;\n    SYNC(0);\n  }" { (expression_statement "SYNC(0);" (call_expression "SYNC(0)" identifier (argument_list "(0)" ( number_literal ))) ;) (expression_statement "*(int *)(iVar4 + 4) = *(int *)(iVar4 + 4) + 1;" (assignment_expression "*(int *)(iVar4 + 4) = *(int *)(iVar4 + 4) + 1" (pointer_expression "*(int *)(iVar4 + 4)" * (cast_expression "(int *)(iVar4 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 4)" ( (binary_expression "iVar4 + 4" identifier + number_literal) )))) = (binary_expression "*(int *)(iVar4 + 4) + 1" (pointer_expression "*(int *)(iVar4 + 4)" * (cast_expression "(int *)(iVar4 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 4)" ( (binary_expression "iVar4 + 4" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "SYNC(0);" (call_expression "SYNC(0)" identifier (argument_list "(0)" ( number_literal ))) ;) }))) (expression_statement "iVar7 = *(int *)(param_1 + 4);" (assignment_expression "iVar7 = *(int *)(param_1 + 4)" identifier = (pointer_expression "*(int *)(param_1 + 4)" * (cast_expression "(int *)(param_1 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 4)" ( (binary_expression "param_1 + 4" identifier + number_literal) ))))) ;) (expression_statement "iVar6 = (*(code *)PTR__M_id_00433800)(PTR_id_00432318);" (assignment_expression "iVar6 = (*(code *)PTR__M_id_00433800)(PTR_id_00432318)" identifier = (call_expression "(*(code *)PTR__M_id_00433800)(PTR_id_00432318)" (parenthesized_expression "(*(code *)PTR__M_id_00433800)" ( (pointer_expression "*(code *)PTR__M_id_00433800" * (cast_expression "(code *)PTR__M_id_00433800" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_id_00432318)" ( identifier )))) ;) (expression_statement "puVar1 = PTR_operator_new_0043233c;" (assignment_expression "puVar1 = PTR_operator_new_0043233c" identifier = identifier) ;) (expression_statement "*(int *)(iVar7 + iVar6 * 4) = iVar4;" (assignment_expression "*(int *)(iVar7 + iVar6 * 4) = iVar4" (pointer_expression "*(int *)(iVar7 + iVar6 * 4)" * (cast_expression "(int *)(iVar7 + iVar6 * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + iVar6 * 4)" ( (binary_expression "iVar7 + iVar6 * 4" identifier + (binary_expression "iVar6 * 4" identifier * number_literal)) )))) = identifier) ;) (expression_statement "puVar3 = (undefined4 *)(*(code *)puVar1)(0xc);" (assignment_expression "puVar3 = (undefined4 *)(*(code *)puVar1)(0xc)" identifier = (cast_expression "(undefined4 *)(*(code *)puVar1)(0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)puVar1)(0xc)" (parenthesized_expression "(*(code *)puVar1)" ( (pointer_expression "*(code *)puVar1" * (cast_expression "(code *)puVar1" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0xc)" ( number_literal ))))) ;) (expression_statement "uVar5 = *param_2;" (assignment_expression "uVar5 = *param_2" identifier = (pointer_expression "*param_2" * identifier)) ;) (expression_statement "puVar3[1] = 0;" (assignment_expression "puVar3[1] = 0" (subscript_expression "puVar3[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar3[2] = 0;" (assignment_expression "puVar3[2] = 0" (subscript_expression "puVar3[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar1 = PTR__M_initialize_numpunct_00432384;" (assignment_expression "puVar1 = PTR__M_initialize_numpunct_00432384" identifier = identifier) ;) (expression_statement "*puVar3 = PTR_vtable_00432380 + 8;" (assignment_expression "*puVar3 = PTR_vtable_00432380 + 8" (pointer_expression "*puVar3" * identifier) = (binary_expression "PTR_vtable_00432380 + 8" identifier + number_literal)) ;) (expression_statement "(*(code *)puVar1)(puVar3,uVar5);" (call_expression "(*(code *)puVar1)(puVar3,uVar5)" (parenthesized_expression "(*(code *)puVar1)" ( (pointer_expression "*(code *)puVar1" * (cast_expression "(code *)puVar1" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar3,uVar5)" ( identifier , identifier ))) ;) (if_statement "if (puVar2 == (undefined *)0x0) {\n    puVar3[1] = puVar3[1] + 1;\n  }\n  else {\n    SYNC(0);\n    puVar3[1] = puVar3[1] + 1;\n    SYNC(0);\n  }" if (parenthesized_expression "(puVar2 == (undefined *)0x0)" ( (binary_expression "puVar2 == (undefined *)0x0" identifier == (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    puVar3[1] = puVar3[1] + 1;\n  }" { (expression_statement "puVar3[1] = puVar3[1] + 1;" (assignment_expression "puVar3[1] = puVar3[1] + 1" (subscript_expression "puVar3[1]" identifier [ number_literal ]) = (binary_expression "puVar3[1] + 1" (subscript_expression "puVar3[1]" identifier [ number_literal ]) + number_literal)) ;) }) (else_clause "else {\n    SYNC(0);\n    puVar3[1] = puVar3[1] + 1;\n    SYNC(0);\n  }" else (compound_statement "{\n    SYNC(0);\n    puVar3[1] = puVar3[1] + 1;\n    SYNC(0);\n  }" { (expression_statement "SYNC(0);" (call_expression "SYNC(0)" identifier (argument_list "(0)" ( number_literal ))) ;) (expression_statement "puVar3[1] = puVar3[1] + 1;" (assignment_expression "puVar3[1] = puVar3[1] + 1" (subscript_expression "puVar3[1]" identifier [ number_literal ]) = (binary_expression "puVar3[1] + 1" (subscript_expression "puVar3[1]" identifier [ number_literal ]) + number_literal)) ;) (expression_statement "SYNC(0);" (call_expression "SYNC(0)" identifier (argument_list "(0)" ( number_literal ))) ;) }))) (expression_statement "iVar6 = *(int *)(param_1 + 4);" (assignment_expression "iVar6 = *(int *)(param_1 + 4)" identifier = (pointer_expression "*(int *)(param_1 + 4)" * (cast_expression "(int *)(param_1 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 4)" ( (binary_expression "param_1 + 4" identifier + number_literal) ))))) ;) (expression_statement "iVar4 = (*(code *)PTR__M_id_00433800)(PTR_id_0043231c);" (assignment_expression "iVar4 = (*(code *)PTR__M_id_00433800)(PTR_id_0043231c)" identifier = (call_expression "(*(code *)PTR__M_id_00433800)(PTR_id_0043231c)" (parenthesized_expression "(*(code *)PTR__M_id_00433800)" ( (pointer_expression "*(code *)PTR__M_id_00433800" * (cast_expression "(code *)PTR__M_id_00433800" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_id_0043231c)" ( identifier )))) ;) (expression_statement "puVar1 = PTR_operator_new_0043233c;" (assignment_expression "puVar1 = PTR_operator_new_0043233c" identifier = identifier) ;) (expression_statement "*(undefined4 **)(iVar6 + iVar4 * 4) = puVar3;" (assignment_expression "*(undefined4 **)(iVar6 + iVar4 * 4) = puVar3" (pointer_expression "*(undefined4 **)(iVar6 + iVar4 * 4)" * (cast_expression "(undefined4 **)(iVar6 + iVar4 * 4)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar6 + iVar4 * 4)" ( (binary_expression "iVar6 + iVar4 * 4" identifier + (binary_expression "iVar4 * 4" identifier * number_literal)) )))) = identifier) ;) (expression_statement "puVar3 = (undefined4 *)(*(code *)puVar1)(0xc);" (assignment_expression "puVar3 = (undefined4 *)(*(code *)puVar1)(0xc)" identifier = (cast_expression "(undefined4 *)(*(code *)puVar1)(0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)puVar1)(0xc)" (parenthesized_expression "(*(code *)puVar1)" ( (pointer_expression "*(code *)puVar1" * (cast_expression "(code *)puVar1" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0xc)" ( number_literal ))))) ;) (expression_statement "local_30[0] = *param_2;" (assignment_expression "local_30[0] = *param_2" (subscript_expression "local_30[0]" identifier [ number_literal ]) = (pointer_expression "*param_2" * identifier)) ;) (expression_statement "puVar3[1] = 0;" (assignment_expression "puVar3[1] = 0" (subscript_expression "puVar3[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar1 = PTR__S_clone_c_locale_004337ec;" (assignment_expression "puVar1 = PTR__S_clone_c_locale_004337ec" identifier = identifier) ;) (expression_statement "*puVar3 = PTR_vtable_00432280 + 8;" (assignment_expression "*puVar3 = PTR_vtable_00432280 + 8" (pointer_expression "*puVar3" * identifier) = (binary_expression "PTR_vtable_00432280 + 8" identifier + number_literal)) ;) (expression_statement "uVar5 = (*(code *)puVar1)(local_30);" (assignment_expression "uVar5 = (*(code *)puVar1)(local_30)" identifier = (call_expression "(*(code *)puVar1)(local_30)" (parenthesized_expression "(*(code *)puVar1)" ( (pointer_expression "*(code *)puVar1" * (cast_expression "(code *)puVar1" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(local_30)" ( identifier )))) ;) (expression_statement "puVar3[2] = uVar5;" (assignment_expression "puVar3[2] = uVar5" (subscript_expression "puVar3[2]" identifier [ number_literal ]) = identifier) ;) (if_statement "if (puVar2 == (undefined *)0x0) {\n    puVar3[1] = puVar3[1] + 1;\n  }\n  else {\n    SYNC(0);\n    puVar3[1] = puVar3[1] + 1;\n    SYNC(0);\n  }" if (parenthesized_expression "(puVar2 == (undefined *)0x0)" ( (binary_expression "puVar2 == (undefined *)0x0" identifier == (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    puVar3[1] = puVar3[1] + 1;\n  }" { (expression_statement "puVar3[1] = puVar3[1] + 1;" (assignment_expression "puVar3[1] = puVar3[1] + 1" (subscript_expression "puVar3[1]" identifier [ number_literal ]) = (binary_expression "puVar3[1] + 1" (subscript_expression "puVar3[1]" identifier [ number_literal ]) + number_literal)) ;) }) (else_clause "else {\n    SYNC(0);\n    puVar3[1] = puVar3[1] + 1;\n    SYNC(0);\n  }" else (compound_statement "{\n    SYNC(0);\n    puVar3[1] = puVar3[1] + 1;\n    SYNC(0);\n  }" { (expression_statement "SYNC(0);" (call_expression "SYNC(0)" identifier (argument_list "(0)" ( number_literal ))) ;) (expression_statement "puVar3[1] = puVar3[1] + 1;" (assignment_expression "puVar3[1] = puVar3[1] + 1" (subscript_expression "puVar3[1]" identifier [ number_literal ]) = (binary_expression "puVar3[1] + 1" (subscript_expression "puVar3[1]" identifier [ number_literal ]) + number_literal)) ;) (expression_statement "SYNC(0);" (call_expression "SYNC(0)" identifier (argument_list "(0)" ( number_literal ))) ;) }))) (expression_statement "iVar6 = *(int *)(param_1 + 4);" (assignment_expression "iVar6 = *(int *)(param_1 + 4)" identifier = (pointer_expression "*(int *)(param_1 + 4)" * (cast_expression "(int *)(param_1 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 4)" ( (binary_expression "param_1 + 4" identifier + number_literal) ))))) ;) (expression_statement "iVar4 = (*(code *)PTR__M_id_00433800)(PTR_id_00432320);" (assignment_expression "iVar4 = (*(code *)PTR__M_id_00433800)(PTR_id_00432320)" identifier = (call_expression "(*(code *)PTR__M_id_00433800)(PTR_id_00432320)" (parenthesized_expression "(*(code *)PTR__M_id_00433800)" ( (pointer_expression "*(code *)PTR__M_id_00433800" * (cast_expression "(code *)PTR__M_id_00433800" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_id_00432320)" ( identifier )))) ;) (expression_statement "puVar1 = PTR_operator_new_0043233c;" (assignment_expression "puVar1 = PTR_operator_new_0043233c" identifier = identifier) ;) (expression_statement "*(undefined4 **)(iVar6 + iVar4 * 4) = puVar3;" (assignment_expression "*(undefined4 **)(iVar6 + iVar4 * 4) = puVar3" (pointer_expression "*(undefined4 **)(iVar6 + iVar4 * 4)" * (cast_expression "(undefined4 **)(iVar6 + iVar4 * 4)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar6 + iVar4 * 4)" ( (binary_expression "iVar6 + iVar4 * 4" identifier + (binary_expression "iVar4 * 4" identifier * number_literal)) )))) = identifier) ;) (expression_statement "puVar3 = (undefined4 *)(*(code *)puVar1)(0xc);" (assignment_expression "puVar3 = (undefined4 *)(*(code *)puVar1)(0xc)" identifier = (cast_expression "(undefined4 *)(*(code *)puVar1)(0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)puVar1)(0xc)" (parenthesized_expression "(*(code *)puVar1)" ( (pointer_expression "*(code *)puVar1" * (cast_expression "(code *)puVar1" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0xc)" ( number_literal ))))) ;) (expression_statement "uVar5 = *param_3;" (assignment_expression "uVar5 = *param_3" identifier = (pointer_expression "*param_3" * identifier)) ;) (expression_statement "puVar3[1] = 0;" (assignment_expression "puVar3[1] = 0" (subscript_expression "puVar3[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar3[2] = 0;" (assignment_expression "puVar3[2] = 0" (subscript_expression "puVar3[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar1 = PTR__M_initialize_moneypunct_004323a4;" (assignment_expression "puVar1 = PTR__M_initialize_moneypunct_004323a4" identifier = identifier) ;) (expression_statement "*puVar3 = PTR_vtable_004323a0 + 8;" (assignment_expression "*puVar3 = PTR_vtable_004323a0 + 8" (pointer_expression "*puVar3" * identifier) = (binary_expression "PTR_vtable_004323a0 + 8" identifier + number_literal)) ;) (expression_statement "(*(code *)puVar1)(puVar3,uVar5,param_5);" (call_expression "(*(code *)puVar1)(puVar3,uVar5,param_5)" (parenthesized_expression "(*(code *)puVar1)" ( (pointer_expression "*(code *)puVar1" * (cast_expression "(code *)puVar1" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar3,uVar5,param_5)" ( identifier , identifier , identifier ))) ;) (if_statement "if (puVar2 == (undefined *)0x0) {\n    puVar3[1] = puVar3[1] + 1;\n  }\n  else {\n    SYNC(0);\n    puVar3[1] = puVar3[1] + 1;\n    SYNC(0);\n  }" if (parenthesized_expression "(puVar2 == (undefined *)0x0)" ( (binary_expression "puVar2 == (undefined *)0x0" identifier == (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    puVar3[1] = puVar3[1] + 1;\n  }" { (expression_statement "puVar3[1] = puVar3[1] + 1;" (assignment_expression "puVar3[1] = puVar3[1] + 1" (subscript_expression "puVar3[1]" identifier [ number_literal ]) = (binary_expression "puVar3[1] + 1" (subscript_expression "puVar3[1]" identifier [ number_literal ]) + number_literal)) ;) }) (else_clause "else {\n    SYNC(0);\n    puVar3[1] = puVar3[1] + 1;\n    SYNC(0);\n  }" else (compound_statement "{\n    SYNC(0);\n    puVar3[1] = puVar3[1] + 1;\n    SYNC(0);\n  }" { (expression_statement "SYNC(0);" (call_expression "SYNC(0)" identifier (argument_list "(0)" ( number_literal ))) ;) (expression_statement "puVar3[1] = puVar3[1] + 1;" (assignment_expression "puVar3[1] = puVar3[1] + 1" (subscript_expression "puVar3[1]" identifier [ number_literal ]) = (binary_expression "puVar3[1] + 1" (subscript_expression "puVar3[1]" identifier [ number_literal ]) + number_literal)) ;) (expression_statement "SYNC(0);" (call_expression "SYNC(0)" identifier (argument_list "(0)" ( number_literal ))) ;) }))) (expression_statement "iVar6 = *(int *)(param_1 + 4);" (assignment_expression "iVar6 = *(int *)(param_1 + 4)" identifier = (pointer_expression "*(int *)(param_1 + 4)" * (cast_expression "(int *)(param_1 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 4)" ( (binary_expression "param_1 + 4" identifier + number_literal) ))))) ;) (expression_statement "iVar4 = (*(code *)PTR__M_id_00433800)(PTR_id_00432334);" (assignment_expression "iVar4 = (*(code *)PTR__M_id_00433800)(PTR_id_00432334)" identifier = (call_expression "(*(code *)PTR__M_id_00433800)(PTR_id_00432334)" (parenthesized_expression "(*(code *)PTR__M_id_00433800)" ( (pointer_expression "*(code *)PTR__M_id_00433800" * (cast_expression "(code *)PTR__M_id_00433800" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_id_00432334)" ( identifier )))) ;) (expression_statement "puVar1 = PTR_operator_new_0043233c;" (assignment_expression "puVar1 = PTR_operator_new_0043233c" identifier = identifier) ;) (expression_statement "*(undefined4 **)(iVar6 + iVar4 * 4) = puVar3;" (assignment_expression "*(undefined4 **)(iVar6 + iVar4 * 4) = puVar3" (pointer_expression "*(undefined4 **)(iVar6 + iVar4 * 4)" * (cast_expression "(undefined4 **)(iVar6 + iVar4 * 4)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar6 + iVar4 * 4)" ( (binary_expression "iVar6 + iVar4 * 4" identifier + (binary_expression "iVar4 * 4" identifier * number_literal)) )))) = identifier) ;) (expression_statement "puVar3 = (undefined4 *)(*(code *)puVar1)(0xc);" (assignment_expression "puVar3 = (undefined4 *)(*(code *)puVar1)(0xc)" identifier = (cast_expression "(undefined4 *)(*(code *)puVar1)(0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)puVar1)(0xc)" (parenthesized_expression "(*(code *)puVar1)" ( (pointer_expression "*(code *)puVar1" * (cast_expression "(code *)puVar1" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0xc)" ( number_literal ))))) ;) (expression_statement "uVar5 = *param_3;" (assignment_expression "uVar5 = *param_3" identifier = (pointer_expression "*param_3" * identifier)) ;) (expression_statement "puVar3[1] = 0;" (assignment_expression "puVar3[1] = 0" (subscript_expression "puVar3[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar3[2] = 0;" (assignment_expression "puVar3[2] = 0" (subscript_expression "puVar3[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar1 = PTR__M_initialize_moneypunct_00432394;" (assignment_expression "puVar1 = PTR__M_initialize_moneypunct_00432394" identifier = identifier) ;) (expression_statement "*puVar3 = PTR_vtable_00432390 + 8;" (assignment_expression "*puVar3 = PTR_vtable_00432390 + 8" (pointer_expression "*puVar3" * identifier) = (binary_expression "PTR_vtable_00432390 + 8" identifier + number_literal)) ;) (expression_statement "(*(code *)puVar1)(puVar3,uVar5,param_5);" (call_expression "(*(code *)puVar1)(puVar3,uVar5,param_5)" (parenthesized_expression "(*(code *)puVar1)" ( (pointer_expression "*(code *)puVar1" * (cast_expression "(code *)puVar1" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar3,uVar5,param_5)" ( identifier , identifier , identifier ))) ;) (if_statement "if (puVar2 == (undefined *)0x0) {\n    puVar3[1] = puVar3[1] + 1;\n  }\n  else {\n    SYNC(0);\n    puVar3[1] = puVar3[1] + 1;\n    SYNC(0);\n  }" if (parenthesized_expression "(puVar2 == (undefined *)0x0)" ( (binary_expression "puVar2 == (undefined *)0x0" identifier == (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    puVar3[1] = puVar3[1] + 1;\n  }" { (expression_statement "puVar3[1] = puVar3[1] + 1;" (assignment_expression "puVar3[1] = puVar3[1] + 1" (subscript_expression "puVar3[1]" identifier [ number_literal ]) = (binary_expression "puVar3[1] + 1" (subscript_expression "puVar3[1]" identifier [ number_literal ]) + number_literal)) ;) }) (else_clause "else {\n    SYNC(0);\n    puVar3[1] = puVar3[1] + 1;\n    SYNC(0);\n  }" else (compound_statement "{\n    SYNC(0);\n    puVar3[1] = puVar3[1] + 1;\n    SYNC(0);\n  }" { (expression_statement "SYNC(0);" (call_expression "SYNC(0)" identifier (argument_list "(0)" ( number_literal ))) ;) (expression_statement "puVar3[1] = puVar3[1] + 1;" (assignment_expression "puVar3[1] = puVar3[1] + 1" (subscript_expression "puVar3[1]" identifier [ number_literal ]) = (binary_expression "puVar3[1] + 1" (subscript_expression "puVar3[1]" identifier [ number_literal ]) + number_literal)) ;) (expression_statement "SYNC(0);" (call_expression "SYNC(0)" identifier (argument_list "(0)" ( number_literal ))) ;) }))) (expression_statement "iVar6 = *(int *)(param_1 + 4);" (assignment_expression "iVar6 = *(int *)(param_1 + 4)" identifier = (pointer_expression "*(int *)(param_1 + 4)" * (cast_expression "(int *)(param_1 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 4)" ( (binary_expression "param_1 + 4" identifier + number_literal) ))))) ;) (expression_statement "iVar4 = (*(code *)PTR__M_id_00433800)(PTR_id_00432330);" (assignment_expression "iVar4 = (*(code *)PTR__M_id_00433800)(PTR_id_00432330)" identifier = (call_expression "(*(code *)PTR__M_id_00433800)(PTR_id_00432330)" (parenthesized_expression "(*(code *)PTR__M_id_00433800)" ( (pointer_expression "*(code *)PTR__M_id_00433800" * (cast_expression "(code *)PTR__M_id_00433800" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_id_00432330)" ( identifier )))) ;) (expression_statement "puVar1 = PTR_operator_new_0043233c;" (assignment_expression "puVar1 = PTR_operator_new_0043233c" identifier = identifier) ;) (expression_statement "*(undefined4 **)(iVar6 + iVar4 * 4) = puVar3;" (assignment_expression "*(undefined4 **)(iVar6 + iVar4 * 4) = puVar3" (pointer_expression "*(undefined4 **)(iVar6 + iVar4 * 4)" * (cast_expression "(undefined4 **)(iVar6 + iVar4 * 4)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar6 + iVar4 * 4)" ( (binary_expression "iVar6 + iVar4 * 4" identifier + (binary_expression "iVar4 * 4" identifier * number_literal)) )))) = identifier) ;) (expression_statement "puVar3 = (undefined4 *)(*(code *)puVar1)(8);" (assignment_expression "puVar3 = (undefined4 *)(*(code *)puVar1)(8)" identifier = (cast_expression "(undefined4 *)(*(code *)puVar1)(8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)puVar1)(8)" (parenthesized_expression "(*(code *)puVar1)" ( (pointer_expression "*(code *)puVar1" * (cast_expression "(code *)puVar1" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(8)" ( number_literal ))))) ;) (expression_statement "puVar3[1] = 0;" (assignment_expression "puVar3[1] = 0" (subscript_expression "puVar3[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*puVar3 = PTR_vtable_004322c8 + 8;" (assignment_expression "*puVar3 = PTR_vtable_004322c8 + 8" (pointer_expression "*puVar3" * identifier) = (binary_expression "PTR_vtable_004322c8 + 8" identifier + number_literal)) ;) (if_statement "if (puVar2 == (undefined *)0x0) {\n    puVar3[1] = 1;\n  }\n  else {\n    SYNC(0);\n    puVar3[1] = puVar3[1] + 1;\n    SYNC(0);\n  }" if (parenthesized_expression "(puVar2 == (undefined *)0x0)" ( (binary_expression "puVar2 == (undefined *)0x0" identifier == (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    puVar3[1] = 1;\n  }" { (expression_statement "puVar3[1] = 1;" (assignment_expression "puVar3[1] = 1" (subscript_expression "puVar3[1]" identifier [ number_literal ]) = number_literal) ;) }) (else_clause "else {\n    SYNC(0);\n    puVar3[1] = puVar3[1] + 1;\n    SYNC(0);\n  }" else (compound_statement "{\n    SYNC(0);\n    puVar3[1] = puVar3[1] + 1;\n    SYNC(0);\n  }" { (expression_statement "SYNC(0);" (call_expression "SYNC(0)" identifier (argument_list "(0)" ( number_literal ))) ;) (expression_statement "puVar3[1] = puVar3[1] + 1;" (assignment_expression "puVar3[1] = puVar3[1] + 1" (subscript_expression "puVar3[1]" identifier [ number_literal ]) = (binary_expression "puVar3[1] + 1" (subscript_expression "puVar3[1]" identifier [ number_literal ]) + number_literal)) ;) (expression_statement "SYNC(0);" (call_expression "SYNC(0)" identifier (argument_list "(0)" ( number_literal ))) ;) }))) (expression_statement "iVar6 = *(int *)(param_1 + 4);" (assignment_expression "iVar6 = *(int *)(param_1 + 4)" identifier = (pointer_expression "*(int *)(param_1 + 4)" * (cast_expression "(int *)(param_1 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 4)" ( (binary_expression "param_1 + 4" identifier + number_literal) ))))) ;) (expression_statement "iVar4 = (*(code *)PTR__M_id_00433800)(PTR_id_00432328);" (assignment_expression "iVar4 = (*(code *)PTR__M_id_00433800)(PTR_id_00432328)" identifier = (call_expression "(*(code *)PTR__M_id_00433800)(PTR_id_00432328)" (parenthesized_expression "(*(code *)PTR__M_id_00433800)" ( (pointer_expression "*(code *)PTR__M_id_00433800" * (cast_expression "(code *)PTR__M_id_00433800" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_id_00432328)" ( identifier )))) ;) (expression_statement "puVar1 = PTR_operator_new_0043233c;" (assignment_expression "puVar1 = PTR_operator_new_0043233c" identifier = identifier) ;) (expression_statement "*(undefined4 **)(iVar6 + iVar4 * 4) = puVar3;" (assignment_expression "*(undefined4 **)(iVar6 + iVar4 * 4) = puVar3" (pointer_expression "*(undefined4 **)(iVar6 + iVar4 * 4)" * (cast_expression "(undefined4 **)(iVar6 + iVar4 * 4)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar6 + iVar4 * 4)" ( (binary_expression "iVar6 + iVar4 * 4" identifier + (binary_expression "iVar4 * 4" identifier * number_literal)) )))) = identifier) ;) (expression_statement "puVar3 = (undefined4 *)(*(code *)puVar1)(8);" (assignment_expression "puVar3 = (undefined4 *)(*(code *)puVar1)(8)" identifier = (cast_expression "(undefined4 *)(*(code *)puVar1)(8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)puVar1)(8)" (parenthesized_expression "(*(code *)puVar1)" ( (pointer_expression "*(code *)puVar1" * (cast_expression "(code *)puVar1" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(8)" ( number_literal ))))) ;) (expression_statement "puVar3[1] = 0;" (assignment_expression "puVar3[1] = 0" (subscript_expression "puVar3[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*puVar3 = PTR_vtable_004322bc + 8;" (assignment_expression "*puVar3 = PTR_vtable_004322bc + 8" (pointer_expression "*puVar3" * identifier) = (binary_expression "PTR_vtable_004322bc + 8" identifier + number_literal)) ;) (if_statement "if (puVar2 == (undefined *)0x0) {\n    puVar3[1] = 1;\n  }\n  else {\n    SYNC(0);\n    puVar3[1] = puVar3[1] + 1;\n    SYNC(0);\n  }" if (parenthesized_expression "(puVar2 == (undefined *)0x0)" ( (binary_expression "puVar2 == (undefined *)0x0" identifier == (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    puVar3[1] = 1;\n  }" { (expression_statement "puVar3[1] = 1;" (assignment_expression "puVar3[1] = 1" (subscript_expression "puVar3[1]" identifier [ number_literal ]) = number_literal) ;) }) (else_clause "else {\n    SYNC(0);\n    puVar3[1] = puVar3[1] + 1;\n    SYNC(0);\n  }" else (compound_statement "{\n    SYNC(0);\n    puVar3[1] = puVar3[1] + 1;\n    SYNC(0);\n  }" { (expression_statement "SYNC(0);" (call_expression "SYNC(0)" identifier (argument_list "(0)" ( number_literal ))) ;) (expression_statement "puVar3[1] = puVar3[1] + 1;" (assignment_expression "puVar3[1] = puVar3[1] + 1" (subscript_expression "puVar3[1]" identifier [ number_literal ]) = (binary_expression "puVar3[1] + 1" (subscript_expression "puVar3[1]" identifier [ number_literal ]) + number_literal)) ;) (expression_statement "SYNC(0);" (call_expression "SYNC(0)" identifier (argument_list "(0)" ( number_literal ))) ;) }))) (expression_statement "iVar6 = *(int *)(param_1 + 4);" (assignment_expression "iVar6 = *(int *)(param_1 + 4)" identifier = (pointer_expression "*(int *)(param_1 + 4)" * (cast_expression "(int *)(param_1 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 4)" ( (binary_expression "param_1 + 4" identifier + number_literal) ))))) ;) (expression_statement "iVar4 = (*(code *)PTR__M_id_00433800)(PTR_id_0043232c);" (assignment_expression "iVar4 = (*(code *)PTR__M_id_00433800)(PTR_id_0043232c)" identifier = (call_expression "(*(code *)PTR__M_id_00433800)(PTR_id_0043232c)" (parenthesized_expression "(*(code *)PTR__M_id_00433800)" ( (pointer_expression "*(code *)PTR__M_id_00433800" * (cast_expression "(code *)PTR__M_id_00433800" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_id_0043232c)" ( identifier )))) ;) (expression_statement "puVar1 = PTR_operator_new_0043233c;" (assignment_expression "puVar1 = PTR_operator_new_0043233c" identifier = identifier) ;) (expression_statement "*(undefined4 **)(iVar6 + iVar4 * 4) = puVar3;" (assignment_expression "*(undefined4 **)(iVar6 + iVar4 * 4) = puVar3" (pointer_expression "*(undefined4 **)(iVar6 + iVar4 * 4)" * (cast_expression "(undefined4 **)(iVar6 + iVar4 * 4)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar6 + iVar4 * 4)" ( (binary_expression "iVar6 + iVar4 * 4" identifier + (binary_expression "iVar4 * 4" identifier * number_literal)) )))) = identifier) ;) (expression_statement "puVar3 = (undefined4 *)(*(code *)puVar1)(8);" (assignment_expression "puVar3 = (undefined4 *)(*(code *)puVar1)(8)" identifier = (cast_expression "(undefined4 *)(*(code *)puVar1)(8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)puVar1)(8)" (parenthesized_expression "(*(code *)puVar1)" ( (pointer_expression "*(code *)puVar1" * (cast_expression "(code *)puVar1" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(8)" ( number_literal ))))) ;) (expression_statement "puVar3[1] = 0;" (assignment_expression "puVar3[1] = 0" (subscript_expression "puVar3[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*puVar3 = PTR_vtable_004322c4 + 8;" (assignment_expression "*puVar3 = PTR_vtable_004322c4 + 8" (pointer_expression "*puVar3" * identifier) = (binary_expression "PTR_vtable_004322c4 + 8" identifier + number_literal)) ;) (if_statement "if (puVar2 == (undefined *)0x0) {\n    puVar3[1] = 1;\n  }\n  else {\n    SYNC(0);\n    puVar3[1] = puVar3[1] + 1;\n    SYNC(0);\n  }" if (parenthesized_expression "(puVar2 == (undefined *)0x0)" ( (binary_expression "puVar2 == (undefined *)0x0" identifier == (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    puVar3[1] = 1;\n  }" { (expression_statement "puVar3[1] = 1;" (assignment_expression "puVar3[1] = 1" (subscript_expression "puVar3[1]" identifier [ number_literal ]) = number_literal) ;) }) (else_clause "else {\n    SYNC(0);\n    puVar3[1] = puVar3[1] + 1;\n    SYNC(0);\n  }" else (compound_statement "{\n    SYNC(0);\n    puVar3[1] = puVar3[1] + 1;\n    SYNC(0);\n  }" { (expression_statement "SYNC(0);" (call_expression "SYNC(0)" identifier (argument_list "(0)" ( number_literal ))) ;) (expression_statement "puVar3[1] = puVar3[1] + 1;" (assignment_expression "puVar3[1] = puVar3[1] + 1" (subscript_expression "puVar3[1]" identifier [ number_literal ]) = (binary_expression "puVar3[1] + 1" (subscript_expression "puVar3[1]" identifier [ number_literal ]) + number_literal)) ;) (expression_statement "SYNC(0);" (call_expression "SYNC(0)" identifier (argument_list "(0)" ( number_literal ))) ;) }))) (expression_statement "iVar6 = *(int *)(param_1 + 4);" (assignment_expression "iVar6 = *(int *)(param_1 + 4)" identifier = (pointer_expression "*(int *)(param_1 + 4)" * (cast_expression "(int *)(param_1 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 4)" ( (binary_expression "param_1 + 4" identifier + number_literal) ))))) ;) (expression_statement "iVar4 = (*(code *)PTR__M_id_00433800)(PTR_id_00432324);" (assignment_expression "iVar4 = (*(code *)PTR__M_id_00433800)(PTR_id_00432324)" identifier = (call_expression "(*(code *)PTR__M_id_00433800)(PTR_id_00432324)" (parenthesized_expression "(*(code *)PTR__M_id_00433800)" ( (pointer_expression "*(code *)PTR__M_id_00433800" * (cast_expression "(code *)PTR__M_id_00433800" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_id_00432324)" ( identifier )))) ;) (expression_statement "puVar1 = PTR_operator_new_0043233c;" (assignment_expression "puVar1 = PTR_operator_new_0043233c" identifier = identifier) ;) (expression_statement "*(undefined4 **)(iVar6 + iVar4 * 4) = puVar3;" (assignment_expression "*(undefined4 **)(iVar6 + iVar4 * 4) = puVar3" (pointer_expression "*(undefined4 **)(iVar6 + iVar4 * 4)" * (cast_expression "(undefined4 **)(iVar6 + iVar4 * 4)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar6 + iVar4 * 4)" ( (binary_expression "iVar6 + iVar4 * 4" identifier + (binary_expression "iVar4 * 4" identifier * number_literal)) )))) = identifier) ;) (expression_statement "iVar4 = (*(code *)puVar1)(0x10);" (assignment_expression "iVar4 = (*(code *)puVar1)(0x10)" identifier = (call_expression "(*(code *)puVar1)(0x10)" (parenthesized_expression "(*(code *)puVar1)" ( (pointer_expression "*(code *)puVar1" * (cast_expression "(code *)puVar1" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0x10)" ( number_literal )))) ;) (expression_statement "(*(code *)PTR_messages_00436450)(iVar4,*param_2,param_4,0);" (call_expression "(*(code *)PTR_messages_00436450)(iVar4,*param_2,param_4,0)" (parenthesized_expression "(*(code *)PTR_messages_00436450)" ( (pointer_expression "*(code *)PTR_messages_00436450" * (cast_expression "(code *)PTR_messages_00436450" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar4,*param_2,param_4,0)" ( identifier , (pointer_expression "*param_2" * identifier) , identifier , number_literal ))) ;) (if_statement "if (puVar2 == (undefined *)0x0) {\n    *(int *)(iVar4 + 4) = *(int *)(iVar4 + 4) + 1;\n  }\n  else {\n    SYNC(0);\n    *(int *)(iVar4 + 4) = *(int *)(iVar4 + 4) + 1;\n    SYNC(0);\n  }" if (parenthesized_expression "(puVar2 == (undefined *)0x0)" ( (binary_expression "puVar2 == (undefined *)0x0" identifier == (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    *(int *)(iVar4 + 4) = *(int *)(iVar4 + 4) + 1;\n  }" { (expression_statement "*(int *)(iVar4 + 4) = *(int *)(iVar4 + 4) + 1;" (assignment_expression "*(int *)(iVar4 + 4) = *(int *)(iVar4 + 4) + 1" (pointer_expression "*(int *)(iVar4 + 4)" * (cast_expression "(int *)(iVar4 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 4)" ( (binary_expression "iVar4 + 4" identifier + number_literal) )))) = (binary_expression "*(int *)(iVar4 + 4) + 1" (pointer_expression "*(int *)(iVar4 + 4)" * (cast_expression "(int *)(iVar4 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 4)" ( (binary_expression "iVar4 + 4" identifier + number_literal) )))) + number_literal)) ;) }) (else_clause "else {\n    SYNC(0);\n    *(int *)(iVar4 + 4) = *(int *)(iVar4 + 4) + 1;\n    SYNC(0);\n  }" else (compound_statement "{\n    SYNC(0);\n    *(int *)(iVar4 + 4) = *(int *)(iVar4 + 4) + 1;\n    SYNC(0);\n  }" { (expression_statement "SYNC(0);" (call_expression "SYNC(0)" identifier (argument_list "(0)" ( number_literal ))) ;) (expression_statement "*(int *)(iVar4 + 4) = *(int *)(iVar4 + 4) + 1;" (assignment_expression "*(int *)(iVar4 + 4) = *(int *)(iVar4 + 4) + 1" (pointer_expression "*(int *)(iVar4 + 4)" * (cast_expression "(int *)(iVar4 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 4)" ( (binary_expression "iVar4 + 4" identifier + number_literal) )))) = (binary_expression "*(int *)(iVar4 + 4) + 1" (pointer_expression "*(int *)(iVar4 + 4)" * (cast_expression "(int *)(iVar4 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 4)" ( (binary_expression "iVar4 + 4" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "SYNC(0);" (call_expression "SYNC(0)" identifier (argument_list "(0)" ( number_literal ))) ;) }))) (expression_statement "iVar7 = *(int *)(param_1 + 4);" (assignment_expression "iVar7 = *(int *)(param_1 + 4)" identifier = (pointer_expression "*(int *)(param_1 + 4)" * (cast_expression "(int *)(param_1 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 4)" ( (binary_expression "param_1 + 4" identifier + number_literal) ))))) ;) (expression_statement "iVar6 = (*(code *)PTR__M_id_00433800)(PTR_id_00432338);" (assignment_expression "iVar6 = (*(code *)PTR__M_id_00433800)(PTR_id_00432338)" identifier = (call_expression "(*(code *)PTR__M_id_00433800)(PTR_id_00432338)" (parenthesized_expression "(*(code *)PTR__M_id_00433800)" ( (pointer_expression "*(code *)PTR__M_id_00433800" * (cast_expression "(code *)PTR__M_id_00433800" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_id_00432338)" ( identifier )))) ;) (expression_statement "*(int *)(iVar7 + iVar6 * 4) = iVar4;" (assignment_expression "*(int *)(iVar7 + iVar6 * 4) = iVar4" (pointer_expression "*(int *)(iVar7 + iVar6 * 4)" * (cast_expression "(int *)(iVar7 + iVar6 * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + iVar6 * 4)" ( (binary_expression "iVar7 + iVar6 * 4" identifier + (binary_expression "iVar6 * 4" identifier * number_literal)) )))) = identifier) ;) (return_statement "return;" return ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE (pointer_declarator * IDENT)) , (parameter_declaration TYPE (pointer_declarator * IDENT)) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) ))) (compound_statement { (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( LIT ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (binary_expression IDENT + LIT)) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression (subscript_expression IDENT [ LIT ]) + LIT)) ;) }) (else_clause else (compound_statement { (expression_statement (call_expression IDENT (argument_list ( LIT ))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression (subscript_expression IDENT [ LIT ]) + LIT)) ;) (expression_statement (call_expression IDENT (argument_list ( LIT ))) ;) }))) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT )))) ;) (expression_statement (assignment_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 + (binary_expression IDENT * LIT)) )))) = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( LIT ))))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression (subscript_expression IDENT [ LIT ]) + LIT)) ;) }) (else_clause else (compound_statement { (expression_statement (call_expression IDENT (argument_list ( LIT ))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression (subscript_expression IDENT [ LIT ]) + LIT)) ;) (expression_statement (call_expression IDENT (argument_list ( LIT ))) ;) }))) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT )))) ;) (expression_statement (assignment_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 + (binary_expression IDENT * LIT)) )))) = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( LIT ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (binary_expression IDENT + LIT)) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , IDENT , LIT ))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression (subscript_expression IDENT [ LIT ]) + LIT)) ;) }) (else_clause else (compound_statement { (expression_statement (call_expression IDENT (argument_list ( LIT ))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression (subscript_expression IDENT [ LIT ]) + LIT)) ;) (expression_statement (call_expression IDENT (argument_list ( LIT ))) ;) }))) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT )))) ;) (expression_statement (assignment_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 + (binary_expression IDENT * LIT)) )))) = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( LIT ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (binary_expression IDENT + LIT)) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , IDENT , LIT ))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression (subscript_expression IDENT [ LIT ]) + LIT)) ;) }) (else_clause else (compound_statement { (expression_statement (call_expression IDENT (argument_list ( LIT ))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression (subscript_expression IDENT [ LIT ]) + LIT)) ;) (expression_statement (call_expression IDENT (argument_list ( LIT ))) ;) }))) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT )))) ;) (expression_statement (assignment_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 + (binary_expression IDENT * LIT)) )))) = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( LIT ))))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) }) (else_clause else (compound_statement { (expression_statement (call_expression IDENT (argument_list ( LIT ))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression (subscript_expression IDENT [ LIT ]) + LIT)) ;) (expression_statement (call_expression IDENT (argument_list ( LIT ))) ;) }))) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT )))) ;) (expression_statement (assignment_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 + (binary_expression IDENT * LIT)) )))) = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( LIT ))))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) }) (else_clause else (compound_statement { (expression_statement (call_expression IDENT (argument_list ( LIT ))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression (subscript_expression IDENT [ LIT ]) + LIT)) ;) (expression_statement (call_expression IDENT (argument_list ( LIT ))) ;) }))) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT )))) ;) (expression_statement (assignment_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 + (binary_expression IDENT * LIT)) )))) = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( LIT ))))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) }) (else_clause else (compound_statement { (expression_statement (call_expression IDENT (argument_list ( LIT ))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression (subscript_expression IDENT [ LIT ]) + LIT)) ;) (expression_statement (call_expression IDENT (argument_list ( LIT ))) ;) }))) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT )))) ;) (expression_statement (assignment_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 + (binary_expression IDENT * LIT)) )))) = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( LIT )))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , (pointer_expression * IDENT) , IDENT , LIT ))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT)) ;) }) (else_clause else (compound_statement { (expression_statement (call_expression IDENT (argument_list ( LIT ))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT)) ;) (expression_statement (call_expression IDENT (argument_list ( LIT ))) ;) }))) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression IDENT * LIT)) )))) = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( LIT ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (binary_expression IDENT + LIT)) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , IDENT ))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression (subscript_expression IDENT [ LIT ]) + LIT)) ;) }) (else_clause else (compound_statement { (expression_statement (call_expression IDENT (argument_list ( LIT ))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression (subscript_expression IDENT [ LIT ]) + LIT)) ;) (expression_statement (call_expression IDENT (argument_list ( LIT ))) ;) }))) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT )))) ;) (expression_statement (assignment_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 + (binary_expression IDENT * LIT)) )))) = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( LIT ))))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression (subscript_expression IDENT [ LIT ]) + LIT)) ;) }) (else_clause else (compound_statement { (expression_statement (call_expression IDENT (argument_list ( LIT ))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression (subscript_expression IDENT [ LIT ]) + LIT)) ;) (expression_statement (call_expression IDENT (argument_list ( LIT ))) ;) }))) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT )))) ;) (expression_statement (assignment_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 + (binary_expression IDENT * LIT)) )))) = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( LIT ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (binary_expression IDENT + LIT)) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , IDENT , IDENT ))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression (subscript_expression IDENT [ LIT ]) + LIT)) ;) }) (else_clause else (compound_statement { (expression_statement (call_expression IDENT (argument_list ( LIT ))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression (subscript_expression IDENT [ LIT ]) + LIT)) ;) (expression_statement (call_expression IDENT (argument_list ( LIT ))) ;) }))) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT )))) ;) (expression_statement (assignment_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 + (binary_expression IDENT * LIT)) )))) = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( LIT ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (binary_expression IDENT + LIT)) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , IDENT , IDENT ))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression (subscript_expression IDENT [ LIT ]) + LIT)) ;) }) (else_clause else (compound_statement { (expression_statement (call_expression IDENT (argument_list ( LIT ))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression (subscript_expression IDENT [ LIT ]) + LIT)) ;) (expression_statement (call_expression IDENT (argument_list ( LIT ))) ;) }))) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT )))) ;) (expression_statement (assignment_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 + (binary_expression IDENT * LIT)) )))) = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( LIT ))))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) }) (else_clause else (compound_statement { (expression_statement (call_expression IDENT (argument_list ( LIT ))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression (subscript_expression IDENT [ LIT ]) + LIT)) ;) (expression_statement (call_expression IDENT (argument_list ( LIT ))) ;) }))) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT )))) ;) (expression_statement (assignment_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 + (binary_expression IDENT * LIT)) )))) = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( LIT ))))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) }) (else_clause else (compound_statement { (expression_statement (call_expression IDENT (argument_list ( LIT ))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression (subscript_expression IDENT [ LIT ]) + LIT)) ;) (expression_statement (call_expression IDENT (argument_list ( LIT ))) ;) }))) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT )))) ;) (expression_statement (assignment_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 + (binary_expression IDENT * LIT)) )))) = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( LIT ))))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) }) (else_clause else (compound_statement { (expression_statement (call_expression IDENT (argument_list ( LIT ))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression (subscript_expression IDENT [ LIT ]) + LIT)) ;) (expression_statement (call_expression IDENT (argument_list ( LIT ))) ;) }))) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT )))) ;) (expression_statement (assignment_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 + (binary_expression IDENT * LIT)) )))) = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( LIT )))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , (pointer_expression * IDENT) , IDENT , LIT ))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT)) ;) }) (else_clause else (compound_statement { (expression_statement (call_expression IDENT (argument_list ( LIT ))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT)) ;) (expression_statement (call_expression IDENT (argument_list ( LIT ))) ;) }))) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression IDENT * LIT)) )))) = IDENT) ;) (return_statement return ;) })))
(function_definition "void FUN_0035b100(int param_1,undefined4 *param_2,undefined4 *param_3,undefined4 param_4,\n                 undefined4 param_5)\n\n{\n  undefined *puVar1;\n  undefined *puVar2;\n  undefined4 *puVar3;\n  int iVar4;\n  undefined4 uVar5;\n  int iVar6;\n  int iVar7;\n  undefined4 local_30 [3];\n  \n  puVar3 = (undefined4 *)(*(code *)PTR_operator_new_0043233c)(0xc);\n  uVar5 = *param_2;\n  puVar3[1] = 0;\n  puVar3[2] = 0;\n  puVar2 = PTR__M_initialize_numpunct_0043234c;\n                    \n  *puVar3 = PTR_vtable_00432348 + 8;\n  (*(code *)puVar2)(puVar3,uVar5);\n  puVar2 = PTR___pthread_key_create_0043667c;\n  if (PTR___pthread_key_create_0043667c == (undefined *)0x0) {\n    puVar3[1] = puVar3[1] + 1;\n  }\n  else {\n    SYNC(0);\n    puVar3[1] = puVar3[1] + 1;\n    SYNC(0);\n  }\n  iVar6 = *(int *)(param_1 + 4);\n  iVar4 = (*(code *)PTR__M_id_00433800)(PTR_id_004322fc);\n  puVar1 = PTR_operator_new_0043233c;\n  *(undefined4 **)(iVar6 + iVar4 * 4) = puVar3;\n  puVar3 = (undefined4 *)(*(code *)puVar1)(0xc);\n  local_30[0] = *param_2;\n  puVar3[1] = 0;\n  puVar1 = PTR__S_clone_c_locale_004337ec;\n  *puVar3 = PTR_vtable_00432290 + 8;\n  uVar5 = (*(code *)puVar1)(local_30);\n  puVar3[2] = uVar5;\n  if (puVar2 == (undefined *)0x0) {\n    puVar3[1] = puVar3[1] + 1;\n  }\n  else {\n    SYNC(0);\n    puVar3[1] = puVar3[1] + 1;\n    SYNC(0);\n  }\n  iVar6 = *(int *)(param_1 + 4);\n  iVar4 = (*(code *)PTR__M_id_00433800)(PTR_id_00432300);\n  puVar1 = PTR_operator_new_0043233c;\n  *(undefined4 **)(iVar6 + iVar4 * 4) = puVar3;\n  puVar3 = (undefined4 *)(*(code *)puVar1)(0xc);\n  uVar5 = *param_2;\n  puVar3[1] = 0;\n  puVar3[2] = 0;\n  puVar1 = PTR__M_initialize_moneypunct_00432370;\n                    \n  *puVar3 = PTR_vtable_0043236c + 8;\n  (*(code *)puVar1)(puVar3,uVar5,0);\n  if (puVar2 == (undefined *)0x0) {\n    puVar3[1] = puVar3[1] + 1;\n  }\n  else {\n    SYNC(0);\n    puVar3[1] = puVar3[1] + 1;\n    SYNC(0);\n  }\n  iVar6 = *(int *)(param_1 + 4);\n  iVar4 = (*(code *)PTR__M_id_00433800)(PTR_id_00432314);\n  puVar1 = PTR_operator_new_0043233c;\n  *(undefined4 **)(iVar6 + iVar4 * 4) = puVar3;\n  puVar3 = (undefined4 *)(*(code *)puVar1)(0xc);\n  uVar5 = *param_2;\n  puVar3[1] = 0;\n  puVar3[2] = 0;\n  puVar1 = PTR__M_initialize_moneypunct_00432360;\n                    \n  *puVar3 = PTR_vtable_0043235c + 8;\n  (*(code *)puVar1)(puVar3,uVar5,0);\n  if (puVar2 == (undefined *)0x0) {\n    puVar3[1] = puVar3[1] + 1;\n  }\n  else {\n    SYNC(0);\n    puVar3[1] = puVar3[1] + 1;\n    SYNC(0);\n  }\n  iVar6 = *(int *)(param_1 + 4);\n  iVar4 = (*(code *)PTR__M_id_00433800)(PTR_id_00432310);\n  puVar1 = PTR_operator_new_0043233c;\n  *(undefined4 **)(iVar6 + iVar4 * 4) = puVar3;\n  puVar3 = (undefined4 *)(*(code *)puVar1)(8);\n  puVar3[1] = 0;\n  *puVar3 = PTR_vtable_004322b8 + 8;\n  if (puVar2 == (undefined *)0x0) {\n    puVar3[1] = 1;\n  }\n  else {\n    SYNC(0);\n    puVar3[1] = puVar3[1] + 1;\n    SYNC(0);\n  }\n  iVar6 = *(int *)(param_1 + 4);\n  iVar4 = (*(code *)PTR__M_id_00433800)(PTR_id_00432308);\n  puVar1 = PTR_operator_new_0043233c;\n  *(undefined4 **)(iVar6 + iVar4 * 4) = puVar3;\n  puVar3 = (undefined4 *)(*(code *)puVar1)(8);\n  puVar3[1] = 0;\n  *puVar3 = PTR_vtable_004322b4 + 8;\n  if (puVar2 == (undefined *)0x0) {\n    puVar3[1] = 1;\n  }\n  else {\n    SYNC(0);\n    puVar3[1] = puVar3[1] + 1;\n    SYNC(0);\n  }\n  iVar6 = *(int *)(param_1 + 4);\n  iVar4 = (*(code *)PTR__M_id_00433800)(PTR_id_0043230c);\n  puVar1 = PTR_operator_new_0043233c;\n  *(undefined4 **)(iVar6 + iVar4 * 4) = puVar3;\n  puVar3 = (undefined4 *)(*(code *)puVar1)(8);\n  puVar3[1] = 0;\n  *puVar3 = PTR_vtable_004322c0 + 8;\n  if (puVar2 == (undefined *)0x0) {\n    puVar3[1] = 1;\n  }\n  else {\n    SYNC(0);\n    puVar3[1] = puVar3[1] + 1;\n    SYNC(0);\n  }\n  iVar6 = *(int *)(param_1 + 4);\n  iVar4 = (*(code *)PTR__M_id_00433800)(PTR_id_00432304);\n  puVar1 = PTR_operator_new_0043233c;\n  *(undefined4 **)(iVar6 + iVar4 * 4) = puVar3;\n  iVar4 = (*(code *)puVar1)(0x10);\n                    \n  (*(code *)PTR_messages_0043644c)(iVar4,*param_2,param_4,0);\n  if (puVar2 == (undefined *)0x0) {\n    *(int *)(iVar4 + 4) = *(int *)(iVar4 + 4) + 1;\n  }\n  else {\n    SYNC(0);\n    *(int *)(iVar4 + 4) = *(int *)(iVar4 + 4) + 1;\n    SYNC(0);\n  }\n  iVar7 = *(int *)(param_1 + 4);\n  iVar6 = (*(code *)PTR__M_id_00433800)(PTR_id_00432318);\n  puVar1 = PTR_operator_new_0043233c;\n  *(int *)(iVar7 + iVar6 * 4) = iVar4;\n  puVar3 = (undefined4 *)(*(code *)puVar1)(0xc);\n  uVar5 = *param_2;\n  puVar3[1] = 0;\n  puVar3[2] = 0;\n  puVar1 = PTR__M_initialize_numpunct_00432384;\n                    \n  *puVar3 = PTR_vtable_00432380 + 8;\n  (*(code *)puVar1)(puVar3,uVar5);\n  if (puVar2 == (undefined *)0x0) {\n    puVar3[1] = puVar3[1] + 1;\n  }\n  else {\n    SYNC(0);\n    puVar3[1] = puVar3[1] + 1;\n    SYNC(0);\n  }\n  iVar6 = *(int *)(param_1 + 4);\n  iVar4 = (*(code *)PTR__M_id_00433800)(PTR_id_0043231c);\n  puVar1 = PTR_operator_new_0043233c;\n  *(undefined4 **)(iVar6 + iVar4 * 4) = puVar3;\n  puVar3 = (undefined4 *)(*(code *)puVar1)(0xc);\n  local_30[0] = *param_2;\n  puVar3[1] = 0;\n  puVar1 = PTR__S_clone_c_locale_004337ec;\n  *puVar3 = PTR_vtable_00432280 + 8;\n  uVar5 = (*(code *)puVar1)(local_30);\n  puVar3[2] = uVar5;\n  if (puVar2 == (undefined *)0x0) {\n    puVar3[1] = puVar3[1] + 1;\n  }\n  else {\n    SYNC(0);\n    puVar3[1] = puVar3[1] + 1;\n    SYNC(0);\n  }\n  iVar6 = *(int *)(param_1 + 4);\n  iVar4 = (*(code *)PTR__M_id_00433800)(PTR_id_00432320);\n  puVar1 = PTR_operator_new_0043233c;\n  *(undefined4 **)(iVar6 + iVar4 * 4) = puVar3;\n  puVar3 = (undefined4 *)(*(code *)puVar1)(0xc);\n  uVar5 = *param_3;\n  puVar3[1] = 0;\n  puVar3[2] = 0;\n  puVar1 = PTR__M_initialize_moneypunct_004323a4;\n                    \n  *puVar3 = PTR_vtable_004323a0 + 8;\n  (*(code *)puVar1)(puVar3,uVar5,param_5);\n  if (puVar2 == (undefined *)0x0) {\n    puVar3[1] = puVar3[1] + 1;\n  }\n  else {\n    SYNC(0);\n    puVar3[1] = puVar3[1] + 1;\n    SYNC(0);\n  }\n  iVar6 = *(int *)(param_1 + 4);\n  iVar4 = (*(code *)PTR__M_id_00433800)(PTR_id_00432334);\n  puVar1 = PTR_operator_new_0043233c;\n  *(undefined4 **)(iVar6 + iVar4 * 4) = puVar3;\n  puVar3 = (undefined4 *)(*(code *)puVar1)(0xc);\n  uVar5 = *param_3;\n  puVar3[1] = 0;\n  puVar3[2] = 0;\n  puVar1 = PTR__M_initialize_moneypunct_00432394;\n                    \n  *puVar3 = PTR_vtable_00432390 + 8;\n  (*(code *)puVar1)(puVar3,uVar5,param_5);\n  if (puVar2 == (undefined *)0x0) {\n    puVar3[1] = puVar3[1] + 1;\n  }\n  else {\n    SYNC(0);\n    puVar3[1] = puVar3[1] + 1;\n    SYNC(0);\n  }\n  iVar6 = *(int *)(param_1 + 4);\n  iVar4 = (*(code *)PTR__M_id_00433800)(PTR_id_00432330);\n  puVar1 = PTR_operator_new_0043233c;\n  *(undefined4 **)(iVar6 + iVar4 * 4) = puVar3;\n  puVar3 = (undefined4 *)(*(code *)puVar1)(8);\n  puVar3[1] = 0;\n  *puVar3 = PTR_vtable_004322c8 + 8;\n  if (puVar2 == (undefined *)0x0) {\n    puVar3[1] = 1;\n  }\n  else {\n    SYNC(0);\n    puVar3[1] = puVar3[1] + 1;\n    SYNC(0);\n  }\n  iVar6 = *(int *)(param_1 + 4);\n  iVar4 = (*(code *)PTR__M_id_00433800)(PTR_id_00432328);\n  puVar1 = PTR_operator_new_0043233c;\n  *(undefined4 **)(iVar6 + iVar4 * 4) = puVar3;\n  puVar3 = (undefined4 *)(*(code *)puVar1)(8);\n  puVar3[1] = 0;\n  *puVar3 = PTR_vtable_004322bc + 8;\n  if (puVar2 == (undefined *)0x0) {\n    puVar3[1] = 1;\n  }\n  else {\n    SYNC(0);\n    puVar3[1] = puVar3[1] + 1;\n    SYNC(0);\n  }\n  iVar6 = *(int *)(param_1 + 4);\n  iVar4 = (*(code *)PTR__M_id_00433800)(PTR_id_0043232c);\n  puVar1 = PTR_operator_new_0043233c;\n  *(undefined4 **)(iVar6 + iVar4 * 4) = puVar3;\n  puVar3 = (undefined4 *)(*(code *)puVar1)(8);\n  puVar3[1] = 0;\n  *puVar3 = PTR_vtable_004322c4 + 8;\n  if (puVar2 == (undefined *)0x0) {\n    puVar3[1] = 1;\n  }\n  else {\n    SYNC(0);\n    puVar3[1] = puVar3[1] + 1;\n    SYNC(0);\n  }\n  iVar6 = *(int *)(param_1 + 4);\n  iVar4 = (*(code *)PTR__M_id_00433800)(PTR_id_00432324);\n  puVar1 = PTR_operator_new_0043233c;\n  *(undefined4 **)(iVar6 + iVar4 * 4) = puVar3;\n  iVar4 = (*(code *)puVar1)(0x10);\n                    \n  (*(code *)PTR_messages_00436450)(iVar4,*param_2,param_4,0);\n  if (puVar2 == (undefined *)0x0) {\n    *(int *)(iVar4 + 4) = *(int *)(iVar4 + 4) + 1;\n  }\n  else {\n    SYNC(0);\n    *(int *)(iVar4 + 4) = *(int *)(iVar4 + 4) + 1;\n    SYNC(0);\n  }\n  iVar7 = *(int *)(param_1 + 4);\n  iVar6 = (*(code *)PTR__M_id_00433800)(PTR_id_00432338);\n  *(int *)(iVar7 + iVar6 * 4) = iVar4;\n  return;\n}" (primitive_type "void") (function_declarator "FUN_0035b100(int param_1,undefined4 *param_2,undefined4 *param_3,undefined4 param_4,\n                 undefined4 param_5)" (identifier "FUN_0035b100") (parameter_list "(int param_1,undefined4 *param_2,undefined4 *param_3,undefined4 param_4,\n                 undefined4 param_5)" (( "(") (parameter_declaration "int param_1" (primitive_type "int") (identifier "param_1")) (, ",") (parameter_declaration "undefined4 *param_2" (type_identifier "undefined4") (pointer_declarator "*param_2" (* "*") (identifier "param_2"))) (, ",") (parameter_declaration "undefined4 *param_3" (type_identifier "undefined4") (pointer_declarator "*param_3" (* "*") (identifier "param_3"))) (, ",") (parameter_declaration "undefined4 param_4" (type_identifier "undefined4") (identifier "param_4")) (, ",") (parameter_declaration "undefined4 param_5" (type_identifier "undefined4") (identifier "param_5")) () ")"))) (compound_statement "{\n  undefined *puVar1;\n  undefined *puVar2;\n  undefined4 *puVar3;\n  int iVar4;\n  undefined4 uVar5;\n  int iVar6;\n  int iVar7;\n  undefined4 local_30 [3];\n  \n  puVar3 = (undefined4 *)(*(code *)PTR_operator_new_0043233c)(0xc);\n  uVar5 = *param_2;\n  puVar3[1] = 0;\n  puVar3[2] = 0;\n  puVar2 = PTR__M_initialize_numpunct_0043234c;\n                    \n  *puVar3 = PTR_vtable_00432348 + 8;\n  (*(code *)puVar2)(puVar3,uVar5);\n  puVar2 = PTR___pthread_key_create_0043667c;\n  if (PTR___pthread_key_create_0043667c == (undefined *)0x0) {\n    puVar3[1] = puVar3[1] + 1;\n  }\n  else {\n    SYNC(0);\n    puVar3[1] = puVar3[1] + 1;\n    SYNC(0);\n  }\n  iVar6 = *(int *)(param_1 + 4);\n  iVar4 = (*(code *)PTR__M_id_00433800)(PTR_id_004322fc);\n  puVar1 = PTR_operator_new_0043233c;\n  *(undefined4 **)(iVar6 + iVar4 * 4) = puVar3;\n  puVar3 = (undefined4 *)(*(code *)puVar1)(0xc);\n  local_30[0] = *param_2;\n  puVar3[1] = 0;\n  puVar1 = PTR__S_clone_c_locale_004337ec;\n  *puVar3 = PTR_vtable_00432290 + 8;\n  uVar5 = (*(code *)puVar1)(local_30);\n  puVar3[2] = uVar5;\n  if (puVar2 == (undefined *)0x0) {\n    puVar3[1] = puVar3[1] + 1;\n  }\n  else {\n    SYNC(0);\n    puVar3[1] = puVar3[1] + 1;\n    SYNC(0);\n  }\n  iVar6 = *(int *)(param_1 + 4);\n  iVar4 = (*(code *)PTR__M_id_00433800)(PTR_id_00432300);\n  puVar1 = PTR_operator_new_0043233c;\n  *(undefined4 **)(iVar6 + iVar4 * 4) = puVar3;\n  puVar3 = (undefined4 *)(*(code *)puVar1)(0xc);\n  uVar5 = *param_2;\n  puVar3[1] = 0;\n  puVar3[2] = 0;\n  puVar1 = PTR__M_initialize_moneypunct_00432370;\n                    \n  *puVar3 = PTR_vtable_0043236c + 8;\n  (*(code *)puVar1)(puVar3,uVar5,0);\n  if (puVar2 == (undefined *)0x0) {\n    puVar3[1] = puVar3[1] + 1;\n  }\n  else {\n    SYNC(0);\n    puVar3[1] = puVar3[1] + 1;\n    SYNC(0);\n  }\n  iVar6 = *(int *)(param_1 + 4);\n  iVar4 = (*(code *)PTR__M_id_00433800)(PTR_id_00432314);\n  puVar1 = PTR_operator_new_0043233c;\n  *(undefined4 **)(iVar6 + iVar4 * 4) = puVar3;\n  puVar3 = (undefined4 *)(*(code *)puVar1)(0xc);\n  uVar5 = *param_2;\n  puVar3[1] = 0;\n  puVar3[2] = 0;\n  puVar1 = PTR__M_initialize_moneypunct_00432360;\n                    \n  *puVar3 = PTR_vtable_0043235c + 8;\n  (*(code *)puVar1)(puVar3,uVar5,0);\n  if (puVar2 == (undefined *)0x0) {\n    puVar3[1] = puVar3[1] + 1;\n  }\n  else {\n    SYNC(0);\n    puVar3[1] = puVar3[1] + 1;\n    SYNC(0);\n  }\n  iVar6 = *(int *)(param_1 + 4);\n  iVar4 = (*(code *)PTR__M_id_00433800)(PTR_id_00432310);\n  puVar1 = PTR_operator_new_0043233c;\n  *(undefined4 **)(iVar6 + iVar4 * 4) = puVar3;\n  puVar3 = (undefined4 *)(*(code *)puVar1)(8);\n  puVar3[1] = 0;\n  *puVar3 = PTR_vtable_004322b8 + 8;\n  if (puVar2 == (undefined *)0x0) {\n    puVar3[1] = 1;\n  }\n  else {\n    SYNC(0);\n    puVar3[1] = puVar3[1] + 1;\n    SYNC(0);\n  }\n  iVar6 = *(int *)(param_1 + 4);\n  iVar4 = (*(code *)PTR__M_id_00433800)(PTR_id_00432308);\n  puVar1 = PTR_operator_new_0043233c;\n  *(undefined4 **)(iVar6 + iVar4 * 4) = puVar3;\n  puVar3 = (undefined4 *)(*(code *)puVar1)(8);\n  puVar3[1] = 0;\n  *puVar3 = PTR_vtable_004322b4 + 8;\n  if (puVar2 == (undefined *)0x0) {\n    puVar3[1] = 1;\n  }\n  else {\n    SYNC(0);\n    puVar3[1] = puVar3[1] + 1;\n    SYNC(0);\n  }\n  iVar6 = *(int *)(param_1 + 4);\n  iVar4 = (*(code *)PTR__M_id_00433800)(PTR_id_0043230c);\n  puVar1 = PTR_operator_new_0043233c;\n  *(undefined4 **)(iVar6 + iVar4 * 4) = puVar3;\n  puVar3 = (undefined4 *)(*(code *)puVar1)(8);\n  puVar3[1] = 0;\n  *puVar3 = PTR_vtable_004322c0 + 8;\n  if (puVar2 == (undefined *)0x0) {\n    puVar3[1] = 1;\n  }\n  else {\n    SYNC(0);\n    puVar3[1] = puVar3[1] + 1;\n    SYNC(0);\n  }\n  iVar6 = *(int *)(param_1 + 4);\n  iVar4 = (*(code *)PTR__M_id_00433800)(PTR_id_00432304);\n  puVar1 = PTR_operator_new_0043233c;\n  *(undefined4 **)(iVar6 + iVar4 * 4) = puVar3;\n  iVar4 = (*(code *)puVar1)(0x10);\n                    \n  (*(code *)PTR_messages_0043644c)(iVar4,*param_2,param_4,0);\n  if (puVar2 == (undefined *)0x0) {\n    *(int *)(iVar4 + 4) = *(int *)(iVar4 + 4) + 1;\n  }\n  else {\n    SYNC(0);\n    *(int *)(iVar4 + 4) = *(int *)(iVar4 + 4) + 1;\n    SYNC(0);\n  }\n  iVar7 = *(int *)(param_1 + 4);\n  iVar6 = (*(code *)PTR__M_id_00433800)(PTR_id_00432318);\n  puVar1 = PTR_operator_new_0043233c;\n  *(int *)(iVar7 + iVar6 * 4) = iVar4;\n  puVar3 = (undefined4 *)(*(code *)puVar1)(0xc);\n  uVar5 = *param_2;\n  puVar3[1] = 0;\n  puVar3[2] = 0;\n  puVar1 = PTR__M_initialize_numpunct_00432384;\n                    \n  *puVar3 = PTR_vtable_00432380 + 8;\n  (*(code *)puVar1)(puVar3,uVar5);\n  if (puVar2 == (undefined *)0x0) {\n    puVar3[1] = puVar3[1] + 1;\n  }\n  else {\n    SYNC(0);\n    puVar3[1] = puVar3[1] + 1;\n    SYNC(0);\n  }\n  iVar6 = *(int *)(param_1 + 4);\n  iVar4 = (*(code *)PTR__M_id_00433800)(PTR_id_0043231c);\n  puVar1 = PTR_operator_new_0043233c;\n  *(undefined4 **)(iVar6 + iVar4 * 4) = puVar3;\n  puVar3 = (undefined4 *)(*(code *)puVar1)(0xc);\n  local_30[0] = *param_2;\n  puVar3[1] = 0;\n  puVar1 = PTR__S_clone_c_locale_004337ec;\n  *puVar3 = PTR_vtable_00432280 + 8;\n  uVar5 = (*(code *)puVar1)(local_30);\n  puVar3[2] = uVar5;\n  if (puVar2 == (undefined *)0x0) {\n    puVar3[1] = puVar3[1] + 1;\n  }\n  else {\n    SYNC(0);\n    puVar3[1] = puVar3[1] + 1;\n    SYNC(0);\n  }\n  iVar6 = *(int *)(param_1 + 4);\n  iVar4 = (*(code *)PTR__M_id_00433800)(PTR_id_00432320);\n  puVar1 = PTR_operator_new_0043233c;\n  *(undefined4 **)(iVar6 + iVar4 * 4) = puVar3;\n  puVar3 = (undefined4 *)(*(code *)puVar1)(0xc);\n  uVar5 = *param_3;\n  puVar3[1] = 0;\n  puVar3[2] = 0;\n  puVar1 = PTR__M_initialize_moneypunct_004323a4;\n                    \n  *puVar3 = PTR_vtable_004323a0 + 8;\n  (*(code *)puVar1)(puVar3,uVar5,param_5);\n  if (puVar2 == (undefined *)0x0) {\n    puVar3[1] = puVar3[1] + 1;\n  }\n  else {\n    SYNC(0);\n    puVar3[1] = puVar3[1] + 1;\n    SYNC(0);\n  }\n  iVar6 = *(int *)(param_1 + 4);\n  iVar4 = (*(code *)PTR__M_id_00433800)(PTR_id_00432334);\n  puVar1 = PTR_operator_new_0043233c;\n  *(undefined4 **)(iVar6 + iVar4 * 4) = puVar3;\n  puVar3 = (undefined4 *)(*(code *)puVar1)(0xc);\n  uVar5 = *param_3;\n  puVar3[1] = 0;\n  puVar3[2] = 0;\n  puVar1 = PTR__M_initialize_moneypunct_00432394;\n                    \n  *puVar3 = PTR_vtable_00432390 + 8;\n  (*(code *)puVar1)(puVar3,uVar5,param_5);\n  if (puVar2 == (undefined *)0x0) {\n    puVar3[1] = puVar3[1] + 1;\n  }\n  else {\n    SYNC(0);\n    puVar3[1] = puVar3[1] + 1;\n    SYNC(0);\n  }\n  iVar6 = *(int *)(param_1 + 4);\n  iVar4 = (*(code *)PTR__M_id_00433800)(PTR_id_00432330);\n  puVar1 = PTR_operator_new_0043233c;\n  *(undefined4 **)(iVar6 + iVar4 * 4) = puVar3;\n  puVar3 = (undefined4 *)(*(code *)puVar1)(8);\n  puVar3[1] = 0;\n  *puVar3 = PTR_vtable_004322c8 + 8;\n  if (puVar2 == (undefined *)0x0) {\n    puVar3[1] = 1;\n  }\n  else {\n    SYNC(0);\n    puVar3[1] = puVar3[1] + 1;\n    SYNC(0);\n  }\n  iVar6 = *(int *)(param_1 + 4);\n  iVar4 = (*(code *)PTR__M_id_00433800)(PTR_id_00432328);\n  puVar1 = PTR_operator_new_0043233c;\n  *(undefined4 **)(iVar6 + iVar4 * 4) = puVar3;\n  puVar3 = (undefined4 *)(*(code *)puVar1)(8);\n  puVar3[1] = 0;\n  *puVar3 = PTR_vtable_004322bc + 8;\n  if (puVar2 == (undefined *)0x0) {\n    puVar3[1] = 1;\n  }\n  else {\n    SYNC(0);\n    puVar3[1] = puVar3[1] + 1;\n    SYNC(0);\n  }\n  iVar6 = *(int *)(param_1 + 4);\n  iVar4 = (*(code *)PTR__M_id_00433800)(PTR_id_0043232c);\n  puVar1 = PTR_operator_new_0043233c;\n  *(undefined4 **)(iVar6 + iVar4 * 4) = puVar3;\n  puVar3 = (undefined4 *)(*(code *)puVar1)(8);\n  puVar3[1] = 0;\n  *puVar3 = PTR_vtable_004322c4 + 8;\n  if (puVar2 == (undefined *)0x0) {\n    puVar3[1] = 1;\n  }\n  else {\n    SYNC(0);\n    puVar3[1] = puVar3[1] + 1;\n    SYNC(0);\n  }\n  iVar6 = *(int *)(param_1 + 4);\n  iVar4 = (*(code *)PTR__M_id_00433800)(PTR_id_00432324);\n  puVar1 = PTR_operator_new_0043233c;\n  *(undefined4 **)(iVar6 + iVar4 * 4) = puVar3;\n  iVar4 = (*(code *)puVar1)(0x10);\n                    \n  (*(code *)PTR_messages_00436450)(iVar4,*param_2,param_4,0);\n  if (puVar2 == (undefined *)0x0) {\n    *(int *)(iVar4 + 4) = *(int *)(iVar4 + 4) + 1;\n  }\n  else {\n    SYNC(0);\n    *(int *)(iVar4 + 4) = *(int *)(iVar4 + 4) + 1;\n    SYNC(0);\n  }\n  iVar7 = *(int *)(param_1 + 4);\n  iVar6 = (*(code *)PTR__M_id_00433800)(PTR_id_00432338);\n  *(int *)(iVar7 + iVar6 * 4) = iVar4;\n  return;\n}" ({ "{") (declaration "undefined *puVar1;" (type_identifier "undefined") (pointer_declarator "*puVar1" (* "*") (identifier "puVar1")) (; ";")) (declaration "undefined *puVar2;" (type_identifier "undefined") (pointer_declarator "*puVar2" (* "*") (identifier "puVar2")) (; ";")) (declaration "undefined4 *puVar3;" (type_identifier "undefined4") (pointer_declarator "*puVar3" (* "*") (identifier "puVar3")) (; ";")) (declaration "int iVar4;" (primitive_type "int") (identifier "iVar4") (; ";")) (declaration "undefined4 uVar5;" (type_identifier "undefined4") (identifier "uVar5") (; ";")) (declaration "int iVar6;" (primitive_type "int") (identifier "iVar6") (; ";")) (declaration "int iVar7;" (primitive_type "int") (identifier "iVar7") (; ";")) (declaration "undefined4 local_30 [3];" (type_identifier "undefined4") (array_declarator "local_30 [3]" (identifier "local_30") ([ "[") (number_literal "3") (] "]")) (; ";")) (expression_statement "puVar3 = (undefined4 *)(*(code *)PTR_operator_new_0043233c)(0xc);" (assignment_expression "puVar3 = (undefined4 *)(*(code *)PTR_operator_new_0043233c)(0xc)" (identifier "puVar3") (= "=") (cast_expression "(undefined4 *)(*(code *)PTR_operator_new_0043233c)(0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*(code *)PTR_operator_new_0043233c)(0xc)" (parenthesized_expression "(*(code *)PTR_operator_new_0043233c)" (( "(") (pointer_expression "*(code *)PTR_operator_new_0043233c" (* "*") (cast_expression "(code *)PTR_operator_new_0043233c" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_operator_new_0043233c"))) () ")")) (argument_list "(0xc)" (( "(") (number_literal "0xc") () ")"))))) (; ";")) (expression_statement "uVar5 = *param_2;" (assignment_expression "uVar5 = *param_2" (identifier "uVar5") (= "=") (pointer_expression "*param_2" (* "*") (identifier "param_2"))) (; ";")) (expression_statement "puVar3[1] = 0;" (assignment_expression "puVar3[1] = 0" (subscript_expression "puVar3[1]" (identifier "puVar3") ([ "[") (number_literal "1") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "puVar3[2] = 0;" (assignment_expression "puVar3[2] = 0" (subscript_expression "puVar3[2]" (identifier "puVar3") ([ "[") (number_literal "2") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "puVar2 = PTR__M_initialize_numpunct_0043234c;" (assignment_expression "puVar2 = PTR__M_initialize_numpunct_0043234c" (identifier "puVar2") (= "=") (identifier "PTR__M_initialize_numpunct_0043234c")) (; ";")) (expression_statement "*puVar3 = PTR_vtable_00432348 + 8;" (assignment_expression "*puVar3 = PTR_vtable_00432348 + 8" (pointer_expression "*puVar3" (* "*") (identifier "puVar3")) (= "=") (binary_expression "PTR_vtable_00432348 + 8" (identifier "PTR_vtable_00432348") (+ "+") (number_literal "8"))) (; ";")) (expression_statement "(*(code *)puVar2)(puVar3,uVar5);" (call_expression "(*(code *)puVar2)(puVar3,uVar5)" (parenthesized_expression "(*(code *)puVar2)" (( "(") (pointer_expression "*(code *)puVar2" (* "*") (cast_expression "(code *)puVar2" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar2"))) () ")")) (argument_list "(puVar3,uVar5)" (( "(") (identifier "puVar3") (, ",") (identifier "uVar5") () ")"))) (; ";")) (expression_statement "puVar2 = PTR___pthread_key_create_0043667c;" (assignment_expression "puVar2 = PTR___pthread_key_create_0043667c" (identifier "puVar2") (= "=") (identifier "PTR___pthread_key_create_0043667c")) (; ";")) (if_statement "if (PTR___pthread_key_create_0043667c == (undefined *)0x0) {\n    puVar3[1] = puVar3[1] + 1;\n  }\n  else {\n    SYNC(0);\n    puVar3[1] = puVar3[1] + 1;\n    SYNC(0);\n  }" (if "if") (parenthesized_expression "(PTR___pthread_key_create_0043667c == (undefined *)0x0)" (( "(") (binary_expression "PTR___pthread_key_create_0043667c == (undefined *)0x0" (identifier "PTR___pthread_key_create_0043667c") (== "==") (cast_expression "(undefined *)0x0" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n    puVar3[1] = puVar3[1] + 1;\n  }" ({ "{") (expression_statement "puVar3[1] = puVar3[1] + 1;" (assignment_expression "puVar3[1] = puVar3[1] + 1" (subscript_expression "puVar3[1]" (identifier "puVar3") ([ "[") (number_literal "1") (] "]")) (= "=") (binary_expression "puVar3[1] + 1" (subscript_expression "puVar3[1]" (identifier "puVar3") ([ "[") (number_literal "1") (] "]")) (+ "+") (number_literal "1"))) (; ";")) (} "}")) (else_clause "else {\n    SYNC(0);\n    puVar3[1] = puVar3[1] + 1;\n    SYNC(0);\n  }" (else "else") (compound_statement "{\n    SYNC(0);\n    puVar3[1] = puVar3[1] + 1;\n    SYNC(0);\n  }" ({ "{") (expression_statement "SYNC(0);" (call_expression "SYNC(0)" (identifier "SYNC") (argument_list "(0)" (( "(") (number_literal "0") () ")"))) (; ";")) (expression_statement "puVar3[1] = puVar3[1] + 1;" (assignment_expression "puVar3[1] = puVar3[1] + 1" (subscript_expression "puVar3[1]" (identifier "puVar3") ([ "[") (number_literal "1") (] "]")) (= "=") (binary_expression "puVar3[1] + 1" (subscript_expression "puVar3[1]" (identifier "puVar3") ([ "[") (number_literal "1") (] "]")) (+ "+") (number_literal "1"))) (; ";")) (expression_statement "SYNC(0);" (call_expression "SYNC(0)" (identifier "SYNC") (argument_list "(0)" (( "(") (number_literal "0") () ")"))) (; ";")) (} "}")))) (expression_statement "iVar6 = *(int *)(param_1 + 4);" (assignment_expression "iVar6 = *(int *)(param_1 + 4)" (identifier "iVar6") (= "=") (pointer_expression "*(int *)(param_1 + 4)" (* "*") (cast_expression "(int *)(param_1 + 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 4)" (( "(") (binary_expression "param_1 + 4" (identifier "param_1") (+ "+") (number_literal "4")) () ")"))))) (; ";")) (expression_statement "iVar4 = (*(code *)PTR__M_id_00433800)(PTR_id_004322fc);" (assignment_expression "iVar4 = (*(code *)PTR__M_id_00433800)(PTR_id_004322fc)" (identifier "iVar4") (= "=") (call_expression "(*(code *)PTR__M_id_00433800)(PTR_id_004322fc)" (parenthesized_expression "(*(code *)PTR__M_id_00433800)" (( "(") (pointer_expression "*(code *)PTR__M_id_00433800" (* "*") (cast_expression "(code *)PTR__M_id_00433800" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR__M_id_00433800"))) () ")")) (argument_list "(PTR_id_004322fc)" (( "(") (identifier "PTR_id_004322fc") () ")")))) (; ";")) (expression_statement "puVar1 = PTR_operator_new_0043233c;" (assignment_expression "puVar1 = PTR_operator_new_0043233c" (identifier "puVar1") (= "=") (identifier "PTR_operator_new_0043233c")) (; ";")) (expression_statement "*(undefined4 **)(iVar6 + iVar4 * 4) = puVar3;" (assignment_expression "*(undefined4 **)(iVar6 + iVar4 * 4) = puVar3" (pointer_expression "*(undefined4 **)(iVar6 + iVar4 * 4)" (* "*") (cast_expression "(undefined4 **)(iVar6 + iVar4 * 4)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar6 + iVar4 * 4)" (( "(") (binary_expression "iVar6 + iVar4 * 4" (identifier "iVar6") (+ "+") (binary_expression "iVar4 * 4" (identifier "iVar4") (* "*") (number_literal "4"))) () ")")))) (= "=") (identifier "puVar3")) (; ";")) (expression_statement "puVar3 = (undefined4 *)(*(code *)puVar1)(0xc);" (assignment_expression "puVar3 = (undefined4 *)(*(code *)puVar1)(0xc)" (identifier "puVar3") (= "=") (cast_expression "(undefined4 *)(*(code *)puVar1)(0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*(code *)puVar1)(0xc)" (parenthesized_expression "(*(code *)puVar1)" (( "(") (pointer_expression "*(code *)puVar1" (* "*") (cast_expression "(code *)puVar1" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar1"))) () ")")) (argument_list "(0xc)" (( "(") (number_literal "0xc") () ")"))))) (; ";")) (expression_statement "local_30[0] = *param_2;" (assignment_expression "local_30[0] = *param_2" (subscript_expression "local_30[0]" (identifier "local_30") ([ "[") (number_literal "0") (] "]")) (= "=") (pointer_expression "*param_2" (* "*") (identifier "param_2"))) (; ";")) (expression_statement "puVar3[1] = 0;" (assignment_expression "puVar3[1] = 0" (subscript_expression "puVar3[1]" (identifier "puVar3") ([ "[") (number_literal "1") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "puVar1 = PTR__S_clone_c_locale_004337ec;" (assignment_expression "puVar1 = PTR__S_clone_c_locale_004337ec" (identifier "puVar1") (= "=") (identifier "PTR__S_clone_c_locale_004337ec")) (; ";")) (expression_statement "*puVar3 = PTR_vtable_00432290 + 8;" (assignment_expression "*puVar3 = PTR_vtable_00432290 + 8" (pointer_expression "*puVar3" (* "*") (identifier "puVar3")) (= "=") (binary_expression "PTR_vtable_00432290 + 8" (identifier "PTR_vtable_00432290") (+ "+") (number_literal "8"))) (; ";")) (expression_statement "uVar5 = (*(code *)puVar1)(local_30);" (assignment_expression "uVar5 = (*(code *)puVar1)(local_30)" (identifier "uVar5") (= "=") (call_expression "(*(code *)puVar1)(local_30)" (parenthesized_expression "(*(code *)puVar1)" (( "(") (pointer_expression "*(code *)puVar1" (* "*") (cast_expression "(code *)puVar1" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar1"))) () ")")) (argument_list "(local_30)" (( "(") (identifier "local_30") () ")")))) (; ";")) (expression_statement "puVar3[2] = uVar5;" (assignment_expression "puVar3[2] = uVar5" (subscript_expression "puVar3[2]" (identifier "puVar3") ([ "[") (number_literal "2") (] "]")) (= "=") (identifier "uVar5")) (; ";")) (if_statement "if (puVar2 == (undefined *)0x0) {\n    puVar3[1] = puVar3[1] + 1;\n  }\n  else {\n    SYNC(0);\n    puVar3[1] = puVar3[1] + 1;\n    SYNC(0);\n  }" (if "if") (parenthesized_expression "(puVar2 == (undefined *)0x0)" (( "(") (binary_expression "puVar2 == (undefined *)0x0" (identifier "puVar2") (== "==") (cast_expression "(undefined *)0x0" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n    puVar3[1] = puVar3[1] + 1;\n  }" ({ "{") (expression_statement "puVar3[1] = puVar3[1] + 1;" (assignment_expression "puVar3[1] = puVar3[1] + 1" (subscript_expression "puVar3[1]" (identifier "puVar3") ([ "[") (number_literal "1") (] "]")) (= "=") (binary_expression "puVar3[1] + 1" (subscript_expression "puVar3[1]" (identifier "puVar3") ([ "[") (number_literal "1") (] "]")) (+ "+") (number_literal "1"))) (; ";")) (} "}")) (else_clause "else {\n    SYNC(0);\n    puVar3[1] = puVar3[1] + 1;\n    SYNC(0);\n  }" (else "else") (compound_statement "{\n    SYNC(0);\n    puVar3[1] = puVar3[1] + 1;\n    SYNC(0);\n  }" ({ "{") (expression_statement "SYNC(0);" (call_expression "SYNC(0)" (identifier "SYNC") (argument_list "(0)" (( "(") (number_literal "0") () ")"))) (; ";")) (expression_statement "puVar3[1] = puVar3[1] + 1;" (assignment_expression "puVar3[1] = puVar3[1] + 1" (subscript_expression "puVar3[1]" (identifier "puVar3") ([ "[") (number_literal "1") (] "]")) (= "=") (binary_expression "puVar3[1] + 1" (subscript_expression "puVar3[1]" (identifier "puVar3") ([ "[") (number_literal "1") (] "]")) (+ "+") (number_literal "1"))) (; ";")) (expression_statement "SYNC(0);" (call_expression "SYNC(0)" (identifier "SYNC") (argument_list "(0)" (( "(") (number_literal "0") () ")"))) (; ";")) (} "}")))) (expression_statement "iVar6 = *(int *)(param_1 + 4);" (assignment_expression "iVar6 = *(int *)(param_1 + 4)" (identifier "iVar6") (= "=") (pointer_expression "*(int *)(param_1 + 4)" (* "*") (cast_expression "(int *)(param_1 + 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 4)" (( "(") (binary_expression "param_1 + 4" (identifier "param_1") (+ "+") (number_literal "4")) () ")"))))) (; ";")) (expression_statement "iVar4 = (*(code *)PTR__M_id_00433800)(PTR_id_00432300);" (assignment_expression "iVar4 = (*(code *)PTR__M_id_00433800)(PTR_id_00432300)" (identifier "iVar4") (= "=") (call_expression "(*(code *)PTR__M_id_00433800)(PTR_id_00432300)" (parenthesized_expression "(*(code *)PTR__M_id_00433800)" (( "(") (pointer_expression "*(code *)PTR__M_id_00433800" (* "*") (cast_expression "(code *)PTR__M_id_00433800" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR__M_id_00433800"))) () ")")) (argument_list "(PTR_id_00432300)" (( "(") (identifier "PTR_id_00432300") () ")")))) (; ";")) (expression_statement "puVar1 = PTR_operator_new_0043233c;" (assignment_expression "puVar1 = PTR_operator_new_0043233c" (identifier "puVar1") (= "=") (identifier "PTR_operator_new_0043233c")) (; ";")) (expression_statement "*(undefined4 **)(iVar6 + iVar4 * 4) = puVar3;" (assignment_expression "*(undefined4 **)(iVar6 + iVar4 * 4) = puVar3" (pointer_expression "*(undefined4 **)(iVar6 + iVar4 * 4)" (* "*") (cast_expression "(undefined4 **)(iVar6 + iVar4 * 4)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar6 + iVar4 * 4)" (( "(") (binary_expression "iVar6 + iVar4 * 4" (identifier "iVar6") (+ "+") (binary_expression "iVar4 * 4" (identifier "iVar4") (* "*") (number_literal "4"))) () ")")))) (= "=") (identifier "puVar3")) (; ";")) (expression_statement "puVar3 = (undefined4 *)(*(code *)puVar1)(0xc);" (assignment_expression "puVar3 = (undefined4 *)(*(code *)puVar1)(0xc)" (identifier "puVar3") (= "=") (cast_expression "(undefined4 *)(*(code *)puVar1)(0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*(code *)puVar1)(0xc)" (parenthesized_expression "(*(code *)puVar1)" (( "(") (pointer_expression "*(code *)puVar1" (* "*") (cast_expression "(code *)puVar1" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar1"))) () ")")) (argument_list "(0xc)" (( "(") (number_literal "0xc") () ")"))))) (; ";")) (expression_statement "uVar5 = *param_2;" (assignment_expression "uVar5 = *param_2" (identifier "uVar5") (= "=") (pointer_expression "*param_2" (* "*") (identifier "param_2"))) (; ";")) (expression_statement "puVar3[1] = 0;" (assignment_expression "puVar3[1] = 0" (subscript_expression "puVar3[1]" (identifier "puVar3") ([ "[") (number_literal "1") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "puVar3[2] = 0;" (assignment_expression "puVar3[2] = 0" (subscript_expression "puVar3[2]" (identifier "puVar3") ([ "[") (number_literal "2") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "puVar1 = PTR__M_initialize_moneypunct_00432370;" (assignment_expression "puVar1 = PTR__M_initialize_moneypunct_00432370" (identifier "puVar1") (= "=") (identifier "PTR__M_initialize_moneypunct_00432370")) (; ";")) (expression_statement "*puVar3 = PTR_vtable_0043236c + 8;" (assignment_expression "*puVar3 = PTR_vtable_0043236c + 8" (pointer_expression "*puVar3" (* "*") (identifier "puVar3")) (= "=") (binary_expression "PTR_vtable_0043236c + 8" (identifier "PTR_vtable_0043236c") (+ "+") (number_literal "8"))) (; ";")) (expression_statement "(*(code *)puVar1)(puVar3,uVar5,0);" (call_expression "(*(code *)puVar1)(puVar3,uVar5,0)" (parenthesized_expression "(*(code *)puVar1)" (( "(") (pointer_expression "*(code *)puVar1" (* "*") (cast_expression "(code *)puVar1" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar1"))) () ")")) (argument_list "(puVar3,uVar5,0)" (( "(") (identifier "puVar3") (, ",") (identifier "uVar5") (, ",") (number_literal "0") () ")"))) (; ";")) (if_statement "if (puVar2 == (undefined *)0x0) {\n    puVar3[1] = puVar3[1] + 1;\n  }\n  else {\n    SYNC(0);\n    puVar3[1] = puVar3[1] + 1;\n    SYNC(0);\n  }" (if "if") (parenthesized_expression "(puVar2 == (undefined *)0x0)" (( "(") (binary_expression "puVar2 == (undefined *)0x0" (identifier "puVar2") (== "==") (cast_expression "(undefined *)0x0" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n    puVar3[1] = puVar3[1] + 1;\n  }" ({ "{") (expression_statement "puVar3[1] = puVar3[1] + 1;" (assignment_expression "puVar3[1] = puVar3[1] + 1" (subscript_expression "puVar3[1]" (identifier "puVar3") ([ "[") (number_literal "1") (] "]")) (= "=") (binary_expression "puVar3[1] + 1" (subscript_expression "puVar3[1]" (identifier "puVar3") ([ "[") (number_literal "1") (] "]")) (+ "+") (number_literal "1"))) (; ";")) (} "}")) (else_clause "else {\n    SYNC(0);\n    puVar3[1] = puVar3[1] + 1;\n    SYNC(0);\n  }" (else "else") (compound_statement "{\n    SYNC(0);\n    puVar3[1] = puVar3[1] + 1;\n    SYNC(0);\n  }" ({ "{") (expression_statement "SYNC(0);" (call_expression "SYNC(0)" (identifier "SYNC") (argument_list "(0)" (( "(") (number_literal "0") () ")"))) (; ";")) (expression_statement "puVar3[1] = puVar3[1] + 1;" (assignment_expression "puVar3[1] = puVar3[1] + 1" (subscript_expression "puVar3[1]" (identifier "puVar3") ([ "[") (number_literal "1") (] "]")) (= "=") (binary_expression "puVar3[1] + 1" (subscript_expression "puVar3[1]" (identifier "puVar3") ([ "[") (number_literal "1") (] "]")) (+ "+") (number_literal "1"))) (; ";")) (expression_statement "SYNC(0);" (call_expression "SYNC(0)" (identifier "SYNC") (argument_list "(0)" (( "(") (number_literal "0") () ")"))) (; ";")) (} "}")))) (expression_statement "iVar6 = *(int *)(param_1 + 4);" (assignment_expression "iVar6 = *(int *)(param_1 + 4)" (identifier "iVar6") (= "=") (pointer_expression "*(int *)(param_1 + 4)" (* "*") (cast_expression "(int *)(param_1 + 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 4)" (( "(") (binary_expression "param_1 + 4" (identifier "param_1") (+ "+") (number_literal "4")) () ")"))))) (; ";")) (expression_statement "iVar4 = (*(code *)PTR__M_id_00433800)(PTR_id_00432314);" (assignment_expression "iVar4 = (*(code *)PTR__M_id_00433800)(PTR_id_00432314)" (identifier "iVar4") (= "=") (call_expression "(*(code *)PTR__M_id_00433800)(PTR_id_00432314)" (parenthesized_expression "(*(code *)PTR__M_id_00433800)" (( "(") (pointer_expression "*(code *)PTR__M_id_00433800" (* "*") (cast_expression "(code *)PTR__M_id_00433800" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR__M_id_00433800"))) () ")")) (argument_list "(PTR_id_00432314)" (( "(") (identifier "PTR_id_00432314") () ")")))) (; ";")) (expression_statement "puVar1 = PTR_operator_new_0043233c;" (assignment_expression "puVar1 = PTR_operator_new_0043233c" (identifier "puVar1") (= "=") (identifier "PTR_operator_new_0043233c")) (; ";")) (expression_statement "*(undefined4 **)(iVar6 + iVar4 * 4) = puVar3;" (assignment_expression "*(undefined4 **)(iVar6 + iVar4 * 4) = puVar3" (pointer_expression "*(undefined4 **)(iVar6 + iVar4 * 4)" (* "*") (cast_expression "(undefined4 **)(iVar6 + iVar4 * 4)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar6 + iVar4 * 4)" (( "(") (binary_expression "iVar6 + iVar4 * 4" (identifier "iVar6") (+ "+") (binary_expression "iVar4 * 4" (identifier "iVar4") (* "*") (number_literal "4"))) () ")")))) (= "=") (identifier "puVar3")) (; ";")) (expression_statement "puVar3 = (undefined4 *)(*(code *)puVar1)(0xc);" (assignment_expression "puVar3 = (undefined4 *)(*(code *)puVar1)(0xc)" (identifier "puVar3") (= "=") (cast_expression "(undefined4 *)(*(code *)puVar1)(0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*(code *)puVar1)(0xc)" (parenthesized_expression "(*(code *)puVar1)" (( "(") (pointer_expression "*(code *)puVar1" (* "*") (cast_expression "(code *)puVar1" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar1"))) () ")")) (argument_list "(0xc)" (( "(") (number_literal "0xc") () ")"))))) (; ";")) (expression_statement "uVar5 = *param_2;" (assignment_expression "uVar5 = *param_2" (identifier "uVar5") (= "=") (pointer_expression "*param_2" (* "*") (identifier "param_2"))) (; ";")) (expression_statement "puVar3[1] = 0;" (assignment_expression "puVar3[1] = 0" (subscript_expression "puVar3[1]" (identifier "puVar3") ([ "[") (number_literal "1") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "puVar3[2] = 0;" (assignment_expression "puVar3[2] = 0" (subscript_expression "puVar3[2]" (identifier "puVar3") ([ "[") (number_literal "2") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "puVar1 = PTR__M_initialize_moneypunct_00432360;" (assignment_expression "puVar1 = PTR__M_initialize_moneypunct_00432360" (identifier "puVar1") (= "=") (identifier "PTR__M_initialize_moneypunct_00432360")) (; ";")) (expression_statement "*puVar3 = PTR_vtable_0043235c + 8;" (assignment_expression "*puVar3 = PTR_vtable_0043235c + 8" (pointer_expression "*puVar3" (* "*") (identifier "puVar3")) (= "=") (binary_expression "PTR_vtable_0043235c + 8" (identifier "PTR_vtable_0043235c") (+ "+") (number_literal "8"))) (; ";")) (expression_statement "(*(code *)puVar1)(puVar3,uVar5,0);" (call_expression "(*(code *)puVar1)(puVar3,uVar5,0)" (parenthesized_expression "(*(code *)puVar1)" (( "(") (pointer_expression "*(code *)puVar1" (* "*") (cast_expression "(code *)puVar1" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar1"))) () ")")) (argument_list "(puVar3,uVar5,0)" (( "(") (identifier "puVar3") (, ",") (identifier "uVar5") (, ",") (number_literal "0") () ")"))) (; ";")) (if_statement "if (puVar2 == (undefined *)0x0) {\n    puVar3[1] = puVar3[1] + 1;\n  }\n  else {\n    SYNC(0);\n    puVar3[1] = puVar3[1] + 1;\n    SYNC(0);\n  }" (if "if") (parenthesized_expression "(puVar2 == (undefined *)0x0)" (( "(") (binary_expression "puVar2 == (undefined *)0x0" (identifier "puVar2") (== "==") (cast_expression "(undefined *)0x0" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n    puVar3[1] = puVar3[1] + 1;\n  }" ({ "{") (expression_statement "puVar3[1] = puVar3[1] + 1;" (assignment_expression "puVar3[1] = puVar3[1] + 1" (subscript_expression "puVar3[1]" (identifier "puVar3") ([ "[") (number_literal "1") (] "]")) (= "=") (binary_expression "puVar3[1] + 1" (subscript_expression "puVar3[1]" (identifier "puVar3") ([ "[") (number_literal "1") (] "]")) (+ "+") (number_literal "1"))) (; ";")) (} "}")) (else_clause "else {\n    SYNC(0);\n    puVar3[1] = puVar3[1] + 1;\n    SYNC(0);\n  }" (else "else") (compound_statement "{\n    SYNC(0);\n    puVar3[1] = puVar3[1] + 1;\n    SYNC(0);\n  }" ({ "{") (expression_statement "SYNC(0);" (call_expression "SYNC(0)" (identifier "SYNC") (argument_list "(0)" (( "(") (number_literal "0") () ")"))) (; ";")) (expression_statement "puVar3[1] = puVar3[1] + 1;" (assignment_expression "puVar3[1] = puVar3[1] + 1" (subscript_expression "puVar3[1]" (identifier "puVar3") ([ "[") (number_literal "1") (] "]")) (= "=") (binary_expression "puVar3[1] + 1" (subscript_expression "puVar3[1]" (identifier "puVar3") ([ "[") (number_literal "1") (] "]")) (+ "+") (number_literal "1"))) (; ";")) (expression_statement "SYNC(0);" (call_expression "SYNC(0)" (identifier "SYNC") (argument_list "(0)" (( "(") (number_literal "0") () ")"))) (; ";")) (} "}")))) (expression_statement "iVar6 = *(int *)(param_1 + 4);" (assignment_expression "iVar6 = *(int *)(param_1 + 4)" (identifier "iVar6") (= "=") (pointer_expression "*(int *)(param_1 + 4)" (* "*") (cast_expression "(int *)(param_1 + 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 4)" (( "(") (binary_expression "param_1 + 4" (identifier "param_1") (+ "+") (number_literal "4")) () ")"))))) (; ";")) (expression_statement "iVar4 = (*(code *)PTR__M_id_00433800)(PTR_id_00432310);" (assignment_expression "iVar4 = (*(code *)PTR__M_id_00433800)(PTR_id_00432310)" (identifier "iVar4") (= "=") (call_expression "(*(code *)PTR__M_id_00433800)(PTR_id_00432310)" (parenthesized_expression "(*(code *)PTR__M_id_00433800)" (( "(") (pointer_expression "*(code *)PTR__M_id_00433800" (* "*") (cast_expression "(code *)PTR__M_id_00433800" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR__M_id_00433800"))) () ")")) (argument_list "(PTR_id_00432310)" (( "(") (identifier "PTR_id_00432310") () ")")))) (; ";")) (expression_statement "puVar1 = PTR_operator_new_0043233c;" (assignment_expression "puVar1 = PTR_operator_new_0043233c" (identifier "puVar1") (= "=") (identifier "PTR_operator_new_0043233c")) (; ";")) (expression_statement "*(undefined4 **)(iVar6 + iVar4 * 4) = puVar3;" (assignment_expression "*(undefined4 **)(iVar6 + iVar4 * 4) = puVar3" (pointer_expression "*(undefined4 **)(iVar6 + iVar4 * 4)" (* "*") (cast_expression "(undefined4 **)(iVar6 + iVar4 * 4)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar6 + iVar4 * 4)" (( "(") (binary_expression "iVar6 + iVar4 * 4" (identifier "iVar6") (+ "+") (binary_expression "iVar4 * 4" (identifier "iVar4") (* "*") (number_literal "4"))) () ")")))) (= "=") (identifier "puVar3")) (; ";")) (expression_statement "puVar3 = (undefined4 *)(*(code *)puVar1)(8);" (assignment_expression "puVar3 = (undefined4 *)(*(code *)puVar1)(8)" (identifier "puVar3") (= "=") (cast_expression "(undefined4 *)(*(code *)puVar1)(8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*(code *)puVar1)(8)" (parenthesized_expression "(*(code *)puVar1)" (( "(") (pointer_expression "*(code *)puVar1" (* "*") (cast_expression "(code *)puVar1" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar1"))) () ")")) (argument_list "(8)" (( "(") (number_literal "8") () ")"))))) (; ";")) (expression_statement "puVar3[1] = 0;" (assignment_expression "puVar3[1] = 0" (subscript_expression "puVar3[1]" (identifier "puVar3") ([ "[") (number_literal "1") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "*puVar3 = PTR_vtable_004322b8 + 8;" (assignment_expression "*puVar3 = PTR_vtable_004322b8 + 8" (pointer_expression "*puVar3" (* "*") (identifier "puVar3")) (= "=") (binary_expression "PTR_vtable_004322b8 + 8" (identifier "PTR_vtable_004322b8") (+ "+") (number_literal "8"))) (; ";")) (if_statement "if (puVar2 == (undefined *)0x0) {\n    puVar3[1] = 1;\n  }\n  else {\n    SYNC(0);\n    puVar3[1] = puVar3[1] + 1;\n    SYNC(0);\n  }" (if "if") (parenthesized_expression "(puVar2 == (undefined *)0x0)" (( "(") (binary_expression "puVar2 == (undefined *)0x0" (identifier "puVar2") (== "==") (cast_expression "(undefined *)0x0" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n    puVar3[1] = 1;\n  }" ({ "{") (expression_statement "puVar3[1] = 1;" (assignment_expression "puVar3[1] = 1" (subscript_expression "puVar3[1]" (identifier "puVar3") ([ "[") (number_literal "1") (] "]")) (= "=") (number_literal "1")) (; ";")) (} "}")) (else_clause "else {\n    SYNC(0);\n    puVar3[1] = puVar3[1] + 1;\n    SYNC(0);\n  }" (else "else") (compound_statement "{\n    SYNC(0);\n    puVar3[1] = puVar3[1] + 1;\n    SYNC(0);\n  }" ({ "{") (expression_statement "SYNC(0);" (call_expression "SYNC(0)" (identifier "SYNC") (argument_list "(0)" (( "(") (number_literal "0") () ")"))) (; ";")) (expression_statement "puVar3[1] = puVar3[1] + 1;" (assignment_expression "puVar3[1] = puVar3[1] + 1" (subscript_expression "puVar3[1]" (identifier "puVar3") ([ "[") (number_literal "1") (] "]")) (= "=") (binary_expression "puVar3[1] + 1" (subscript_expression "puVar3[1]" (identifier "puVar3") ([ "[") (number_literal "1") (] "]")) (+ "+") (number_literal "1"))) (; ";")) (expression_statement "SYNC(0);" (call_expression "SYNC(0)" (identifier "SYNC") (argument_list "(0)" (( "(") (number_literal "0") () ")"))) (; ";")) (} "}")))) (expression_statement "iVar6 = *(int *)(param_1 + 4);" (assignment_expression "iVar6 = *(int *)(param_1 + 4)" (identifier "iVar6") (= "=") (pointer_expression "*(int *)(param_1 + 4)" (* "*") (cast_expression "(int *)(param_1 + 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 4)" (( "(") (binary_expression "param_1 + 4" (identifier "param_1") (+ "+") (number_literal "4")) () ")"))))) (; ";")) (expression_statement "iVar4 = (*(code *)PTR__M_id_00433800)(PTR_id_00432308);" (assignment_expression "iVar4 = (*(code *)PTR__M_id_00433800)(PTR_id_00432308)" (identifier "iVar4") (= "=") (call_expression "(*(code *)PTR__M_id_00433800)(PTR_id_00432308)" (parenthesized_expression "(*(code *)PTR__M_id_00433800)" (( "(") (pointer_expression "*(code *)PTR__M_id_00433800" (* "*") (cast_expression "(code *)PTR__M_id_00433800" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR__M_id_00433800"))) () ")")) (argument_list "(PTR_id_00432308)" (( "(") (identifier "PTR_id_00432308") () ")")))) (; ";")) (expression_statement "puVar1 = PTR_operator_new_0043233c;" (assignment_expression "puVar1 = PTR_operator_new_0043233c" (identifier "puVar1") (= "=") (identifier "PTR_operator_new_0043233c")) (; ";")) (expression_statement "*(undefined4 **)(iVar6 + iVar4 * 4) = puVar3;" (assignment_expression "*(undefined4 **)(iVar6 + iVar4 * 4) = puVar3" (pointer_expression "*(undefined4 **)(iVar6 + iVar4 * 4)" (* "*") (cast_expression "(undefined4 **)(iVar6 + iVar4 * 4)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar6 + iVar4 * 4)" (( "(") (binary_expression "iVar6 + iVar4 * 4" (identifier "iVar6") (+ "+") (binary_expression "iVar4 * 4" (identifier "iVar4") (* "*") (number_literal "4"))) () ")")))) (= "=") (identifier "puVar3")) (; ";")) (expression_statement "puVar3 = (undefined4 *)(*(code *)puVar1)(8);" (assignment_expression "puVar3 = (undefined4 *)(*(code *)puVar1)(8)" (identifier "puVar3") (= "=") (cast_expression "(undefined4 *)(*(code *)puVar1)(8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*(code *)puVar1)(8)" (parenthesized_expression "(*(code *)puVar1)" (( "(") (pointer_expression "*(code *)puVar1" (* "*") (cast_expression "(code *)puVar1" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar1"))) () ")")) (argument_list "(8)" (( "(") (number_literal "8") () ")"))))) (; ";")) (expression_statement "puVar3[1] = 0;" (assignment_expression "puVar3[1] = 0" (subscript_expression "puVar3[1]" (identifier "puVar3") ([ "[") (number_literal "1") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "*puVar3 = PTR_vtable_004322b4 + 8;" (assignment_expression "*puVar3 = PTR_vtable_004322b4 + 8" (pointer_expression "*puVar3" (* "*") (identifier "puVar3")) (= "=") (binary_expression "PTR_vtable_004322b4 + 8" (identifier "PTR_vtable_004322b4") (+ "+") (number_literal "8"))) (; ";")) (if_statement "if (puVar2 == (undefined *)0x0) {\n    puVar3[1] = 1;\n  }\n  else {\n    SYNC(0);\n    puVar3[1] = puVar3[1] + 1;\n    SYNC(0);\n  }" (if "if") (parenthesized_expression "(puVar2 == (undefined *)0x0)" (( "(") (binary_expression "puVar2 == (undefined *)0x0" (identifier "puVar2") (== "==") (cast_expression "(undefined *)0x0" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n    puVar3[1] = 1;\n  }" ({ "{") (expression_statement "puVar3[1] = 1;" (assignment_expression "puVar3[1] = 1" (subscript_expression "puVar3[1]" (identifier "puVar3") ([ "[") (number_literal "1") (] "]")) (= "=") (number_literal "1")) (; ";")) (} "}")) (else_clause "else {\n    SYNC(0);\n    puVar3[1] = puVar3[1] + 1;\n    SYNC(0);\n  }" (else "else") (compound_statement "{\n    SYNC(0);\n    puVar3[1] = puVar3[1] + 1;\n    SYNC(0);\n  }" ({ "{") (expression_statement "SYNC(0);" (call_expression "SYNC(0)" (identifier "SYNC") (argument_list "(0)" (( "(") (number_literal "0") () ")"))) (; ";")) (expression_statement "puVar3[1] = puVar3[1] + 1;" (assignment_expression "puVar3[1] = puVar3[1] + 1" (subscript_expression "puVar3[1]" (identifier "puVar3") ([ "[") (number_literal "1") (] "]")) (= "=") (binary_expression "puVar3[1] + 1" (subscript_expression "puVar3[1]" (identifier "puVar3") ([ "[") (number_literal "1") (] "]")) (+ "+") (number_literal "1"))) (; ";")) (expression_statement "SYNC(0);" (call_expression "SYNC(0)" (identifier "SYNC") (argument_list "(0)" (( "(") (number_literal "0") () ")"))) (; ";")) (} "}")))) (expression_statement "iVar6 = *(int *)(param_1 + 4);" (assignment_expression "iVar6 = *(int *)(param_1 + 4)" (identifier "iVar6") (= "=") (pointer_expression "*(int *)(param_1 + 4)" (* "*") (cast_expression "(int *)(param_1 + 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 4)" (( "(") (binary_expression "param_1 + 4" (identifier "param_1") (+ "+") (number_literal "4")) () ")"))))) (; ";")) (expression_statement "iVar4 = (*(code *)PTR__M_id_00433800)(PTR_id_0043230c);" (assignment_expression "iVar4 = (*(code *)PTR__M_id_00433800)(PTR_id_0043230c)" (identifier "iVar4") (= "=") (call_expression "(*(code *)PTR__M_id_00433800)(PTR_id_0043230c)" (parenthesized_expression "(*(code *)PTR__M_id_00433800)" (( "(") (pointer_expression "*(code *)PTR__M_id_00433800" (* "*") (cast_expression "(code *)PTR__M_id_00433800" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR__M_id_00433800"))) () ")")) (argument_list "(PTR_id_0043230c)" (( "(") (identifier "PTR_id_0043230c") () ")")))) (; ";")) (expression_statement "puVar1 = PTR_operator_new_0043233c;" (assignment_expression "puVar1 = PTR_operator_new_0043233c" (identifier "puVar1") (= "=") (identifier "PTR_operator_new_0043233c")) (; ";")) (expression_statement "*(undefined4 **)(iVar6 + iVar4 * 4) = puVar3;" (assignment_expression "*(undefined4 **)(iVar6 + iVar4 * 4) = puVar3" (pointer_expression "*(undefined4 **)(iVar6 + iVar4 * 4)" (* "*") (cast_expression "(undefined4 **)(iVar6 + iVar4 * 4)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar6 + iVar4 * 4)" (( "(") (binary_expression "iVar6 + iVar4 * 4" (identifier "iVar6") (+ "+") (binary_expression "iVar4 * 4" (identifier "iVar4") (* "*") (number_literal "4"))) () ")")))) (= "=") (identifier "puVar3")) (; ";")) (expression_statement "puVar3 = (undefined4 *)(*(code *)puVar1)(8);" (assignment_expression "puVar3 = (undefined4 *)(*(code *)puVar1)(8)" (identifier "puVar3") (= "=") (cast_expression "(undefined4 *)(*(code *)puVar1)(8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*(code *)puVar1)(8)" (parenthesized_expression "(*(code *)puVar1)" (( "(") (pointer_expression "*(code *)puVar1" (* "*") (cast_expression "(code *)puVar1" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar1"))) () ")")) (argument_list "(8)" (( "(") (number_literal "8") () ")"))))) (; ";")) (expression_statement "puVar3[1] = 0;" (assignment_expression "puVar3[1] = 0" (subscript_expression "puVar3[1]" (identifier "puVar3") ([ "[") (number_literal "1") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "*puVar3 = PTR_vtable_004322c0 + 8;" (assignment_expression "*puVar3 = PTR_vtable_004322c0 + 8" (pointer_expression "*puVar3" (* "*") (identifier "puVar3")) (= "=") (binary_expression "PTR_vtable_004322c0 + 8" (identifier "PTR_vtable_004322c0") (+ "+") (number_literal "8"))) (; ";")) (if_statement "if (puVar2 == (undefined *)0x0) {\n    puVar3[1] = 1;\n  }\n  else {\n    SYNC(0);\n    puVar3[1] = puVar3[1] + 1;\n    SYNC(0);\n  }" (if "if") (parenthesized_expression "(puVar2 == (undefined *)0x0)" (( "(") (binary_expression "puVar2 == (undefined *)0x0" (identifier "puVar2") (== "==") (cast_expression "(undefined *)0x0" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n    puVar3[1] = 1;\n  }" ({ "{") (expression_statement "puVar3[1] = 1;" (assignment_expression "puVar3[1] = 1" (subscript_expression "puVar3[1]" (identifier "puVar3") ([ "[") (number_literal "1") (] "]")) (= "=") (number_literal "1")) (; ";")) (} "}")) (else_clause "else {\n    SYNC(0);\n    puVar3[1] = puVar3[1] + 1;\n    SYNC(0);\n  }" (else "else") (compound_statement "{\n    SYNC(0);\n    puVar3[1] = puVar3[1] + 1;\n    SYNC(0);\n  }" ({ "{") (expression_statement "SYNC(0);" (call_expression "SYNC(0)" (identifier "SYNC") (argument_list "(0)" (( "(") (number_literal "0") () ")"))) (; ";")) (expression_statement "puVar3[1] = puVar3[1] + 1;" (assignment_expression "puVar3[1] = puVar3[1] + 1" (subscript_expression "puVar3[1]" (identifier "puVar3") ([ "[") (number_literal "1") (] "]")) (= "=") (binary_expression "puVar3[1] + 1" (subscript_expression "puVar3[1]" (identifier "puVar3") ([ "[") (number_literal "1") (] "]")) (+ "+") (number_literal "1"))) (; ";")) (expression_statement "SYNC(0);" (call_expression "SYNC(0)" (identifier "SYNC") (argument_list "(0)" (( "(") (number_literal "0") () ")"))) (; ";")) (} "}")))) (expression_statement "iVar6 = *(int *)(param_1 + 4);" (assignment_expression "iVar6 = *(int *)(param_1 + 4)" (identifier "iVar6") (= "=") (pointer_expression "*(int *)(param_1 + 4)" (* "*") (cast_expression "(int *)(param_1 + 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 4)" (( "(") (binary_expression "param_1 + 4" (identifier "param_1") (+ "+") (number_literal "4")) () ")"))))) (; ";")) (expression_statement "iVar4 = (*(code *)PTR__M_id_00433800)(PTR_id_00432304);" (assignment_expression "iVar4 = (*(code *)PTR__M_id_00433800)(PTR_id_00432304)" (identifier "iVar4") (= "=") (call_expression "(*(code *)PTR__M_id_00433800)(PTR_id_00432304)" (parenthesized_expression "(*(code *)PTR__M_id_00433800)" (( "(") (pointer_expression "*(code *)PTR__M_id_00433800" (* "*") (cast_expression "(code *)PTR__M_id_00433800" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR__M_id_00433800"))) () ")")) (argument_list "(PTR_id_00432304)" (( "(") (identifier "PTR_id_00432304") () ")")))) (; ";")) (expression_statement "puVar1 = PTR_operator_new_0043233c;" (assignment_expression "puVar1 = PTR_operator_new_0043233c" (identifier "puVar1") (= "=") (identifier "PTR_operator_new_0043233c")) (; ";")) (expression_statement "*(undefined4 **)(iVar6 + iVar4 * 4) = puVar3;" (assignment_expression "*(undefined4 **)(iVar6 + iVar4 * 4) = puVar3" (pointer_expression "*(undefined4 **)(iVar6 + iVar4 * 4)" (* "*") (cast_expression "(undefined4 **)(iVar6 + iVar4 * 4)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar6 + iVar4 * 4)" (( "(") (binary_expression "iVar6 + iVar4 * 4" (identifier "iVar6") (+ "+") (binary_expression "iVar4 * 4" (identifier "iVar4") (* "*") (number_literal "4"))) () ")")))) (= "=") (identifier "puVar3")) (; ";")) (expression_statement "iVar4 = (*(code *)puVar1)(0x10);" (assignment_expression "iVar4 = (*(code *)puVar1)(0x10)" (identifier "iVar4") (= "=") (call_expression "(*(code *)puVar1)(0x10)" (parenthesized_expression "(*(code *)puVar1)" (( "(") (pointer_expression "*(code *)puVar1" (* "*") (cast_expression "(code *)puVar1" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar1"))) () ")")) (argument_list "(0x10)" (( "(") (number_literal "0x10") () ")")))) (; ";")) (expression_statement "(*(code *)PTR_messages_0043644c)(iVar4,*param_2,param_4,0);" (call_expression "(*(code *)PTR_messages_0043644c)(iVar4,*param_2,param_4,0)" (parenthesized_expression "(*(code *)PTR_messages_0043644c)" (( "(") (pointer_expression "*(code *)PTR_messages_0043644c" (* "*") (cast_expression "(code *)PTR_messages_0043644c" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_messages_0043644c"))) () ")")) (argument_list "(iVar4,*param_2,param_4,0)" (( "(") (identifier "iVar4") (, ",") (pointer_expression "*param_2" (* "*") (identifier "param_2")) (, ",") (identifier "param_4") (, ",") (number_literal "0") () ")"))) (; ";")) (if_statement "if (puVar2 == (undefined *)0x0) {\n    *(int *)(iVar4 + 4) = *(int *)(iVar4 + 4) + 1;\n  }\n  else {\n    SYNC(0);\n    *(int *)(iVar4 + 4) = *(int *)(iVar4 + 4) + 1;\n    SYNC(0);\n  }" (if "if") (parenthesized_expression "(puVar2 == (undefined *)0x0)" (( "(") (binary_expression "puVar2 == (undefined *)0x0" (identifier "puVar2") (== "==") (cast_expression "(undefined *)0x0" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n    *(int *)(iVar4 + 4) = *(int *)(iVar4 + 4) + 1;\n  }" ({ "{") (expression_statement "*(int *)(iVar4 + 4) = *(int *)(iVar4 + 4) + 1;" (assignment_expression "*(int *)(iVar4 + 4) = *(int *)(iVar4 + 4) + 1" (pointer_expression "*(int *)(iVar4 + 4)" (* "*") (cast_expression "(int *)(iVar4 + 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 4)" (( "(") (binary_expression "iVar4 + 4" (identifier "iVar4") (+ "+") (number_literal "4")) () ")")))) (= "=") (binary_expression "*(int *)(iVar4 + 4) + 1" (pointer_expression "*(int *)(iVar4 + 4)" (* "*") (cast_expression "(int *)(iVar4 + 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 4)" (( "(") (binary_expression "iVar4 + 4" (identifier "iVar4") (+ "+") (number_literal "4")) () ")")))) (+ "+") (number_literal "1"))) (; ";")) (} "}")) (else_clause "else {\n    SYNC(0);\n    *(int *)(iVar4 + 4) = *(int *)(iVar4 + 4) + 1;\n    SYNC(0);\n  }" (else "else") (compound_statement "{\n    SYNC(0);\n    *(int *)(iVar4 + 4) = *(int *)(iVar4 + 4) + 1;\n    SYNC(0);\n  }" ({ "{") (expression_statement "SYNC(0);" (call_expression "SYNC(0)" (identifier "SYNC") (argument_list "(0)" (( "(") (number_literal "0") () ")"))) (; ";")) (expression_statement "*(int *)(iVar4 + 4) = *(int *)(iVar4 + 4) + 1;" (assignment_expression "*(int *)(iVar4 + 4) = *(int *)(iVar4 + 4) + 1" (pointer_expression "*(int *)(iVar4 + 4)" (* "*") (cast_expression "(int *)(iVar4 + 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 4)" (( "(") (binary_expression "iVar4 + 4" (identifier "iVar4") (+ "+") (number_literal "4")) () ")")))) (= "=") (binary_expression "*(int *)(iVar4 + 4) + 1" (pointer_expression "*(int *)(iVar4 + 4)" (* "*") (cast_expression "(int *)(iVar4 + 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 4)" (( "(") (binary_expression "iVar4 + 4" (identifier "iVar4") (+ "+") (number_literal "4")) () ")")))) (+ "+") (number_literal "1"))) (; ";")) (expression_statement "SYNC(0);" (call_expression "SYNC(0)" (identifier "SYNC") (argument_list "(0)" (( "(") (number_literal "0") () ")"))) (; ";")) (} "}")))) (expression_statement "iVar7 = *(int *)(param_1 + 4);" (assignment_expression "iVar7 = *(int *)(param_1 + 4)" (identifier "iVar7") (= "=") (pointer_expression "*(int *)(param_1 + 4)" (* "*") (cast_expression "(int *)(param_1 + 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 4)" (( "(") (binary_expression "param_1 + 4" (identifier "param_1") (+ "+") (number_literal "4")) () ")"))))) (; ";")) (expression_statement "iVar6 = (*(code *)PTR__M_id_00433800)(PTR_id_00432318);" (assignment_expression "iVar6 = (*(code *)PTR__M_id_00433800)(PTR_id_00432318)" (identifier "iVar6") (= "=") (call_expression "(*(code *)PTR__M_id_00433800)(PTR_id_00432318)" (parenthesized_expression "(*(code *)PTR__M_id_00433800)" (( "(") (pointer_expression "*(code *)PTR__M_id_00433800" (* "*") (cast_expression "(code *)PTR__M_id_00433800" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR__M_id_00433800"))) () ")")) (argument_list "(PTR_id_00432318)" (( "(") (identifier "PTR_id_00432318") () ")")))) (; ";")) (expression_statement "puVar1 = PTR_operator_new_0043233c;" (assignment_expression "puVar1 = PTR_operator_new_0043233c" (identifier "puVar1") (= "=") (identifier "PTR_operator_new_0043233c")) (; ";")) (expression_statement "*(int *)(iVar7 + iVar6 * 4) = iVar4;" (assignment_expression "*(int *)(iVar7 + iVar6 * 4) = iVar4" (pointer_expression "*(int *)(iVar7 + iVar6 * 4)" (* "*") (cast_expression "(int *)(iVar7 + iVar6 * 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar7 + iVar6 * 4)" (( "(") (binary_expression "iVar7 + iVar6 * 4" (identifier "iVar7") (+ "+") (binary_expression "iVar6 * 4" (identifier "iVar6") (* "*") (number_literal "4"))) () ")")))) (= "=") (identifier "iVar4")) (; ";")) (expression_statement "puVar3 = (undefined4 *)(*(code *)puVar1)(0xc);" (assignment_expression "puVar3 = (undefined4 *)(*(code *)puVar1)(0xc)" (identifier "puVar3") (= "=") (cast_expression "(undefined4 *)(*(code *)puVar1)(0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*(code *)puVar1)(0xc)" (parenthesized_expression "(*(code *)puVar1)" (( "(") (pointer_expression "*(code *)puVar1" (* "*") (cast_expression "(code *)puVar1" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar1"))) () ")")) (argument_list "(0xc)" (( "(") (number_literal "0xc") () ")"))))) (; ";")) (expression_statement "uVar5 = *param_2;" (assignment_expression "uVar5 = *param_2" (identifier "uVar5") (= "=") (pointer_expression "*param_2" (* "*") (identifier "param_2"))) (; ";")) (expression_statement "puVar3[1] = 0;" (assignment_expression "puVar3[1] = 0" (subscript_expression "puVar3[1]" (identifier "puVar3") ([ "[") (number_literal "1") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "puVar3[2] = 0;" (assignment_expression "puVar3[2] = 0" (subscript_expression "puVar3[2]" (identifier "puVar3") ([ "[") (number_literal "2") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "puVar1 = PTR__M_initialize_numpunct_00432384;" (assignment_expression "puVar1 = PTR__M_initialize_numpunct_00432384" (identifier "puVar1") (= "=") (identifier "PTR__M_initialize_numpunct_00432384")) (; ";")) (expression_statement "*puVar3 = PTR_vtable_00432380 + 8;" (assignment_expression "*puVar3 = PTR_vtable_00432380 + 8" (pointer_expression "*puVar3" (* "*") (identifier "puVar3")) (= "=") (binary_expression "PTR_vtable_00432380 + 8" (identifier "PTR_vtable_00432380") (+ "+") (number_literal "8"))) (; ";")) (expression_statement "(*(code *)puVar1)(puVar3,uVar5);" (call_expression "(*(code *)puVar1)(puVar3,uVar5)" (parenthesized_expression "(*(code *)puVar1)" (( "(") (pointer_expression "*(code *)puVar1" (* "*") (cast_expression "(code *)puVar1" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar1"))) () ")")) (argument_list "(puVar3,uVar5)" (( "(") (identifier "puVar3") (, ",") (identifier "uVar5") () ")"))) (; ";")) (if_statement "if (puVar2 == (undefined *)0x0) {\n    puVar3[1] = puVar3[1] + 1;\n  }\n  else {\n    SYNC(0);\n    puVar3[1] = puVar3[1] + 1;\n    SYNC(0);\n  }" (if "if") (parenthesized_expression "(puVar2 == (undefined *)0x0)" (( "(") (binary_expression "puVar2 == (undefined *)0x0" (identifier "puVar2") (== "==") (cast_expression "(undefined *)0x0" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n    puVar3[1] = puVar3[1] + 1;\n  }" ({ "{") (expression_statement "puVar3[1] = puVar3[1] + 1;" (assignment_expression "puVar3[1] = puVar3[1] + 1" (subscript_expression "puVar3[1]" (identifier "puVar3") ([ "[") (number_literal "1") (] "]")) (= "=") (binary_expression "puVar3[1] + 1" (subscript_expression "puVar3[1]" (identifier "puVar3") ([ "[") (number_literal "1") (] "]")) (+ "+") (number_literal "1"))) (; ";")) (} "}")) (else_clause "else {\n    SYNC(0);\n    puVar3[1] = puVar3[1] + 1;\n    SYNC(0);\n  }" (else "else") (compound_statement "{\n    SYNC(0);\n    puVar3[1] = puVar3[1] + 1;\n    SYNC(0);\n  }" ({ "{") (expression_statement "SYNC(0);" (call_expression "SYNC(0)" (identifier "SYNC") (argument_list "(0)" (( "(") (number_literal "0") () ")"))) (; ";")) (expression_statement "puVar3[1] = puVar3[1] + 1;" (assignment_expression "puVar3[1] = puVar3[1] + 1" (subscript_expression "puVar3[1]" (identifier "puVar3") ([ "[") (number_literal "1") (] "]")) (= "=") (binary_expression "puVar3[1] + 1" (subscript_expression "puVar3[1]" (identifier "puVar3") ([ "[") (number_literal "1") (] "]")) (+ "+") (number_literal "1"))) (; ";")) (expression_statement "SYNC(0);" (call_expression "SYNC(0)" (identifier "SYNC") (argument_list "(0)" (( "(") (number_literal "0") () ")"))) (; ";")) (} "}")))) (expression_statement "iVar6 = *(int *)(param_1 + 4);" (assignment_expression "iVar6 = *(int *)(param_1 + 4)" (identifier "iVar6") (= "=") (pointer_expression "*(int *)(param_1 + 4)" (* "*") (cast_expression "(int *)(param_1 + 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 4)" (( "(") (binary_expression "param_1 + 4" (identifier "param_1") (+ "+") (number_literal "4")) () ")"))))) (; ";")) (expression_statement "iVar4 = (*(code *)PTR__M_id_00433800)(PTR_id_0043231c);" (assignment_expression "iVar4 = (*(code *)PTR__M_id_00433800)(PTR_id_0043231c)" (identifier "iVar4") (= "=") (call_expression "(*(code *)PTR__M_id_00433800)(PTR_id_0043231c)" (parenthesized_expression "(*(code *)PTR__M_id_00433800)" (( "(") (pointer_expression "*(code *)PTR__M_id_00433800" (* "*") (cast_expression "(code *)PTR__M_id_00433800" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR__M_id_00433800"))) () ")")) (argument_list "(PTR_id_0043231c)" (( "(") (identifier "PTR_id_0043231c") () ")")))) (; ";")) (expression_statement "puVar1 = PTR_operator_new_0043233c;" (assignment_expression "puVar1 = PTR_operator_new_0043233c" (identifier "puVar1") (= "=") (identifier "PTR_operator_new_0043233c")) (; ";")) (expression_statement "*(undefined4 **)(iVar6 + iVar4 * 4) = puVar3;" (assignment_expression "*(undefined4 **)(iVar6 + iVar4 * 4) = puVar3" (pointer_expression "*(undefined4 **)(iVar6 + iVar4 * 4)" (* "*") (cast_expression "(undefined4 **)(iVar6 + iVar4 * 4)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar6 + iVar4 * 4)" (( "(") (binary_expression "iVar6 + iVar4 * 4" (identifier "iVar6") (+ "+") (binary_expression "iVar4 * 4" (identifier "iVar4") (* "*") (number_literal "4"))) () ")")))) (= "=") (identifier "puVar3")) (; ";")) (expression_statement "puVar3 = (undefined4 *)(*(code *)puVar1)(0xc);" (assignment_expression "puVar3 = (undefined4 *)(*(code *)puVar1)(0xc)" (identifier "puVar3") (= "=") (cast_expression "(undefined4 *)(*(code *)puVar1)(0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*(code *)puVar1)(0xc)" (parenthesized_expression "(*(code *)puVar1)" (( "(") (pointer_expression "*(code *)puVar1" (* "*") (cast_expression "(code *)puVar1" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar1"))) () ")")) (argument_list "(0xc)" (( "(") (number_literal "0xc") () ")"))))) (; ";")) (expression_statement "local_30[0] = *param_2;" (assignment_expression "local_30[0] = *param_2" (subscript_expression "local_30[0]" (identifier "local_30") ([ "[") (number_literal "0") (] "]")) (= "=") (pointer_expression "*param_2" (* "*") (identifier "param_2"))) (; ";")) (expression_statement "puVar3[1] = 0;" (assignment_expression "puVar3[1] = 0" (subscript_expression "puVar3[1]" (identifier "puVar3") ([ "[") (number_literal "1") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "puVar1 = PTR__S_clone_c_locale_004337ec;" (assignment_expression "puVar1 = PTR__S_clone_c_locale_004337ec" (identifier "puVar1") (= "=") (identifier "PTR__S_clone_c_locale_004337ec")) (; ";")) (expression_statement "*puVar3 = PTR_vtable_00432280 + 8;" (assignment_expression "*puVar3 = PTR_vtable_00432280 + 8" (pointer_expression "*puVar3" (* "*") (identifier "puVar3")) (= "=") (binary_expression "PTR_vtable_00432280 + 8" (identifier "PTR_vtable_00432280") (+ "+") (number_literal "8"))) (; ";")) (expression_statement "uVar5 = (*(code *)puVar1)(local_30);" (assignment_expression "uVar5 = (*(code *)puVar1)(local_30)" (identifier "uVar5") (= "=") (call_expression "(*(code *)puVar1)(local_30)" (parenthesized_expression "(*(code *)puVar1)" (( "(") (pointer_expression "*(code *)puVar1" (* "*") (cast_expression "(code *)puVar1" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar1"))) () ")")) (argument_list "(local_30)" (( "(") (identifier "local_30") () ")")))) (; ";")) (expression_statement "puVar3[2] = uVar5;" (assignment_expression "puVar3[2] = uVar5" (subscript_expression "puVar3[2]" (identifier "puVar3") ([ "[") (number_literal "2") (] "]")) (= "=") (identifier "uVar5")) (; ";")) (if_statement "if (puVar2 == (undefined *)0x0) {\n    puVar3[1] = puVar3[1] + 1;\n  }\n  else {\n    SYNC(0);\n    puVar3[1] = puVar3[1] + 1;\n    SYNC(0);\n  }" (if "if") (parenthesized_expression "(puVar2 == (undefined *)0x0)" (( "(") (binary_expression "puVar2 == (undefined *)0x0" (identifier "puVar2") (== "==") (cast_expression "(undefined *)0x0" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n    puVar3[1] = puVar3[1] + 1;\n  }" ({ "{") (expression_statement "puVar3[1] = puVar3[1] + 1;" (assignment_expression "puVar3[1] = puVar3[1] + 1" (subscript_expression "puVar3[1]" (identifier "puVar3") ([ "[") (number_literal "1") (] "]")) (= "=") (binary_expression "puVar3[1] + 1" (subscript_expression "puVar3[1]" (identifier "puVar3") ([ "[") (number_literal "1") (] "]")) (+ "+") (number_literal "1"))) (; ";")) (} "}")) (else_clause "else {\n    SYNC(0);\n    puVar3[1] = puVar3[1] + 1;\n    SYNC(0);\n  }" (else "else") (compound_statement "{\n    SYNC(0);\n    puVar3[1] = puVar3[1] + 1;\n    SYNC(0);\n  }" ({ "{") (expression_statement "SYNC(0);" (call_expression "SYNC(0)" (identifier "SYNC") (argument_list "(0)" (( "(") (number_literal "0") () ")"))) (; ";")) (expression_statement "puVar3[1] = puVar3[1] + 1;" (assignment_expression "puVar3[1] = puVar3[1] + 1" (subscript_expression "puVar3[1]" (identifier "puVar3") ([ "[") (number_literal "1") (] "]")) (= "=") (binary_expression "puVar3[1] + 1" (subscript_expression "puVar3[1]" (identifier "puVar3") ([ "[") (number_literal "1") (] "]")) (+ "+") (number_literal "1"))) (; ";")) (expression_statement "SYNC(0);" (call_expression "SYNC(0)" (identifier "SYNC") (argument_list "(0)" (( "(") (number_literal "0") () ")"))) (; ";")) (} "}")))) (expression_statement "iVar6 = *(int *)(param_1 + 4);" (assignment_expression "iVar6 = *(int *)(param_1 + 4)" (identifier "iVar6") (= "=") (pointer_expression "*(int *)(param_1 + 4)" (* "*") (cast_expression "(int *)(param_1 + 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 4)" (( "(") (binary_expression "param_1 + 4" (identifier "param_1") (+ "+") (number_literal "4")) () ")"))))) (; ";")) (expression_statement "iVar4 = (*(code *)PTR__M_id_00433800)(PTR_id_00432320);" (assignment_expression "iVar4 = (*(code *)PTR__M_id_00433800)(PTR_id_00432320)" (identifier "iVar4") (= "=") (call_expression "(*(code *)PTR__M_id_00433800)(PTR_id_00432320)" (parenthesized_expression "(*(code *)PTR__M_id_00433800)" (( "(") (pointer_expression "*(code *)PTR__M_id_00433800" (* "*") (cast_expression "(code *)PTR__M_id_00433800" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR__M_id_00433800"))) () ")")) (argument_list "(PTR_id_00432320)" (( "(") (identifier "PTR_id_00432320") () ")")))) (; ";")) (expression_statement "puVar1 = PTR_operator_new_0043233c;" (assignment_expression "puVar1 = PTR_operator_new_0043233c" (identifier "puVar1") (= "=") (identifier "PTR_operator_new_0043233c")) (; ";")) (expression_statement "*(undefined4 **)(iVar6 + iVar4 * 4) = puVar3;" (assignment_expression "*(undefined4 **)(iVar6 + iVar4 * 4) = puVar3" (pointer_expression "*(undefined4 **)(iVar6 + iVar4 * 4)" (* "*") (cast_expression "(undefined4 **)(iVar6 + iVar4 * 4)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar6 + iVar4 * 4)" (( "(") (binary_expression "iVar6 + iVar4 * 4" (identifier "iVar6") (+ "+") (binary_expression "iVar4 * 4" (identifier "iVar4") (* "*") (number_literal "4"))) () ")")))) (= "=") (identifier "puVar3")) (; ";")) (expression_statement "puVar3 = (undefined4 *)(*(code *)puVar1)(0xc);" (assignment_expression "puVar3 = (undefined4 *)(*(code *)puVar1)(0xc)" (identifier "puVar3") (= "=") (cast_expression "(undefined4 *)(*(code *)puVar1)(0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*(code *)puVar1)(0xc)" (parenthesized_expression "(*(code *)puVar1)" (( "(") (pointer_expression "*(code *)puVar1" (* "*") (cast_expression "(code *)puVar1" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar1"))) () ")")) (argument_list "(0xc)" (( "(") (number_literal "0xc") () ")"))))) (; ";")) (expression_statement "uVar5 = *param_3;" (assignment_expression "uVar5 = *param_3" (identifier "uVar5") (= "=") (pointer_expression "*param_3" (* "*") (identifier "param_3"))) (; ";")) (expression_statement "puVar3[1] = 0;" (assignment_expression "puVar3[1] = 0" (subscript_expression "puVar3[1]" (identifier "puVar3") ([ "[") (number_literal "1") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "puVar3[2] = 0;" (assignment_expression "puVar3[2] = 0" (subscript_expression "puVar3[2]" (identifier "puVar3") ([ "[") (number_literal "2") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "puVar1 = PTR__M_initialize_moneypunct_004323a4;" (assignment_expression "puVar1 = PTR__M_initialize_moneypunct_004323a4" (identifier "puVar1") (= "=") (identifier "PTR__M_initialize_moneypunct_004323a4")) (; ";")) (expression_statement "*puVar3 = PTR_vtable_004323a0 + 8;" (assignment_expression "*puVar3 = PTR_vtable_004323a0 + 8" (pointer_expression "*puVar3" (* "*") (identifier "puVar3")) (= "=") (binary_expression "PTR_vtable_004323a0 + 8" (identifier "PTR_vtable_004323a0") (+ "+") (number_literal "8"))) (; ";")) (expression_statement "(*(code *)puVar1)(puVar3,uVar5,param_5);" (call_expression "(*(code *)puVar1)(puVar3,uVar5,param_5)" (parenthesized_expression "(*(code *)puVar1)" (( "(") (pointer_expression "*(code *)puVar1" (* "*") (cast_expression "(code *)puVar1" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar1"))) () ")")) (argument_list "(puVar3,uVar5,param_5)" (( "(") (identifier "puVar3") (, ",") (identifier "uVar5") (, ",") (identifier "param_5") () ")"))) (; ";")) (if_statement "if (puVar2 == (undefined *)0x0) {\n    puVar3[1] = puVar3[1] + 1;\n  }\n  else {\n    SYNC(0);\n    puVar3[1] = puVar3[1] + 1;\n    SYNC(0);\n  }" (if "if") (parenthesized_expression "(puVar2 == (undefined *)0x0)" (( "(") (binary_expression "puVar2 == (undefined *)0x0" (identifier "puVar2") (== "==") (cast_expression "(undefined *)0x0" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n    puVar3[1] = puVar3[1] + 1;\n  }" ({ "{") (expression_statement "puVar3[1] = puVar3[1] + 1;" (assignment_expression "puVar3[1] = puVar3[1] + 1" (subscript_expression "puVar3[1]" (identifier "puVar3") ([ "[") (number_literal "1") (] "]")) (= "=") (binary_expression "puVar3[1] + 1" (subscript_expression "puVar3[1]" (identifier "puVar3") ([ "[") (number_literal "1") (] "]")) (+ "+") (number_literal "1"))) (; ";")) (} "}")) (else_clause "else {\n    SYNC(0);\n    puVar3[1] = puVar3[1] + 1;\n    SYNC(0);\n  }" (else "else") (compound_statement "{\n    SYNC(0);\n    puVar3[1] = puVar3[1] + 1;\n    SYNC(0);\n  }" ({ "{") (expression_statement "SYNC(0);" (call_expression "SYNC(0)" (identifier "SYNC") (argument_list "(0)" (( "(") (number_literal "0") () ")"))) (; ";")) (expression_statement "puVar3[1] = puVar3[1] + 1;" (assignment_expression "puVar3[1] = puVar3[1] + 1" (subscript_expression "puVar3[1]" (identifier "puVar3") ([ "[") (number_literal "1") (] "]")) (= "=") (binary_expression "puVar3[1] + 1" (subscript_expression "puVar3[1]" (identifier "puVar3") ([ "[") (number_literal "1") (] "]")) (+ "+") (number_literal "1"))) (; ";")) (expression_statement "SYNC(0);" (call_expression "SYNC(0)" (identifier "SYNC") (argument_list "(0)" (( "(") (number_literal "0") () ")"))) (; ";")) (} "}")))) (expression_statement "iVar6 = *(int *)(param_1 + 4);" (assignment_expression "iVar6 = *(int *)(param_1 + 4)" (identifier "iVar6") (= "=") (pointer_expression "*(int *)(param_1 + 4)" (* "*") (cast_expression "(int *)(param_1 + 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 4)" (( "(") (binary_expression "param_1 + 4" (identifier "param_1") (+ "+") (number_literal "4")) () ")"))))) (; ";")) (expression_statement "iVar4 = (*(code *)PTR__M_id_00433800)(PTR_id_00432334);" (assignment_expression "iVar4 = (*(code *)PTR__M_id_00433800)(PTR_id_00432334)" (identifier "iVar4") (= "=") (call_expression "(*(code *)PTR__M_id_00433800)(PTR_id_00432334)" (parenthesized_expression "(*(code *)PTR__M_id_00433800)" (( "(") (pointer_expression "*(code *)PTR__M_id_00433800" (* "*") (cast_expression "(code *)PTR__M_id_00433800" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR__M_id_00433800"))) () ")")) (argument_list "(PTR_id_00432334)" (( "(") (identifier "PTR_id_00432334") () ")")))) (; ";")) (expression_statement "puVar1 = PTR_operator_new_0043233c;" (assignment_expression "puVar1 = PTR_operator_new_0043233c" (identifier "puVar1") (= "=") (identifier "PTR_operator_new_0043233c")) (; ";")) (expression_statement "*(undefined4 **)(iVar6 + iVar4 * 4) = puVar3;" (assignment_expression "*(undefined4 **)(iVar6 + iVar4 * 4) = puVar3" (pointer_expression "*(undefined4 **)(iVar6 + iVar4 * 4)" (* "*") (cast_expression "(undefined4 **)(iVar6 + iVar4 * 4)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar6 + iVar4 * 4)" (( "(") (binary_expression "iVar6 + iVar4 * 4" (identifier "iVar6") (+ "+") (binary_expression "iVar4 * 4" (identifier "iVar4") (* "*") (number_literal "4"))) () ")")))) (= "=") (identifier "puVar3")) (; ";")) (expression_statement "puVar3 = (undefined4 *)(*(code *)puVar1)(0xc);" (assignment_expression "puVar3 = (undefined4 *)(*(code *)puVar1)(0xc)" (identifier "puVar3") (= "=") (cast_expression "(undefined4 *)(*(code *)puVar1)(0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*(code *)puVar1)(0xc)" (parenthesized_expression "(*(code *)puVar1)" (( "(") (pointer_expression "*(code *)puVar1" (* "*") (cast_expression "(code *)puVar1" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar1"))) () ")")) (argument_list "(0xc)" (( "(") (number_literal "0xc") () ")"))))) (; ";")) (expression_statement "uVar5 = *param_3;" (assignment_expression "uVar5 = *param_3" (identifier "uVar5") (= "=") (pointer_expression "*param_3" (* "*") (identifier "param_3"))) (; ";")) (expression_statement "puVar3[1] = 0;" (assignment_expression "puVar3[1] = 0" (subscript_expression "puVar3[1]" (identifier "puVar3") ([ "[") (number_literal "1") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "puVar3[2] = 0;" (assignment_expression "puVar3[2] = 0" (subscript_expression "puVar3[2]" (identifier "puVar3") ([ "[") (number_literal "2") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "puVar1 = PTR__M_initialize_moneypunct_00432394;" (assignment_expression "puVar1 = PTR__M_initialize_moneypunct_00432394" (identifier "puVar1") (= "=") (identifier "PTR__M_initialize_moneypunct_00432394")) (; ";")) (expression_statement "*puVar3 = PTR_vtable_00432390 + 8;" (assignment_expression "*puVar3 = PTR_vtable_00432390 + 8" (pointer_expression "*puVar3" (* "*") (identifier "puVar3")) (= "=") (binary_expression "PTR_vtable_00432390 + 8" (identifier "PTR_vtable_00432390") (+ "+") (number_literal "8"))) (; ";")) (expression_statement "(*(code *)puVar1)(puVar3,uVar5,param_5);" (call_expression "(*(code *)puVar1)(puVar3,uVar5,param_5)" (parenthesized_expression "(*(code *)puVar1)" (( "(") (pointer_expression "*(code *)puVar1" (* "*") (cast_expression "(code *)puVar1" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar1"))) () ")")) (argument_list "(puVar3,uVar5,param_5)" (( "(") (identifier "puVar3") (, ",") (identifier "uVar5") (, ",") (identifier "param_5") () ")"))) (; ";")) (if_statement "if (puVar2 == (undefined *)0x0) {\n    puVar3[1] = puVar3[1] + 1;\n  }\n  else {\n    SYNC(0);\n    puVar3[1] = puVar3[1] + 1;\n    SYNC(0);\n  }" (if "if") (parenthesized_expression "(puVar2 == (undefined *)0x0)" (( "(") (binary_expression "puVar2 == (undefined *)0x0" (identifier "puVar2") (== "==") (cast_expression "(undefined *)0x0" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n    puVar3[1] = puVar3[1] + 1;\n  }" ({ "{") (expression_statement "puVar3[1] = puVar3[1] + 1;" (assignment_expression "puVar3[1] = puVar3[1] + 1" (subscript_expression "puVar3[1]" (identifier "puVar3") ([ "[") (number_literal "1") (] "]")) (= "=") (binary_expression "puVar3[1] + 1" (subscript_expression "puVar3[1]" (identifier "puVar3") ([ "[") (number_literal "1") (] "]")) (+ "+") (number_literal "1"))) (; ";")) (} "}")) (else_clause "else {\n    SYNC(0);\n    puVar3[1] = puVar3[1] + 1;\n    SYNC(0);\n  }" (else "else") (compound_statement "{\n    SYNC(0);\n    puVar3[1] = puVar3[1] + 1;\n    SYNC(0);\n  }" ({ "{") (expression_statement "SYNC(0);" (call_expression "SYNC(0)" (identifier "SYNC") (argument_list "(0)" (( "(") (number_literal "0") () ")"))) (; ";")) (expression_statement "puVar3[1] = puVar3[1] + 1;" (assignment_expression "puVar3[1] = puVar3[1] + 1" (subscript_expression "puVar3[1]" (identifier "puVar3") ([ "[") (number_literal "1") (] "]")) (= "=") (binary_expression "puVar3[1] + 1" (subscript_expression "puVar3[1]" (identifier "puVar3") ([ "[") (number_literal "1") (] "]")) (+ "+") (number_literal "1"))) (; ";")) (expression_statement "SYNC(0);" (call_expression "SYNC(0)" (identifier "SYNC") (argument_list "(0)" (( "(") (number_literal "0") () ")"))) (; ";")) (} "}")))) (expression_statement "iVar6 = *(int *)(param_1 + 4);" (assignment_expression "iVar6 = *(int *)(param_1 + 4)" (identifier "iVar6") (= "=") (pointer_expression "*(int *)(param_1 + 4)" (* "*") (cast_expression "(int *)(param_1 + 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 4)" (( "(") (binary_expression "param_1 + 4" (identifier "param_1") (+ "+") (number_literal "4")) () ")"))))) (; ";")) (expression_statement "iVar4 = (*(code *)PTR__M_id_00433800)(PTR_id_00432330);" (assignment_expression "iVar4 = (*(code *)PTR__M_id_00433800)(PTR_id_00432330)" (identifier "iVar4") (= "=") (call_expression "(*(code *)PTR__M_id_00433800)(PTR_id_00432330)" (parenthesized_expression "(*(code *)PTR__M_id_00433800)" (( "(") (pointer_expression "*(code *)PTR__M_id_00433800" (* "*") (cast_expression "(code *)PTR__M_id_00433800" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR__M_id_00433800"))) () ")")) (argument_list "(PTR_id_00432330)" (( "(") (identifier "PTR_id_00432330") () ")")))) (; ";")) (expression_statement "puVar1 = PTR_operator_new_0043233c;" (assignment_expression "puVar1 = PTR_operator_new_0043233c" (identifier "puVar1") (= "=") (identifier "PTR_operator_new_0043233c")) (; ";")) (expression_statement "*(undefined4 **)(iVar6 + iVar4 * 4) = puVar3;" (assignment_expression "*(undefined4 **)(iVar6 + iVar4 * 4) = puVar3" (pointer_expression "*(undefined4 **)(iVar6 + iVar4 * 4)" (* "*") (cast_expression "(undefined4 **)(iVar6 + iVar4 * 4)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar6 + iVar4 * 4)" (( "(") (binary_expression "iVar6 + iVar4 * 4" (identifier "iVar6") (+ "+") (binary_expression "iVar4 * 4" (identifier "iVar4") (* "*") (number_literal "4"))) () ")")))) (= "=") (identifier "puVar3")) (; ";")) (expression_statement "puVar3 = (undefined4 *)(*(code *)puVar1)(8);" (assignment_expression "puVar3 = (undefined4 *)(*(code *)puVar1)(8)" (identifier "puVar3") (= "=") (cast_expression "(undefined4 *)(*(code *)puVar1)(8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*(code *)puVar1)(8)" (parenthesized_expression "(*(code *)puVar1)" (( "(") (pointer_expression "*(code *)puVar1" (* "*") (cast_expression "(code *)puVar1" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar1"))) () ")")) (argument_list "(8)" (( "(") (number_literal "8") () ")"))))) (; ";")) (expression_statement "puVar3[1] = 0;" (assignment_expression "puVar3[1] = 0" (subscript_expression "puVar3[1]" (identifier "puVar3") ([ "[") (number_literal "1") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "*puVar3 = PTR_vtable_004322c8 + 8;" (assignment_expression "*puVar3 = PTR_vtable_004322c8 + 8" (pointer_expression "*puVar3" (* "*") (identifier "puVar3")) (= "=") (binary_expression "PTR_vtable_004322c8 + 8" (identifier "PTR_vtable_004322c8") (+ "+") (number_literal "8"))) (; ";")) (if_statement "if (puVar2 == (undefined *)0x0) {\n    puVar3[1] = 1;\n  }\n  else {\n    SYNC(0);\n    puVar3[1] = puVar3[1] + 1;\n    SYNC(0);\n  }" (if "if") (parenthesized_expression "(puVar2 == (undefined *)0x0)" (( "(") (binary_expression "puVar2 == (undefined *)0x0" (identifier "puVar2") (== "==") (cast_expression "(undefined *)0x0" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n    puVar3[1] = 1;\n  }" ({ "{") (expression_statement "puVar3[1] = 1;" (assignment_expression "puVar3[1] = 1" (subscript_expression "puVar3[1]" (identifier "puVar3") ([ "[") (number_literal "1") (] "]")) (= "=") (number_literal "1")) (; ";")) (} "}")) (else_clause "else {\n    SYNC(0);\n    puVar3[1] = puVar3[1] + 1;\n    SYNC(0);\n  }" (else "else") (compound_statement "{\n    SYNC(0);\n    puVar3[1] = puVar3[1] + 1;\n    SYNC(0);\n  }" ({ "{") (expression_statement "SYNC(0);" (call_expression "SYNC(0)" (identifier "SYNC") (argument_list "(0)" (( "(") (number_literal "0") () ")"))) (; ";")) (expression_statement "puVar3[1] = puVar3[1] + 1;" (assignment_expression "puVar3[1] = puVar3[1] + 1" (subscript_expression "puVar3[1]" (identifier "puVar3") ([ "[") (number_literal "1") (] "]")) (= "=") (binary_expression "puVar3[1] + 1" (subscript_expression "puVar3[1]" (identifier "puVar3") ([ "[") (number_literal "1") (] "]")) (+ "+") (number_literal "1"))) (; ";")) (expression_statement "SYNC(0);" (call_expression "SYNC(0)" (identifier "SYNC") (argument_list "(0)" (( "(") (number_literal "0") () ")"))) (; ";")) (} "}")))) (expression_statement "iVar6 = *(int *)(param_1 + 4);" (assignment_expression "iVar6 = *(int *)(param_1 + 4)" (identifier "iVar6") (= "=") (pointer_expression "*(int *)(param_1 + 4)" (* "*") (cast_expression "(int *)(param_1 + 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 4)" (( "(") (binary_expression "param_1 + 4" (identifier "param_1") (+ "+") (number_literal "4")) () ")"))))) (; ";")) (expression_statement "iVar4 = (*(code *)PTR__M_id_00433800)(PTR_id_00432328);" (assignment_expression "iVar4 = (*(code *)PTR__M_id_00433800)(PTR_id_00432328)" (identifier "iVar4") (= "=") (call_expression "(*(code *)PTR__M_id_00433800)(PTR_id_00432328)" (parenthesized_expression "(*(code *)PTR__M_id_00433800)" (( "(") (pointer_expression "*(code *)PTR__M_id_00433800" (* "*") (cast_expression "(code *)PTR__M_id_00433800" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR__M_id_00433800"))) () ")")) (argument_list "(PTR_id_00432328)" (( "(") (identifier "PTR_id_00432328") () ")")))) (; ";")) (expression_statement "puVar1 = PTR_operator_new_0043233c;" (assignment_expression "puVar1 = PTR_operator_new_0043233c" (identifier "puVar1") (= "=") (identifier "PTR_operator_new_0043233c")) (; ";")) (expression_statement "*(undefined4 **)(iVar6 + iVar4 * 4) = puVar3;" (assignment_expression "*(undefined4 **)(iVar6 + iVar4 * 4) = puVar3" (pointer_expression "*(undefined4 **)(iVar6 + iVar4 * 4)" (* "*") (cast_expression "(undefined4 **)(iVar6 + iVar4 * 4)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar6 + iVar4 * 4)" (( "(") (binary_expression "iVar6 + iVar4 * 4" (identifier "iVar6") (+ "+") (binary_expression "iVar4 * 4" (identifier "iVar4") (* "*") (number_literal "4"))) () ")")))) (= "=") (identifier "puVar3")) (; ";")) (expression_statement "puVar3 = (undefined4 *)(*(code *)puVar1)(8);" (assignment_expression "puVar3 = (undefined4 *)(*(code *)puVar1)(8)" (identifier "puVar3") (= "=") (cast_expression "(undefined4 *)(*(code *)puVar1)(8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*(code *)puVar1)(8)" (parenthesized_expression "(*(code *)puVar1)" (( "(") (pointer_expression "*(code *)puVar1" (* "*") (cast_expression "(code *)puVar1" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar1"))) () ")")) (argument_list "(8)" (( "(") (number_literal "8") () ")"))))) (; ";")) (expression_statement "puVar3[1] = 0;" (assignment_expression "puVar3[1] = 0" (subscript_expression "puVar3[1]" (identifier "puVar3") ([ "[") (number_literal "1") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "*puVar3 = PTR_vtable_004322bc + 8;" (assignment_expression "*puVar3 = PTR_vtable_004322bc + 8" (pointer_expression "*puVar3" (* "*") (identifier "puVar3")) (= "=") (binary_expression "PTR_vtable_004322bc + 8" (identifier "PTR_vtable_004322bc") (+ "+") (number_literal "8"))) (; ";")) (if_statement "if (puVar2 == (undefined *)0x0) {\n    puVar3[1] = 1;\n  }\n  else {\n    SYNC(0);\n    puVar3[1] = puVar3[1] + 1;\n    SYNC(0);\n  }" (if "if") (parenthesized_expression "(puVar2 == (undefined *)0x0)" (( "(") (binary_expression "puVar2 == (undefined *)0x0" (identifier "puVar2") (== "==") (cast_expression "(undefined *)0x0" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n    puVar3[1] = 1;\n  }" ({ "{") (expression_statement "puVar3[1] = 1;" (assignment_expression "puVar3[1] = 1" (subscript_expression "puVar3[1]" (identifier "puVar3") ([ "[") (number_literal "1") (] "]")) (= "=") (number_literal "1")) (; ";")) (} "}")) (else_clause "else {\n    SYNC(0);\n    puVar3[1] = puVar3[1] + 1;\n    SYNC(0);\n  }" (else "else") (compound_statement "{\n    SYNC(0);\n    puVar3[1] = puVar3[1] + 1;\n    SYNC(0);\n  }" ({ "{") (expression_statement "SYNC(0);" (call_expression "SYNC(0)" (identifier "SYNC") (argument_list "(0)" (( "(") (number_literal "0") () ")"))) (; ";")) (expression_statement "puVar3[1] = puVar3[1] + 1;" (assignment_expression "puVar3[1] = puVar3[1] + 1" (subscript_expression "puVar3[1]" (identifier "puVar3") ([ "[") (number_literal "1") (] "]")) (= "=") (binary_expression "puVar3[1] + 1" (subscript_expression "puVar3[1]" (identifier "puVar3") ([ "[") (number_literal "1") (] "]")) (+ "+") (number_literal "1"))) (; ";")) (expression_statement "SYNC(0);" (call_expression "SYNC(0)" (identifier "SYNC") (argument_list "(0)" (( "(") (number_literal "0") () ")"))) (; ";")) (} "}")))) (expression_statement "iVar6 = *(int *)(param_1 + 4);" (assignment_expression "iVar6 = *(int *)(param_1 + 4)" (identifier "iVar6") (= "=") (pointer_expression "*(int *)(param_1 + 4)" (* "*") (cast_expression "(int *)(param_1 + 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 4)" (( "(") (binary_expression "param_1 + 4" (identifier "param_1") (+ "+") (number_literal "4")) () ")"))))) (; ";")) (expression_statement "iVar4 = (*(code *)PTR__M_id_00433800)(PTR_id_0043232c);" (assignment_expression "iVar4 = (*(code *)PTR__M_id_00433800)(PTR_id_0043232c)" (identifier "iVar4") (= "=") (call_expression "(*(code *)PTR__M_id_00433800)(PTR_id_0043232c)" (parenthesized_expression "(*(code *)PTR__M_id_00433800)" (( "(") (pointer_expression "*(code *)PTR__M_id_00433800" (* "*") (cast_expression "(code *)PTR__M_id_00433800" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR__M_id_00433800"))) () ")")) (argument_list "(PTR_id_0043232c)" (( "(") (identifier "PTR_id_0043232c") () ")")))) (; ";")) (expression_statement "puVar1 = PTR_operator_new_0043233c;" (assignment_expression "puVar1 = PTR_operator_new_0043233c" (identifier "puVar1") (= "=") (identifier "PTR_operator_new_0043233c")) (; ";")) (expression_statement "*(undefined4 **)(iVar6 + iVar4 * 4) = puVar3;" (assignment_expression "*(undefined4 **)(iVar6 + iVar4 * 4) = puVar3" (pointer_expression "*(undefined4 **)(iVar6 + iVar4 * 4)" (* "*") (cast_expression "(undefined4 **)(iVar6 + iVar4 * 4)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar6 + iVar4 * 4)" (( "(") (binary_expression "iVar6 + iVar4 * 4" (identifier "iVar6") (+ "+") (binary_expression "iVar4 * 4" (identifier "iVar4") (* "*") (number_literal "4"))) () ")")))) (= "=") (identifier "puVar3")) (; ";")) (expression_statement "puVar3 = (undefined4 *)(*(code *)puVar1)(8);" (assignment_expression "puVar3 = (undefined4 *)(*(code *)puVar1)(8)" (identifier "puVar3") (= "=") (cast_expression "(undefined4 *)(*(code *)puVar1)(8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*(code *)puVar1)(8)" (parenthesized_expression "(*(code *)puVar1)" (( "(") (pointer_expression "*(code *)puVar1" (* "*") (cast_expression "(code *)puVar1" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar1"))) () ")")) (argument_list "(8)" (( "(") (number_literal "8") () ")"))))) (; ";")) (expression_statement "puVar3[1] = 0;" (assignment_expression "puVar3[1] = 0" (subscript_expression "puVar3[1]" (identifier "puVar3") ([ "[") (number_literal "1") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "*puVar3 = PTR_vtable_004322c4 + 8;" (assignment_expression "*puVar3 = PTR_vtable_004322c4 + 8" (pointer_expression "*puVar3" (* "*") (identifier "puVar3")) (= "=") (binary_expression "PTR_vtable_004322c4 + 8" (identifier "PTR_vtable_004322c4") (+ "+") (number_literal "8"))) (; ";")) (if_statement "if (puVar2 == (undefined *)0x0) {\n    puVar3[1] = 1;\n  }\n  else {\n    SYNC(0);\n    puVar3[1] = puVar3[1] + 1;\n    SYNC(0);\n  }" (if "if") (parenthesized_expression "(puVar2 == (undefined *)0x0)" (( "(") (binary_expression "puVar2 == (undefined *)0x0" (identifier "puVar2") (== "==") (cast_expression "(undefined *)0x0" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n    puVar3[1] = 1;\n  }" ({ "{") (expression_statement "puVar3[1] = 1;" (assignment_expression "puVar3[1] = 1" (subscript_expression "puVar3[1]" (identifier "puVar3") ([ "[") (number_literal "1") (] "]")) (= "=") (number_literal "1")) (; ";")) (} "}")) (else_clause "else {\n    SYNC(0);\n    puVar3[1] = puVar3[1] + 1;\n    SYNC(0);\n  }" (else "else") (compound_statement "{\n    SYNC(0);\n    puVar3[1] = puVar3[1] + 1;\n    SYNC(0);\n  }" ({ "{") (expression_statement "SYNC(0);" (call_expression "SYNC(0)" (identifier "SYNC") (argument_list "(0)" (( "(") (number_literal "0") () ")"))) (; ";")) (expression_statement "puVar3[1] = puVar3[1] + 1;" (assignment_expression "puVar3[1] = puVar3[1] + 1" (subscript_expression "puVar3[1]" (identifier "puVar3") ([ "[") (number_literal "1") (] "]")) (= "=") (binary_expression "puVar3[1] + 1" (subscript_expression "puVar3[1]" (identifier "puVar3") ([ "[") (number_literal "1") (] "]")) (+ "+") (number_literal "1"))) (; ";")) (expression_statement "SYNC(0);" (call_expression "SYNC(0)" (identifier "SYNC") (argument_list "(0)" (( "(") (number_literal "0") () ")"))) (; ";")) (} "}")))) (expression_statement "iVar6 = *(int *)(param_1 + 4);" (assignment_expression "iVar6 = *(int *)(param_1 + 4)" (identifier "iVar6") (= "=") (pointer_expression "*(int *)(param_1 + 4)" (* "*") (cast_expression "(int *)(param_1 + 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 4)" (( "(") (binary_expression "param_1 + 4" (identifier "param_1") (+ "+") (number_literal "4")) () ")"))))) (; ";")) (expression_statement "iVar4 = (*(code *)PTR__M_id_00433800)(PTR_id_00432324);" (assignment_expression "iVar4 = (*(code *)PTR__M_id_00433800)(PTR_id_00432324)" (identifier "iVar4") (= "=") (call_expression "(*(code *)PTR__M_id_00433800)(PTR_id_00432324)" (parenthesized_expression "(*(code *)PTR__M_id_00433800)" (( "(") (pointer_expression "*(code *)PTR__M_id_00433800" (* "*") (cast_expression "(code *)PTR__M_id_00433800" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR__M_id_00433800"))) () ")")) (argument_list "(PTR_id_00432324)" (( "(") (identifier "PTR_id_00432324") () ")")))) (; ";")) (expression_statement "puVar1 = PTR_operator_new_0043233c;" (assignment_expression "puVar1 = PTR_operator_new_0043233c" (identifier "puVar1") (= "=") (identifier "PTR_operator_new_0043233c")) (; ";")) (expression_statement "*(undefined4 **)(iVar6 + iVar4 * 4) = puVar3;" (assignment_expression "*(undefined4 **)(iVar6 + iVar4 * 4) = puVar3" (pointer_expression "*(undefined4 **)(iVar6 + iVar4 * 4)" (* "*") (cast_expression "(undefined4 **)(iVar6 + iVar4 * 4)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar6 + iVar4 * 4)" (( "(") (binary_expression "iVar6 + iVar4 * 4" (identifier "iVar6") (+ "+") (binary_expression "iVar4 * 4" (identifier "iVar4") (* "*") (number_literal "4"))) () ")")))) (= "=") (identifier "puVar3")) (; ";")) (expression_statement "iVar4 = (*(code *)puVar1)(0x10);" (assignment_expression "iVar4 = (*(code *)puVar1)(0x10)" (identifier "iVar4") (= "=") (call_expression "(*(code *)puVar1)(0x10)" (parenthesized_expression "(*(code *)puVar1)" (( "(") (pointer_expression "*(code *)puVar1" (* "*") (cast_expression "(code *)puVar1" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar1"))) () ")")) (argument_list "(0x10)" (( "(") (number_literal "0x10") () ")")))) (; ";")) (expression_statement "(*(code *)PTR_messages_00436450)(iVar4,*param_2,param_4,0);" (call_expression "(*(code *)PTR_messages_00436450)(iVar4,*param_2,param_4,0)" (parenthesized_expression "(*(code *)PTR_messages_00436450)" (( "(") (pointer_expression "*(code *)PTR_messages_00436450" (* "*") (cast_expression "(code *)PTR_messages_00436450" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_messages_00436450"))) () ")")) (argument_list "(iVar4,*param_2,param_4,0)" (( "(") (identifier "iVar4") (, ",") (pointer_expression "*param_2" (* "*") (identifier "param_2")) (, ",") (identifier "param_4") (, ",") (number_literal "0") () ")"))) (; ";")) (if_statement "if (puVar2 == (undefined *)0x0) {\n    *(int *)(iVar4 + 4) = *(int *)(iVar4 + 4) + 1;\n  }\n  else {\n    SYNC(0);\n    *(int *)(iVar4 + 4) = *(int *)(iVar4 + 4) + 1;\n    SYNC(0);\n  }" (if "if") (parenthesized_expression "(puVar2 == (undefined *)0x0)" (( "(") (binary_expression "puVar2 == (undefined *)0x0" (identifier "puVar2") (== "==") (cast_expression "(undefined *)0x0" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n    *(int *)(iVar4 + 4) = *(int *)(iVar4 + 4) + 1;\n  }" ({ "{") (expression_statement "*(int *)(iVar4 + 4) = *(int *)(iVar4 + 4) + 1;" (assignment_expression "*(int *)(iVar4 + 4) = *(int *)(iVar4 + 4) + 1" (pointer_expression "*(int *)(iVar4 + 4)" (* "*") (cast_expression "(int *)(iVar4 + 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 4)" (( "(") (binary_expression "iVar4 + 4" (identifier "iVar4") (+ "+") (number_literal "4")) () ")")))) (= "=") (binary_expression "*(int *)(iVar4 + 4) + 1" (pointer_expression "*(int *)(iVar4 + 4)" (* "*") (cast_expression "(int *)(iVar4 + 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 4)" (( "(") (binary_expression "iVar4 + 4" (identifier "iVar4") (+ "+") (number_literal "4")) () ")")))) (+ "+") (number_literal "1"))) (; ";")) (} "}")) (else_clause "else {\n    SYNC(0);\n    *(int *)(iVar4 + 4) = *(int *)(iVar4 + 4) + 1;\n    SYNC(0);\n  }" (else "else") (compound_statement "{\n    SYNC(0);\n    *(int *)(iVar4 + 4) = *(int *)(iVar4 + 4) + 1;\n    SYNC(0);\n  }" ({ "{") (expression_statement "SYNC(0);" (call_expression "SYNC(0)" (identifier "SYNC") (argument_list "(0)" (( "(") (number_literal "0") () ")"))) (; ";")) (expression_statement "*(int *)(iVar4 + 4) = *(int *)(iVar4 + 4) + 1;" (assignment_expression "*(int *)(iVar4 + 4) = *(int *)(iVar4 + 4) + 1" (pointer_expression "*(int *)(iVar4 + 4)" (* "*") (cast_expression "(int *)(iVar4 + 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 4)" (( "(") (binary_expression "iVar4 + 4" (identifier "iVar4") (+ "+") (number_literal "4")) () ")")))) (= "=") (binary_expression "*(int *)(iVar4 + 4) + 1" (pointer_expression "*(int *)(iVar4 + 4)" (* "*") (cast_expression "(int *)(iVar4 + 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 4)" (( "(") (binary_expression "iVar4 + 4" (identifier "iVar4") (+ "+") (number_literal "4")) () ")")))) (+ "+") (number_literal "1"))) (; ";")) (expression_statement "SYNC(0);" (call_expression "SYNC(0)" (identifier "SYNC") (argument_list "(0)" (( "(") (number_literal "0") () ")"))) (; ";")) (} "}")))) (expression_statement "iVar7 = *(int *)(param_1 + 4);" (assignment_expression "iVar7 = *(int *)(param_1 + 4)" (identifier "iVar7") (= "=") (pointer_expression "*(int *)(param_1 + 4)" (* "*") (cast_expression "(int *)(param_1 + 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 4)" (( "(") (binary_expression "param_1 + 4" (identifier "param_1") (+ "+") (number_literal "4")) () ")"))))) (; ";")) (expression_statement "iVar6 = (*(code *)PTR__M_id_00433800)(PTR_id_00432338);" (assignment_expression "iVar6 = (*(code *)PTR__M_id_00433800)(PTR_id_00432338)" (identifier "iVar6") (= "=") (call_expression "(*(code *)PTR__M_id_00433800)(PTR_id_00432338)" (parenthesized_expression "(*(code *)PTR__M_id_00433800)" (( "(") (pointer_expression "*(code *)PTR__M_id_00433800" (* "*") (cast_expression "(code *)PTR__M_id_00433800" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR__M_id_00433800"))) () ")")) (argument_list "(PTR_id_00432338)" (( "(") (identifier "PTR_id_00432338") () ")")))) (; ";")) (expression_statement "*(int *)(iVar7 + iVar6 * 4) = iVar4;" (assignment_expression "*(int *)(iVar7 + iVar6 * 4) = iVar4" (pointer_expression "*(int *)(iVar7 + iVar6 * 4)" (* "*") (cast_expression "(int *)(iVar7 + iVar6 * 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar7 + iVar6 * 4)" (( "(") (binary_expression "iVar7 + iVar6 * 4" (identifier "iVar7") (+ "+") (binary_expression "iVar6 * 4" (identifier "iVar6") (* "*") (number_literal "4"))) () ")")))) (= "=") (identifier "iVar4")) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}")))

/* std::locale::_Impl::_M_init_extra(void*, void*, char const*, char const*) */

void std::locale::_Impl::function_1(void *param_1,void *param_2,char *param_3,char *param_4)

{
  type_1 *puVar1;
  type_1 *var_7;
  type_2 *puVar3;
  int var_5;
  type_2 uVar5;
  int var_4;
  int var_13;
  type_2 in_stack_00000010;
  type_2 local_30 [3];
  
  puVar3 = (type_2 *)(*(type_3 *)PTR_operator_new_0043233c)(0xc);
                    /* WARNING: Load size is inaccurate */
  uVar5 = *param_2;
  puVar3[1] = 0;
  puVar3[2] = 0;
  var_7 = PTR__M_initialize_numpunct_0043234c;
                    /* try { // try from 0035b178 to 0035b17f has its CatchHandler @ 0035ba00 */
  *puVar3 = var_1 + 8;
  (*(type_3 *)var_7)(puVar3,uVar5);
  var_7 = var_2;
  if (var_2 == (type_1 *)0x0) {
    puVar3[1] = puVar3[1] + 1;
  }
  else {
    var_3(0);
    puVar3[1] = puVar3[1] + 1;
    var_3(0);
  }
  var_4 = *(int *)((int)param_1 + 4);
  var_5 = (*(type_3 *)PTR__M_id_00433800)(PTR_id_004322fc);
  puVar1 = PTR_operator_new_0043233c;
  *(type_2 **)(var_4 + var_5 * 4) = puVar3;
  puVar3 = (type_2 *)(*(type_3 *)puVar1)(0xc);
                    /* WARNING: Load size is inaccurate */
  local_30[0] = *param_2;
  puVar3[1] = 0;
  puVar1 = PTR__S_clone_c_locale_004337ec;
  *puVar3 = var_6 + 8;
  uVar5 = (*(type_3 *)puVar1)(local_30);
  puVar3[2] = uVar5;
  if (var_7 == (type_1 *)0x0) {
    puVar3[1] = puVar3[1] + 1;
  }
  else {
    var_3(0);
    puVar3[1] = puVar3[1] + 1;
    var_3(0);
  }
  var_4 = *(int *)((int)param_1 + 4);
  var_5 = (*(type_3 *)PTR__M_id_00433800)(PTR_id_00432300);
  puVar1 = PTR_operator_new_0043233c;
  *(type_2 **)(var_4 + var_5 * 4) = puVar3;
  puVar3 = (type_2 *)(*(type_3 *)puVar1)(0xc);
                    /* WARNING: Load size is inaccurate */
  uVar5 = *param_2;
  puVar3[1] = 0;
  puVar3[2] = 0;
  puVar1 = PTR__M_initialize_moneypunct_00432370;
                    /* try { // try from 0035b284 to 0035b28b has its CatchHandler @ 0035b9cc */
  *puVar3 = var_8 + 8;
  (*(type_3 *)puVar1)(puVar3,uVar5,0);
  if (var_7 == (type_1 *)0x0) {
    puVar3[1] = puVar3[1] + 1;
  }
  else {
    var_3(0);
    puVar3[1] = puVar3[1] + 1;
    var_3(0);
  }
  var_4 = *(int *)((int)param_1 + 4);
  var_5 = (*(type_3 *)PTR__M_id_00433800)(PTR_id_00432314);
  puVar1 = PTR_operator_new_0043233c;
  *(type_2 **)(var_4 + var_5 * 4) = puVar3;
  puVar3 = (type_2 *)(*(type_3 *)puVar1)(0xc);
                    /* WARNING: Load size is inaccurate */
  uVar5 = *param_2;
  puVar3[1] = 0;
  puVar3[2] = 0;
  puVar1 = PTR__M_initialize_moneypunct_00432360;
                    /* try { // try from 0035b304 to 0035b30b has its CatchHandler @ 0035b994 */
  *puVar3 = var_9 + 8;
  (*(type_3 *)puVar1)(puVar3,uVar5,0);
  if (var_7 == (type_1 *)0x0) {
    puVar3[1] = puVar3[1] + 1;
  }
  else {
    var_3(0);
    puVar3[1] = puVar3[1] + 1;
    var_3(0);
  }
  var_4 = *(int *)((int)param_1 + 4);
  var_5 = (*(type_3 *)PTR__M_id_00433800)(PTR_id_00432310);
  puVar1 = PTR_operator_new_0043233c;
  *(type_2 **)(var_4 + var_5 * 4) = puVar3;
  puVar3 = (type_2 *)(*(type_3 *)puVar1)(8);
  puVar3[1] = 0;
  *puVar3 = var_10 + 8;
  if (var_7 == (type_1 *)0x0) {
    puVar3[1] = 1;
  }
  else {
    var_3(0);
    puVar3[1] = puVar3[1] + 1;
    var_3(0);
  }
  var_4 = *(int *)((int)param_1 + 4);
  var_5 = (*(type_3 *)PTR__M_id_00433800)(PTR_id_00432308);
  puVar1 = PTR_operator_new_0043233c;
  *(type_2 **)(var_4 + var_5 * 4) = puVar3;
  puVar3 = (type_2 *)(*(type_3 *)puVar1)(8);
  puVar3[1] = 0;
  *puVar3 = var_11 + 8;
  if (var_7 == (type_1 *)0x0) {
    puVar3[1] = 1;
  }
  else {
    var_3(0);
    puVar3[1] = puVar3[1] + 1;
    var_3(0);
  }
  var_4 = *(int *)((int)param_1 + 4);
  var_5 = (*(type_3 *)PTR__M_id_00433800)(PTR_id_0043230c);
  puVar1 = PTR_operator_new_0043233c;
  *(type_2 **)(var_4 + var_5 * 4) = puVar3;
  puVar3 = (type_2 *)(*(type_3 *)puVar1)(8);
  puVar3[1] = 0;
  *puVar3 = var_12 + 8;
  if (var_7 == (type_1 *)0x0) {
    puVar3[1] = 1;
  }
  else {
    var_3(0);
    puVar3[1] = puVar3[1] + 1;
    var_3(0);
  }
  var_4 = *(int *)((int)param_1 + 4);
  var_5 = (*(type_3 *)PTR__M_id_00433800)(PTR_id_00432304);
  puVar1 = PTR_operator_new_0043233c;
  *(type_2 **)(var_4 + var_5 * 4) = puVar3;
  var_5 = (*(type_3 *)puVar1)(0x10);
                    /* WARNING: Load size is inaccurate */
                    /* try { // try from 0035b4a0 to 0035b4a7 has its CatchHandler @ 0035b9dc */
  (*(type_3 *)PTR_messages_0043644c)(var_5,*param_2,param_4,0);
  if (var_7 == (type_1 *)0x0) {
    *(int *)(var_5 + 4) = *(int *)(var_5 + 4) + 1;
  }
  else {
    var_3(0);
    *(int *)(var_5 + 4) = *(int *)(var_5 + 4) + 1;
    var_3(0);
  }
  var_13 = *(int *)((int)param_1 + 4);
  var_4 = (*(type_3 *)PTR__M_id_00433800)(PTR_id_00432318);
  puVar1 = PTR_operator_new_0043233c;
  *(int *)(var_13 + var_4 * 4) = var_5;
  puVar3 = (type_2 *)(*(type_3 *)puVar1)(0xc);
                    /* WARNING: Load size is inaccurate */
  uVar5 = *param_2;
  puVar3[1] = 0;
  puVar3[2] = 0;
  puVar1 = PTR__M_initialize_numpunct_00432384;
                    /* try { // try from 0035b51c to 0035b523 has its CatchHandler @ 0035b9d4 */
  *puVar3 = var_14 + 8;
  (*(type_3 *)puVar1)(puVar3,uVar5);
  if (var_7 == (type_1 *)0x0) {
    puVar3[1] = puVar3[1] + 1;
  }
  else {
    var_3(0);
    puVar3[1] = puVar3[1] + 1;
    var_3(0);
  }
  var_4 = *(int *)((int)param_1 + 4);
  var_5 = (*(type_3 *)PTR__M_id_00433800)(PTR_id_0043231c);
  puVar1 = PTR_operator_new_0043233c;
  *(type_2 **)(var_4 + var_5 * 4) = puVar3;
  puVar3 = (type_2 *)(*(type_3 *)puVar1)(0xc);
                    /* WARNING: Load size is inaccurate */
  local_30[0] = *param_2;
  puVar3[1] = 0;
  puVar1 = PTR__S_clone_c_locale_004337ec;
  *puVar3 = var_15 + 8;
  uVar5 = (*(type_3 *)puVar1)(local_30);
  puVar3[2] = uVar5;
  if (var_7 == (type_1 *)0x0) {
    puVar3[1] = puVar3[1] + 1;
  }
  else {
    var_3(0);
    puVar3[1] = puVar3[1] + 1;
    var_3(0);
  }
  var_4 = *(int *)((int)param_1 + 4);
  var_5 = (*(type_3 *)PTR__M_id_00433800)(PTR_id_00432320);
  puVar1 = PTR_operator_new_0043233c;
  *(type_2 **)(var_4 + var_5 * 4) = puVar3;
  puVar3 = (type_2 *)(*(type_3 *)puVar1)(0xc);
  uVar5 = *(type_2 *)param_3;
  puVar3[1] = 0;
  puVar3[2] = 0;
  puVar1 = PTR__M_initialize_moneypunct_004323a4;
                    /* try { // try from 0035b61c to 0035b623 has its CatchHandler @ 0035b9f8 */
  *puVar3 = var_16 + 8;
  (*(type_3 *)puVar1)(puVar3,uVar5,in_stack_00000010);
  if (var_7 == (type_1 *)0x0) {
    puVar3[1] = puVar3[1] + 1;
  }
  else {
    var_3(0);
    puVar3[1] = puVar3[1] + 1;
    var_3(0);
  }
  var_4 = *(int *)((int)param_1 + 4);
  var_5 = (*(type_3 *)PTR__M_id_00433800)(PTR_id_00432334);
  puVar1 = PTR_operator_new_0043233c;
  *(type_2 **)(var_4 + var_5 * 4) = puVar3;
  puVar3 = (type_2 *)(*(type_3 *)puVar1)(0xc);
  uVar5 = *(type_2 *)param_3;
  puVar3[1] = 0;
  puVar3[2] = 0;
  puVar1 = PTR__M_initialize_moneypunct_00432394;
                    /* try { // try from 0035b69c to 0035b6a3 has its CatchHandler @ 0035b9f0 */
  *puVar3 = var_17 + 8;
  (*(type_3 *)puVar1)(puVar3,uVar5,in_stack_00000010);
  if (var_7 == (type_1 *)0x0) {
    puVar3[1] = puVar3[1] + 1;
  }
  else {
    var_3(0);
    puVar3[1] = puVar3[1] + 1;
    var_3(0);
  }
  var_4 = *(int *)((int)param_1 + 4);
  var_5 = (*(type_3 *)PTR__M_id_00433800)(PTR_id_00432330);
  puVar1 = PTR_operator_new_0043233c;
  *(type_2 **)(var_4 + var_5 * 4) = puVar3;
  puVar3 = (type_2 *)(*(type_3 *)puVar1)(8);
  puVar3[1] = 0;
  *puVar3 = var_18 + 8;
  if (var_7 == (type_1 *)0x0) {
    puVar3[1] = 1;
  }
  else {
    var_3(0);
    puVar3[1] = puVar3[1] + 1;
    var_3(0);
  }
  var_4 = *(int *)((int)param_1 + 4);
  var_5 = (*(type_3 *)PTR__M_id_00433800)(PTR_id_00432328);
  puVar1 = PTR_operator_new_0043233c;
  *(type_2 **)(var_4 + var_5 * 4) = puVar3;
  puVar3 = (type_2 *)(*(type_3 *)puVar1)(8);
  puVar3[1] = 0;
  *puVar3 = var_19 + 8;
  if (var_7 == (type_1 *)0x0) {
    puVar3[1] = 1;
  }
  else {
    var_3(0);
    puVar3[1] = puVar3[1] + 1;
    var_3(0);
  }
  var_4 = *(int *)((int)param_1 + 4);
  var_5 = (*(type_3 *)PTR__M_id_00433800)(PTR_id_0043232c);
  puVar1 = PTR_operator_new_0043233c;
  *(type_2 **)(var_4 + var_5 * 4) = puVar3;
  puVar3 = (type_2 *)(*(type_3 *)puVar1)(8);
  puVar3[1] = 0;
  *puVar3 = var_20 + 8;
  if (var_7 == (type_1 *)0x0) {
    puVar3[1] = 1;
  }
  else {
    var_3(0);
    puVar3[1] = puVar3[1] + 1;
    var_3(0);
  }
  var_4 = *(int *)((int)param_1 + 4);
  var_5 = (*(type_3 *)PTR__M_id_00433800)(PTR_id_00432324);
  puVar1 = PTR_operator_new_0043233c;
  *(type_2 **)(var_4 + var_5 * 4) = puVar3;
  var_5 = (*(type_3 *)puVar1)(0x10);
                    /* WARNING: Load size is inaccurate */
                    /* try { // try from 0035b838 to 0035b83f has its CatchHandler @ 0035ba08 */
  (*(type_3 *)PTR_messages_00436450)(var_5,*param_2,param_4,0);
  if (var_7 == (type_1 *)0x0) {
    *(int *)(var_5 + 4) = *(int *)(var_5 + 4) + 1;
  }
  else {
    var_3(0);
    *(int *)(var_5 + 4) = *(int *)(var_5 + 4) + 1;
    var_3(0);
  }
  var_13 = *(int *)((int)param_1 + 4);
  var_4 = (*(type_3 *)PTR__M_id_00433800)(PTR_id_00432338);
  *(int *)(var_13 + var_4 * 4) = var_5;
  return;
}


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

void MASKED(int param_1,undefined4 *param_2,undefined4 *param_3,undefined4 param_4,
                 undefined4 param_5)

{
  undefined *puVar1;
  undefined *puVar2;
  undefined4 *puVar3;
  int iVar4;
  undefined4 uVar5;
  int iVar6;
  int iVar7;
  undefined4 local_30 [3];
  
  puVar3 = (undefined4 *)(*(code *)PTR_operator_new_0043233c)(0xc);
  uVar5 = *param_2;
  puVar3[1] = 0;
  puVar3[2] = 0;
  puVar2 = PTR__M_initialize_numpunct_0043234c;
                    /* try { // try from 0035b178 to 0035b17f has its CatchHandler @ 0035ba00 */
  *puVar3 = PTR_vtable_00432348 + 8;
  (*(code *)puVar2)(puVar3,uVar5);
  puVar2 = PTR___pthread_key_create_0043667c;
  if (PTR___pthread_key_create_0043667c == (undefined *)0x0) {
    puVar3[1] = puVar3[1] + 1;
  }
  else {
    SYNC(0);
    puVar3[1] = puVar3[1] + 1;
    SYNC(0);
  }
  iVar6 = *(int *)(param_1 + 4);
  iVar4 = (*(code *)PTR__M_id_00433800)(PTR_id_004322fc);
  puVar1 = PTR_operator_new_0043233c;
  *(undefined4 **)(iVar6 + iVar4 * 4) = puVar3;
  puVar3 = (undefined4 *)(*(code *)puVar1)(0xc);
  local_30[0] = *param_2;
  puVar3[1] = 0;
  puVar1 = PTR__S_clone_c_locale_004337ec;
  *puVar3 = PTR_vtable_00432290 + 8;
  uVar5 = (*(code *)puVar1)(local_30);
  puVar3[2] = uVar5;
  if (puVar2 == (undefined *)0x0) {
    puVar3[1] = puVar3[1] + 1;
  }
  else {
    SYNC(0);
    puVar3[1] = puVar3[1] + 1;
    SYNC(0);
  }
  iVar6 = *(int *)(param_1 + 4);
  iVar4 = (*(code *)PTR__M_id_00433800)(PTR_id_00432300);
  puVar1 = PTR_operator_new_0043233c;
  *(undefined4 **)(iVar6 + iVar4 * 4) = puVar3;
  puVar3 = (undefined4 *)(*(code *)puVar1)(0xc);
  uVar5 = *param_2;
  puVar3[1] = 0;
  puVar3[2] = 0;
  puVar1 = PTR__M_initialize_moneypunct_00432370;
                    /* try { // try from 0035b284 to 0035b28b has its CatchHandler @ 0035b9cc */
  *puVar3 = PTR_vtable_0043236c + 8;
  (*(code *)puVar1)(puVar3,uVar5,0);
  if (puVar2 == (undefined *)0x0) {
    puVar3[1] = puVar3[1] + 1;
  }
  else {
    SYNC(0);
    puVar3[1] = puVar3[1] + 1;
    SYNC(0);
  }
  iVar6 = *(int *)(param_1 + 4);
  iVar4 = (*(code *)PTR__M_id_00433800)(PTR_id_00432314);
  puVar1 = PTR_operator_new_0043233c;
  *(undefined4 **)(iVar6 + iVar4 * 4) = puVar3;
  puVar3 = (undefined4 *)(*(code *)puVar1)(0xc);
  uVar5 = *param_2;
  puVar3[1] = 0;
  puVar3[2] = 0;
  puVar1 = PTR__M_initialize_moneypunct_00432360;
                    /* try { // try from 0035b304 to 0035b30b has its CatchHandler @ 0035b994 */
  *puVar3 = PTR_vtable_0043235c + 8;
  (*(code *)puVar1)(puVar3,uVar5,0);
  if (puVar2 == (undefined *)0x0) {
    puVar3[1] = puVar3[1] + 1;
  }
  else {
    SYNC(0);
    puVar3[1] = puVar3[1] + 1;
    SYNC(0);
  }
  iVar6 = *(int *)(param_1 + 4);
  iVar4 = (*(code *)PTR__M_id_00433800)(PTR_id_00432310);
  puVar1 = PTR_operator_new_0043233c;
  *(undefined4 **)(iVar6 + iVar4 * 4) = puVar3;
  puVar3 = (undefined4 *)(*(code *)puVar1)(8);
  puVar3[1] = 0;
  *puVar3 = PTR_vtable_004322b8 + 8;
  if (puVar2 == (undefined *)0x0) {
    puVar3[1] = 1;
  }
  else {
    SYNC(0);
    puVar3[1] = puVar3[1] + 1;
    SYNC(0);
  }
  iVar6 = *(int *)(param_1 + 4);
  iVar4 = (*(code *)PTR__M_id_00433800)(PTR_id_00432308);
  puVar1 = PTR_operator_new_0043233c;
  *(undefined4 **)(iVar6 + iVar4 * 4) = puVar3;
  puVar3 = (undefined4 *)(*(code *)puVar1)(8);
  puVar3[1] = 0;
  *puVar3 = PTR_vtable_004322b4 + 8;
  if (puVar2 == (undefined *)0x0) {
    puVar3[1] = 1;
  }
  else {
    SYNC(0);
    puVar3[1] = puVar3[1] + 1;
    SYNC(0);
  }
  iVar6 = *(int *)(param_1 + 4);
  iVar4 = (*(code *)PTR__M_id_00433800)(PTR_id_0043230c);
  puVar1 = PTR_operator_new_0043233c;
  *(undefined4 **)(iVar6 + iVar4 * 4) = puVar3;
  puVar3 = (undefined4 *)(*(code *)puVar1)(8);
  puVar3[1] = 0;
  *puVar3 = PTR_vtable_004322c0 + 8;
  if (puVar2 == (undefined *)0x0) {
    puVar3[1] = 1;
  }
  else {
    SYNC(0);
    puVar3[1] = puVar3[1] + 1;
    SYNC(0);
  }
  iVar6 = *(int *)(param_1 + 4);
  iVar4 = (*(code *)PTR__M_id_00433800)(PTR_id_00432304);
  puVar1 = PTR_operator_new_0043233c;
  *(undefined4 **)(iVar6 + iVar4 * 4) = puVar3;
  iVar4 = (*(code *)puVar1)(0x10);
                    /* try { // try from 0035b4a0 to 0035b4a7 has its CatchHandler @ 0035b9dc */
  (*(code *)PTR_messages_0043644c)(iVar4,*param_2,param_4,0);
  if (puVar2 == (undefined *)0x0) {
    *(int *)(iVar4 + 4) = *(int *)(iVar4 + 4) + 1;
  }
  else {
    SYNC(0);
    *(int *)(iVar4 + 4) = *(int *)(iVar4 + 4) + 1;
    SYNC(0);
  }
  iVar7 = *(int *)(param_1 + 4);
  iVar6 = (*(code *)PTR__M_id_00433800)(PTR_id_00432318);
  puVar1 = PTR_operator_new_0043233c;
  *(int *)(iVar7 + iVar6 * 4) = iVar4;
  puVar3 = (undefined4 *)(*(code *)puVar1)(0xc);
  uVar5 = *param_2;
  puVar3[1] = 0;
  puVar3[2] = 0;
  puVar1 = PTR__M_initialize_numpunct_00432384;
                    /* try { // try from 0035b51c to 0035b523 has its CatchHandler @ 0035b9d4 */
  *puVar3 = PTR_vtable_00432380 + 8;
  (*(code *)puVar1)(puVar3,uVar5);
  if (puVar2 == (undefined *)0x0) {
    puVar3[1] = puVar3[1] + 1;
  }
  else {
    SYNC(0);
    puVar3[1] = puVar3[1] + 1;
    SYNC(0);
  }
  iVar6 = *(int *)(param_1 + 4);
  iVar4 = (*(code *)PTR__M_id_00433800)(PTR_id_0043231c);
  puVar1 = PTR_operator_new_0043233c;
  *(undefined4 **)(iVar6 + iVar4 * 4) = puVar3;
  puVar3 = (undefined4 *)(*(code *)puVar1)(0xc);
  local_30[0] = *param_2;
  puVar3[1] = 0;
  puVar1 = PTR__S_clone_c_locale_004337ec;
  *puVar3 = PTR_vtable_00432280 + 8;
  uVar5 = (*(code *)puVar1)(local_30);
  puVar3[2] = uVar5;
  if (puVar2 == (undefined *)0x0) {
    puVar3[1] = puVar3[1] + 1;
  }
  else {
    SYNC(0);
    puVar3[1] = puVar3[1] + 1;
    SYNC(0);
  }
  iVar6 = *(int *)(param_1 + 4);
  iVar4 = (*(code *)PTR__M_id_00433800)(PTR_id_00432320);
  puVar1 = PTR_operator_new_0043233c;
  *(undefined4 **)(iVar6 + iVar4 * 4) = puVar3;
  puVar3 = (undefined4 *)(*(code *)puVar1)(0xc);
  uVar5 = *param_3;
  puVar3[1] = 0;
  puVar3[2] = 0;
  puVar1 = PTR__M_initialize_moneypunct_004323a4;
                    /* try { // try from 0035b61c to 0035b623 has its CatchHandler @ 0035b9f8 */
  *puVar3 = PTR_vtable_004323a0 + 8;
  (*(code *)puVar1)(puVar3,uVar5,param_5);
  if (puVar2 == (undefined *)0x0) {
    puVar3[1] = puVar3[1] + 1;
  }
  else {
    SYNC(0);
    puVar3[1] = puVar3[1] + 1;
    SYNC(0);
  }
  iVar6 = *(int *)(param_1 + 4);
  iVar4 = (*(code *)PTR__M_id_00433800)(PTR_id_00432334);
  puVar1 = PTR_operator_new_0043233c;
  *(undefined4 **)(iVar6 + iVar4 * 4) = puVar3;
  puVar3 = (undefined4 *)(*(code *)puVar1)(0xc);
  uVar5 = *param_3;
  puVar3[1] = 0;
  puVar3[2] = 0;
  puVar1 = PTR__M_initialize_moneypunct_00432394;
                    /* try { // try from 0035b69c to 0035b6a3 has its CatchHandler @ 0035b9f0 */
  *puVar3 = PTR_vtable_00432390 + 8;
  (*(code *)puVar1)(puVar3,uVar5,param_5);
  if (puVar2 == (undefined *)0x0) {
    puVar3[1] = puVar3[1] + 1;
  }
  else {
    SYNC(0);
    puVar3[1] = puVar3[1] + 1;
    SYNC(0);
  }
  iVar6 = *(int *)(param_1 + 4);
  iVar4 = (*(code *)PTR__M_id_00433800)(PTR_id_00432330);
  puVar1 = PTR_operator_new_0043233c;
  *(undefined4 **)(iVar6 + iVar4 * 4) = puVar3;
  puVar3 = (undefined4 *)(*(code *)puVar1)(8);
  puVar3[1] = 0;
  *puVar3 = PTR_vtable_004322c8 + 8;
  if (puVar2 == (undefined *)0x0) {
    puVar3[1] = 1;
  }
  else {
    SYNC(0);
    puVar3[1] = puVar3[1] + 1;
    SYNC(0);
  }
  iVar6 = *(int *)(param_1 + 4);
  iVar4 = (*(code *)PTR__M_id_00433800)(PTR_id_00432328);
  puVar1 = PTR_operator_new_0043233c;
  *(undefined4 **)(iVar6 + iVar4 * 4) = puVar3;
  puVar3 = (undefined4 *)(*(code *)puVar1)(8);
  puVar3[1] = 0;
  *puVar3 = PTR_vtable_004322bc + 8;
  if (puVar2 == (undefined *)0x0) {
    puVar3[1] = 1;
  }
  else {
    SYNC(0);
    puVar3[1] = puVar3[1] + 1;
    SYNC(0);
  }
  iVar6 = *(int *)(param_1 + 4);
  iVar4 = (*(code *)PTR__M_id_00433800)(PTR_id_0043232c);
  puVar1 = PTR_operator_new_0043233c;
  *(undefined4 **)(iVar6 + iVar4 * 4) = puVar3;
  puVar3 = (undefined4 *)(*(code *)puVar1)(8);
  puVar3[1] = 0;
  *puVar3 = PTR_vtable_004322c4 + 8;
  if (puVar2 == (undefined *)0x0) {
    puVar3[1] = 1;
  }
  else {
    SYNC(0);
    puVar3[1] = puVar3[1] + 1;
    SYNC(0);
  }
  iVar6 = *(int *)(param_1 + 4);
  iVar4 = (*(code *)PTR__M_id_00433800)(PTR_id_00432324);
  puVar1 = PTR_operator_new_0043233c;
  *(undefined4 **)(iVar6 + iVar4 * 4) = puVar3;
  iVar4 = (*(code *)puVar1)(0x10);
                    /* try { // try from 0035b838 to 0035b83f has its CatchHandler @ 0035ba08 */
  (*(code *)PTR_messages_00436450)(iVar4,*param_2,param_4,0);
  if (puVar2 == (undefined *)0x0) {
    *(int *)(iVar4 + 4) = *(int *)(iVar4 + 4) + 1;
  }
  else {
    SYNC(0);
    *(int *)(iVar4 + 4) = *(int *)(iVar4 + 4) + 1;
    SYNC(0);
  }
  iVar7 = *(int *)(param_1 + 4);
  iVar6 = (*(code *)PTR__M_id_00433800)(PTR_id_00432338);
  *(int *)(iVar7 + iVar6 * 4) = iVar4;
  return;
}

