
/* std::ctype<char>::_M_widen_init() const */

void __thiscall std::ctype<char>::_M_widen_init(ctype<char> *this)

{
  int iVar1;
  long lVar2;
  undefined8 local_118;
  undefined8 uStack_110;
  undefined8 local_108;
  undefined8 uStack_100;
  undefined8 local_f8;
  undefined8 uStack_f0;
  undefined8 local_e8;
  undefined8 uStack_e0;
  undefined8 local_d8;
  undefined8 uStack_d0;
  undefined8 local_c8;
  undefined8 uStack_c0;
  undefined8 local_b8;
  undefined8 uStack_b0;
  undefined8 local_a8;
  undefined8 uStack_a0;
  undefined8 local_98;
  undefined8 uStack_90;
  undefined8 local_88;
  undefined8 uStack_80;
  undefined8 local_78;
  undefined8 uStack_70;
  undefined8 local_68;
  undefined8 uStack_60;
  undefined8 local_58;
  undefined8 uStack_50;
  undefined8 local_48;
  undefined8 uStack_40;
  undefined8 local_38;
  undefined8 uStack_30;
  undefined8 local_28;
  undefined8 uStack_20;
  
  lVar2 = 0;
  do {
    *(char *)((long)&local_118 + lVar2) = (char)lVar2;
    lVar2 = lVar2 + 1;
  } while (lVar2 != 0x100);
  if (*(code **)(*(long *)this + 0x38) == (code *)PTR_do_widen_0043df88) {
    *(undefined8 *)(this + 0x39) = local_118;
    *(undefined8 *)(this + 0x41) = uStack_110;
    *(undefined8 *)(this + 0x49) = local_108;
    *(undefined8 *)(this + 0x51) = uStack_100;
    *(undefined8 *)(this + 0x59) = local_f8;
    *(undefined8 *)(this + 0x61) = uStack_f0;
    *(undefined8 *)(this + 0x69) = local_e8;
    *(undefined8 *)(this + 0x71) = uStack_e0;
    *(undefined8 *)(this + 0x79) = local_d8;
    *(undefined8 *)(this + 0x81) = uStack_d0;
    *(undefined8 *)(this + 0x89) = local_c8;
    *(undefined8 *)(this + 0x91) = uStack_c0;
    *(undefined8 *)(this + 0x99) = local_b8;
    *(undefined8 *)(this + 0xa1) = uStack_b0;
    *(undefined8 *)(this + 0xa9) = local_a8;
    *(undefined8 *)(this + 0xb1) = uStack_a0;
    *(undefined8 *)(this + 0xb9) = local_98;
    *(undefined8 *)(this + 0xc1) = uStack_90;
    *(undefined8 *)(this + 0xc9) = local_88;
    *(undefined8 *)(this + 0xd1) = uStack_80;
    *(undefined8 *)(this + 0xd9) = local_78;
    *(undefined8 *)(this + 0xe1) = uStack_70;
    *(undefined8 *)(this + 0xe9) = local_68;
    *(undefined8 *)(this + 0xf1) = uStack_60;
    *(undefined8 *)(this + 0xf9) = local_58;
    *(undefined8 *)(this + 0x101) = uStack_50;
    *(undefined8 *)(this + 0x109) = local_48;
    *(undefined8 *)(this + 0x111) = uStack_40;
    *(undefined8 *)(this + 0x119) = local_38;
    *(undefined8 *)(this + 0x121) = uStack_30;
    *(undefined8 *)(this + 0x129) = local_28;
    *(undefined8 *)(this + 0x131) = uStack_20;
  }
  else {
    (**(code **)(*(long *)this + 0x38))(this,&local_118,&stack0xffffffffffffffe8,this + 0x39);
  }
  this[0x38] = (ctype<char>)0x1;
  iVar1 = memcmp(&local_118,this + 0x39,0x100);
  if (iVar1 != 0) {
    this[0x38] = (ctype<char>)0x2;
  }
  return;
}



void FUN_00319ac0(long *param_1)

{
  int iVar1;
  long lVar2;
  undefined8 local_118;
  undefined8 uStack_110;
  undefined8 local_108;
  undefined8 uStack_100;
  undefined8 local_f8;
  undefined8 uStack_f0;
  undefined8 local_e8;
  undefined8 uStack_e0;
  undefined8 local_d8;
  undefined8 uStack_d0;
  undefined8 local_c8;
  undefined8 uStack_c0;
  undefined8 local_b8;
  undefined8 uStack_b0;
  undefined8 local_a8;
  undefined8 uStack_a0;
  undefined8 local_98;
  undefined8 uStack_90;
  undefined8 local_88;
  undefined8 uStack_80;
  undefined8 local_78;
  undefined8 uStack_70;
  undefined8 local_68;
  undefined8 uStack_60;
  undefined8 local_58;
  undefined8 uStack_50;
  undefined8 local_48;
  undefined8 uStack_40;
  undefined8 local_38;
  undefined8 uStack_30;
  undefined8 local_28;
  undefined8 uStack_20;
  
  lVar2 = 0;
  do {
    *(char *)((long)&local_118 + lVar2) = (char)lVar2;
    lVar2 = lVar2 + 1;
  } while (lVar2 != 0x100);
  if (*(code **)(*param_1 + 0x38) == (code *)PTR_FUN_0043df88) {
    *(undefined8 *)((long)param_1 + 0x39) = local_118;
    *(undefined8 *)((long)param_1 + 0x41) = uStack_110;
    *(undefined8 *)((long)param_1 + 0x49) = local_108;
    *(undefined8 *)((long)param_1 + 0x51) = uStack_100;
    *(undefined8 *)((long)param_1 + 0x59) = local_f8;
    *(undefined8 *)((long)param_1 + 0x61) = uStack_f0;
    *(undefined8 *)((long)param_1 + 0x69) = local_e8;
    *(undefined8 *)((long)param_1 + 0x71) = uStack_e0;
    *(undefined8 *)((long)param_1 + 0x79) = local_d8;
    *(undefined8 *)((long)param_1 + 0x81) = uStack_d0;
    *(undefined8 *)((long)param_1 + 0x89) = local_c8;
    *(undefined8 *)((long)param_1 + 0x91) = uStack_c0;
    *(undefined8 *)((long)param_1 + 0x99) = local_b8;
    *(undefined8 *)((long)param_1 + 0xa1) = uStack_b0;
    *(undefined8 *)((long)param_1 + 0xa9) = local_a8;
    *(undefined8 *)((long)param_1 + 0xb1) = uStack_a0;
    *(undefined8 *)((long)param_1 + 0xb9) = local_98;
    *(undefined8 *)((long)param_1 + 0xc1) = uStack_90;
    *(undefined8 *)((long)param_1 + 0xc9) = local_88;
    *(undefined8 *)((long)param_1 + 0xd1) = uStack_80;
    *(undefined8 *)((long)param_1 + 0xd9) = local_78;
    *(undefined8 *)((long)param_1 + 0xe1) = uStack_70;
    *(undefined8 *)((long)param_1 + 0xe9) = local_68;
    *(undefined8 *)((long)param_1 + 0xf1) = uStack_60;
    *(undefined8 *)((long)param_1 + 0xf9) = local_58;
    *(undefined8 *)((long)param_1 + 0x101) = uStack_50;
    *(undefined8 *)((long)param_1 + 0x109) = local_48;
    *(undefined8 *)((long)param_1 + 0x111) = uStack_40;
    *(undefined8 *)((long)param_1 + 0x119) = local_38;
    *(undefined8 *)((long)param_1 + 0x121) = uStack_30;
    *(undefined8 *)((long)param_1 + 0x129) = local_28;
    *(undefined8 *)((long)param_1 + 0x131) = uStack_20;
  }
  else {
    (**(code **)(*param_1 + 0x38))
              (param_1,&local_118,&stack0xffffffffffffffe8,(void *)((long)param_1 + 0x39));
  }
  *(undefined1 *)(param_1 + 7) = 1;
  iVar1 = memcmp(&local_118,(void *)((long)param_1 + 0x39),0x100);
  if (iVar1 != 0) {
    *(undefined1 *)(param_1 + 7) = 2;
  }
  return;
}


PUSH R12
XOR EAX,EAX
PUSH RBP
MOV RBP,RDI
PUSH RBX
SUB RSP,0x100
MOV RBX,RSP
NOP dword ptr [RAX + RAX*0x1]
MOV byte ptr [RBX + RAX*0x1],AL
ADD RAX,0x1
CMP RAX,0x100
JNZ 0x00319ad8
MOV RAX,qword ptr [RBP]
LEA R12,[RBP + 0x39]
MOV RAX,qword ptr [RAX + 0x38]
CMP RAX,qword ptr [0x0043df88]
JNZ 0x00319c00
MOVDQA XMM0,xmmword ptr [RSP]
MOVDQA XMM1,xmmword ptr [RSP + 0x10]
MOVDQA XMM2,xmmword ptr [RSP + 0x20]
MOVDQA XMM3,xmmword ptr [RSP + 0x30]
MOVDQA XMM4,xmmword ptr [RSP + 0x40]
MOVDQA XMM5,xmmword ptr [RSP + 0x50]
MOVUPS xmmword ptr [RBP + 0x39],XMM0
MOVDQA XMM6,xmmword ptr [RSP + 0x60]
MOVDQA XMM7,xmmword ptr [RSP + 0x70]
MOVUPS xmmword ptr [RBP + 0x49],XMM1
MOVUPS xmmword ptr [RBP + 0x59],XMM2
MOVDQA XMM0,xmmword ptr [RSP + 0x80]
MOVDQA XMM1,xmmword ptr [RSP + 0x90]
MOVUPS xmmword ptr [RBP + 0x69],XMM3
MOVDQA XMM2,xmmword ptr [RSP + 0xa0]
MOVDQA XMM3,xmmword ptr [RSP + 0xb0]
MOVUPS xmmword ptr [RBP + 0x79],XMM4
MOVDQA XMM4,xmmword ptr [RSP + 0xc0]
MOVUPS xmmword ptr [RBP + 0x89],XMM5
MOVDQA XMM5,xmmword ptr [RSP + 0xd0]
MOVUPS xmmword ptr [RBP + 0x99],XMM6
MOVDQA XMM6,xmmword ptr [RSP + 0xe0]
MOVUPS xmmword ptr [RBP + 0xa9],XMM7
MOVDQA XMM7,xmmword ptr [RSP + 0xf0]
MOVUPS xmmword ptr [RBP + 0xb9],XMM0
MOVUPS xmmword ptr [RBP + 0xc9],XMM1
MOVUPS xmmword ptr [RBP + 0xd9],XMM2
MOVUPS xmmword ptr [RBP + 0xe9],XMM3
MOVUPS xmmword ptr [RBP + 0xf9],XMM4
MOVUPS xmmword ptr [RBP + 0x109],XMM5
MOVUPS xmmword ptr [RBP + 0x119],XMM6
MOVUPS xmmword ptr [RBP + 0x129],XMM7
MOV byte ptr [RBP + 0x38],0x1
MOV EDX,0x100
MOV RSI,R12
MOV RDI,RBX
CALL 0x00147840
TEST EAX,EAX
JZ 0x00319bf4
MOV byte ptr [RBP + 0x38],0x2
ADD RSP,0x100
POP RBX
POP RBP
POP R12
RET
MOV RCX,R12
LEA RDX,[RSP + 0x100]
MOV RSI,RBX
MOV RDI,RBP
CALL RAX
JMP 0x00319bd8
(translation_unit "void FUN_00319ac0(long *param_1)\n\n{\n  int iVar1;\n  long lVar2;\n  undefined8 local_118;\n  undefined8 uStack_110;\n  undefined8 local_108;\n  undefined8 uStack_100;\n  undefined8 local_f8;\n  undefined8 uStack_f0;\n  undefined8 local_e8;\n  undefined8 uStack_e0;\n  undefined8 local_d8;\n  undefined8 uStack_d0;\n  undefined8 local_c8;\n  undefined8 uStack_c0;\n  undefined8 local_b8;\n  undefined8 uStack_b0;\n  undefined8 local_a8;\n  undefined8 uStack_a0;\n  undefined8 local_98;\n  undefined8 uStack_90;\n  undefined8 local_88;\n  undefined8 uStack_80;\n  undefined8 local_78;\n  undefined8 uStack_70;\n  undefined8 local_68;\n  undefined8 uStack_60;\n  undefined8 local_58;\n  undefined8 uStack_50;\n  undefined8 local_48;\n  undefined8 uStack_40;\n  undefined8 local_38;\n  undefined8 uStack_30;\n  undefined8 local_28;\n  undefined8 uStack_20;\n  \n  lVar2 = 0;\n  do {\n    *(char *)((long)&local_118 + lVar2) = (char)lVar2;\n    lVar2 = lVar2 + 1;\n  } while (lVar2 != 0x100);\n  if (*(code **)(*param_1 + 0x38) == (code *)PTR_FUN_0043df88) {\n    *(undefined8 *)((long)param_1 + 0x39) = local_118;\n    *(undefined8 *)((long)param_1 + 0x41) = uStack_110;\n    *(undefined8 *)((long)param_1 + 0x49) = local_108;\n    *(undefined8 *)((long)param_1 + 0x51) = uStack_100;\n    *(undefined8 *)((long)param_1 + 0x59) = local_f8;\n    *(undefined8 *)((long)param_1 + 0x61) = uStack_f0;\n    *(undefined8 *)((long)param_1 + 0x69) = local_e8;\n    *(undefined8 *)((long)param_1 + 0x71) = uStack_e0;\n    *(undefined8 *)((long)param_1 + 0x79) = local_d8;\n    *(undefined8 *)((long)param_1 + 0x81) = uStack_d0;\n    *(undefined8 *)((long)param_1 + 0x89) = local_c8;\n    *(undefined8 *)((long)param_1 + 0x91) = uStack_c0;\n    *(undefined8 *)((long)param_1 + 0x99) = local_b8;\n    *(undefined8 *)((long)param_1 + 0xa1) = uStack_b0;\n    *(undefined8 *)((long)param_1 + 0xa9) = local_a8;\n    *(undefined8 *)((long)param_1 + 0xb1) = uStack_a0;\n    *(undefined8 *)((long)param_1 + 0xb9) = local_98;\n    *(undefined8 *)((long)param_1 + 0xc1) = uStack_90;\n    *(undefined8 *)((long)param_1 + 0xc9) = local_88;\n    *(undefined8 *)((long)param_1 + 0xd1) = uStack_80;\n    *(undefined8 *)((long)param_1 + 0xd9) = local_78;\n    *(undefined8 *)((long)param_1 + 0xe1) = uStack_70;\n    *(undefined8 *)((long)param_1 + 0xe9) = local_68;\n    *(undefined8 *)((long)param_1 + 0xf1) = uStack_60;\n    *(undefined8 *)((long)param_1 + 0xf9) = local_58;\n    *(undefined8 *)((long)param_1 + 0x101) = uStack_50;\n    *(undefined8 *)((long)param_1 + 0x109) = local_48;\n    *(undefined8 *)((long)param_1 + 0x111) = uStack_40;\n    *(undefined8 *)((long)param_1 + 0x119) = local_38;\n    *(undefined8 *)((long)param_1 + 0x121) = uStack_30;\n    *(undefined8 *)((long)param_1 + 0x129) = local_28;\n    *(undefined8 *)((long)param_1 + 0x131) = uStack_20;\n  }\n  else {\n    (**(code **)(*param_1 + 0x38))\n              (param_1,&local_118,&stack0xffffffffffffffe8,(void *)((long)param_1 + 0x39));\n  }\n  *(undefined1 *)(param_1 + 7) = 1;\n  iVar1 = memcmp(&local_118,(void *)((long)param_1 + 0x39),0x100);\n  if (iVar1 != 0) {\n    *(undefined1 *)(param_1 + 7) = 2;\n  }\n  return;\n}\n\n" (function_definition "void FUN_00319ac0(long *param_1)\n\n{\n  int iVar1;\n  long lVar2;\n  undefined8 local_118;\n  undefined8 uStack_110;\n  undefined8 local_108;\n  undefined8 uStack_100;\n  undefined8 local_f8;\n  undefined8 uStack_f0;\n  undefined8 local_e8;\n  undefined8 uStack_e0;\n  undefined8 local_d8;\n  undefined8 uStack_d0;\n  undefined8 local_c8;\n  undefined8 uStack_c0;\n  undefined8 local_b8;\n  undefined8 uStack_b0;\n  undefined8 local_a8;\n  undefined8 uStack_a0;\n  undefined8 local_98;\n  undefined8 uStack_90;\n  undefined8 local_88;\n  undefined8 uStack_80;\n  undefined8 local_78;\n  undefined8 uStack_70;\n  undefined8 local_68;\n  undefined8 uStack_60;\n  undefined8 local_58;\n  undefined8 uStack_50;\n  undefined8 local_48;\n  undefined8 uStack_40;\n  undefined8 local_38;\n  undefined8 uStack_30;\n  undefined8 local_28;\n  undefined8 uStack_20;\n  \n  lVar2 = 0;\n  do {\n    *(char *)((long)&local_118 + lVar2) = (char)lVar2;\n    lVar2 = lVar2 + 1;\n  } while (lVar2 != 0x100);\n  if (*(code **)(*param_1 + 0x38) == (code *)PTR_FUN_0043df88) {\n    *(undefined8 *)((long)param_1 + 0x39) = local_118;\n    *(undefined8 *)((long)param_1 + 0x41) = uStack_110;\n    *(undefined8 *)((long)param_1 + 0x49) = local_108;\n    *(undefined8 *)((long)param_1 + 0x51) = uStack_100;\n    *(undefined8 *)((long)param_1 + 0x59) = local_f8;\n    *(undefined8 *)((long)param_1 + 0x61) = uStack_f0;\n    *(undefined8 *)((long)param_1 + 0x69) = local_e8;\n    *(undefined8 *)((long)param_1 + 0x71) = uStack_e0;\n    *(undefined8 *)((long)param_1 + 0x79) = local_d8;\n    *(undefined8 *)((long)param_1 + 0x81) = uStack_d0;\n    *(undefined8 *)((long)param_1 + 0x89) = local_c8;\n    *(undefined8 *)((long)param_1 + 0x91) = uStack_c0;\n    *(undefined8 *)((long)param_1 + 0x99) = local_b8;\n    *(undefined8 *)((long)param_1 + 0xa1) = uStack_b0;\n    *(undefined8 *)((long)param_1 + 0xa9) = local_a8;\n    *(undefined8 *)((long)param_1 + 0xb1) = uStack_a0;\n    *(undefined8 *)((long)param_1 + 0xb9) = local_98;\n    *(undefined8 *)((long)param_1 + 0xc1) = uStack_90;\n    *(undefined8 *)((long)param_1 + 0xc9) = local_88;\n    *(undefined8 *)((long)param_1 + 0xd1) = uStack_80;\n    *(undefined8 *)((long)param_1 + 0xd9) = local_78;\n    *(undefined8 *)((long)param_1 + 0xe1) = uStack_70;\n    *(undefined8 *)((long)param_1 + 0xe9) = local_68;\n    *(undefined8 *)((long)param_1 + 0xf1) = uStack_60;\n    *(undefined8 *)((long)param_1 + 0xf9) = local_58;\n    *(undefined8 *)((long)param_1 + 0x101) = uStack_50;\n    *(undefined8 *)((long)param_1 + 0x109) = local_48;\n    *(undefined8 *)((long)param_1 + 0x111) = uStack_40;\n    *(undefined8 *)((long)param_1 + 0x119) = local_38;\n    *(undefined8 *)((long)param_1 + 0x121) = uStack_30;\n    *(undefined8 *)((long)param_1 + 0x129) = local_28;\n    *(undefined8 *)((long)param_1 + 0x131) = uStack_20;\n  }\n  else {\n    (**(code **)(*param_1 + 0x38))\n              (param_1,&local_118,&stack0xffffffffffffffe8,(void *)((long)param_1 + 0x39));\n  }\n  *(undefined1 *)(param_1 + 7) = 1;\n  iVar1 = memcmp(&local_118,(void *)((long)param_1 + 0x39),0x100);\n  if (iVar1 != 0) {\n    *(undefined1 *)(param_1 + 7) = 2;\n  }\n  return;\n}" primitive_type (function_declarator "FUN_00319ac0(long *param_1)" identifier (parameter_list "(long *param_1)" ( (parameter_declaration "long *param_1" (sized_type_specifier "long" long) (pointer_declarator "*param_1" * identifier)) ))) (compound_statement "{\n  int iVar1;\n  long lVar2;\n  undefined8 local_118;\n  undefined8 uStack_110;\n  undefined8 local_108;\n  undefined8 uStack_100;\n  undefined8 local_f8;\n  undefined8 uStack_f0;\n  undefined8 local_e8;\n  undefined8 uStack_e0;\n  undefined8 local_d8;\n  undefined8 uStack_d0;\n  undefined8 local_c8;\n  undefined8 uStack_c0;\n  undefined8 local_b8;\n  undefined8 uStack_b0;\n  undefined8 local_a8;\n  undefined8 uStack_a0;\n  undefined8 local_98;\n  undefined8 uStack_90;\n  undefined8 local_88;\n  undefined8 uStack_80;\n  undefined8 local_78;\n  undefined8 uStack_70;\n  undefined8 local_68;\n  undefined8 uStack_60;\n  undefined8 local_58;\n  undefined8 uStack_50;\n  undefined8 local_48;\n  undefined8 uStack_40;\n  undefined8 local_38;\n  undefined8 uStack_30;\n  undefined8 local_28;\n  undefined8 uStack_20;\n  \n  lVar2 = 0;\n  do {\n    *(char *)((long)&local_118 + lVar2) = (char)lVar2;\n    lVar2 = lVar2 + 1;\n  } while (lVar2 != 0x100);\n  if (*(code **)(*param_1 + 0x38) == (code *)PTR_FUN_0043df88) {\n    *(undefined8 *)((long)param_1 + 0x39) = local_118;\n    *(undefined8 *)((long)param_1 + 0x41) = uStack_110;\n    *(undefined8 *)((long)param_1 + 0x49) = local_108;\n    *(undefined8 *)((long)param_1 + 0x51) = uStack_100;\n    *(undefined8 *)((long)param_1 + 0x59) = local_f8;\n    *(undefined8 *)((long)param_1 + 0x61) = uStack_f0;\n    *(undefined8 *)((long)param_1 + 0x69) = local_e8;\n    *(undefined8 *)((long)param_1 + 0x71) = uStack_e0;\n    *(undefined8 *)((long)param_1 + 0x79) = local_d8;\n    *(undefined8 *)((long)param_1 + 0x81) = uStack_d0;\n    *(undefined8 *)((long)param_1 + 0x89) = local_c8;\n    *(undefined8 *)((long)param_1 + 0x91) = uStack_c0;\n    *(undefined8 *)((long)param_1 + 0x99) = local_b8;\n    *(undefined8 *)((long)param_1 + 0xa1) = uStack_b0;\n    *(undefined8 *)((long)param_1 + 0xa9) = local_a8;\n    *(undefined8 *)((long)param_1 + 0xb1) = uStack_a0;\n    *(undefined8 *)((long)param_1 + 0xb9) = local_98;\n    *(undefined8 *)((long)param_1 + 0xc1) = uStack_90;\n    *(undefined8 *)((long)param_1 + 0xc9) = local_88;\n    *(undefined8 *)((long)param_1 + 0xd1) = uStack_80;\n    *(undefined8 *)((long)param_1 + 0xd9) = local_78;\n    *(undefined8 *)((long)param_1 + 0xe1) = uStack_70;\n    *(undefined8 *)((long)param_1 + 0xe9) = local_68;\n    *(undefined8 *)((long)param_1 + 0xf1) = uStack_60;\n    *(undefined8 *)((long)param_1 + 0xf9) = local_58;\n    *(undefined8 *)((long)param_1 + 0x101) = uStack_50;\n    *(undefined8 *)((long)param_1 + 0x109) = local_48;\n    *(undefined8 *)((long)param_1 + 0x111) = uStack_40;\n    *(undefined8 *)((long)param_1 + 0x119) = local_38;\n    *(undefined8 *)((long)param_1 + 0x121) = uStack_30;\n    *(undefined8 *)((long)param_1 + 0x129) = local_28;\n    *(undefined8 *)((long)param_1 + 0x131) = uStack_20;\n  }\n  else {\n    (**(code **)(*param_1 + 0x38))\n              (param_1,&local_118,&stack0xffffffffffffffe8,(void *)((long)param_1 + 0x39));\n  }\n  *(undefined1 *)(param_1 + 7) = 1;\n  iVar1 = memcmp(&local_118,(void *)((long)param_1 + 0x39),0x100);\n  if (iVar1 != 0) {\n    *(undefined1 *)(param_1 + 7) = 2;\n  }\n  return;\n}" { (declaration "int iVar1;" primitive_type identifier ;) (declaration "long lVar2;" (sized_type_specifier "long" long) identifier ;) (declaration "undefined8 local_118;" type_identifier identifier ;) (declaration "undefined8 uStack_110;" type_identifier identifier ;) (declaration "undefined8 local_108;" type_identifier identifier ;) (declaration "undefined8 uStack_100;" type_identifier identifier ;) (declaration "undefined8 local_f8;" type_identifier identifier ;) (declaration "undefined8 uStack_f0;" type_identifier identifier ;) (declaration "undefined8 local_e8;" type_identifier identifier ;) (declaration "undefined8 uStack_e0;" type_identifier identifier ;) (declaration "undefined8 local_d8;" type_identifier identifier ;) (declaration "undefined8 uStack_d0;" type_identifier identifier ;) (declaration "undefined8 local_c8;" type_identifier identifier ;) (declaration "undefined8 uStack_c0;" type_identifier identifier ;) (declaration "undefined8 local_b8;" type_identifier identifier ;) (declaration "undefined8 uStack_b0;" type_identifier identifier ;) (declaration "undefined8 local_a8;" type_identifier identifier ;) (declaration "undefined8 uStack_a0;" type_identifier identifier ;) (declaration "undefined8 local_98;" type_identifier identifier ;) (declaration "undefined8 uStack_90;" type_identifier identifier ;) (declaration "undefined8 local_88;" type_identifier identifier ;) (declaration "undefined8 uStack_80;" type_identifier identifier ;) (declaration "undefined8 local_78;" type_identifier identifier ;) (declaration "undefined8 uStack_70;" type_identifier identifier ;) (declaration "undefined8 local_68;" type_identifier identifier ;) (declaration "undefined8 uStack_60;" type_identifier identifier ;) (declaration "undefined8 local_58;" type_identifier identifier ;) (declaration "undefined8 uStack_50;" type_identifier identifier ;) (declaration "undefined8 local_48;" type_identifier identifier ;) (declaration "undefined8 uStack_40;" type_identifier identifier ;) (declaration "undefined8 local_38;" type_identifier identifier ;) (declaration "undefined8 uStack_30;" type_identifier identifier ;) (declaration "undefined8 local_28;" type_identifier identifier ;) (declaration "undefined8 uStack_20;" type_identifier identifier ;) (expression_statement "lVar2 = 0;" (assignment_expression "lVar2 = 0" identifier = number_literal) ;) (do_statement "do {\n    *(char *)((long)&local_118 + lVar2) = (char)lVar2;\n    lVar2 = lVar2 + 1;\n  } while (lVar2 != 0x100);" do (compound_statement "{\n    *(char *)((long)&local_118 + lVar2) = (char)lVar2;\n    lVar2 = lVar2 + 1;\n  }" { (expression_statement "*(char *)((long)&local_118 + lVar2) = (char)lVar2;" (assignment_expression "*(char *)((long)&local_118 + lVar2) = (char)lVar2" (pointer_expression "*(char *)((long)&local_118 + lVar2)" * (cast_expression "(char *)((long)&local_118 + lVar2)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)&local_118 + lVar2)" ( (binary_expression "(long)&local_118 + lVar2" (cast_expression "(long)&local_118" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (pointer_expression "&local_118" & identifier)) + identifier) )))) = (cast_expression "(char)lVar2" ( (type_descriptor "char" primitive_type) ) identifier)) ;) (expression_statement "lVar2 = lVar2 + 1;" (assignment_expression "lVar2 = lVar2 + 1" identifier = (binary_expression "lVar2 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(lVar2 != 0x100)" ( (binary_expression "lVar2 != 0x100" identifier != number_literal) )) ;) (if_statement "if (*(code **)(*param_1 + 0x38) == (code *)PTR_FUN_0043df88) {\n    *(undefined8 *)((long)param_1 + 0x39) = local_118;\n    *(undefined8 *)((long)param_1 + 0x41) = uStack_110;\n    *(undefined8 *)((long)param_1 + 0x49) = local_108;\n    *(undefined8 *)((long)param_1 + 0x51) = uStack_100;\n    *(undefined8 *)((long)param_1 + 0x59) = local_f8;\n    *(undefined8 *)((long)param_1 + 0x61) = uStack_f0;\n    *(undefined8 *)((long)param_1 + 0x69) = local_e8;\n    *(undefined8 *)((long)param_1 + 0x71) = uStack_e0;\n    *(undefined8 *)((long)param_1 + 0x79) = local_d8;\n    *(undefined8 *)((long)param_1 + 0x81) = uStack_d0;\n    *(undefined8 *)((long)param_1 + 0x89) = local_c8;\n    *(undefined8 *)((long)param_1 + 0x91) = uStack_c0;\n    *(undefined8 *)((long)param_1 + 0x99) = local_b8;\n    *(undefined8 *)((long)param_1 + 0xa1) = uStack_b0;\n    *(undefined8 *)((long)param_1 + 0xa9) = local_a8;\n    *(undefined8 *)((long)param_1 + 0xb1) = uStack_a0;\n    *(undefined8 *)((long)param_1 + 0xb9) = local_98;\n    *(undefined8 *)((long)param_1 + 0xc1) = uStack_90;\n    *(undefined8 *)((long)param_1 + 0xc9) = local_88;\n    *(undefined8 *)((long)param_1 + 0xd1) = uStack_80;\n    *(undefined8 *)((long)param_1 + 0xd9) = local_78;\n    *(undefined8 *)((long)param_1 + 0xe1) = uStack_70;\n    *(undefined8 *)((long)param_1 + 0xe9) = local_68;\n    *(undefined8 *)((long)param_1 + 0xf1) = uStack_60;\n    *(undefined8 *)((long)param_1 + 0xf9) = local_58;\n    *(undefined8 *)((long)param_1 + 0x101) = uStack_50;\n    *(undefined8 *)((long)param_1 + 0x109) = local_48;\n    *(undefined8 *)((long)param_1 + 0x111) = uStack_40;\n    *(undefined8 *)((long)param_1 + 0x119) = local_38;\n    *(undefined8 *)((long)param_1 + 0x121) = uStack_30;\n    *(undefined8 *)((long)param_1 + 0x129) = local_28;\n    *(undefined8 *)((long)param_1 + 0x131) = uStack_20;\n  }\n  else {\n    (**(code **)(*param_1 + 0x38))\n              (param_1,&local_118,&stack0xffffffffffffffe8,(void *)((long)param_1 + 0x39));\n  }" if (parenthesized_expression "(*(code **)(*param_1 + 0x38) == (code *)PTR_FUN_0043df88)" ( (binary_expression "*(code **)(*param_1 + 0x38) == (code *)PTR_FUN_0043df88" (pointer_expression "*(code **)(*param_1 + 0x38)" * (cast_expression "(code **)(*param_1 + 0x38)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*param_1 + 0x38)" ( (binary_expression "*param_1 + 0x38" (pointer_expression "*param_1" * identifier) + number_literal) )))) == (cast_expression "(code *)PTR_FUN_0043df88" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (compound_statement "{\n    *(undefined8 *)((long)param_1 + 0x39) = local_118;\n    *(undefined8 *)((long)param_1 + 0x41) = uStack_110;\n    *(undefined8 *)((long)param_1 + 0x49) = local_108;\n    *(undefined8 *)((long)param_1 + 0x51) = uStack_100;\n    *(undefined8 *)((long)param_1 + 0x59) = local_f8;\n    *(undefined8 *)((long)param_1 + 0x61) = uStack_f0;\n    *(undefined8 *)((long)param_1 + 0x69) = local_e8;\n    *(undefined8 *)((long)param_1 + 0x71) = uStack_e0;\n    *(undefined8 *)((long)param_1 + 0x79) = local_d8;\n    *(undefined8 *)((long)param_1 + 0x81) = uStack_d0;\n    *(undefined8 *)((long)param_1 + 0x89) = local_c8;\n    *(undefined8 *)((long)param_1 + 0x91) = uStack_c0;\n    *(undefined8 *)((long)param_1 + 0x99) = local_b8;\n    *(undefined8 *)((long)param_1 + 0xa1) = uStack_b0;\n    *(undefined8 *)((long)param_1 + 0xa9) = local_a8;\n    *(undefined8 *)((long)param_1 + 0xb1) = uStack_a0;\n    *(undefined8 *)((long)param_1 + 0xb9) = local_98;\n    *(undefined8 *)((long)param_1 + 0xc1) = uStack_90;\n    *(undefined8 *)((long)param_1 + 0xc9) = local_88;\n    *(undefined8 *)((long)param_1 + 0xd1) = uStack_80;\n    *(undefined8 *)((long)param_1 + 0xd9) = local_78;\n    *(undefined8 *)((long)param_1 + 0xe1) = uStack_70;\n    *(undefined8 *)((long)param_1 + 0xe9) = local_68;\n    *(undefined8 *)((long)param_1 + 0xf1) = uStack_60;\n    *(undefined8 *)((long)param_1 + 0xf9) = local_58;\n    *(undefined8 *)((long)param_1 + 0x101) = uStack_50;\n    *(undefined8 *)((long)param_1 + 0x109) = local_48;\n    *(undefined8 *)((long)param_1 + 0x111) = uStack_40;\n    *(undefined8 *)((long)param_1 + 0x119) = local_38;\n    *(undefined8 *)((long)param_1 + 0x121) = uStack_30;\n    *(undefined8 *)((long)param_1 + 0x129) = local_28;\n    *(undefined8 *)((long)param_1 + 0x131) = uStack_20;\n  }" { (expression_statement "*(undefined8 *)((long)param_1 + 0x39) = local_118;" (assignment_expression "*(undefined8 *)((long)param_1 + 0x39) = local_118" (pointer_expression "*(undefined8 *)((long)param_1 + 0x39)" * (cast_expression "(undefined8 *)((long)param_1 + 0x39)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)param_1 + 0x39)" ( (binary_expression "(long)param_1 + 0x39" (cast_expression "(long)param_1" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined8 *)((long)param_1 + 0x41) = uStack_110;" (assignment_expression "*(undefined8 *)((long)param_1 + 0x41) = uStack_110" (pointer_expression "*(undefined8 *)((long)param_1 + 0x41)" * (cast_expression "(undefined8 *)((long)param_1 + 0x41)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)param_1 + 0x41)" ( (binary_expression "(long)param_1 + 0x41" (cast_expression "(long)param_1" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined8 *)((long)param_1 + 0x49) = local_108;" (assignment_expression "*(undefined8 *)((long)param_1 + 0x49) = local_108" (pointer_expression "*(undefined8 *)((long)param_1 + 0x49)" * (cast_expression "(undefined8 *)((long)param_1 + 0x49)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)param_1 + 0x49)" ( (binary_expression "(long)param_1 + 0x49" (cast_expression "(long)param_1" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined8 *)((long)param_1 + 0x51) = uStack_100;" (assignment_expression "*(undefined8 *)((long)param_1 + 0x51) = uStack_100" (pointer_expression "*(undefined8 *)((long)param_1 + 0x51)" * (cast_expression "(undefined8 *)((long)param_1 + 0x51)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)param_1 + 0x51)" ( (binary_expression "(long)param_1 + 0x51" (cast_expression "(long)param_1" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined8 *)((long)param_1 + 0x59) = local_f8;" (assignment_expression "*(undefined8 *)((long)param_1 + 0x59) = local_f8" (pointer_expression "*(undefined8 *)((long)param_1 + 0x59)" * (cast_expression "(undefined8 *)((long)param_1 + 0x59)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)param_1 + 0x59)" ( (binary_expression "(long)param_1 + 0x59" (cast_expression "(long)param_1" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined8 *)((long)param_1 + 0x61) = uStack_f0;" (assignment_expression "*(undefined8 *)((long)param_1 + 0x61) = uStack_f0" (pointer_expression "*(undefined8 *)((long)param_1 + 0x61)" * (cast_expression "(undefined8 *)((long)param_1 + 0x61)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)param_1 + 0x61)" ( (binary_expression "(long)param_1 + 0x61" (cast_expression "(long)param_1" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined8 *)((long)param_1 + 0x69) = local_e8;" (assignment_expression "*(undefined8 *)((long)param_1 + 0x69) = local_e8" (pointer_expression "*(undefined8 *)((long)param_1 + 0x69)" * (cast_expression "(undefined8 *)((long)param_1 + 0x69)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)param_1 + 0x69)" ( (binary_expression "(long)param_1 + 0x69" (cast_expression "(long)param_1" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined8 *)((long)param_1 + 0x71) = uStack_e0;" (assignment_expression "*(undefined8 *)((long)param_1 + 0x71) = uStack_e0" (pointer_expression "*(undefined8 *)((long)param_1 + 0x71)" * (cast_expression "(undefined8 *)((long)param_1 + 0x71)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)param_1 + 0x71)" ( (binary_expression "(long)param_1 + 0x71" (cast_expression "(long)param_1" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined8 *)((long)param_1 + 0x79) = local_d8;" (assignment_expression "*(undefined8 *)((long)param_1 + 0x79) = local_d8" (pointer_expression "*(undefined8 *)((long)param_1 + 0x79)" * (cast_expression "(undefined8 *)((long)param_1 + 0x79)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)param_1 + 0x79)" ( (binary_expression "(long)param_1 + 0x79" (cast_expression "(long)param_1" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined8 *)((long)param_1 + 0x81) = uStack_d0;" (assignment_expression "*(undefined8 *)((long)param_1 + 0x81) = uStack_d0" (pointer_expression "*(undefined8 *)((long)param_1 + 0x81)" * (cast_expression "(undefined8 *)((long)param_1 + 0x81)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)param_1 + 0x81)" ( (binary_expression "(long)param_1 + 0x81" (cast_expression "(long)param_1" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined8 *)((long)param_1 + 0x89) = local_c8;" (assignment_expression "*(undefined8 *)((long)param_1 + 0x89) = local_c8" (pointer_expression "*(undefined8 *)((long)param_1 + 0x89)" * (cast_expression "(undefined8 *)((long)param_1 + 0x89)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)param_1 + 0x89)" ( (binary_expression "(long)param_1 + 0x89" (cast_expression "(long)param_1" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined8 *)((long)param_1 + 0x91) = uStack_c0;" (assignment_expression "*(undefined8 *)((long)param_1 + 0x91) = uStack_c0" (pointer_expression "*(undefined8 *)((long)param_1 + 0x91)" * (cast_expression "(undefined8 *)((long)param_1 + 0x91)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)param_1 + 0x91)" ( (binary_expression "(long)param_1 + 0x91" (cast_expression "(long)param_1" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined8 *)((long)param_1 + 0x99) = local_b8;" (assignment_expression "*(undefined8 *)((long)param_1 + 0x99) = local_b8" (pointer_expression "*(undefined8 *)((long)param_1 + 0x99)" * (cast_expression "(undefined8 *)((long)param_1 + 0x99)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)param_1 + 0x99)" ( (binary_expression "(long)param_1 + 0x99" (cast_expression "(long)param_1" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined8 *)((long)param_1 + 0xa1) = uStack_b0;" (assignment_expression "*(undefined8 *)((long)param_1 + 0xa1) = uStack_b0" (pointer_expression "*(undefined8 *)((long)param_1 + 0xa1)" * (cast_expression "(undefined8 *)((long)param_1 + 0xa1)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)param_1 + 0xa1)" ( (binary_expression "(long)param_1 + 0xa1" (cast_expression "(long)param_1" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined8 *)((long)param_1 + 0xa9) = local_a8;" (assignment_expression "*(undefined8 *)((long)param_1 + 0xa9) = local_a8" (pointer_expression "*(undefined8 *)((long)param_1 + 0xa9)" * (cast_expression "(undefined8 *)((long)param_1 + 0xa9)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)param_1 + 0xa9)" ( (binary_expression "(long)param_1 + 0xa9" (cast_expression "(long)param_1" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined8 *)((long)param_1 + 0xb1) = uStack_a0;" (assignment_expression "*(undefined8 *)((long)param_1 + 0xb1) = uStack_a0" (pointer_expression "*(undefined8 *)((long)param_1 + 0xb1)" * (cast_expression "(undefined8 *)((long)param_1 + 0xb1)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)param_1 + 0xb1)" ( (binary_expression "(long)param_1 + 0xb1" (cast_expression "(long)param_1" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined8 *)((long)param_1 + 0xb9) = local_98;" (assignment_expression "*(undefined8 *)((long)param_1 + 0xb9) = local_98" (pointer_expression "*(undefined8 *)((long)param_1 + 0xb9)" * (cast_expression "(undefined8 *)((long)param_1 + 0xb9)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)param_1 + 0xb9)" ( (binary_expression "(long)param_1 + 0xb9" (cast_expression "(long)param_1" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined8 *)((long)param_1 + 0xc1) = uStack_90;" (assignment_expression "*(undefined8 *)((long)param_1 + 0xc1) = uStack_90" (pointer_expression "*(undefined8 *)((long)param_1 + 0xc1)" * (cast_expression "(undefined8 *)((long)param_1 + 0xc1)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)param_1 + 0xc1)" ( (binary_expression "(long)param_1 + 0xc1" (cast_expression "(long)param_1" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined8 *)((long)param_1 + 0xc9) = local_88;" (assignment_expression "*(undefined8 *)((long)param_1 + 0xc9) = local_88" (pointer_expression "*(undefined8 *)((long)param_1 + 0xc9)" * (cast_expression "(undefined8 *)((long)param_1 + 0xc9)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)param_1 + 0xc9)" ( (binary_expression "(long)param_1 + 0xc9" (cast_expression "(long)param_1" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined8 *)((long)param_1 + 0xd1) = uStack_80;" (assignment_expression "*(undefined8 *)((long)param_1 + 0xd1) = uStack_80" (pointer_expression "*(undefined8 *)((long)param_1 + 0xd1)" * (cast_expression "(undefined8 *)((long)param_1 + 0xd1)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)param_1 + 0xd1)" ( (binary_expression "(long)param_1 + 0xd1" (cast_expression "(long)param_1" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined8 *)((long)param_1 + 0xd9) = local_78;" (assignment_expression "*(undefined8 *)((long)param_1 + 0xd9) = local_78" (pointer_expression "*(undefined8 *)((long)param_1 + 0xd9)" * (cast_expression "(undefined8 *)((long)param_1 + 0xd9)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)param_1 + 0xd9)" ( (binary_expression "(long)param_1 + 0xd9" (cast_expression "(long)param_1" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined8 *)((long)param_1 + 0xe1) = uStack_70;" (assignment_expression "*(undefined8 *)((long)param_1 + 0xe1) = uStack_70" (pointer_expression "*(undefined8 *)((long)param_1 + 0xe1)" * (cast_expression "(undefined8 *)((long)param_1 + 0xe1)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)param_1 + 0xe1)" ( (binary_expression "(long)param_1 + 0xe1" (cast_expression "(long)param_1" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined8 *)((long)param_1 + 0xe9) = local_68;" (assignment_expression "*(undefined8 *)((long)param_1 + 0xe9) = local_68" (pointer_expression "*(undefined8 *)((long)param_1 + 0xe9)" * (cast_expression "(undefined8 *)((long)param_1 + 0xe9)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)param_1 + 0xe9)" ( (binary_expression "(long)param_1 + 0xe9" (cast_expression "(long)param_1" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined8 *)((long)param_1 + 0xf1) = uStack_60;" (assignment_expression "*(undefined8 *)((long)param_1 + 0xf1) = uStack_60" (pointer_expression "*(undefined8 *)((long)param_1 + 0xf1)" * (cast_expression "(undefined8 *)((long)param_1 + 0xf1)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)param_1 + 0xf1)" ( (binary_expression "(long)param_1 + 0xf1" (cast_expression "(long)param_1" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined8 *)((long)param_1 + 0xf9) = local_58;" (assignment_expression "*(undefined8 *)((long)param_1 + 0xf9) = local_58" (pointer_expression "*(undefined8 *)((long)param_1 + 0xf9)" * (cast_expression "(undefined8 *)((long)param_1 + 0xf9)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)param_1 + 0xf9)" ( (binary_expression "(long)param_1 + 0xf9" (cast_expression "(long)param_1" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined8 *)((long)param_1 + 0x101) = uStack_50;" (assignment_expression "*(undefined8 *)((long)param_1 + 0x101) = uStack_50" (pointer_expression "*(undefined8 *)((long)param_1 + 0x101)" * (cast_expression "(undefined8 *)((long)param_1 + 0x101)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)param_1 + 0x101)" ( (binary_expression "(long)param_1 + 0x101" (cast_expression "(long)param_1" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined8 *)((long)param_1 + 0x109) = local_48;" (assignment_expression "*(undefined8 *)((long)param_1 + 0x109) = local_48" (pointer_expression "*(undefined8 *)((long)param_1 + 0x109)" * (cast_expression "(undefined8 *)((long)param_1 + 0x109)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)param_1 + 0x109)" ( (binary_expression "(long)param_1 + 0x109" (cast_expression "(long)param_1" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined8 *)((long)param_1 + 0x111) = uStack_40;" (assignment_expression "*(undefined8 *)((long)param_1 + 0x111) = uStack_40" (pointer_expression "*(undefined8 *)((long)param_1 + 0x111)" * (cast_expression "(undefined8 *)((long)param_1 + 0x111)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)param_1 + 0x111)" ( (binary_expression "(long)param_1 + 0x111" (cast_expression "(long)param_1" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined8 *)((long)param_1 + 0x119) = local_38;" (assignment_expression "*(undefined8 *)((long)param_1 + 0x119) = local_38" (pointer_expression "*(undefined8 *)((long)param_1 + 0x119)" * (cast_expression "(undefined8 *)((long)param_1 + 0x119)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)param_1 + 0x119)" ( (binary_expression "(long)param_1 + 0x119" (cast_expression "(long)param_1" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined8 *)((long)param_1 + 0x121) = uStack_30;" (assignment_expression "*(undefined8 *)((long)param_1 + 0x121) = uStack_30" (pointer_expression "*(undefined8 *)((long)param_1 + 0x121)" * (cast_expression "(undefined8 *)((long)param_1 + 0x121)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)param_1 + 0x121)" ( (binary_expression "(long)param_1 + 0x121" (cast_expression "(long)param_1" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined8 *)((long)param_1 + 0x129) = local_28;" (assignment_expression "*(undefined8 *)((long)param_1 + 0x129) = local_28" (pointer_expression "*(undefined8 *)((long)param_1 + 0x129)" * (cast_expression "(undefined8 *)((long)param_1 + 0x129)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)param_1 + 0x129)" ( (binary_expression "(long)param_1 + 0x129" (cast_expression "(long)param_1" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined8 *)((long)param_1 + 0x131) = uStack_20;" (assignment_expression "*(undefined8 *)((long)param_1 + 0x131) = uStack_20" (pointer_expression "*(undefined8 *)((long)param_1 + 0x131)" * (cast_expression "(undefined8 *)((long)param_1 + 0x131)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)param_1 + 0x131)" ( (binary_expression "(long)param_1 + 0x131" (cast_expression "(long)param_1" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) = identifier) ;) }) (else_clause "else {\n    (**(code **)(*param_1 + 0x38))\n              (param_1,&local_118,&stack0xffffffffffffffe8,(void *)((long)param_1 + 0x39));\n  }" else (compound_statement "{\n    (**(code **)(*param_1 + 0x38))\n              (param_1,&local_118,&stack0xffffffffffffffe8,(void *)((long)param_1 + 0x39));\n  }" { (expression_statement "(**(code **)(*param_1 + 0x38))\n              (param_1,&local_118,&stack0xffffffffffffffe8,(void *)((long)param_1 + 0x39));" (call_expression "(**(code **)(*param_1 + 0x38))\n              (param_1,&local_118,&stack0xffffffffffffffe8,(void *)((long)param_1 + 0x39))" (parenthesized_expression "(**(code **)(*param_1 + 0x38))" ( (pointer_expression "**(code **)(*param_1 + 0x38)" * (pointer_expression "*(code **)(*param_1 + 0x38)" * (cast_expression "(code **)(*param_1 + 0x38)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*param_1 + 0x38)" ( (binary_expression "*param_1 + 0x38" (pointer_expression "*param_1" * identifier) + number_literal) ))))) )) (argument_list "(param_1,&local_118,&stack0xffffffffffffffe8,(void *)((long)param_1 + 0x39))" ( identifier , (pointer_expression "&local_118" & identifier) , (pointer_expression "&stack0xffffffffffffffe8" & identifier) , (cast_expression "(void *)((long)param_1 + 0x39)" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)param_1 + 0x39)" ( (binary_expression "(long)param_1 + 0x39" (cast_expression "(long)param_1" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) ))) ))) ;) }))) (expression_statement "*(undefined1 *)(param_1 + 7) = 1;" (assignment_expression "*(undefined1 *)(param_1 + 7) = 1" (pointer_expression "*(undefined1 *)(param_1 + 7)" * (cast_expression "(undefined1 *)(param_1 + 7)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 7)" ( (binary_expression "param_1 + 7" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar1 = memcmp(&local_118,(void *)((long)param_1 + 0x39),0x100);" (assignment_expression "iVar1 = memcmp(&local_118,(void *)((long)param_1 + 0x39),0x100)" identifier = (call_expression "memcmp(&local_118,(void *)((long)param_1 + 0x39),0x100)" identifier (argument_list "(&local_118,(void *)((long)param_1 + 0x39),0x100)" ( (pointer_expression "&local_118" & identifier) , (cast_expression "(void *)((long)param_1 + 0x39)" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)param_1 + 0x39)" ( (binary_expression "(long)param_1 + 0x39" (cast_expression "(long)param_1" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) ))) , number_literal )))) ;) (if_statement "if (iVar1 != 0) {\n    *(undefined1 *)(param_1 + 7) = 2;\n  }" if (parenthesized_expression "(iVar1 != 0)" ( (binary_expression "iVar1 != 0" identifier != number_literal) )) (compound_statement "{\n    *(undefined1 *)(param_1 + 7) = 2;\n  }" { (expression_statement "*(undefined1 *)(param_1 + 7) = 2;" (assignment_expression "*(undefined1 *)(param_1 + 7) = 2" (pointer_expression "*(undefined1 *)(param_1 + 7)" * (cast_expression "(undefined1 *)(param_1 + 7)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 7)" ( (binary_expression "param_1 + 7" identifier + number_literal) )))) = number_literal) ;) })) (return_statement "return;" return ;) })))
(translation_unit "/* std::ctype<char>::_M_widen_init() const */\n\nvoid __thiscall std::ctype<char>::_M_widen_init(ctype<char> *this)\n\n{\n  int iVar1;\n  long lVar2;\n  undefined8 local_118;\n  undefined8 uStack_110;\n  undefined8 local_108;\n  undefined8 uStack_100;\n  undefined8 local_f8;\n  undefined8 uStack_f0;\n  undefined8 local_e8;\n  undefined8 uStack_e0;\n  undefined8 local_d8;\n  undefined8 uStack_d0;\n  undefined8 local_c8;\n  undefined8 uStack_c0;\n  undefined8 local_b8;\n  undefined8 uStack_b0;\n  undefined8 local_a8;\n  undefined8 uStack_a0;\n  undefined8 local_98;\n  undefined8 uStack_90;\n  undefined8 local_88;\n  undefined8 uStack_80;\n  undefined8 local_78;\n  undefined8 uStack_70;\n  undefined8 local_68;\n  undefined8 uStack_60;\n  undefined8 local_58;\n  undefined8 uStack_50;\n  undefined8 local_48;\n  undefined8 uStack_40;\n  undefined8 local_38;\n  undefined8 uStack_30;\n  undefined8 local_28;\n  undefined8 uStack_20;\n  \n  lVar2 = 0;\n  do {\n    *(char *)((long)&local_118 + lVar2) = (char)lVar2;\n    lVar2 = lVar2 + 1;\n  } while (lVar2 != 0x100);\n  if (*(code **)(*(long *)this + 0x38) == (code *)PTR_do_widen_0043df88) {\n    *(undefined8 *)(this + 0x39) = local_118;\n    *(undefined8 *)(this + 0x41) = uStack_110;\n    *(undefined8 *)(this + 0x49) = local_108;\n    *(undefined8 *)(this + 0x51) = uStack_100;\n    *(undefined8 *)(this + 0x59) = local_f8;\n    *(undefined8 *)(this + 0x61) = uStack_f0;\n    *(undefined8 *)(this + 0x69) = local_e8;\n    *(undefined8 *)(this + 0x71) = uStack_e0;\n    *(undefined8 *)(this + 0x79) = local_d8;\n    *(undefined8 *)(this + 0x81) = uStack_d0;\n    *(undefined8 *)(this + 0x89) = local_c8;\n    *(undefined8 *)(this + 0x91) = uStack_c0;\n    *(undefined8 *)(this + 0x99) = local_b8;\n    *(undefined8 *)(this + 0xa1) = uStack_b0;\n    *(undefined8 *)(this + 0xa9) = local_a8;\n    *(undefined8 *)(this + 0xb1) = uStack_a0;\n    *(undefined8 *)(this + 0xb9) = local_98;\n    *(undefined8 *)(this + 0xc1) = uStack_90;\n    *(undefined8 *)(this + 0xc9) = local_88;\n    *(undefined8 *)(this + 0xd1) = uStack_80;\n    *(undefined8 *)(this + 0xd9) = local_78;\n    *(undefined8 *)(this + 0xe1) = uStack_70;\n    *(undefined8 *)(this + 0xe9) = local_68;\n    *(undefined8 *)(this + 0xf1) = uStack_60;\n    *(undefined8 *)(this + 0xf9) = local_58;\n    *(undefined8 *)(this + 0x101) = uStack_50;\n    *(undefined8 *)(this + 0x109) = local_48;\n    *(undefined8 *)(this + 0x111) = uStack_40;\n    *(undefined8 *)(this + 0x119) = local_38;\n    *(undefined8 *)(this + 0x121) = uStack_30;\n    *(undefined8 *)(this + 0x129) = local_28;\n    *(undefined8 *)(this + 0x131) = uStack_20;\n  }\n  else {\n    (**(code **)(*(long *)this + 0x38))(this,&local_118,&stack0xffffffffffffffe8,this + 0x39);\n  }\n  this[0x38] = (ctype<char>)0x1;\n  iVar1 = memcmp(&local_118,this + 0x39,0x100);\n  if (iVar1 != 0) {\n    this[0x38] = (ctype<char>)0x2;\n  }\n  return;\n}\n\n" comment (function_definition "void __thiscall std::ctype<char>::_M_widen_init(ctype<char> *this)\n\n{\n  int iVar1;\n  long lVar2;\n  undefined8 local_118;\n  undefined8 uStack_110;\n  undefined8 local_108;\n  undefined8 uStack_100;\n  undefined8 local_f8;\n  undefined8 uStack_f0;\n  undefined8 local_e8;\n  undefined8 uStack_e0;\n  undefined8 local_d8;\n  undefined8 uStack_d0;\n  undefined8 local_c8;\n  undefined8 uStack_c0;\n  undefined8 local_b8;\n  undefined8 uStack_b0;\n  undefined8 local_a8;\n  undefined8 uStack_a0;\n  undefined8 local_98;\n  undefined8 uStack_90;\n  undefined8 local_88;\n  undefined8 uStack_80;\n  undefined8 local_78;\n  undefined8 uStack_70;\n  undefined8 local_68;\n  undefined8 uStack_60;\n  undefined8 local_58;\n  undefined8 uStack_50;\n  undefined8 local_48;\n  undefined8 uStack_40;\n  undefined8 local_38;\n  undefined8 uStack_30;\n  undefined8 local_28;\n  undefined8 uStack_20;\n  \n  lVar2 = 0;\n  do {\n    *(char *)((long)&local_118 + lVar2) = (char)lVar2;\n    lVar2 = lVar2 + 1;\n  } while (lVar2 != 0x100);\n  if (*(code **)(*(long *)this + 0x38) == (code *)PTR_do_widen_0043df88) {\n    *(undefined8 *)(this + 0x39) = local_118;\n    *(undefined8 *)(this + 0x41) = uStack_110;\n    *(undefined8 *)(this + 0x49) = local_108;\n    *(undefined8 *)(this + 0x51) = uStack_100;\n    *(undefined8 *)(this + 0x59) = local_f8;\n    *(undefined8 *)(this + 0x61) = uStack_f0;\n    *(undefined8 *)(this + 0x69) = local_e8;\n    *(undefined8 *)(this + 0x71) = uStack_e0;\n    *(undefined8 *)(this + 0x79) = local_d8;\n    *(undefined8 *)(this + 0x81) = uStack_d0;\n    *(undefined8 *)(this + 0x89) = local_c8;\n    *(undefined8 *)(this + 0x91) = uStack_c0;\n    *(undefined8 *)(this + 0x99) = local_b8;\n    *(undefined8 *)(this + 0xa1) = uStack_b0;\n    *(undefined8 *)(this + 0xa9) = local_a8;\n    *(undefined8 *)(this + 0xb1) = uStack_a0;\n    *(undefined8 *)(this + 0xb9) = local_98;\n    *(undefined8 *)(this + 0xc1) = uStack_90;\n    *(undefined8 *)(this + 0xc9) = local_88;\n    *(undefined8 *)(this + 0xd1) = uStack_80;\n    *(undefined8 *)(this + 0xd9) = local_78;\n    *(undefined8 *)(this + 0xe1) = uStack_70;\n    *(undefined8 *)(this + 0xe9) = local_68;\n    *(undefined8 *)(this + 0xf1) = uStack_60;\n    *(undefined8 *)(this + 0xf9) = local_58;\n    *(undefined8 *)(this + 0x101) = uStack_50;\n    *(undefined8 *)(this + 0x109) = local_48;\n    *(undefined8 *)(this + 0x111) = uStack_40;\n    *(undefined8 *)(this + 0x119) = local_38;\n    *(undefined8 *)(this + 0x121) = uStack_30;\n    *(undefined8 *)(this + 0x129) = local_28;\n    *(undefined8 *)(this + 0x131) = uStack_20;\n  }\n  else {\n    (**(code **)(*(long *)this + 0x38))(this,&local_118,&stack0xffffffffffffffe8,this + 0x39);\n  }\n  this[0x38] = (ctype<char>)0x1;\n  iVar1 = memcmp(&local_118,this + 0x39,0x100);\n  if (iVar1 != 0) {\n    this[0x38] = (ctype<char>)0x2;\n  }\n  return;\n}" primitive_type (ms_call_modifier "__thiscall" __thiscall) (ERROR "std::ctype<char>::" identifier : : identifier < primitive_type > : :) (function_declarator "_M_widen_init(ctype<char> *this)" identifier (parameter_list "(ctype<char> *this)" ( (parameter_declaration "ctype<char> *this" type_identifier (ERROR "<char>" < primitive_type >) (pointer_declarator "*this" * identifier)) ))) (compound_statement "{\n  int iVar1;\n  long lVar2;\n  undefined8 local_118;\n  undefined8 uStack_110;\n  undefined8 local_108;\n  undefined8 uStack_100;\n  undefined8 local_f8;\n  undefined8 uStack_f0;\n  undefined8 local_e8;\n  undefined8 uStack_e0;\n  undefined8 local_d8;\n  undefined8 uStack_d0;\n  undefined8 local_c8;\n  undefined8 uStack_c0;\n  undefined8 local_b8;\n  undefined8 uStack_b0;\n  undefined8 local_a8;\n  undefined8 uStack_a0;\n  undefined8 local_98;\n  undefined8 uStack_90;\n  undefined8 local_88;\n  undefined8 uStack_80;\n  undefined8 local_78;\n  undefined8 uStack_70;\n  undefined8 local_68;\n  undefined8 uStack_60;\n  undefined8 local_58;\n  undefined8 uStack_50;\n  undefined8 local_48;\n  undefined8 uStack_40;\n  undefined8 local_38;\n  undefined8 uStack_30;\n  undefined8 local_28;\n  undefined8 uStack_20;\n  \n  lVar2 = 0;\n  do {\n    *(char *)((long)&local_118 + lVar2) = (char)lVar2;\n    lVar2 = lVar2 + 1;\n  } while (lVar2 != 0x100);\n  if (*(code **)(*(long *)this + 0x38) == (code *)PTR_do_widen_0043df88) {\n    *(undefined8 *)(this + 0x39) = local_118;\n    *(undefined8 *)(this + 0x41) = uStack_110;\n    *(undefined8 *)(this + 0x49) = local_108;\n    *(undefined8 *)(this + 0x51) = uStack_100;\n    *(undefined8 *)(this + 0x59) = local_f8;\n    *(undefined8 *)(this + 0x61) = uStack_f0;\n    *(undefined8 *)(this + 0x69) = local_e8;\n    *(undefined8 *)(this + 0x71) = uStack_e0;\n    *(undefined8 *)(this + 0x79) = local_d8;\n    *(undefined8 *)(this + 0x81) = uStack_d0;\n    *(undefined8 *)(this + 0x89) = local_c8;\n    *(undefined8 *)(this + 0x91) = uStack_c0;\n    *(undefined8 *)(this + 0x99) = local_b8;\n    *(undefined8 *)(this + 0xa1) = uStack_b0;\n    *(undefined8 *)(this + 0xa9) = local_a8;\n    *(undefined8 *)(this + 0xb1) = uStack_a0;\n    *(undefined8 *)(this + 0xb9) = local_98;\n    *(undefined8 *)(this + 0xc1) = uStack_90;\n    *(undefined8 *)(this + 0xc9) = local_88;\n    *(undefined8 *)(this + 0xd1) = uStack_80;\n    *(undefined8 *)(this + 0xd9) = local_78;\n    *(undefined8 *)(this + 0xe1) = uStack_70;\n    *(undefined8 *)(this + 0xe9) = local_68;\n    *(undefined8 *)(this + 0xf1) = uStack_60;\n    *(undefined8 *)(this + 0xf9) = local_58;\n    *(undefined8 *)(this + 0x101) = uStack_50;\n    *(undefined8 *)(this + 0x109) = local_48;\n    *(undefined8 *)(this + 0x111) = uStack_40;\n    *(undefined8 *)(this + 0x119) = local_38;\n    *(undefined8 *)(this + 0x121) = uStack_30;\n    *(undefined8 *)(this + 0x129) = local_28;\n    *(undefined8 *)(this + 0x131) = uStack_20;\n  }\n  else {\n    (**(code **)(*(long *)this + 0x38))(this,&local_118,&stack0xffffffffffffffe8,this + 0x39);\n  }\n  this[0x38] = (ctype<char>)0x1;\n  iVar1 = memcmp(&local_118,this + 0x39,0x100);\n  if (iVar1 != 0) {\n    this[0x38] = (ctype<char>)0x2;\n  }\n  return;\n}" { (declaration "int iVar1;" primitive_type identifier ;) (declaration "long lVar2;" (sized_type_specifier "long" long) identifier ;) (declaration "undefined8 local_118;" type_identifier identifier ;) (declaration "undefined8 uStack_110;" type_identifier identifier ;) (declaration "undefined8 local_108;" type_identifier identifier ;) (declaration "undefined8 uStack_100;" type_identifier identifier ;) (declaration "undefined8 local_f8;" type_identifier identifier ;) (declaration "undefined8 uStack_f0;" type_identifier identifier ;) (declaration "undefined8 local_e8;" type_identifier identifier ;) (declaration "undefined8 uStack_e0;" type_identifier identifier ;) (declaration "undefined8 local_d8;" type_identifier identifier ;) (declaration "undefined8 uStack_d0;" type_identifier identifier ;) (declaration "undefined8 local_c8;" type_identifier identifier ;) (declaration "undefined8 uStack_c0;" type_identifier identifier ;) (declaration "undefined8 local_b8;" type_identifier identifier ;) (declaration "undefined8 uStack_b0;" type_identifier identifier ;) (declaration "undefined8 local_a8;" type_identifier identifier ;) (declaration "undefined8 uStack_a0;" type_identifier identifier ;) (declaration "undefined8 local_98;" type_identifier identifier ;) (declaration "undefined8 uStack_90;" type_identifier identifier ;) (declaration "undefined8 local_88;" type_identifier identifier ;) (declaration "undefined8 uStack_80;" type_identifier identifier ;) (declaration "undefined8 local_78;" type_identifier identifier ;) (declaration "undefined8 uStack_70;" type_identifier identifier ;) (declaration "undefined8 local_68;" type_identifier identifier ;) (declaration "undefined8 uStack_60;" type_identifier identifier ;) (declaration "undefined8 local_58;" type_identifier identifier ;) (declaration "undefined8 uStack_50;" type_identifier identifier ;) (declaration "undefined8 local_48;" type_identifier identifier ;) (declaration "undefined8 uStack_40;" type_identifier identifier ;) (declaration "undefined8 local_38;" type_identifier identifier ;) (declaration "undefined8 uStack_30;" type_identifier identifier ;) (declaration "undefined8 local_28;" type_identifier identifier ;) (declaration "undefined8 uStack_20;" type_identifier identifier ;) (expression_statement "lVar2 = 0;" (assignment_expression "lVar2 = 0" identifier = number_literal) ;) (do_statement "do {\n    *(char *)((long)&local_118 + lVar2) = (char)lVar2;\n    lVar2 = lVar2 + 1;\n  } while (lVar2 != 0x100);" do (compound_statement "{\n    *(char *)((long)&local_118 + lVar2) = (char)lVar2;\n    lVar2 = lVar2 + 1;\n  }" { (expression_statement "*(char *)((long)&local_118 + lVar2) = (char)lVar2;" (assignment_expression "*(char *)((long)&local_118 + lVar2) = (char)lVar2" (pointer_expression "*(char *)((long)&local_118 + lVar2)" * (cast_expression "(char *)((long)&local_118 + lVar2)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)&local_118 + lVar2)" ( (binary_expression "(long)&local_118 + lVar2" (cast_expression "(long)&local_118" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (pointer_expression "&local_118" & identifier)) + identifier) )))) = (cast_expression "(char)lVar2" ( (type_descriptor "char" primitive_type) ) identifier)) ;) (expression_statement "lVar2 = lVar2 + 1;" (assignment_expression "lVar2 = lVar2 + 1" identifier = (binary_expression "lVar2 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(lVar2 != 0x100)" ( (binary_expression "lVar2 != 0x100" identifier != number_literal) )) ;) (if_statement "if (*(code **)(*(long *)this + 0x38) == (code *)PTR_do_widen_0043df88) {\n    *(undefined8 *)(this + 0x39) = local_118;\n    *(undefined8 *)(this + 0x41) = uStack_110;\n    *(undefined8 *)(this + 0x49) = local_108;\n    *(undefined8 *)(this + 0x51) = uStack_100;\n    *(undefined8 *)(this + 0x59) = local_f8;\n    *(undefined8 *)(this + 0x61) = uStack_f0;\n    *(undefined8 *)(this + 0x69) = local_e8;\n    *(undefined8 *)(this + 0x71) = uStack_e0;\n    *(undefined8 *)(this + 0x79) = local_d8;\n    *(undefined8 *)(this + 0x81) = uStack_d0;\n    *(undefined8 *)(this + 0x89) = local_c8;\n    *(undefined8 *)(this + 0x91) = uStack_c0;\n    *(undefined8 *)(this + 0x99) = local_b8;\n    *(undefined8 *)(this + 0xa1) = uStack_b0;\n    *(undefined8 *)(this + 0xa9) = local_a8;\n    *(undefined8 *)(this + 0xb1) = uStack_a0;\n    *(undefined8 *)(this + 0xb9) = local_98;\n    *(undefined8 *)(this + 0xc1) = uStack_90;\n    *(undefined8 *)(this + 0xc9) = local_88;\n    *(undefined8 *)(this + 0xd1) = uStack_80;\n    *(undefined8 *)(this + 0xd9) = local_78;\n    *(undefined8 *)(this + 0xe1) = uStack_70;\n    *(undefined8 *)(this + 0xe9) = local_68;\n    *(undefined8 *)(this + 0xf1) = uStack_60;\n    *(undefined8 *)(this + 0xf9) = local_58;\n    *(undefined8 *)(this + 0x101) = uStack_50;\n    *(undefined8 *)(this + 0x109) = local_48;\n    *(undefined8 *)(this + 0x111) = uStack_40;\n    *(undefined8 *)(this + 0x119) = local_38;\n    *(undefined8 *)(this + 0x121) = uStack_30;\n    *(undefined8 *)(this + 0x129) = local_28;\n    *(undefined8 *)(this + 0x131) = uStack_20;\n  }\n  else {\n    (**(code **)(*(long *)this + 0x38))(this,&local_118,&stack0xffffffffffffffe8,this + 0x39);\n  }" if (parenthesized_expression "(*(code **)(*(long *)this + 0x38) == (code *)PTR_do_widen_0043df88)" ( (binary_expression "*(code **)(*(long *)this + 0x38) == (code *)PTR_do_widen_0043df88" (pointer_expression "*(code **)(*(long *)this + 0x38)" * (cast_expression "(code **)(*(long *)this + 0x38)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(long *)this + 0x38)" ( (binary_expression "*(long *)this + 0x38" (pointer_expression "*(long *)this" * (cast_expression "(long *)this" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) identifier)) + number_literal) )))) == (cast_expression "(code *)PTR_do_widen_0043df88" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (compound_statement "{\n    *(undefined8 *)(this + 0x39) = local_118;\n    *(undefined8 *)(this + 0x41) = uStack_110;\n    *(undefined8 *)(this + 0x49) = local_108;\n    *(undefined8 *)(this + 0x51) = uStack_100;\n    *(undefined8 *)(this + 0x59) = local_f8;\n    *(undefined8 *)(this + 0x61) = uStack_f0;\n    *(undefined8 *)(this + 0x69) = local_e8;\n    *(undefined8 *)(this + 0x71) = uStack_e0;\n    *(undefined8 *)(this + 0x79) = local_d8;\n    *(undefined8 *)(this + 0x81) = uStack_d0;\n    *(undefined8 *)(this + 0x89) = local_c8;\n    *(undefined8 *)(this + 0x91) = uStack_c0;\n    *(undefined8 *)(this + 0x99) = local_b8;\n    *(undefined8 *)(this + 0xa1) = uStack_b0;\n    *(undefined8 *)(this + 0xa9) = local_a8;\n    *(undefined8 *)(this + 0xb1) = uStack_a0;\n    *(undefined8 *)(this + 0xb9) = local_98;\n    *(undefined8 *)(this + 0xc1) = uStack_90;\n    *(undefined8 *)(this + 0xc9) = local_88;\n    *(undefined8 *)(this + 0xd1) = uStack_80;\n    *(undefined8 *)(this + 0xd9) = local_78;\n    *(undefined8 *)(this + 0xe1) = uStack_70;\n    *(undefined8 *)(this + 0xe9) = local_68;\n    *(undefined8 *)(this + 0xf1) = uStack_60;\n    *(undefined8 *)(this + 0xf9) = local_58;\n    *(undefined8 *)(this + 0x101) = uStack_50;\n    *(undefined8 *)(this + 0x109) = local_48;\n    *(undefined8 *)(this + 0x111) = uStack_40;\n    *(undefined8 *)(this + 0x119) = local_38;\n    *(undefined8 *)(this + 0x121) = uStack_30;\n    *(undefined8 *)(this + 0x129) = local_28;\n    *(undefined8 *)(this + 0x131) = uStack_20;\n  }" { (expression_statement "*(undefined8 *)(this + 0x39) = local_118;" (assignment_expression "*(undefined8 *)(this + 0x39) = local_118" (pointer_expression "*(undefined8 *)(this + 0x39)" * (cast_expression "(undefined8 *)(this + 0x39)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(this + 0x39)" ( (binary_expression "this + 0x39" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined8 *)(this + 0x41) = uStack_110;" (assignment_expression "*(undefined8 *)(this + 0x41) = uStack_110" (pointer_expression "*(undefined8 *)(this + 0x41)" * (cast_expression "(undefined8 *)(this + 0x41)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(this + 0x41)" ( (binary_expression "this + 0x41" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined8 *)(this + 0x49) = local_108;" (assignment_expression "*(undefined8 *)(this + 0x49) = local_108" (pointer_expression "*(undefined8 *)(this + 0x49)" * (cast_expression "(undefined8 *)(this + 0x49)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(this + 0x49)" ( (binary_expression "this + 0x49" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined8 *)(this + 0x51) = uStack_100;" (assignment_expression "*(undefined8 *)(this + 0x51) = uStack_100" (pointer_expression "*(undefined8 *)(this + 0x51)" * (cast_expression "(undefined8 *)(this + 0x51)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(this + 0x51)" ( (binary_expression "this + 0x51" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined8 *)(this + 0x59) = local_f8;" (assignment_expression "*(undefined8 *)(this + 0x59) = local_f8" (pointer_expression "*(undefined8 *)(this + 0x59)" * (cast_expression "(undefined8 *)(this + 0x59)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(this + 0x59)" ( (binary_expression "this + 0x59" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined8 *)(this + 0x61) = uStack_f0;" (assignment_expression "*(undefined8 *)(this + 0x61) = uStack_f0" (pointer_expression "*(undefined8 *)(this + 0x61)" * (cast_expression "(undefined8 *)(this + 0x61)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(this + 0x61)" ( (binary_expression "this + 0x61" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined8 *)(this + 0x69) = local_e8;" (assignment_expression "*(undefined8 *)(this + 0x69) = local_e8" (pointer_expression "*(undefined8 *)(this + 0x69)" * (cast_expression "(undefined8 *)(this + 0x69)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(this + 0x69)" ( (binary_expression "this + 0x69" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined8 *)(this + 0x71) = uStack_e0;" (assignment_expression "*(undefined8 *)(this + 0x71) = uStack_e0" (pointer_expression "*(undefined8 *)(this + 0x71)" * (cast_expression "(undefined8 *)(this + 0x71)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(this + 0x71)" ( (binary_expression "this + 0x71" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined8 *)(this + 0x79) = local_d8;" (assignment_expression "*(undefined8 *)(this + 0x79) = local_d8" (pointer_expression "*(undefined8 *)(this + 0x79)" * (cast_expression "(undefined8 *)(this + 0x79)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(this + 0x79)" ( (binary_expression "this + 0x79" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined8 *)(this + 0x81) = uStack_d0;" (assignment_expression "*(undefined8 *)(this + 0x81) = uStack_d0" (pointer_expression "*(undefined8 *)(this + 0x81)" * (cast_expression "(undefined8 *)(this + 0x81)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(this + 0x81)" ( (binary_expression "this + 0x81" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined8 *)(this + 0x89) = local_c8;" (assignment_expression "*(undefined8 *)(this + 0x89) = local_c8" (pointer_expression "*(undefined8 *)(this + 0x89)" * (cast_expression "(undefined8 *)(this + 0x89)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(this + 0x89)" ( (binary_expression "this + 0x89" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined8 *)(this + 0x91) = uStack_c0;" (assignment_expression "*(undefined8 *)(this + 0x91) = uStack_c0" (pointer_expression "*(undefined8 *)(this + 0x91)" * (cast_expression "(undefined8 *)(this + 0x91)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(this + 0x91)" ( (binary_expression "this + 0x91" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined8 *)(this + 0x99) = local_b8;" (assignment_expression "*(undefined8 *)(this + 0x99) = local_b8" (pointer_expression "*(undefined8 *)(this + 0x99)" * (cast_expression "(undefined8 *)(this + 0x99)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(this + 0x99)" ( (binary_expression "this + 0x99" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined8 *)(this + 0xa1) = uStack_b0;" (assignment_expression "*(undefined8 *)(this + 0xa1) = uStack_b0" (pointer_expression "*(undefined8 *)(this + 0xa1)" * (cast_expression "(undefined8 *)(this + 0xa1)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(this + 0xa1)" ( (binary_expression "this + 0xa1" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined8 *)(this + 0xa9) = local_a8;" (assignment_expression "*(undefined8 *)(this + 0xa9) = local_a8" (pointer_expression "*(undefined8 *)(this + 0xa9)" * (cast_expression "(undefined8 *)(this + 0xa9)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(this + 0xa9)" ( (binary_expression "this + 0xa9" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined8 *)(this + 0xb1) = uStack_a0;" (assignment_expression "*(undefined8 *)(this + 0xb1) = uStack_a0" (pointer_expression "*(undefined8 *)(this + 0xb1)" * (cast_expression "(undefined8 *)(this + 0xb1)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(this + 0xb1)" ( (binary_expression "this + 0xb1" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined8 *)(this + 0xb9) = local_98;" (assignment_expression "*(undefined8 *)(this + 0xb9) = local_98" (pointer_expression "*(undefined8 *)(this + 0xb9)" * (cast_expression "(undefined8 *)(this + 0xb9)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(this + 0xb9)" ( (binary_expression "this + 0xb9" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined8 *)(this + 0xc1) = uStack_90;" (assignment_expression "*(undefined8 *)(this + 0xc1) = uStack_90" (pointer_expression "*(undefined8 *)(this + 0xc1)" * (cast_expression "(undefined8 *)(this + 0xc1)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(this + 0xc1)" ( (binary_expression "this + 0xc1" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined8 *)(this + 0xc9) = local_88;" (assignment_expression "*(undefined8 *)(this + 0xc9) = local_88" (pointer_expression "*(undefined8 *)(this + 0xc9)" * (cast_expression "(undefined8 *)(this + 0xc9)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(this + 0xc9)" ( (binary_expression "this + 0xc9" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined8 *)(this + 0xd1) = uStack_80;" (assignment_expression "*(undefined8 *)(this + 0xd1) = uStack_80" (pointer_expression "*(undefined8 *)(this + 0xd1)" * (cast_expression "(undefined8 *)(this + 0xd1)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(this + 0xd1)" ( (binary_expression "this + 0xd1" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined8 *)(this + 0xd9) = local_78;" (assignment_expression "*(undefined8 *)(this + 0xd9) = local_78" (pointer_expression "*(undefined8 *)(this + 0xd9)" * (cast_expression "(undefined8 *)(this + 0xd9)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(this + 0xd9)" ( (binary_expression "this + 0xd9" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined8 *)(this + 0xe1) = uStack_70;" (assignment_expression "*(undefined8 *)(this + 0xe1) = uStack_70" (pointer_expression "*(undefined8 *)(this + 0xe1)" * (cast_expression "(undefined8 *)(this + 0xe1)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(this + 0xe1)" ( (binary_expression "this + 0xe1" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined8 *)(this + 0xe9) = local_68;" (assignment_expression "*(undefined8 *)(this + 0xe9) = local_68" (pointer_expression "*(undefined8 *)(this + 0xe9)" * (cast_expression "(undefined8 *)(this + 0xe9)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(this + 0xe9)" ( (binary_expression "this + 0xe9" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined8 *)(this + 0xf1) = uStack_60;" (assignment_expression "*(undefined8 *)(this + 0xf1) = uStack_60" (pointer_expression "*(undefined8 *)(this + 0xf1)" * (cast_expression "(undefined8 *)(this + 0xf1)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(this + 0xf1)" ( (binary_expression "this + 0xf1" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined8 *)(this + 0xf9) = local_58;" (assignment_expression "*(undefined8 *)(this + 0xf9) = local_58" (pointer_expression "*(undefined8 *)(this + 0xf9)" * (cast_expression "(undefined8 *)(this + 0xf9)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(this + 0xf9)" ( (binary_expression "this + 0xf9" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined8 *)(this + 0x101) = uStack_50;" (assignment_expression "*(undefined8 *)(this + 0x101) = uStack_50" (pointer_expression "*(undefined8 *)(this + 0x101)" * (cast_expression "(undefined8 *)(this + 0x101)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(this + 0x101)" ( (binary_expression "this + 0x101" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined8 *)(this + 0x109) = local_48;" (assignment_expression "*(undefined8 *)(this + 0x109) = local_48" (pointer_expression "*(undefined8 *)(this + 0x109)" * (cast_expression "(undefined8 *)(this + 0x109)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(this + 0x109)" ( (binary_expression "this + 0x109" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined8 *)(this + 0x111) = uStack_40;" (assignment_expression "*(undefined8 *)(this + 0x111) = uStack_40" (pointer_expression "*(undefined8 *)(this + 0x111)" * (cast_expression "(undefined8 *)(this + 0x111)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(this + 0x111)" ( (binary_expression "this + 0x111" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined8 *)(this + 0x119) = local_38;" (assignment_expression "*(undefined8 *)(this + 0x119) = local_38" (pointer_expression "*(undefined8 *)(this + 0x119)" * (cast_expression "(undefined8 *)(this + 0x119)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(this + 0x119)" ( (binary_expression "this + 0x119" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined8 *)(this + 0x121) = uStack_30;" (assignment_expression "*(undefined8 *)(this + 0x121) = uStack_30" (pointer_expression "*(undefined8 *)(this + 0x121)" * (cast_expression "(undefined8 *)(this + 0x121)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(this + 0x121)" ( (binary_expression "this + 0x121" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined8 *)(this + 0x129) = local_28;" (assignment_expression "*(undefined8 *)(this + 0x129) = local_28" (pointer_expression "*(undefined8 *)(this + 0x129)" * (cast_expression "(undefined8 *)(this + 0x129)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(this + 0x129)" ( (binary_expression "this + 0x129" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined8 *)(this + 0x131) = uStack_20;" (assignment_expression "*(undefined8 *)(this + 0x131) = uStack_20" (pointer_expression "*(undefined8 *)(this + 0x131)" * (cast_expression "(undefined8 *)(this + 0x131)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(this + 0x131)" ( (binary_expression "this + 0x131" identifier + number_literal) )))) = identifier) ;) }) (else_clause "else {\n    (**(code **)(*(long *)this + 0x38))(this,&local_118,&stack0xffffffffffffffe8,this + 0x39);\n  }" else (compound_statement "{\n    (**(code **)(*(long *)this + 0x38))(this,&local_118,&stack0xffffffffffffffe8,this + 0x39);\n  }" { (expression_statement "(**(code **)(*(long *)this + 0x38))(this,&local_118,&stack0xffffffffffffffe8,this + 0x39);" (call_expression "(**(code **)(*(long *)this + 0x38))(this,&local_118,&stack0xffffffffffffffe8,this + 0x39)" (parenthesized_expression "(**(code **)(*(long *)this + 0x38))" ( (pointer_expression "**(code **)(*(long *)this + 0x38)" * (pointer_expression "*(code **)(*(long *)this + 0x38)" * (cast_expression "(code **)(*(long *)this + 0x38)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(long *)this + 0x38)" ( (binary_expression "*(long *)this + 0x38" (pointer_expression "*(long *)this" * (cast_expression "(long *)this" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) identifier)) + number_literal) ))))) )) (argument_list "(this,&local_118,&stack0xffffffffffffffe8,this + 0x39)" ( identifier , (pointer_expression "&local_118" & identifier) , (pointer_expression "&stack0xffffffffffffffe8" & identifier) , (binary_expression "this + 0x39" identifier + number_literal) ))) ;) }))) (expression_statement "this[0x38] = (ctype<char>)0x1;" (assignment_expression "this[0x38] = (ctype<char>)0x1" (subscript_expression "this[0x38]" identifier [ number_literal ]) = (parenthesized_expression "(ctype<char>)0x1" ( (binary_expression "ctype<char>)0x1" (binary_expression "ctype<char" identifier < identifier) > (ERROR ")" )) number_literal) ))) ;) (expression_statement "iVar1 = memcmp(&local_118,this + 0x39,0x100);" (assignment_expression "iVar1 = memcmp(&local_118,this + 0x39,0x100)" identifier = (call_expression "memcmp(&local_118,this + 0x39,0x100)" identifier (argument_list "(&local_118,this + 0x39,0x100)" ( (pointer_expression "&local_118" & identifier) , (binary_expression "this + 0x39" identifier + number_literal) , number_literal )))) ;) (if_statement "if (iVar1 != 0) {\n    this[0x38] = (ctype<char>)0x2;\n  }" if (parenthesized_expression "(iVar1 != 0)" ( (binary_expression "iVar1 != 0" identifier != number_literal) )) (compound_statement "{\n    this[0x38] = (ctype<char>)0x2;\n  }" { (expression_statement "this[0x38] = (ctype<char>)0x2;" (assignment_expression "this[0x38] = (ctype<char>)0x2" (subscript_expression "this[0x38]" identifier [ number_literal ]) = (parenthesized_expression "(ctype<char>)0x2" ( (binary_expression "ctype<char>)0x2" (binary_expression "ctype<char" identifier < identifier) > (ERROR ")" )) number_literal) ))) ;) })) (return_statement "return;" return ;) })))
(translation_unit "void FUN_00319ac0(long *param_1)\n\n{\n  int iVar1;\n  long lVar2;\n  undefined8 local_118;\n  undefined8 uStack_110;\n  undefined8 local_108;\n  undefined8 uStack_100;\n  undefined8 local_f8;\n  undefined8 uStack_f0;\n  undefined8 local_e8;\n  undefined8 uStack_e0;\n  undefined8 local_d8;\n  undefined8 uStack_d0;\n  undefined8 local_c8;\n  undefined8 uStack_c0;\n  undefined8 local_b8;\n  undefined8 uStack_b0;\n  undefined8 local_a8;\n  undefined8 uStack_a0;\n  undefined8 local_98;\n  undefined8 uStack_90;\n  undefined8 local_88;\n  undefined8 uStack_80;\n  undefined8 local_78;\n  undefined8 uStack_70;\n  undefined8 local_68;\n  undefined8 uStack_60;\n  undefined8 local_58;\n  undefined8 uStack_50;\n  undefined8 local_48;\n  undefined8 uStack_40;\n  undefined8 local_38;\n  undefined8 uStack_30;\n  undefined8 local_28;\n  undefined8 uStack_20;\n  \n  lVar2 = 0;\n  do {\n    *(char *)((long)&local_118 + lVar2) = (char)lVar2;\n    lVar2 = lVar2 + 1;\n  } while (lVar2 != 0x100);\n  if (*(code **)(*param_1 + 0x38) == (code *)PTR_FUN_0043df88) {\n    *(undefined8 *)((long)param_1 + 0x39) = local_118;\n    *(undefined8 *)((long)param_1 + 0x41) = uStack_110;\n    *(undefined8 *)((long)param_1 + 0x49) = local_108;\n    *(undefined8 *)((long)param_1 + 0x51) = uStack_100;\n    *(undefined8 *)((long)param_1 + 0x59) = local_f8;\n    *(undefined8 *)((long)param_1 + 0x61) = uStack_f0;\n    *(undefined8 *)((long)param_1 + 0x69) = local_e8;\n    *(undefined8 *)((long)param_1 + 0x71) = uStack_e0;\n    *(undefined8 *)((long)param_1 + 0x79) = local_d8;\n    *(undefined8 *)((long)param_1 + 0x81) = uStack_d0;\n    *(undefined8 *)((long)param_1 + 0x89) = local_c8;\n    *(undefined8 *)((long)param_1 + 0x91) = uStack_c0;\n    *(undefined8 *)((long)param_1 + 0x99) = local_b8;\n    *(undefined8 *)((long)param_1 + 0xa1) = uStack_b0;\n    *(undefined8 *)((long)param_1 + 0xa9) = local_a8;\n    *(undefined8 *)((long)param_1 + 0xb1) = uStack_a0;\n    *(undefined8 *)((long)param_1 + 0xb9) = local_98;\n    *(undefined8 *)((long)param_1 + 0xc1) = uStack_90;\n    *(undefined8 *)((long)param_1 + 0xc9) = local_88;\n    *(undefined8 *)((long)param_1 + 0xd1) = uStack_80;\n    *(undefined8 *)((long)param_1 + 0xd9) = local_78;\n    *(undefined8 *)((long)param_1 + 0xe1) = uStack_70;\n    *(undefined8 *)((long)param_1 + 0xe9) = local_68;\n    *(undefined8 *)((long)param_1 + 0xf1) = uStack_60;\n    *(undefined8 *)((long)param_1 + 0xf9) = local_58;\n    *(undefined8 *)((long)param_1 + 0x101) = uStack_50;\n    *(undefined8 *)((long)param_1 + 0x109) = local_48;\n    *(undefined8 *)((long)param_1 + 0x111) = uStack_40;\n    *(undefined8 *)((long)param_1 + 0x119) = local_38;\n    *(undefined8 *)((long)param_1 + 0x121) = uStack_30;\n    *(undefined8 *)((long)param_1 + 0x129) = local_28;\n    *(undefined8 *)((long)param_1 + 0x131) = uStack_20;\n  }\n  else {\n    (**(code **)(*param_1 + 0x38))\n              (param_1,&local_118,&stack0xffffffffffffffe8,(void *)((long)param_1 + 0x39));\n  }\n  *(undefined1 *)(param_1 + 7) = 1;\n  iVar1 = memcmp(&local_118,(void *)((long)param_1 + 0x39),0x100);\n  if (iVar1 != 0) {\n    *(undefined1 *)(param_1 + 7) = 2;\n  }\n  return;\n}\n\n" (function_definition "void FUN_00319ac0(long *param_1)\n\n{\n  int iVar1;\n  long lVar2;\n  undefined8 local_118;\n  undefined8 uStack_110;\n  undefined8 local_108;\n  undefined8 uStack_100;\n  undefined8 local_f8;\n  undefined8 uStack_f0;\n  undefined8 local_e8;\n  undefined8 uStack_e0;\n  undefined8 local_d8;\n  undefined8 uStack_d0;\n  undefined8 local_c8;\n  undefined8 uStack_c0;\n  undefined8 local_b8;\n  undefined8 uStack_b0;\n  undefined8 local_a8;\n  undefined8 uStack_a0;\n  undefined8 local_98;\n  undefined8 uStack_90;\n  undefined8 local_88;\n  undefined8 uStack_80;\n  undefined8 local_78;\n  undefined8 uStack_70;\n  undefined8 local_68;\n  undefined8 uStack_60;\n  undefined8 local_58;\n  undefined8 uStack_50;\n  undefined8 local_48;\n  undefined8 uStack_40;\n  undefined8 local_38;\n  undefined8 uStack_30;\n  undefined8 local_28;\n  undefined8 uStack_20;\n  \n  lVar2 = 0;\n  do {\n    *(char *)((long)&local_118 + lVar2) = (char)lVar2;\n    lVar2 = lVar2 + 1;\n  } while (lVar2 != 0x100);\n  if (*(code **)(*param_1 + 0x38) == (code *)PTR_FUN_0043df88) {\n    *(undefined8 *)((long)param_1 + 0x39) = local_118;\n    *(undefined8 *)((long)param_1 + 0x41) = uStack_110;\n    *(undefined8 *)((long)param_1 + 0x49) = local_108;\n    *(undefined8 *)((long)param_1 + 0x51) = uStack_100;\n    *(undefined8 *)((long)param_1 + 0x59) = local_f8;\n    *(undefined8 *)((long)param_1 + 0x61) = uStack_f0;\n    *(undefined8 *)((long)param_1 + 0x69) = local_e8;\n    *(undefined8 *)((long)param_1 + 0x71) = uStack_e0;\n    *(undefined8 *)((long)param_1 + 0x79) = local_d8;\n    *(undefined8 *)((long)param_1 + 0x81) = uStack_d0;\n    *(undefined8 *)((long)param_1 + 0x89) = local_c8;\n    *(undefined8 *)((long)param_1 + 0x91) = uStack_c0;\n    *(undefined8 *)((long)param_1 + 0x99) = local_b8;\n    *(undefined8 *)((long)param_1 + 0xa1) = uStack_b0;\n    *(undefined8 *)((long)param_1 + 0xa9) = local_a8;\n    *(undefined8 *)((long)param_1 + 0xb1) = uStack_a0;\n    *(undefined8 *)((long)param_1 + 0xb9) = local_98;\n    *(undefined8 *)((long)param_1 + 0xc1) = uStack_90;\n    *(undefined8 *)((long)param_1 + 0xc9) = local_88;\n    *(undefined8 *)((long)param_1 + 0xd1) = uStack_80;\n    *(undefined8 *)((long)param_1 + 0xd9) = local_78;\n    *(undefined8 *)((long)param_1 + 0xe1) = uStack_70;\n    *(undefined8 *)((long)param_1 + 0xe9) = local_68;\n    *(undefined8 *)((long)param_1 + 0xf1) = uStack_60;\n    *(undefined8 *)((long)param_1 + 0xf9) = local_58;\n    *(undefined8 *)((long)param_1 + 0x101) = uStack_50;\n    *(undefined8 *)((long)param_1 + 0x109) = local_48;\n    *(undefined8 *)((long)param_1 + 0x111) = uStack_40;\n    *(undefined8 *)((long)param_1 + 0x119) = local_38;\n    *(undefined8 *)((long)param_1 + 0x121) = uStack_30;\n    *(undefined8 *)((long)param_1 + 0x129) = local_28;\n    *(undefined8 *)((long)param_1 + 0x131) = uStack_20;\n  }\n  else {\n    (**(code **)(*param_1 + 0x38))\n              (param_1,&local_118,&stack0xffffffffffffffe8,(void *)((long)param_1 + 0x39));\n  }\n  *(undefined1 *)(param_1 + 7) = 1;\n  iVar1 = memcmp(&local_118,(void *)((long)param_1 + 0x39),0x100);\n  if (iVar1 != 0) {\n    *(undefined1 *)(param_1 + 7) = 2;\n  }\n  return;\n}" primitive_type (function_declarator "FUN_00319ac0(long *param_1)" identifier (parameter_list "(long *param_1)" ( (parameter_declaration "long *param_1" (sized_type_specifier "long" long) (pointer_declarator "*param_1" * identifier)) ))) (compound_statement "{\n  int iVar1;\n  long lVar2;\n  undefined8 local_118;\n  undefined8 uStack_110;\n  undefined8 local_108;\n  undefined8 uStack_100;\n  undefined8 local_f8;\n  undefined8 uStack_f0;\n  undefined8 local_e8;\n  undefined8 uStack_e0;\n  undefined8 local_d8;\n  undefined8 uStack_d0;\n  undefined8 local_c8;\n  undefined8 uStack_c0;\n  undefined8 local_b8;\n  undefined8 uStack_b0;\n  undefined8 local_a8;\n  undefined8 uStack_a0;\n  undefined8 local_98;\n  undefined8 uStack_90;\n  undefined8 local_88;\n  undefined8 uStack_80;\n  undefined8 local_78;\n  undefined8 uStack_70;\n  undefined8 local_68;\n  undefined8 uStack_60;\n  undefined8 local_58;\n  undefined8 uStack_50;\n  undefined8 local_48;\n  undefined8 uStack_40;\n  undefined8 local_38;\n  undefined8 uStack_30;\n  undefined8 local_28;\n  undefined8 uStack_20;\n  \n  lVar2 = 0;\n  do {\n    *(char *)((long)&local_118 + lVar2) = (char)lVar2;\n    lVar2 = lVar2 + 1;\n  } while (lVar2 != 0x100);\n  if (*(code **)(*param_1 + 0x38) == (code *)PTR_FUN_0043df88) {\n    *(undefined8 *)((long)param_1 + 0x39) = local_118;\n    *(undefined8 *)((long)param_1 + 0x41) = uStack_110;\n    *(undefined8 *)((long)param_1 + 0x49) = local_108;\n    *(undefined8 *)((long)param_1 + 0x51) = uStack_100;\n    *(undefined8 *)((long)param_1 + 0x59) = local_f8;\n    *(undefined8 *)((long)param_1 + 0x61) = uStack_f0;\n    *(undefined8 *)((long)param_1 + 0x69) = local_e8;\n    *(undefined8 *)((long)param_1 + 0x71) = uStack_e0;\n    *(undefined8 *)((long)param_1 + 0x79) = local_d8;\n    *(undefined8 *)((long)param_1 + 0x81) = uStack_d0;\n    *(undefined8 *)((long)param_1 + 0x89) = local_c8;\n    *(undefined8 *)((long)param_1 + 0x91) = uStack_c0;\n    *(undefined8 *)((long)param_1 + 0x99) = local_b8;\n    *(undefined8 *)((long)param_1 + 0xa1) = uStack_b0;\n    *(undefined8 *)((long)param_1 + 0xa9) = local_a8;\n    *(undefined8 *)((long)param_1 + 0xb1) = uStack_a0;\n    *(undefined8 *)((long)param_1 + 0xb9) = local_98;\n    *(undefined8 *)((long)param_1 + 0xc1) = uStack_90;\n    *(undefined8 *)((long)param_1 + 0xc9) = local_88;\n    *(undefined8 *)((long)param_1 + 0xd1) = uStack_80;\n    *(undefined8 *)((long)param_1 + 0xd9) = local_78;\n    *(undefined8 *)((long)param_1 + 0xe1) = uStack_70;\n    *(undefined8 *)((long)param_1 + 0xe9) = local_68;\n    *(undefined8 *)((long)param_1 + 0xf1) = uStack_60;\n    *(undefined8 *)((long)param_1 + 0xf9) = local_58;\n    *(undefined8 *)((long)param_1 + 0x101) = uStack_50;\n    *(undefined8 *)((long)param_1 + 0x109) = local_48;\n    *(undefined8 *)((long)param_1 + 0x111) = uStack_40;\n    *(undefined8 *)((long)param_1 + 0x119) = local_38;\n    *(undefined8 *)((long)param_1 + 0x121) = uStack_30;\n    *(undefined8 *)((long)param_1 + 0x129) = local_28;\n    *(undefined8 *)((long)param_1 + 0x131) = uStack_20;\n  }\n  else {\n    (**(code **)(*param_1 + 0x38))\n              (param_1,&local_118,&stack0xffffffffffffffe8,(void *)((long)param_1 + 0x39));\n  }\n  *(undefined1 *)(param_1 + 7) = 1;\n  iVar1 = memcmp(&local_118,(void *)((long)param_1 + 0x39),0x100);\n  if (iVar1 != 0) {\n    *(undefined1 *)(param_1 + 7) = 2;\n  }\n  return;\n}" { (declaration "int iVar1;" primitive_type identifier ;) (declaration "long lVar2;" (sized_type_specifier "long" long) identifier ;) (declaration "undefined8 local_118;" type_identifier identifier ;) (declaration "undefined8 uStack_110;" type_identifier identifier ;) (declaration "undefined8 local_108;" type_identifier identifier ;) (declaration "undefined8 uStack_100;" type_identifier identifier ;) (declaration "undefined8 local_f8;" type_identifier identifier ;) (declaration "undefined8 uStack_f0;" type_identifier identifier ;) (declaration "undefined8 local_e8;" type_identifier identifier ;) (declaration "undefined8 uStack_e0;" type_identifier identifier ;) (declaration "undefined8 local_d8;" type_identifier identifier ;) (declaration "undefined8 uStack_d0;" type_identifier identifier ;) (declaration "undefined8 local_c8;" type_identifier identifier ;) (declaration "undefined8 uStack_c0;" type_identifier identifier ;) (declaration "undefined8 local_b8;" type_identifier identifier ;) (declaration "undefined8 uStack_b0;" type_identifier identifier ;) (declaration "undefined8 local_a8;" type_identifier identifier ;) (declaration "undefined8 uStack_a0;" type_identifier identifier ;) (declaration "undefined8 local_98;" type_identifier identifier ;) (declaration "undefined8 uStack_90;" type_identifier identifier ;) (declaration "undefined8 local_88;" type_identifier identifier ;) (declaration "undefined8 uStack_80;" type_identifier identifier ;) (declaration "undefined8 local_78;" type_identifier identifier ;) (declaration "undefined8 uStack_70;" type_identifier identifier ;) (declaration "undefined8 local_68;" type_identifier identifier ;) (declaration "undefined8 uStack_60;" type_identifier identifier ;) (declaration "undefined8 local_58;" type_identifier identifier ;) (declaration "undefined8 uStack_50;" type_identifier identifier ;) (declaration "undefined8 local_48;" type_identifier identifier ;) (declaration "undefined8 uStack_40;" type_identifier identifier ;) (declaration "undefined8 local_38;" type_identifier identifier ;) (declaration "undefined8 uStack_30;" type_identifier identifier ;) (declaration "undefined8 local_28;" type_identifier identifier ;) (declaration "undefined8 uStack_20;" type_identifier identifier ;) (expression_statement "lVar2 = 0;" (assignment_expression "lVar2 = 0" identifier = number_literal) ;) (do_statement "do {\n    *(char *)((long)&local_118 + lVar2) = (char)lVar2;\n    lVar2 = lVar2 + 1;\n  } while (lVar2 != 0x100);" do (compound_statement "{\n    *(char *)((long)&local_118 + lVar2) = (char)lVar2;\n    lVar2 = lVar2 + 1;\n  }" { (expression_statement "*(char *)((long)&local_118 + lVar2) = (char)lVar2;" (assignment_expression "*(char *)((long)&local_118 + lVar2) = (char)lVar2" (pointer_expression "*(char *)((long)&local_118 + lVar2)" * (cast_expression "(char *)((long)&local_118 + lVar2)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)&local_118 + lVar2)" ( (binary_expression "(long)&local_118 + lVar2" (cast_expression "(long)&local_118" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (pointer_expression "&local_118" & identifier)) + identifier) )))) = (cast_expression "(char)lVar2" ( (type_descriptor "char" primitive_type) ) identifier)) ;) (expression_statement "lVar2 = lVar2 + 1;" (assignment_expression "lVar2 = lVar2 + 1" identifier = (binary_expression "lVar2 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(lVar2 != 0x100)" ( (binary_expression "lVar2 != 0x100" identifier != number_literal) )) ;) (if_statement "if (*(code **)(*param_1 + 0x38) == (code *)PTR_FUN_0043df88) {\n    *(undefined8 *)((long)param_1 + 0x39) = local_118;\n    *(undefined8 *)((long)param_1 + 0x41) = uStack_110;\n    *(undefined8 *)((long)param_1 + 0x49) = local_108;\n    *(undefined8 *)((long)param_1 + 0x51) = uStack_100;\n    *(undefined8 *)((long)param_1 + 0x59) = local_f8;\n    *(undefined8 *)((long)param_1 + 0x61) = uStack_f0;\n    *(undefined8 *)((long)param_1 + 0x69) = local_e8;\n    *(undefined8 *)((long)param_1 + 0x71) = uStack_e0;\n    *(undefined8 *)((long)param_1 + 0x79) = local_d8;\n    *(undefined8 *)((long)param_1 + 0x81) = uStack_d0;\n    *(undefined8 *)((long)param_1 + 0x89) = local_c8;\n    *(undefined8 *)((long)param_1 + 0x91) = uStack_c0;\n    *(undefined8 *)((long)param_1 + 0x99) = local_b8;\n    *(undefined8 *)((long)param_1 + 0xa1) = uStack_b0;\n    *(undefined8 *)((long)param_1 + 0xa9) = local_a8;\n    *(undefined8 *)((long)param_1 + 0xb1) = uStack_a0;\n    *(undefined8 *)((long)param_1 + 0xb9) = local_98;\n    *(undefined8 *)((long)param_1 + 0xc1) = uStack_90;\n    *(undefined8 *)((long)param_1 + 0xc9) = local_88;\n    *(undefined8 *)((long)param_1 + 0xd1) = uStack_80;\n    *(undefined8 *)((long)param_1 + 0xd9) = local_78;\n    *(undefined8 *)((long)param_1 + 0xe1) = uStack_70;\n    *(undefined8 *)((long)param_1 + 0xe9) = local_68;\n    *(undefined8 *)((long)param_1 + 0xf1) = uStack_60;\n    *(undefined8 *)((long)param_1 + 0xf9) = local_58;\n    *(undefined8 *)((long)param_1 + 0x101) = uStack_50;\n    *(undefined8 *)((long)param_1 + 0x109) = local_48;\n    *(undefined8 *)((long)param_1 + 0x111) = uStack_40;\n    *(undefined8 *)((long)param_1 + 0x119) = local_38;\n    *(undefined8 *)((long)param_1 + 0x121) = uStack_30;\n    *(undefined8 *)((long)param_1 + 0x129) = local_28;\n    *(undefined8 *)((long)param_1 + 0x131) = uStack_20;\n  }\n  else {\n    (**(code **)(*param_1 + 0x38))\n              (param_1,&local_118,&stack0xffffffffffffffe8,(void *)((long)param_1 + 0x39));\n  }" if (parenthesized_expression "(*(code **)(*param_1 + 0x38) == (code *)PTR_FUN_0043df88)" ( (binary_expression "*(code **)(*param_1 + 0x38) == (code *)PTR_FUN_0043df88" (pointer_expression "*(code **)(*param_1 + 0x38)" * (cast_expression "(code **)(*param_1 + 0x38)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*param_1 + 0x38)" ( (binary_expression "*param_1 + 0x38" (pointer_expression "*param_1" * identifier) + number_literal) )))) == (cast_expression "(code *)PTR_FUN_0043df88" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (compound_statement "{\n    *(undefined8 *)((long)param_1 + 0x39) = local_118;\n    *(undefined8 *)((long)param_1 + 0x41) = uStack_110;\n    *(undefined8 *)((long)param_1 + 0x49) = local_108;\n    *(undefined8 *)((long)param_1 + 0x51) = uStack_100;\n    *(undefined8 *)((long)param_1 + 0x59) = local_f8;\n    *(undefined8 *)((long)param_1 + 0x61) = uStack_f0;\n    *(undefined8 *)((long)param_1 + 0x69) = local_e8;\n    *(undefined8 *)((long)param_1 + 0x71) = uStack_e0;\n    *(undefined8 *)((long)param_1 + 0x79) = local_d8;\n    *(undefined8 *)((long)param_1 + 0x81) = uStack_d0;\n    *(undefined8 *)((long)param_1 + 0x89) = local_c8;\n    *(undefined8 *)((long)param_1 + 0x91) = uStack_c0;\n    *(undefined8 *)((long)param_1 + 0x99) = local_b8;\n    *(undefined8 *)((long)param_1 + 0xa1) = uStack_b0;\n    *(undefined8 *)((long)param_1 + 0xa9) = local_a8;\n    *(undefined8 *)((long)param_1 + 0xb1) = uStack_a0;\n    *(undefined8 *)((long)param_1 + 0xb9) = local_98;\n    *(undefined8 *)((long)param_1 + 0xc1) = uStack_90;\n    *(undefined8 *)((long)param_1 + 0xc9) = local_88;\n    *(undefined8 *)((long)param_1 + 0xd1) = uStack_80;\n    *(undefined8 *)((long)param_1 + 0xd9) = local_78;\n    *(undefined8 *)((long)param_1 + 0xe1) = uStack_70;\n    *(undefined8 *)((long)param_1 + 0xe9) = local_68;\n    *(undefined8 *)((long)param_1 + 0xf1) = uStack_60;\n    *(undefined8 *)((long)param_1 + 0xf9) = local_58;\n    *(undefined8 *)((long)param_1 + 0x101) = uStack_50;\n    *(undefined8 *)((long)param_1 + 0x109) = local_48;\n    *(undefined8 *)((long)param_1 + 0x111) = uStack_40;\n    *(undefined8 *)((long)param_1 + 0x119) = local_38;\n    *(undefined8 *)((long)param_1 + 0x121) = uStack_30;\n    *(undefined8 *)((long)param_1 + 0x129) = local_28;\n    *(undefined8 *)((long)param_1 + 0x131) = uStack_20;\n  }" { (expression_statement "*(undefined8 *)((long)param_1 + 0x39) = local_118;" (assignment_expression "*(undefined8 *)((long)param_1 + 0x39) = local_118" (pointer_expression "*(undefined8 *)((long)param_1 + 0x39)" * (cast_expression "(undefined8 *)((long)param_1 + 0x39)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)param_1 + 0x39)" ( (binary_expression "(long)param_1 + 0x39" (cast_expression "(long)param_1" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined8 *)((long)param_1 + 0x41) = uStack_110;" (assignment_expression "*(undefined8 *)((long)param_1 + 0x41) = uStack_110" (pointer_expression "*(undefined8 *)((long)param_1 + 0x41)" * (cast_expression "(undefined8 *)((long)param_1 + 0x41)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)param_1 + 0x41)" ( (binary_expression "(long)param_1 + 0x41" (cast_expression "(long)param_1" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined8 *)((long)param_1 + 0x49) = local_108;" (assignment_expression "*(undefined8 *)((long)param_1 + 0x49) = local_108" (pointer_expression "*(undefined8 *)((long)param_1 + 0x49)" * (cast_expression "(undefined8 *)((long)param_1 + 0x49)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)param_1 + 0x49)" ( (binary_expression "(long)param_1 + 0x49" (cast_expression "(long)param_1" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined8 *)((long)param_1 + 0x51) = uStack_100;" (assignment_expression "*(undefined8 *)((long)param_1 + 0x51) = uStack_100" (pointer_expression "*(undefined8 *)((long)param_1 + 0x51)" * (cast_expression "(undefined8 *)((long)param_1 + 0x51)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)param_1 + 0x51)" ( (binary_expression "(long)param_1 + 0x51" (cast_expression "(long)param_1" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined8 *)((long)param_1 + 0x59) = local_f8;" (assignment_expression "*(undefined8 *)((long)param_1 + 0x59) = local_f8" (pointer_expression "*(undefined8 *)((long)param_1 + 0x59)" * (cast_expression "(undefined8 *)((long)param_1 + 0x59)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)param_1 + 0x59)" ( (binary_expression "(long)param_1 + 0x59" (cast_expression "(long)param_1" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined8 *)((long)param_1 + 0x61) = uStack_f0;" (assignment_expression "*(undefined8 *)((long)param_1 + 0x61) = uStack_f0" (pointer_expression "*(undefined8 *)((long)param_1 + 0x61)" * (cast_expression "(undefined8 *)((long)param_1 + 0x61)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)param_1 + 0x61)" ( (binary_expression "(long)param_1 + 0x61" (cast_expression "(long)param_1" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined8 *)((long)param_1 + 0x69) = local_e8;" (assignment_expression "*(undefined8 *)((long)param_1 + 0x69) = local_e8" (pointer_expression "*(undefined8 *)((long)param_1 + 0x69)" * (cast_expression "(undefined8 *)((long)param_1 + 0x69)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)param_1 + 0x69)" ( (binary_expression "(long)param_1 + 0x69" (cast_expression "(long)param_1" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined8 *)((long)param_1 + 0x71) = uStack_e0;" (assignment_expression "*(undefined8 *)((long)param_1 + 0x71) = uStack_e0" (pointer_expression "*(undefined8 *)((long)param_1 + 0x71)" * (cast_expression "(undefined8 *)((long)param_1 + 0x71)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)param_1 + 0x71)" ( (binary_expression "(long)param_1 + 0x71" (cast_expression "(long)param_1" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined8 *)((long)param_1 + 0x79) = local_d8;" (assignment_expression "*(undefined8 *)((long)param_1 + 0x79) = local_d8" (pointer_expression "*(undefined8 *)((long)param_1 + 0x79)" * (cast_expression "(undefined8 *)((long)param_1 + 0x79)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)param_1 + 0x79)" ( (binary_expression "(long)param_1 + 0x79" (cast_expression "(long)param_1" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined8 *)((long)param_1 + 0x81) = uStack_d0;" (assignment_expression "*(undefined8 *)((long)param_1 + 0x81) = uStack_d0" (pointer_expression "*(undefined8 *)((long)param_1 + 0x81)" * (cast_expression "(undefined8 *)((long)param_1 + 0x81)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)param_1 + 0x81)" ( (binary_expression "(long)param_1 + 0x81" (cast_expression "(long)param_1" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined8 *)((long)param_1 + 0x89) = local_c8;" (assignment_expression "*(undefined8 *)((long)param_1 + 0x89) = local_c8" (pointer_expression "*(undefined8 *)((long)param_1 + 0x89)" * (cast_expression "(undefined8 *)((long)param_1 + 0x89)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)param_1 + 0x89)" ( (binary_expression "(long)param_1 + 0x89" (cast_expression "(long)param_1" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined8 *)((long)param_1 + 0x91) = uStack_c0;" (assignment_expression "*(undefined8 *)((long)param_1 + 0x91) = uStack_c0" (pointer_expression "*(undefined8 *)((long)param_1 + 0x91)" * (cast_expression "(undefined8 *)((long)param_1 + 0x91)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)param_1 + 0x91)" ( (binary_expression "(long)param_1 + 0x91" (cast_expression "(long)param_1" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined8 *)((long)param_1 + 0x99) = local_b8;" (assignment_expression "*(undefined8 *)((long)param_1 + 0x99) = local_b8" (pointer_expression "*(undefined8 *)((long)param_1 + 0x99)" * (cast_expression "(undefined8 *)((long)param_1 + 0x99)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)param_1 + 0x99)" ( (binary_expression "(long)param_1 + 0x99" (cast_expression "(long)param_1" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined8 *)((long)param_1 + 0xa1) = uStack_b0;" (assignment_expression "*(undefined8 *)((long)param_1 + 0xa1) = uStack_b0" (pointer_expression "*(undefined8 *)((long)param_1 + 0xa1)" * (cast_expression "(undefined8 *)((long)param_1 + 0xa1)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)param_1 + 0xa1)" ( (binary_expression "(long)param_1 + 0xa1" (cast_expression "(long)param_1" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined8 *)((long)param_1 + 0xa9) = local_a8;" (assignment_expression "*(undefined8 *)((long)param_1 + 0xa9) = local_a8" (pointer_expression "*(undefined8 *)((long)param_1 + 0xa9)" * (cast_expression "(undefined8 *)((long)param_1 + 0xa9)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)param_1 + 0xa9)" ( (binary_expression "(long)param_1 + 0xa9" (cast_expression "(long)param_1" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined8 *)((long)param_1 + 0xb1) = uStack_a0;" (assignment_expression "*(undefined8 *)((long)param_1 + 0xb1) = uStack_a0" (pointer_expression "*(undefined8 *)((long)param_1 + 0xb1)" * (cast_expression "(undefined8 *)((long)param_1 + 0xb1)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)param_1 + 0xb1)" ( (binary_expression "(long)param_1 + 0xb1" (cast_expression "(long)param_1" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined8 *)((long)param_1 + 0xb9) = local_98;" (assignment_expression "*(undefined8 *)((long)param_1 + 0xb9) = local_98" (pointer_expression "*(undefined8 *)((long)param_1 + 0xb9)" * (cast_expression "(undefined8 *)((long)param_1 + 0xb9)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)param_1 + 0xb9)" ( (binary_expression "(long)param_1 + 0xb9" (cast_expression "(long)param_1" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined8 *)((long)param_1 + 0xc1) = uStack_90;" (assignment_expression "*(undefined8 *)((long)param_1 + 0xc1) = uStack_90" (pointer_expression "*(undefined8 *)((long)param_1 + 0xc1)" * (cast_expression "(undefined8 *)((long)param_1 + 0xc1)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)param_1 + 0xc1)" ( (binary_expression "(long)param_1 + 0xc1" (cast_expression "(long)param_1" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined8 *)((long)param_1 + 0xc9) = local_88;" (assignment_expression "*(undefined8 *)((long)param_1 + 0xc9) = local_88" (pointer_expression "*(undefined8 *)((long)param_1 + 0xc9)" * (cast_expression "(undefined8 *)((long)param_1 + 0xc9)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)param_1 + 0xc9)" ( (binary_expression "(long)param_1 + 0xc9" (cast_expression "(long)param_1" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined8 *)((long)param_1 + 0xd1) = uStack_80;" (assignment_expression "*(undefined8 *)((long)param_1 + 0xd1) = uStack_80" (pointer_expression "*(undefined8 *)((long)param_1 + 0xd1)" * (cast_expression "(undefined8 *)((long)param_1 + 0xd1)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)param_1 + 0xd1)" ( (binary_expression "(long)param_1 + 0xd1" (cast_expression "(long)param_1" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined8 *)((long)param_1 + 0xd9) = local_78;" (assignment_expression "*(undefined8 *)((long)param_1 + 0xd9) = local_78" (pointer_expression "*(undefined8 *)((long)param_1 + 0xd9)" * (cast_expression "(undefined8 *)((long)param_1 + 0xd9)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)param_1 + 0xd9)" ( (binary_expression "(long)param_1 + 0xd9" (cast_expression "(long)param_1" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined8 *)((long)param_1 + 0xe1) = uStack_70;" (assignment_expression "*(undefined8 *)((long)param_1 + 0xe1) = uStack_70" (pointer_expression "*(undefined8 *)((long)param_1 + 0xe1)" * (cast_expression "(undefined8 *)((long)param_1 + 0xe1)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)param_1 + 0xe1)" ( (binary_expression "(long)param_1 + 0xe1" (cast_expression "(long)param_1" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined8 *)((long)param_1 + 0xe9) = local_68;" (assignment_expression "*(undefined8 *)((long)param_1 + 0xe9) = local_68" (pointer_expression "*(undefined8 *)((long)param_1 + 0xe9)" * (cast_expression "(undefined8 *)((long)param_1 + 0xe9)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)param_1 + 0xe9)" ( (binary_expression "(long)param_1 + 0xe9" (cast_expression "(long)param_1" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined8 *)((long)param_1 + 0xf1) = uStack_60;" (assignment_expression "*(undefined8 *)((long)param_1 + 0xf1) = uStack_60" (pointer_expression "*(undefined8 *)((long)param_1 + 0xf1)" * (cast_expression "(undefined8 *)((long)param_1 + 0xf1)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)param_1 + 0xf1)" ( (binary_expression "(long)param_1 + 0xf1" (cast_expression "(long)param_1" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined8 *)((long)param_1 + 0xf9) = local_58;" (assignment_expression "*(undefined8 *)((long)param_1 + 0xf9) = local_58" (pointer_expression "*(undefined8 *)((long)param_1 + 0xf9)" * (cast_expression "(undefined8 *)((long)param_1 + 0xf9)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)param_1 + 0xf9)" ( (binary_expression "(long)param_1 + 0xf9" (cast_expression "(long)param_1" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined8 *)((long)param_1 + 0x101) = uStack_50;" (assignment_expression "*(undefined8 *)((long)param_1 + 0x101) = uStack_50" (pointer_expression "*(undefined8 *)((long)param_1 + 0x101)" * (cast_expression "(undefined8 *)((long)param_1 + 0x101)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)param_1 + 0x101)" ( (binary_expression "(long)param_1 + 0x101" (cast_expression "(long)param_1" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined8 *)((long)param_1 + 0x109) = local_48;" (assignment_expression "*(undefined8 *)((long)param_1 + 0x109) = local_48" (pointer_expression "*(undefined8 *)((long)param_1 + 0x109)" * (cast_expression "(undefined8 *)((long)param_1 + 0x109)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)param_1 + 0x109)" ( (binary_expression "(long)param_1 + 0x109" (cast_expression "(long)param_1" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined8 *)((long)param_1 + 0x111) = uStack_40;" (assignment_expression "*(undefined8 *)((long)param_1 + 0x111) = uStack_40" (pointer_expression "*(undefined8 *)((long)param_1 + 0x111)" * (cast_expression "(undefined8 *)((long)param_1 + 0x111)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)param_1 + 0x111)" ( (binary_expression "(long)param_1 + 0x111" (cast_expression "(long)param_1" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined8 *)((long)param_1 + 0x119) = local_38;" (assignment_expression "*(undefined8 *)((long)param_1 + 0x119) = local_38" (pointer_expression "*(undefined8 *)((long)param_1 + 0x119)" * (cast_expression "(undefined8 *)((long)param_1 + 0x119)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)param_1 + 0x119)" ( (binary_expression "(long)param_1 + 0x119" (cast_expression "(long)param_1" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined8 *)((long)param_1 + 0x121) = uStack_30;" (assignment_expression "*(undefined8 *)((long)param_1 + 0x121) = uStack_30" (pointer_expression "*(undefined8 *)((long)param_1 + 0x121)" * (cast_expression "(undefined8 *)((long)param_1 + 0x121)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)param_1 + 0x121)" ( (binary_expression "(long)param_1 + 0x121" (cast_expression "(long)param_1" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined8 *)((long)param_1 + 0x129) = local_28;" (assignment_expression "*(undefined8 *)((long)param_1 + 0x129) = local_28" (pointer_expression "*(undefined8 *)((long)param_1 + 0x129)" * (cast_expression "(undefined8 *)((long)param_1 + 0x129)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)param_1 + 0x129)" ( (binary_expression "(long)param_1 + 0x129" (cast_expression "(long)param_1" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined8 *)((long)param_1 + 0x131) = uStack_20;" (assignment_expression "*(undefined8 *)((long)param_1 + 0x131) = uStack_20" (pointer_expression "*(undefined8 *)((long)param_1 + 0x131)" * (cast_expression "(undefined8 *)((long)param_1 + 0x131)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)param_1 + 0x131)" ( (binary_expression "(long)param_1 + 0x131" (cast_expression "(long)param_1" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) = identifier) ;) }) (else_clause "else {\n    (**(code **)(*param_1 + 0x38))\n              (param_1,&local_118,&stack0xffffffffffffffe8,(void *)((long)param_1 + 0x39));\n  }" else (compound_statement "{\n    (**(code **)(*param_1 + 0x38))\n              (param_1,&local_118,&stack0xffffffffffffffe8,(void *)((long)param_1 + 0x39));\n  }" { (expression_statement "(**(code **)(*param_1 + 0x38))\n              (param_1,&local_118,&stack0xffffffffffffffe8,(void *)((long)param_1 + 0x39));" (call_expression "(**(code **)(*param_1 + 0x38))\n              (param_1,&local_118,&stack0xffffffffffffffe8,(void *)((long)param_1 + 0x39))" (parenthesized_expression "(**(code **)(*param_1 + 0x38))" ( (pointer_expression "**(code **)(*param_1 + 0x38)" * (pointer_expression "*(code **)(*param_1 + 0x38)" * (cast_expression "(code **)(*param_1 + 0x38)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*param_1 + 0x38)" ( (binary_expression "*param_1 + 0x38" (pointer_expression "*param_1" * identifier) + number_literal) ))))) )) (argument_list "(param_1,&local_118,&stack0xffffffffffffffe8,(void *)((long)param_1 + 0x39))" ( identifier , (pointer_expression "&local_118" & identifier) , (pointer_expression "&stack0xffffffffffffffe8" & identifier) , (cast_expression "(void *)((long)param_1 + 0x39)" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)param_1 + 0x39)" ( (binary_expression "(long)param_1 + 0x39" (cast_expression "(long)param_1" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) ))) ))) ;) }))) (expression_statement "*(undefined1 *)(param_1 + 7) = 1;" (assignment_expression "*(undefined1 *)(param_1 + 7) = 1" (pointer_expression "*(undefined1 *)(param_1 + 7)" * (cast_expression "(undefined1 *)(param_1 + 7)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 7)" ( (binary_expression "param_1 + 7" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar1 = memcmp(&local_118,(void *)((long)param_1 + 0x39),0x100);" (assignment_expression "iVar1 = memcmp(&local_118,(void *)((long)param_1 + 0x39),0x100)" identifier = (call_expression "memcmp(&local_118,(void *)((long)param_1 + 0x39),0x100)" identifier (argument_list "(&local_118,(void *)((long)param_1 + 0x39),0x100)" ( (pointer_expression "&local_118" & identifier) , (cast_expression "(void *)((long)param_1 + 0x39)" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)param_1 + 0x39)" ( (binary_expression "(long)param_1 + 0x39" (cast_expression "(long)param_1" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) ))) , number_literal )))) ;) (if_statement "if (iVar1 != 0) {\n    *(undefined1 *)(param_1 + 7) = 2;\n  }" if (parenthesized_expression "(iVar1 != 0)" ( (binary_expression "iVar1 != 0" identifier != number_literal) )) (compound_statement "{\n    *(undefined1 *)(param_1 + 7) = 2;\n  }" { (expression_statement "*(undefined1 *)(param_1 + 7) = 2;" (assignment_expression "*(undefined1 *)(param_1 + 7) = 2" (pointer_expression "*(undefined1 *)(param_1 + 7)" * (cast_expression "(undefined1 *)(param_1 + 7)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 7)" ( (binary_expression "param_1 + 7" identifier + number_literal) )))) = number_literal) ;) })) (return_statement "return;" return ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration (sized_type_specifier long) (pointer_declarator * IDENT)) ))) (compound_statement { (declaration TYPE IDENT ;) (declaration (sized_type_specifier long) IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (expression_statement (assignment_expression IDENT = LIT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) (pointer_expression & IDENT)) + IDENT) )))) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT != LIT) )) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) )))) == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + LIT) )))) = IDENT) ;) }) (else_clause else (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) ))))) )) (argument_list ( IDENT , (pointer_expression & IDENT) , (pointer_expression & IDENT) , (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + LIT) ))) ))) ;) }))) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression & IDENT) , (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + LIT) ))) , LIT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) })) (return_statement return ;) })))
(function_definition "void FUN_00319ac0(long *param_1)\n\n{\n  int iVar1;\n  long lVar2;\n  undefined8 local_118;\n  undefined8 uStack_110;\n  undefined8 local_108;\n  undefined8 uStack_100;\n  undefined8 local_f8;\n  undefined8 uStack_f0;\n  undefined8 local_e8;\n  undefined8 uStack_e0;\n  undefined8 local_d8;\n  undefined8 uStack_d0;\n  undefined8 local_c8;\n  undefined8 uStack_c0;\n  undefined8 local_b8;\n  undefined8 uStack_b0;\n  undefined8 local_a8;\n  undefined8 uStack_a0;\n  undefined8 local_98;\n  undefined8 uStack_90;\n  undefined8 local_88;\n  undefined8 uStack_80;\n  undefined8 local_78;\n  undefined8 uStack_70;\n  undefined8 local_68;\n  undefined8 uStack_60;\n  undefined8 local_58;\n  undefined8 uStack_50;\n  undefined8 local_48;\n  undefined8 uStack_40;\n  undefined8 local_38;\n  undefined8 uStack_30;\n  undefined8 local_28;\n  undefined8 uStack_20;\n  \n  lVar2 = 0;\n  do {\n    *(char *)((long)&local_118 + lVar2) = (char)lVar2;\n    lVar2 = lVar2 + 1;\n  } while (lVar2 != 0x100);\n  if (*(code **)(*param_1 + 0x38) == (code *)PTR_FUN_0043df88) {\n    *(undefined8 *)((long)param_1 + 0x39) = local_118;\n    *(undefined8 *)((long)param_1 + 0x41) = uStack_110;\n    *(undefined8 *)((long)param_1 + 0x49) = local_108;\n    *(undefined8 *)((long)param_1 + 0x51) = uStack_100;\n    *(undefined8 *)((long)param_1 + 0x59) = local_f8;\n    *(undefined8 *)((long)param_1 + 0x61) = uStack_f0;\n    *(undefined8 *)((long)param_1 + 0x69) = local_e8;\n    *(undefined8 *)((long)param_1 + 0x71) = uStack_e0;\n    *(undefined8 *)((long)param_1 + 0x79) = local_d8;\n    *(undefined8 *)((long)param_1 + 0x81) = uStack_d0;\n    *(undefined8 *)((long)param_1 + 0x89) = local_c8;\n    *(undefined8 *)((long)param_1 + 0x91) = uStack_c0;\n    *(undefined8 *)((long)param_1 + 0x99) = local_b8;\n    *(undefined8 *)((long)param_1 + 0xa1) = uStack_b0;\n    *(undefined8 *)((long)param_1 + 0xa9) = local_a8;\n    *(undefined8 *)((long)param_1 + 0xb1) = uStack_a0;\n    *(undefined8 *)((long)param_1 + 0xb9) = local_98;\n    *(undefined8 *)((long)param_1 + 0xc1) = uStack_90;\n    *(undefined8 *)((long)param_1 + 0xc9) = local_88;\n    *(undefined8 *)((long)param_1 + 0xd1) = uStack_80;\n    *(undefined8 *)((long)param_1 + 0xd9) = local_78;\n    *(undefined8 *)((long)param_1 + 0xe1) = uStack_70;\n    *(undefined8 *)((long)param_1 + 0xe9) = local_68;\n    *(undefined8 *)((long)param_1 + 0xf1) = uStack_60;\n    *(undefined8 *)((long)param_1 + 0xf9) = local_58;\n    *(undefined8 *)((long)param_1 + 0x101) = uStack_50;\n    *(undefined8 *)((long)param_1 + 0x109) = local_48;\n    *(undefined8 *)((long)param_1 + 0x111) = uStack_40;\n    *(undefined8 *)((long)param_1 + 0x119) = local_38;\n    *(undefined8 *)((long)param_1 + 0x121) = uStack_30;\n    *(undefined8 *)((long)param_1 + 0x129) = local_28;\n    *(undefined8 *)((long)param_1 + 0x131) = uStack_20;\n  }\n  else {\n    (**(code **)(*param_1 + 0x38))\n              (param_1,&local_118,&stack0xffffffffffffffe8,(void *)((long)param_1 + 0x39));\n  }\n  *(undefined1 *)(param_1 + 7) = 1;\n  iVar1 = memcmp(&local_118,(void *)((long)param_1 + 0x39),0x100);\n  if (iVar1 != 0) {\n    *(undefined1 *)(param_1 + 7) = 2;\n  }\n  return;\n}" (primitive_type "void") (function_declarator "FUN_00319ac0(long *param_1)" (identifier "FUN_00319ac0") (parameter_list "(long *param_1)" (( "(") (parameter_declaration "long *param_1" (sized_type_specifier "long" (long "long")) (pointer_declarator "*param_1" (* "*") (identifier "param_1"))) () ")"))) (compound_statement "{\n  int iVar1;\n  long lVar2;\n  undefined8 local_118;\n  undefined8 uStack_110;\n  undefined8 local_108;\n  undefined8 uStack_100;\n  undefined8 local_f8;\n  undefined8 uStack_f0;\n  undefined8 local_e8;\n  undefined8 uStack_e0;\n  undefined8 local_d8;\n  undefined8 uStack_d0;\n  undefined8 local_c8;\n  undefined8 uStack_c0;\n  undefined8 local_b8;\n  undefined8 uStack_b0;\n  undefined8 local_a8;\n  undefined8 uStack_a0;\n  undefined8 local_98;\n  undefined8 uStack_90;\n  undefined8 local_88;\n  undefined8 uStack_80;\n  undefined8 local_78;\n  undefined8 uStack_70;\n  undefined8 local_68;\n  undefined8 uStack_60;\n  undefined8 local_58;\n  undefined8 uStack_50;\n  undefined8 local_48;\n  undefined8 uStack_40;\n  undefined8 local_38;\n  undefined8 uStack_30;\n  undefined8 local_28;\n  undefined8 uStack_20;\n  \n  lVar2 = 0;\n  do {\n    *(char *)((long)&local_118 + lVar2) = (char)lVar2;\n    lVar2 = lVar2 + 1;\n  } while (lVar2 != 0x100);\n  if (*(code **)(*param_1 + 0x38) == (code *)PTR_FUN_0043df88) {\n    *(undefined8 *)((long)param_1 + 0x39) = local_118;\n    *(undefined8 *)((long)param_1 + 0x41) = uStack_110;\n    *(undefined8 *)((long)param_1 + 0x49) = local_108;\n    *(undefined8 *)((long)param_1 + 0x51) = uStack_100;\n    *(undefined8 *)((long)param_1 + 0x59) = local_f8;\n    *(undefined8 *)((long)param_1 + 0x61) = uStack_f0;\n    *(undefined8 *)((long)param_1 + 0x69) = local_e8;\n    *(undefined8 *)((long)param_1 + 0x71) = uStack_e0;\n    *(undefined8 *)((long)param_1 + 0x79) = local_d8;\n    *(undefined8 *)((long)param_1 + 0x81) = uStack_d0;\n    *(undefined8 *)((long)param_1 + 0x89) = local_c8;\n    *(undefined8 *)((long)param_1 + 0x91) = uStack_c0;\n    *(undefined8 *)((long)param_1 + 0x99) = local_b8;\n    *(undefined8 *)((long)param_1 + 0xa1) = uStack_b0;\n    *(undefined8 *)((long)param_1 + 0xa9) = local_a8;\n    *(undefined8 *)((long)param_1 + 0xb1) = uStack_a0;\n    *(undefined8 *)((long)param_1 + 0xb9) = local_98;\n    *(undefined8 *)((long)param_1 + 0xc1) = uStack_90;\n    *(undefined8 *)((long)param_1 + 0xc9) = local_88;\n    *(undefined8 *)((long)param_1 + 0xd1) = uStack_80;\n    *(undefined8 *)((long)param_1 + 0xd9) = local_78;\n    *(undefined8 *)((long)param_1 + 0xe1) = uStack_70;\n    *(undefined8 *)((long)param_1 + 0xe9) = local_68;\n    *(undefined8 *)((long)param_1 + 0xf1) = uStack_60;\n    *(undefined8 *)((long)param_1 + 0xf9) = local_58;\n    *(undefined8 *)((long)param_1 + 0x101) = uStack_50;\n    *(undefined8 *)((long)param_1 + 0x109) = local_48;\n    *(undefined8 *)((long)param_1 + 0x111) = uStack_40;\n    *(undefined8 *)((long)param_1 + 0x119) = local_38;\n    *(undefined8 *)((long)param_1 + 0x121) = uStack_30;\n    *(undefined8 *)((long)param_1 + 0x129) = local_28;\n    *(undefined8 *)((long)param_1 + 0x131) = uStack_20;\n  }\n  else {\n    (**(code **)(*param_1 + 0x38))\n              (param_1,&local_118,&stack0xffffffffffffffe8,(void *)((long)param_1 + 0x39));\n  }\n  *(undefined1 *)(param_1 + 7) = 1;\n  iVar1 = memcmp(&local_118,(void *)((long)param_1 + 0x39),0x100);\n  if (iVar1 != 0) {\n    *(undefined1 *)(param_1 + 7) = 2;\n  }\n  return;\n}" ({ "{") (declaration "int iVar1;" (primitive_type "int") (identifier "iVar1") (; ";")) (declaration "long lVar2;" (sized_type_specifier "long" (long "long")) (identifier "lVar2") (; ";")) (declaration "undefined8 local_118;" (type_identifier "undefined8") (identifier "local_118") (; ";")) (declaration "undefined8 uStack_110;" (type_identifier "undefined8") (identifier "uStack_110") (; ";")) (declaration "undefined8 local_108;" (type_identifier "undefined8") (identifier "local_108") (; ";")) (declaration "undefined8 uStack_100;" (type_identifier "undefined8") (identifier "uStack_100") (; ";")) (declaration "undefined8 local_f8;" (type_identifier "undefined8") (identifier "local_f8") (; ";")) (declaration "undefined8 uStack_f0;" (type_identifier "undefined8") (identifier "uStack_f0") (; ";")) (declaration "undefined8 local_e8;" (type_identifier "undefined8") (identifier "local_e8") (; ";")) (declaration "undefined8 uStack_e0;" (type_identifier "undefined8") (identifier "uStack_e0") (; ";")) (declaration "undefined8 local_d8;" (type_identifier "undefined8") (identifier "local_d8") (; ";")) (declaration "undefined8 uStack_d0;" (type_identifier "undefined8") (identifier "uStack_d0") (; ";")) (declaration "undefined8 local_c8;" (type_identifier "undefined8") (identifier "local_c8") (; ";")) (declaration "undefined8 uStack_c0;" (type_identifier "undefined8") (identifier "uStack_c0") (; ";")) (declaration "undefined8 local_b8;" (type_identifier "undefined8") (identifier "local_b8") (; ";")) (declaration "undefined8 uStack_b0;" (type_identifier "undefined8") (identifier "uStack_b0") (; ";")) (declaration "undefined8 local_a8;" (type_identifier "undefined8") (identifier "local_a8") (; ";")) (declaration "undefined8 uStack_a0;" (type_identifier "undefined8") (identifier "uStack_a0") (; ";")) (declaration "undefined8 local_98;" (type_identifier "undefined8") (identifier "local_98") (; ";")) (declaration "undefined8 uStack_90;" (type_identifier "undefined8") (identifier "uStack_90") (; ";")) (declaration "undefined8 local_88;" (type_identifier "undefined8") (identifier "local_88") (; ";")) (declaration "undefined8 uStack_80;" (type_identifier "undefined8") (identifier "uStack_80") (; ";")) (declaration "undefined8 local_78;" (type_identifier "undefined8") (identifier "local_78") (; ";")) (declaration "undefined8 uStack_70;" (type_identifier "undefined8") (identifier "uStack_70") (; ";")) (declaration "undefined8 local_68;" (type_identifier "undefined8") (identifier "local_68") (; ";")) (declaration "undefined8 uStack_60;" (type_identifier "undefined8") (identifier "uStack_60") (; ";")) (declaration "undefined8 local_58;" (type_identifier "undefined8") (identifier "local_58") (; ";")) (declaration "undefined8 uStack_50;" (type_identifier "undefined8") (identifier "uStack_50") (; ";")) (declaration "undefined8 local_48;" (type_identifier "undefined8") (identifier "local_48") (; ";")) (declaration "undefined8 uStack_40;" (type_identifier "undefined8") (identifier "uStack_40") (; ";")) (declaration "undefined8 local_38;" (type_identifier "undefined8") (identifier "local_38") (; ";")) (declaration "undefined8 uStack_30;" (type_identifier "undefined8") (identifier "uStack_30") (; ";")) (declaration "undefined8 local_28;" (type_identifier "undefined8") (identifier "local_28") (; ";")) (declaration "undefined8 uStack_20;" (type_identifier "undefined8") (identifier "uStack_20") (; ";")) (expression_statement "lVar2 = 0;" (assignment_expression "lVar2 = 0" (identifier "lVar2") (= "=") (number_literal "0")) (; ";")) (do_statement "do {\n    *(char *)((long)&local_118 + lVar2) = (char)lVar2;\n    lVar2 = lVar2 + 1;\n  } while (lVar2 != 0x100);" (do "do") (compound_statement "{\n    *(char *)((long)&local_118 + lVar2) = (char)lVar2;\n    lVar2 = lVar2 + 1;\n  }" ({ "{") (expression_statement "*(char *)((long)&local_118 + lVar2) = (char)lVar2;" (assignment_expression "*(char *)((long)&local_118 + lVar2) = (char)lVar2" (pointer_expression "*(char *)((long)&local_118 + lVar2)" (* "*") (cast_expression "(char *)((long)&local_118 + lVar2)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)&local_118 + lVar2)" (( "(") (binary_expression "(long)&local_118 + lVar2" (cast_expression "(long)&local_118" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (pointer_expression "&local_118" (& "&") (identifier "local_118"))) (+ "+") (identifier "lVar2")) () ")")))) (= "=") (cast_expression "(char)lVar2" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (identifier "lVar2"))) (; ";")) (expression_statement "lVar2 = lVar2 + 1;" (assignment_expression "lVar2 = lVar2 + 1" (identifier "lVar2") (= "=") (binary_expression "lVar2 + 1" (identifier "lVar2") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(lVar2 != 0x100)" (( "(") (binary_expression "lVar2 != 0x100" (identifier "lVar2") (!= "!=") (number_literal "0x100")) () ")")) (; ";")) (if_statement "if (*(code **)(*param_1 + 0x38) == (code *)PTR_FUN_0043df88) {\n    *(undefined8 *)((long)param_1 + 0x39) = local_118;\n    *(undefined8 *)((long)param_1 + 0x41) = uStack_110;\n    *(undefined8 *)((long)param_1 + 0x49) = local_108;\n    *(undefined8 *)((long)param_1 + 0x51) = uStack_100;\n    *(undefined8 *)((long)param_1 + 0x59) = local_f8;\n    *(undefined8 *)((long)param_1 + 0x61) = uStack_f0;\n    *(undefined8 *)((long)param_1 + 0x69) = local_e8;\n    *(undefined8 *)((long)param_1 + 0x71) = uStack_e0;\n    *(undefined8 *)((long)param_1 + 0x79) = local_d8;\n    *(undefined8 *)((long)param_1 + 0x81) = uStack_d0;\n    *(undefined8 *)((long)param_1 + 0x89) = local_c8;\n    *(undefined8 *)((long)param_1 + 0x91) = uStack_c0;\n    *(undefined8 *)((long)param_1 + 0x99) = local_b8;\n    *(undefined8 *)((long)param_1 + 0xa1) = uStack_b0;\n    *(undefined8 *)((long)param_1 + 0xa9) = local_a8;\n    *(undefined8 *)((long)param_1 + 0xb1) = uStack_a0;\n    *(undefined8 *)((long)param_1 + 0xb9) = local_98;\n    *(undefined8 *)((long)param_1 + 0xc1) = uStack_90;\n    *(undefined8 *)((long)param_1 + 0xc9) = local_88;\n    *(undefined8 *)((long)param_1 + 0xd1) = uStack_80;\n    *(undefined8 *)((long)param_1 + 0xd9) = local_78;\n    *(undefined8 *)((long)param_1 + 0xe1) = uStack_70;\n    *(undefined8 *)((long)param_1 + 0xe9) = local_68;\n    *(undefined8 *)((long)param_1 + 0xf1) = uStack_60;\n    *(undefined8 *)((long)param_1 + 0xf9) = local_58;\n    *(undefined8 *)((long)param_1 + 0x101) = uStack_50;\n    *(undefined8 *)((long)param_1 + 0x109) = local_48;\n    *(undefined8 *)((long)param_1 + 0x111) = uStack_40;\n    *(undefined8 *)((long)param_1 + 0x119) = local_38;\n    *(undefined8 *)((long)param_1 + 0x121) = uStack_30;\n    *(undefined8 *)((long)param_1 + 0x129) = local_28;\n    *(undefined8 *)((long)param_1 + 0x131) = uStack_20;\n  }\n  else {\n    (**(code **)(*param_1 + 0x38))\n              (param_1,&local_118,&stack0xffffffffffffffe8,(void *)((long)param_1 + 0x39));\n  }" (if "if") (parenthesized_expression "(*(code **)(*param_1 + 0x38) == (code *)PTR_FUN_0043df88)" (( "(") (binary_expression "*(code **)(*param_1 + 0x38) == (code *)PTR_FUN_0043df88" (pointer_expression "*(code **)(*param_1 + 0x38)" (* "*") (cast_expression "(code **)(*param_1 + 0x38)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*param_1 + 0x38)" (( "(") (binary_expression "*param_1 + 0x38" (pointer_expression "*param_1" (* "*") (identifier "param_1")) (+ "+") (number_literal "0x38")) () ")")))) (== "==") (cast_expression "(code *)PTR_FUN_0043df88" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_FUN_0043df88"))) () ")")) (compound_statement "{\n    *(undefined8 *)((long)param_1 + 0x39) = local_118;\n    *(undefined8 *)((long)param_1 + 0x41) = uStack_110;\n    *(undefined8 *)((long)param_1 + 0x49) = local_108;\n    *(undefined8 *)((long)param_1 + 0x51) = uStack_100;\n    *(undefined8 *)((long)param_1 + 0x59) = local_f8;\n    *(undefined8 *)((long)param_1 + 0x61) = uStack_f0;\n    *(undefined8 *)((long)param_1 + 0x69) = local_e8;\n    *(undefined8 *)((long)param_1 + 0x71) = uStack_e0;\n    *(undefined8 *)((long)param_1 + 0x79) = local_d8;\n    *(undefined8 *)((long)param_1 + 0x81) = uStack_d0;\n    *(undefined8 *)((long)param_1 + 0x89) = local_c8;\n    *(undefined8 *)((long)param_1 + 0x91) = uStack_c0;\n    *(undefined8 *)((long)param_1 + 0x99) = local_b8;\n    *(undefined8 *)((long)param_1 + 0xa1) = uStack_b0;\n    *(undefined8 *)((long)param_1 + 0xa9) = local_a8;\n    *(undefined8 *)((long)param_1 + 0xb1) = uStack_a0;\n    *(undefined8 *)((long)param_1 + 0xb9) = local_98;\n    *(undefined8 *)((long)param_1 + 0xc1) = uStack_90;\n    *(undefined8 *)((long)param_1 + 0xc9) = local_88;\n    *(undefined8 *)((long)param_1 + 0xd1) = uStack_80;\n    *(undefined8 *)((long)param_1 + 0xd9) = local_78;\n    *(undefined8 *)((long)param_1 + 0xe1) = uStack_70;\n    *(undefined8 *)((long)param_1 + 0xe9) = local_68;\n    *(undefined8 *)((long)param_1 + 0xf1) = uStack_60;\n    *(undefined8 *)((long)param_1 + 0xf9) = local_58;\n    *(undefined8 *)((long)param_1 + 0x101) = uStack_50;\n    *(undefined8 *)((long)param_1 + 0x109) = local_48;\n    *(undefined8 *)((long)param_1 + 0x111) = uStack_40;\n    *(undefined8 *)((long)param_1 + 0x119) = local_38;\n    *(undefined8 *)((long)param_1 + 0x121) = uStack_30;\n    *(undefined8 *)((long)param_1 + 0x129) = local_28;\n    *(undefined8 *)((long)param_1 + 0x131) = uStack_20;\n  }" ({ "{") (expression_statement "*(undefined8 *)((long)param_1 + 0x39) = local_118;" (assignment_expression "*(undefined8 *)((long)param_1 + 0x39) = local_118" (pointer_expression "*(undefined8 *)((long)param_1 + 0x39)" (* "*") (cast_expression "(undefined8 *)((long)param_1 + 0x39)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)param_1 + 0x39)" (( "(") (binary_expression "(long)param_1 + 0x39" (cast_expression "(long)param_1" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "param_1")) (+ "+") (number_literal "0x39")) () ")")))) (= "=") (identifier "local_118")) (; ";")) (expression_statement "*(undefined8 *)((long)param_1 + 0x41) = uStack_110;" (assignment_expression "*(undefined8 *)((long)param_1 + 0x41) = uStack_110" (pointer_expression "*(undefined8 *)((long)param_1 + 0x41)" (* "*") (cast_expression "(undefined8 *)((long)param_1 + 0x41)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)param_1 + 0x41)" (( "(") (binary_expression "(long)param_1 + 0x41" (cast_expression "(long)param_1" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "param_1")) (+ "+") (number_literal "0x41")) () ")")))) (= "=") (identifier "uStack_110")) (; ";")) (expression_statement "*(undefined8 *)((long)param_1 + 0x49) = local_108;" (assignment_expression "*(undefined8 *)((long)param_1 + 0x49) = local_108" (pointer_expression "*(undefined8 *)((long)param_1 + 0x49)" (* "*") (cast_expression "(undefined8 *)((long)param_1 + 0x49)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)param_1 + 0x49)" (( "(") (binary_expression "(long)param_1 + 0x49" (cast_expression "(long)param_1" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "param_1")) (+ "+") (number_literal "0x49")) () ")")))) (= "=") (identifier "local_108")) (; ";")) (expression_statement "*(undefined8 *)((long)param_1 + 0x51) = uStack_100;" (assignment_expression "*(undefined8 *)((long)param_1 + 0x51) = uStack_100" (pointer_expression "*(undefined8 *)((long)param_1 + 0x51)" (* "*") (cast_expression "(undefined8 *)((long)param_1 + 0x51)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)param_1 + 0x51)" (( "(") (binary_expression "(long)param_1 + 0x51" (cast_expression "(long)param_1" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "param_1")) (+ "+") (number_literal "0x51")) () ")")))) (= "=") (identifier "uStack_100")) (; ";")) (expression_statement "*(undefined8 *)((long)param_1 + 0x59) = local_f8;" (assignment_expression "*(undefined8 *)((long)param_1 + 0x59) = local_f8" (pointer_expression "*(undefined8 *)((long)param_1 + 0x59)" (* "*") (cast_expression "(undefined8 *)((long)param_1 + 0x59)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)param_1 + 0x59)" (( "(") (binary_expression "(long)param_1 + 0x59" (cast_expression "(long)param_1" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "param_1")) (+ "+") (number_literal "0x59")) () ")")))) (= "=") (identifier "local_f8")) (; ";")) (expression_statement "*(undefined8 *)((long)param_1 + 0x61) = uStack_f0;" (assignment_expression "*(undefined8 *)((long)param_1 + 0x61) = uStack_f0" (pointer_expression "*(undefined8 *)((long)param_1 + 0x61)" (* "*") (cast_expression "(undefined8 *)((long)param_1 + 0x61)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)param_1 + 0x61)" (( "(") (binary_expression "(long)param_1 + 0x61" (cast_expression "(long)param_1" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "param_1")) (+ "+") (number_literal "0x61")) () ")")))) (= "=") (identifier "uStack_f0")) (; ";")) (expression_statement "*(undefined8 *)((long)param_1 + 0x69) = local_e8;" (assignment_expression "*(undefined8 *)((long)param_1 + 0x69) = local_e8" (pointer_expression "*(undefined8 *)((long)param_1 + 0x69)" (* "*") (cast_expression "(undefined8 *)((long)param_1 + 0x69)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)param_1 + 0x69)" (( "(") (binary_expression "(long)param_1 + 0x69" (cast_expression "(long)param_1" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "param_1")) (+ "+") (number_literal "0x69")) () ")")))) (= "=") (identifier "local_e8")) (; ";")) (expression_statement "*(undefined8 *)((long)param_1 + 0x71) = uStack_e0;" (assignment_expression "*(undefined8 *)((long)param_1 + 0x71) = uStack_e0" (pointer_expression "*(undefined8 *)((long)param_1 + 0x71)" (* "*") (cast_expression "(undefined8 *)((long)param_1 + 0x71)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)param_1 + 0x71)" (( "(") (binary_expression "(long)param_1 + 0x71" (cast_expression "(long)param_1" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "param_1")) (+ "+") (number_literal "0x71")) () ")")))) (= "=") (identifier "uStack_e0")) (; ";")) (expression_statement "*(undefined8 *)((long)param_1 + 0x79) = local_d8;" (assignment_expression "*(undefined8 *)((long)param_1 + 0x79) = local_d8" (pointer_expression "*(undefined8 *)((long)param_1 + 0x79)" (* "*") (cast_expression "(undefined8 *)((long)param_1 + 0x79)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)param_1 + 0x79)" (( "(") (binary_expression "(long)param_1 + 0x79" (cast_expression "(long)param_1" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "param_1")) (+ "+") (number_literal "0x79")) () ")")))) (= "=") (identifier "local_d8")) (; ";")) (expression_statement "*(undefined8 *)((long)param_1 + 0x81) = uStack_d0;" (assignment_expression "*(undefined8 *)((long)param_1 + 0x81) = uStack_d0" (pointer_expression "*(undefined8 *)((long)param_1 + 0x81)" (* "*") (cast_expression "(undefined8 *)((long)param_1 + 0x81)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)param_1 + 0x81)" (( "(") (binary_expression "(long)param_1 + 0x81" (cast_expression "(long)param_1" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "param_1")) (+ "+") (number_literal "0x81")) () ")")))) (= "=") (identifier "uStack_d0")) (; ";")) (expression_statement "*(undefined8 *)((long)param_1 + 0x89) = local_c8;" (assignment_expression "*(undefined8 *)((long)param_1 + 0x89) = local_c8" (pointer_expression "*(undefined8 *)((long)param_1 + 0x89)" (* "*") (cast_expression "(undefined8 *)((long)param_1 + 0x89)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)param_1 + 0x89)" (( "(") (binary_expression "(long)param_1 + 0x89" (cast_expression "(long)param_1" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "param_1")) (+ "+") (number_literal "0x89")) () ")")))) (= "=") (identifier "local_c8")) (; ";")) (expression_statement "*(undefined8 *)((long)param_1 + 0x91) = uStack_c0;" (assignment_expression "*(undefined8 *)((long)param_1 + 0x91) = uStack_c0" (pointer_expression "*(undefined8 *)((long)param_1 + 0x91)" (* "*") (cast_expression "(undefined8 *)((long)param_1 + 0x91)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)param_1 + 0x91)" (( "(") (binary_expression "(long)param_1 + 0x91" (cast_expression "(long)param_1" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "param_1")) (+ "+") (number_literal "0x91")) () ")")))) (= "=") (identifier "uStack_c0")) (; ";")) (expression_statement "*(undefined8 *)((long)param_1 + 0x99) = local_b8;" (assignment_expression "*(undefined8 *)((long)param_1 + 0x99) = local_b8" (pointer_expression "*(undefined8 *)((long)param_1 + 0x99)" (* "*") (cast_expression "(undefined8 *)((long)param_1 + 0x99)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)param_1 + 0x99)" (( "(") (binary_expression "(long)param_1 + 0x99" (cast_expression "(long)param_1" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "param_1")) (+ "+") (number_literal "0x99")) () ")")))) (= "=") (identifier "local_b8")) (; ";")) (expression_statement "*(undefined8 *)((long)param_1 + 0xa1) = uStack_b0;" (assignment_expression "*(undefined8 *)((long)param_1 + 0xa1) = uStack_b0" (pointer_expression "*(undefined8 *)((long)param_1 + 0xa1)" (* "*") (cast_expression "(undefined8 *)((long)param_1 + 0xa1)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)param_1 + 0xa1)" (( "(") (binary_expression "(long)param_1 + 0xa1" (cast_expression "(long)param_1" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "param_1")) (+ "+") (number_literal "0xa1")) () ")")))) (= "=") (identifier "uStack_b0")) (; ";")) (expression_statement "*(undefined8 *)((long)param_1 + 0xa9) = local_a8;" (assignment_expression "*(undefined8 *)((long)param_1 + 0xa9) = local_a8" (pointer_expression "*(undefined8 *)((long)param_1 + 0xa9)" (* "*") (cast_expression "(undefined8 *)((long)param_1 + 0xa9)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)param_1 + 0xa9)" (( "(") (binary_expression "(long)param_1 + 0xa9" (cast_expression "(long)param_1" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "param_1")) (+ "+") (number_literal "0xa9")) () ")")))) (= "=") (identifier "local_a8")) (; ";")) (expression_statement "*(undefined8 *)((long)param_1 + 0xb1) = uStack_a0;" (assignment_expression "*(undefined8 *)((long)param_1 + 0xb1) = uStack_a0" (pointer_expression "*(undefined8 *)((long)param_1 + 0xb1)" (* "*") (cast_expression "(undefined8 *)((long)param_1 + 0xb1)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)param_1 + 0xb1)" (( "(") (binary_expression "(long)param_1 + 0xb1" (cast_expression "(long)param_1" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "param_1")) (+ "+") (number_literal "0xb1")) () ")")))) (= "=") (identifier "uStack_a0")) (; ";")) (expression_statement "*(undefined8 *)((long)param_1 + 0xb9) = local_98;" (assignment_expression "*(undefined8 *)((long)param_1 + 0xb9) = local_98" (pointer_expression "*(undefined8 *)((long)param_1 + 0xb9)" (* "*") (cast_expression "(undefined8 *)((long)param_1 + 0xb9)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)param_1 + 0xb9)" (( "(") (binary_expression "(long)param_1 + 0xb9" (cast_expression "(long)param_1" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "param_1")) (+ "+") (number_literal "0xb9")) () ")")))) (= "=") (identifier "local_98")) (; ";")) (expression_statement "*(undefined8 *)((long)param_1 + 0xc1) = uStack_90;" (assignment_expression "*(undefined8 *)((long)param_1 + 0xc1) = uStack_90" (pointer_expression "*(undefined8 *)((long)param_1 + 0xc1)" (* "*") (cast_expression "(undefined8 *)((long)param_1 + 0xc1)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)param_1 + 0xc1)" (( "(") (binary_expression "(long)param_1 + 0xc1" (cast_expression "(long)param_1" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "param_1")) (+ "+") (number_literal "0xc1")) () ")")))) (= "=") (identifier "uStack_90")) (; ";")) (expression_statement "*(undefined8 *)((long)param_1 + 0xc9) = local_88;" (assignment_expression "*(undefined8 *)((long)param_1 + 0xc9) = local_88" (pointer_expression "*(undefined8 *)((long)param_1 + 0xc9)" (* "*") (cast_expression "(undefined8 *)((long)param_1 + 0xc9)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)param_1 + 0xc9)" (( "(") (binary_expression "(long)param_1 + 0xc9" (cast_expression "(long)param_1" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "param_1")) (+ "+") (number_literal "0xc9")) () ")")))) (= "=") (identifier "local_88")) (; ";")) (expression_statement "*(undefined8 *)((long)param_1 + 0xd1) = uStack_80;" (assignment_expression "*(undefined8 *)((long)param_1 + 0xd1) = uStack_80" (pointer_expression "*(undefined8 *)((long)param_1 + 0xd1)" (* "*") (cast_expression "(undefined8 *)((long)param_1 + 0xd1)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)param_1 + 0xd1)" (( "(") (binary_expression "(long)param_1 + 0xd1" (cast_expression "(long)param_1" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "param_1")) (+ "+") (number_literal "0xd1")) () ")")))) (= "=") (identifier "uStack_80")) (; ";")) (expression_statement "*(undefined8 *)((long)param_1 + 0xd9) = local_78;" (assignment_expression "*(undefined8 *)((long)param_1 + 0xd9) = local_78" (pointer_expression "*(undefined8 *)((long)param_1 + 0xd9)" (* "*") (cast_expression "(undefined8 *)((long)param_1 + 0xd9)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)param_1 + 0xd9)" (( "(") (binary_expression "(long)param_1 + 0xd9" (cast_expression "(long)param_1" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "param_1")) (+ "+") (number_literal "0xd9")) () ")")))) (= "=") (identifier "local_78")) (; ";")) (expression_statement "*(undefined8 *)((long)param_1 + 0xe1) = uStack_70;" (assignment_expression "*(undefined8 *)((long)param_1 + 0xe1) = uStack_70" (pointer_expression "*(undefined8 *)((long)param_1 + 0xe1)" (* "*") (cast_expression "(undefined8 *)((long)param_1 + 0xe1)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)param_1 + 0xe1)" (( "(") (binary_expression "(long)param_1 + 0xe1" (cast_expression "(long)param_1" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "param_1")) (+ "+") (number_literal "0xe1")) () ")")))) (= "=") (identifier "uStack_70")) (; ";")) (expression_statement "*(undefined8 *)((long)param_1 + 0xe9) = local_68;" (assignment_expression "*(undefined8 *)((long)param_1 + 0xe9) = local_68" (pointer_expression "*(undefined8 *)((long)param_1 + 0xe9)" (* "*") (cast_expression "(undefined8 *)((long)param_1 + 0xe9)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)param_1 + 0xe9)" (( "(") (binary_expression "(long)param_1 + 0xe9" (cast_expression "(long)param_1" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "param_1")) (+ "+") (number_literal "0xe9")) () ")")))) (= "=") (identifier "local_68")) (; ";")) (expression_statement "*(undefined8 *)((long)param_1 + 0xf1) = uStack_60;" (assignment_expression "*(undefined8 *)((long)param_1 + 0xf1) = uStack_60" (pointer_expression "*(undefined8 *)((long)param_1 + 0xf1)" (* "*") (cast_expression "(undefined8 *)((long)param_1 + 0xf1)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)param_1 + 0xf1)" (( "(") (binary_expression "(long)param_1 + 0xf1" (cast_expression "(long)param_1" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "param_1")) (+ "+") (number_literal "0xf1")) () ")")))) (= "=") (identifier "uStack_60")) (; ";")) (expression_statement "*(undefined8 *)((long)param_1 + 0xf9) = local_58;" (assignment_expression "*(undefined8 *)((long)param_1 + 0xf9) = local_58" (pointer_expression "*(undefined8 *)((long)param_1 + 0xf9)" (* "*") (cast_expression "(undefined8 *)((long)param_1 + 0xf9)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)param_1 + 0xf9)" (( "(") (binary_expression "(long)param_1 + 0xf9" (cast_expression "(long)param_1" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "param_1")) (+ "+") (number_literal "0xf9")) () ")")))) (= "=") (identifier "local_58")) (; ";")) (expression_statement "*(undefined8 *)((long)param_1 + 0x101) = uStack_50;" (assignment_expression "*(undefined8 *)((long)param_1 + 0x101) = uStack_50" (pointer_expression "*(undefined8 *)((long)param_1 + 0x101)" (* "*") (cast_expression "(undefined8 *)((long)param_1 + 0x101)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)param_1 + 0x101)" (( "(") (binary_expression "(long)param_1 + 0x101" (cast_expression "(long)param_1" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "param_1")) (+ "+") (number_literal "0x101")) () ")")))) (= "=") (identifier "uStack_50")) (; ";")) (expression_statement "*(undefined8 *)((long)param_1 + 0x109) = local_48;" (assignment_expression "*(undefined8 *)((long)param_1 + 0x109) = local_48" (pointer_expression "*(undefined8 *)((long)param_1 + 0x109)" (* "*") (cast_expression "(undefined8 *)((long)param_1 + 0x109)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)param_1 + 0x109)" (( "(") (binary_expression "(long)param_1 + 0x109" (cast_expression "(long)param_1" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "param_1")) (+ "+") (number_literal "0x109")) () ")")))) (= "=") (identifier "local_48")) (; ";")) (expression_statement "*(undefined8 *)((long)param_1 + 0x111) = uStack_40;" (assignment_expression "*(undefined8 *)((long)param_1 + 0x111) = uStack_40" (pointer_expression "*(undefined8 *)((long)param_1 + 0x111)" (* "*") (cast_expression "(undefined8 *)((long)param_1 + 0x111)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)param_1 + 0x111)" (( "(") (binary_expression "(long)param_1 + 0x111" (cast_expression "(long)param_1" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "param_1")) (+ "+") (number_literal "0x111")) () ")")))) (= "=") (identifier "uStack_40")) (; ";")) (expression_statement "*(undefined8 *)((long)param_1 + 0x119) = local_38;" (assignment_expression "*(undefined8 *)((long)param_1 + 0x119) = local_38" (pointer_expression "*(undefined8 *)((long)param_1 + 0x119)" (* "*") (cast_expression "(undefined8 *)((long)param_1 + 0x119)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)param_1 + 0x119)" (( "(") (binary_expression "(long)param_1 + 0x119" (cast_expression "(long)param_1" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "param_1")) (+ "+") (number_literal "0x119")) () ")")))) (= "=") (identifier "local_38")) (; ";")) (expression_statement "*(undefined8 *)((long)param_1 + 0x121) = uStack_30;" (assignment_expression "*(undefined8 *)((long)param_1 + 0x121) = uStack_30" (pointer_expression "*(undefined8 *)((long)param_1 + 0x121)" (* "*") (cast_expression "(undefined8 *)((long)param_1 + 0x121)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)param_1 + 0x121)" (( "(") (binary_expression "(long)param_1 + 0x121" (cast_expression "(long)param_1" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "param_1")) (+ "+") (number_literal "0x121")) () ")")))) (= "=") (identifier "uStack_30")) (; ";")) (expression_statement "*(undefined8 *)((long)param_1 + 0x129) = local_28;" (assignment_expression "*(undefined8 *)((long)param_1 + 0x129) = local_28" (pointer_expression "*(undefined8 *)((long)param_1 + 0x129)" (* "*") (cast_expression "(undefined8 *)((long)param_1 + 0x129)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)param_1 + 0x129)" (( "(") (binary_expression "(long)param_1 + 0x129" (cast_expression "(long)param_1" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "param_1")) (+ "+") (number_literal "0x129")) () ")")))) (= "=") (identifier "local_28")) (; ";")) (expression_statement "*(undefined8 *)((long)param_1 + 0x131) = uStack_20;" (assignment_expression "*(undefined8 *)((long)param_1 + 0x131) = uStack_20" (pointer_expression "*(undefined8 *)((long)param_1 + 0x131)" (* "*") (cast_expression "(undefined8 *)((long)param_1 + 0x131)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)param_1 + 0x131)" (( "(") (binary_expression "(long)param_1 + 0x131" (cast_expression "(long)param_1" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "param_1")) (+ "+") (number_literal "0x131")) () ")")))) (= "=") (identifier "uStack_20")) (; ";")) (} "}")) (else_clause "else {\n    (**(code **)(*param_1 + 0x38))\n              (param_1,&local_118,&stack0xffffffffffffffe8,(void *)((long)param_1 + 0x39));\n  }" (else "else") (compound_statement "{\n    (**(code **)(*param_1 + 0x38))\n              (param_1,&local_118,&stack0xffffffffffffffe8,(void *)((long)param_1 + 0x39));\n  }" ({ "{") (expression_statement "(**(code **)(*param_1 + 0x38))\n              (param_1,&local_118,&stack0xffffffffffffffe8,(void *)((long)param_1 + 0x39));" (call_expression "(**(code **)(*param_1 + 0x38))\n              (param_1,&local_118,&stack0xffffffffffffffe8,(void *)((long)param_1 + 0x39))" (parenthesized_expression "(**(code **)(*param_1 + 0x38))" (( "(") (pointer_expression "**(code **)(*param_1 + 0x38)" (* "*") (pointer_expression "*(code **)(*param_1 + 0x38)" (* "*") (cast_expression "(code **)(*param_1 + 0x38)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*param_1 + 0x38)" (( "(") (binary_expression "*param_1 + 0x38" (pointer_expression "*param_1" (* "*") (identifier "param_1")) (+ "+") (number_literal "0x38")) () ")"))))) () ")")) (argument_list "(param_1,&local_118,&stack0xffffffffffffffe8,(void *)((long)param_1 + 0x39))" (( "(") (identifier "param_1") (, ",") (pointer_expression "&local_118" (& "&") (identifier "local_118")) (, ",") (pointer_expression "&stack0xffffffffffffffe8" (& "&") (identifier "stack0xffffffffffffffe8")) (, ",") (cast_expression "(void *)((long)param_1 + 0x39)" (( "(") (type_descriptor "void *" (primitive_type "void") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)param_1 + 0x39)" (( "(") (binary_expression "(long)param_1 + 0x39" (cast_expression "(long)param_1" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "param_1")) (+ "+") (number_literal "0x39")) () ")"))) () ")"))) (; ";")) (} "}")))) (expression_statement "*(undefined1 *)(param_1 + 7) = 1;" (assignment_expression "*(undefined1 *)(param_1 + 7) = 1" (pointer_expression "*(undefined1 *)(param_1 + 7)" (* "*") (cast_expression "(undefined1 *)(param_1 + 7)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 7)" (( "(") (binary_expression "param_1 + 7" (identifier "param_1") (+ "+") (number_literal "7")) () ")")))) (= "=") (number_literal "1")) (; ";")) (expression_statement "iVar1 = memcmp(&local_118,(void *)((long)param_1 + 0x39),0x100);" (assignment_expression "iVar1 = memcmp(&local_118,(void *)((long)param_1 + 0x39),0x100)" (identifier "iVar1") (= "=") (call_expression "memcmp(&local_118,(void *)((long)param_1 + 0x39),0x100)" (identifier "memcmp") (argument_list "(&local_118,(void *)((long)param_1 + 0x39),0x100)" (( "(") (pointer_expression "&local_118" (& "&") (identifier "local_118")) (, ",") (cast_expression "(void *)((long)param_1 + 0x39)" (( "(") (type_descriptor "void *" (primitive_type "void") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)param_1 + 0x39)" (( "(") (binary_expression "(long)param_1 + 0x39" (cast_expression "(long)param_1" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "param_1")) (+ "+") (number_literal "0x39")) () ")"))) (, ",") (number_literal "0x100") () ")")))) (; ";")) (if_statement "if (iVar1 != 0) {\n    *(undefined1 *)(param_1 + 7) = 2;\n  }" (if "if") (parenthesized_expression "(iVar1 != 0)" (( "(") (binary_expression "iVar1 != 0" (identifier "iVar1") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n    *(undefined1 *)(param_1 + 7) = 2;\n  }" ({ "{") (expression_statement "*(undefined1 *)(param_1 + 7) = 2;" (assignment_expression "*(undefined1 *)(param_1 + 7) = 2" (pointer_expression "*(undefined1 *)(param_1 + 7)" (* "*") (cast_expression "(undefined1 *)(param_1 + 7)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 7)" (( "(") (binary_expression "param_1 + 7" (identifier "param_1") (+ "+") (number_literal "7")) () ")")))) (= "=") (number_literal "2")) (; ";")) (} "}"))) (return_statement "return;" (return "return") (; ";")) (} "}")))

/* std::ctype<char>::_M_widen_init() const */

void __thiscall std::type_1<char>::function_1(type_1<char> *var_2)

{
  int var_5;
  long var_1;
  type_2 local_118;
  type_2 uStack_110;
  type_2 local_108;
  type_2 uStack_100;
  type_2 local_f8;
  type_2 uStack_f0;
  type_2 local_e8;
  type_2 uStack_e0;
  type_2 local_d8;
  type_2 uStack_d0;
  type_2 local_c8;
  type_2 uStack_c0;
  type_2 local_b8;
  type_2 uStack_b0;
  type_2 local_a8;
  type_2 uStack_a0;
  type_2 local_98;
  type_2 uStack_90;
  type_2 local_88;
  type_2 uStack_80;
  type_2 local_78;
  type_2 uStack_70;
  type_2 local_68;
  type_2 uStack_60;
  type_2 local_58;
  type_2 uStack_50;
  type_2 local_48;
  type_2 uStack_40;
  type_2 local_38;
  type_2 uStack_30;
  type_2 local_28;
  type_2 uStack_20;
  
  var_1 = 0;
  do {
    *(char *)((long)&local_118 + var_1) = (char)var_1;
    var_1 = var_1 + 1;
  } while (var_1 != 0x100);
  if (*(type_3 **)(*(long *)var_2 + 0x38) == (type_3 *)PTR_do_widen_0043df88) {
    *(type_2 *)(var_2 + 0x39) = local_118;
    *(type_2 *)(var_2 + 0x41) = uStack_110;
    *(type_2 *)(var_2 + 0x49) = local_108;
    *(type_2 *)(var_2 + 0x51) = uStack_100;
    *(type_2 *)(var_2 + 0x59) = local_f8;
    *(type_2 *)(var_2 + 0x61) = uStack_f0;
    *(type_2 *)(var_2 + 0x69) = local_e8;
    *(type_2 *)(var_2 + 0x71) = uStack_e0;
    *(type_2 *)(var_2 + 0x79) = local_d8;
    *(type_2 *)(var_2 + 0x81) = uStack_d0;
    *(type_2 *)(var_2 + 0x89) = local_c8;
    *(type_2 *)(var_2 + 0x91) = uStack_c0;
    *(type_2 *)(var_2 + 0x99) = local_b8;
    *(type_2 *)(var_2 + 0xa1) = uStack_b0;
    *(type_2 *)(var_2 + 0xa9) = local_a8;
    *(type_2 *)(var_2 + 0xb1) = uStack_a0;
    *(type_2 *)(var_2 + 0xb9) = local_98;
    *(type_2 *)(var_2 + 0xc1) = uStack_90;
    *(type_2 *)(var_2 + 0xc9) = local_88;
    *(type_2 *)(var_2 + 0xd1) = uStack_80;
    *(type_2 *)(var_2 + 0xd9) = local_78;
    *(type_2 *)(var_2 + 0xe1) = uStack_70;
    *(type_2 *)(var_2 + 0xe9) = local_68;
    *(type_2 *)(var_2 + 0xf1) = uStack_60;
    *(type_2 *)(var_2 + 0xf9) = local_58;
    *(type_2 *)(var_2 + 0x101) = uStack_50;
    *(type_2 *)(var_2 + 0x109) = local_48;
    *(type_2 *)(var_2 + 0x111) = uStack_40;
    *(type_2 *)(var_2 + 0x119) = local_38;
    *(type_2 *)(var_2 + 0x121) = uStack_30;
    *(type_2 *)(var_2 + 0x129) = local_28;
    *(type_2 *)(var_2 + 0x131) = uStack_20;
  }
  else {
    (**(type_3 **)(*(long *)var_2 + 0x38))(var_2,&local_118,&stack0xffffffffffffffe8,var_2 + 0x39);
  }
  var_2[0x38] = (type_1<var_3>)0x1;
  var_5 = var_4(&local_118,var_2 + 0x39,0x100);
  if (var_5 != 0) {
    var_2[0x38] = (type_1<var_3>)0x2;
  }
  return;
}


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

void MASKED(long *param_1)

{
  int iVar1;
  long lVar2;
  undefined8 local_118;
  undefined8 uStack_110;
  undefined8 local_108;
  undefined8 uStack_100;
  undefined8 local_f8;
  undefined8 uStack_f0;
  undefined8 local_e8;
  undefined8 uStack_e0;
  undefined8 local_d8;
  undefined8 uStack_d0;
  undefined8 local_c8;
  undefined8 uStack_c0;
  undefined8 local_b8;
  undefined8 uStack_b0;
  undefined8 local_a8;
  undefined8 uStack_a0;
  undefined8 local_98;
  undefined8 uStack_90;
  undefined8 local_88;
  undefined8 uStack_80;
  undefined8 local_78;
  undefined8 uStack_70;
  undefined8 local_68;
  undefined8 uStack_60;
  undefined8 local_58;
  undefined8 uStack_50;
  undefined8 local_48;
  undefined8 uStack_40;
  undefined8 local_38;
  undefined8 uStack_30;
  undefined8 local_28;
  undefined8 uStack_20;
  
  lVar2 = 0;
  do {
    *(char *)((long)&local_118 + lVar2) = (char)lVar2;
    lVar2 = lVar2 + 1;
  } while (lVar2 != 0x100);
  if (*(code **)(*param_1 + 0x38) == (code *)PTR_FUN_0043df88) {
    *(undefined8 *)((long)param_1 + 0x39) = local_118;
    *(undefined8 *)((long)param_1 + 0x41) = uStack_110;
    *(undefined8 *)((long)param_1 + 0x49) = local_108;
    *(undefined8 *)((long)param_1 + 0x51) = uStack_100;
    *(undefined8 *)((long)param_1 + 0x59) = local_f8;
    *(undefined8 *)((long)param_1 + 0x61) = uStack_f0;
    *(undefined8 *)((long)param_1 + 0x69) = local_e8;
    *(undefined8 *)((long)param_1 + 0x71) = uStack_e0;
    *(undefined8 *)((long)param_1 + 0x79) = local_d8;
    *(undefined8 *)((long)param_1 + 0x81) = uStack_d0;
    *(undefined8 *)((long)param_1 + 0x89) = local_c8;
    *(undefined8 *)((long)param_1 + 0x91) = uStack_c0;
    *(undefined8 *)((long)param_1 + 0x99) = local_b8;
    *(undefined8 *)((long)param_1 + 0xa1) = uStack_b0;
    *(undefined8 *)((long)param_1 + 0xa9) = local_a8;
    *(undefined8 *)((long)param_1 + 0xb1) = uStack_a0;
    *(undefined8 *)((long)param_1 + 0xb9) = local_98;
    *(undefined8 *)((long)param_1 + 0xc1) = uStack_90;
    *(undefined8 *)((long)param_1 + 0xc9) = local_88;
    *(undefined8 *)((long)param_1 + 0xd1) = uStack_80;
    *(undefined8 *)((long)param_1 + 0xd9) = local_78;
    *(undefined8 *)((long)param_1 + 0xe1) = uStack_70;
    *(undefined8 *)((long)param_1 + 0xe9) = local_68;
    *(undefined8 *)((long)param_1 + 0xf1) = uStack_60;
    *(undefined8 *)((long)param_1 + 0xf9) = local_58;
    *(undefined8 *)((long)param_1 + 0x101) = uStack_50;
    *(undefined8 *)((long)param_1 + 0x109) = local_48;
    *(undefined8 *)((long)param_1 + 0x111) = uStack_40;
    *(undefined8 *)((long)param_1 + 0x119) = local_38;
    *(undefined8 *)((long)param_1 + 0x121) = uStack_30;
    *(undefined8 *)((long)param_1 + 0x129) = local_28;
    *(undefined8 *)((long)param_1 + 0x131) = uStack_20;
  }
  else {
    (**(code **)(*param_1 + 0x38))
              (param_1,&local_118,&stack0xffffffffffffffe8,(void *)((long)param_1 + 0x39));
  }
  *(undefined1 *)(param_1 + 7) = 1;
  iVar1 = memcmp(&local_118,(void *)((long)param_1 + 0x39),0x100);
  if (iVar1 != 0) {
    *(undefined1 *)(param_1 + 7) = 2;
  }
  return;
}

