
/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */
/* std::time_get<char, std::istreambuf_iterator<char, std::char_traits<char> >
   >::_M_extract_via_format(std::istreambuf_iterator<char, std::char_traits<char> >,
   std::istreambuf_iterator<char, std::char_traits<char> >, std::ios_base&, std::_Ios_Iostate&, tm*,
   char const*) const */

undefined4 *
std::time_get<char,std::istreambuf_iterator<char,std::char_traits<char>>>::_M_extract_via_format
          (undefined4 *param_1,undefined4 param_2,streambuf *param_3,undefined4 param_4,
          undefined4 param_5,undefined4 param_6,int param_7,uint *param_8,int *param_9,
          char *param_10)

{
  locale *plVar1;
  char cVar2;
  ctype cVar3;
  ctype cVar4;
  __timepunct *this;
  ctype *this_00;
  size_t sVar5;
  char *pcVar6;
  int iVar7;
  ctype *pcVar8;
  uint uVar9;
  undefined4 uVar10;
  undefined4 uVar11;
  char **ppcVar12;
  undefined4 uVar13;
  char *pcVar14;
  ctype<char> *in_stack_ffffff74;
  uint uVar15;
  streambuf *local_64;
  undefined4 uStack_60;
  uint local_54;
  int local_50;
  char *local_4c;
  undefined4 local_48;
  undefined4 local_44;
  undefined4 local_40;
  undefined4 local_3c;
  undefined4 local_38;
  undefined4 local_34;
  undefined4 uStack_14;
  
  uVar9 = 0;
  uStack_14 = 0x20182b;
  plVar1 = (locale *)(param_7 + 0x6c);
  this = use_facet<std::__timepunct<char>>(plVar1);
  this_00 = use_facet<std::ctype<char>>(plVar1);
  sVar5 = strlen(param_10);
  local_54 = 0;
LAB_0020189b:
  cVar2 = istreambuf_iterator<char,std::char_traits<char>>::equal
                    ((istreambuf_iterator<char,std::char_traits<char>> *)&param_3,
                     (istreambuf_iterator *)&param_5);
  if ((cVar2 == '\x01') || (sVar5 <= uVar9)) {
    if ((local_54 != 0) || (uVar9 != sVar5)) {
LAB_00201a0e:
      *param_8 = *param_8 | 4;
    }
    *param_1 = param_3;
    param_1[1] = param_4;
    return param_1;
  }
  if (local_54 != 0) goto LAB_00201a0e;
  pcVar8 = (ctype *)(param_10 + uVar9);
  cVar3 = *pcVar8;
  uVar15 = uVar9 + 1;
  cVar4 = this_00[(byte)cVar3 + 0x11d];
  if (cVar4 == (ctype)0x0) {
    cVar4 = cVar3;
    if (*(code **)(*(int *)this_00 + 0x20) != (code *)PTR_do_narrow_0038ed98) {
      cVar4 = (ctype)(**(code **)(*(int *)this_00 + 0x20))(this_00,(int)(char)cVar3,0);
    }
    if (cVar4 != (ctype)0x0) {
      this_00[(byte)cVar3 + 0x11d] = cVar4;
      goto LAB_00201910;
    }
LAB_00201980:
    uVar9 = uVar15;
    cVar3 = *pcVar8;
    cVar4 = (ctype)istreambuf_iterator<char,std::char_traits<char>>::_M_get();
    if (cVar3 == cVar4) {
      streambuf::sbumpc(param_3);
      param_4 = 0xffffffff;
    }
    else {
      local_54 = local_54 | 4;
    }
    goto LAB_0020189b;
  }
LAB_00201910:
  if (cVar4 != (ctype)0x25) goto LAB_00201980;
  cVar3 = *(ctype *)(param_10 + uVar9 + 1);
  cVar4 = this_00[(byte)cVar3 + 0x11d];
  if (cVar4 == (ctype)0x0) {
    cVar4 = cVar3;
    if (*(code **)(*(int *)this_00 + 0x20) != (code *)PTR_do_narrow_0038ed98) {
      cVar4 = (ctype)(**(code **)(*(int *)this_00 + 0x20))(this_00,(int)(char)cVar3,0);
    }
    if (cVar4 != (ctype)0x0) {
      this_00[(byte)cVar3 + 0x11d] = cVar4;
      goto LAB_00201951;
    }
    goto _L2028;
  }
LAB_00201951:
  local_50 = 0;
  if ((cVar4 == (ctype)0x45) || (cVar4 == (ctype)0x4f)) {
    uVar15 = uVar9 + 2;
    cVar3 = *(ctype *)(param_10 + uVar9 + 2);
    cVar4 = this_00[(byte)cVar3 + 0x11d];
    if (cVar4 == (ctype)0x0) {
      cVar4 = cVar3;
      if (*(code **)(*(int *)this_00 + 0x20) != (code *)PTR_do_narrow_0038ed98) {
        cVar4 = (ctype)(**(code **)(*(int *)this_00 + 0x20))(this_00,(int)(char)cVar3,0);
      }
      if (cVar4 == (ctype)0x0) goto _L2028;
      this_00[(byte)cVar3 + 0x11d] = cVar4;
    }
  }
  switch(cVar4) {
  case (ctype)0x41:
    iVar7 = *(int *)(this + 8);
    local_4c = *(char **)(iVar7 + 0x2c);
    local_48 = *(undefined4 *)(iVar7 + 0x30);
    local_44 = *(undefined4 *)(iVar7 + 0x34);
    local_40 = *(undefined4 *)(iVar7 + 0x38);
    local_3c = *(undefined4 *)(iVar7 + 0x3c);
    local_38 = *(undefined4 *)(iVar7 + 0x40);
    local_34 = *(undefined4 *)(iVar7 + 0x44);
    goto LAB_00201f34;
  case (ctype)0x42:
    __timepunct<char>::_M_months((__timepunct<char> *)this,&local_4c);
    goto LAB_00201fd1;
  case (ctype)0x43:
  case (ctype)0x59:
  case (ctype)0x79:
    _M_extract_num(&local_64,param_2,param_3,param_4,param_5,param_6,&local_50,0,9999,4,param_7,
                   &local_54);
    param_3 = local_64;
    param_4 = uStack_60;
    if (local_54 == 0) {
      iVar7 = local_50 + -0x76c;
      if (local_50 < 0) {
        iVar7 = local_50 + 100;
      }
      param_9[5] = iVar7;
    }
    break;
  case (ctype)0x44:
    pcVar14 = "%H:%M";
    pcVar6 = "%m/%d/%y";
    goto LAB_00201ca2;
  default:
    goto _L2028;
  case (ctype)0x48:
    uVar11 = 0x17;
    uVar10 = 0;
    goto LAB_00201ba6;
  case (ctype)0x49:
    uVar11 = 0xc;
    uVar10 = 1;
LAB_00201ba6:
    _M_extract_num(&local_64,param_2,param_3,param_4,param_5,param_6,&local_50,uVar10,uVar11,2,
                   param_7,&local_54);
    param_3 = local_64;
    param_4 = uStack_60;
    if (local_54 == 0) {
      param_9[2] = local_50;
    }
    break;
  case (ctype)0x4d:
    _M_extract_num(&local_64,param_2,param_3,param_4,param_5,param_6,&local_50,0,0x3b,2,param_7,
                   &local_54);
    param_3 = local_64;
    param_4 = uStack_60;
    if (local_54 == 0) {
      param_9[1] = local_50;
    }
    break;
  case (ctype)0x52:
    pcVar14 = "%H:%M:%S";
    pcVar6 = "%H:%M";
    goto LAB_00201ca2;
  case (ctype)0x53:
    _M_extract_num(&local_64,param_2,param_3,param_4,param_5,param_6,&local_50,0,0x3c,2,param_7,
                   &local_54);
    param_3 = local_64;
    param_4 = uStack_60;
    if (local_54 == 0) {
      *param_9 = local_50;
    }
    break;
  case (ctype)0x54:
    pcVar14 = "";
    pcVar6 = "%H:%M:%S";
LAB_00201ca2:
    ppcVar12 = &local_4c;
    ctype<char>::widen((ctype<char> *)this_00,pcVar6,pcVar14,(char *)ppcVar12);
    goto LAB_00201b30;
  case (ctype)0x58:
    ppcVar12 = *(char ***)(*(int *)(this + 8) + 0x10);
    goto LAB_00201b30;
  case (ctype)0x5a:
    uVar9 = istreambuf_iterator<char,std::char_traits<char>>::_M_get();
    if ((*(byte *)(*(int *)(this_00 + 0x18) + 1 + (uVar9 & 0xff) * 2) & 1) == 0) goto _L2028;
    _M_extract_name(&local_64,param_2,param_3,param_4,param_5,param_6,&local_4c,
                    __timepunct_cache<char>::_S_timezones,0xe,param_7,&local_54);
    param_3 = local_64;
    param_4 = uStack_60;
    cVar2 = istreambuf_iterator<char,std::char_traits<char>>::equal
                      ((istreambuf_iterator<char,std::char_traits<char>> *)&param_3,
                       (istreambuf_iterator *)&param_5);
    if ((cVar2 != '\0') || (local_54 != 0 || local_4c != (char *)0x0)) break;
    cVar3 = (ctype)istreambuf_iterator<char,std::char_traits<char>>::_M_get();
    if (this_00[0x1c] == (ctype)0x0) {
      cVar4 = (ctype)ctype<char>::widen(in_stack_ffffff74,(char)uVar15);
    }
    else {
      cVar4 = this_00[0x4a];
    }
    if (cVar3 != cVar4) {
      cVar3 = (ctype)istreambuf_iterator<char,std::char_traits<char>>::_M_get();
      if (this_00[0x1c] == (ctype)0x0) {
        cVar4 = (ctype)ctype<char>::widen(in_stack_ffffff74,(char)uVar15);
      }
      else {
        cVar4 = this_00[0x48];
      }
      if (cVar3 != cVar4) break;
    }
    _M_extract_num(&local_64,param_2,param_3,param_4,param_5,param_6,&local_4c,0,0x17,2,param_7,
                   &local_54);
    param_3 = local_64;
    param_4 = uStack_60;
    _M_extract_num(&local_64,param_2,local_64,uStack_60,param_5,param_6,&local_4c,0,0x3b,2,param_7,
                   &local_54);
    goto LAB_00201b6c;
  case (ctype)0x61:
    iVar7 = *(int *)(this + 8);
    local_4c = *(char **)(iVar7 + 0x48);
    local_48 = *(undefined4 *)(iVar7 + 0x4c);
    local_44 = *(undefined4 *)(iVar7 + 0x50);
    local_40 = *(undefined4 *)(iVar7 + 0x54);
    local_3c = *(undefined4 *)(iVar7 + 0x58);
    local_38 = *(undefined4 *)(iVar7 + 0x5c);
    local_34 = *(undefined4 *)(iVar7 + 0x60);
LAB_00201f34:
    _M_extract_name(&local_64,param_2,param_3,param_4,param_5,param_6,&local_50,&local_4c,7,param_7,
                    &local_54);
    param_3 = local_64;
    param_4 = uStack_60;
    if (local_54 == 0) {
      param_9[6] = local_50;
    }
    break;
  case (ctype)0x62:
  case (ctype)0x68:
    __timepunct<char>::_M_months_abbreviated((__timepunct<char> *)this,&local_4c);
LAB_00201fd1:
    _M_extract_name(&local_64,param_2,param_3,param_4,param_5,param_6,&local_50,&local_4c,0xc,
                    param_7,&local_54);
    param_3 = local_64;
    param_4 = uStack_60;
    if (local_54 == 0) {
      param_9[4] = local_50;
    }
    break;
  case (ctype)0x63:
    ppcVar12 = *(char ***)(*(int *)(this + 8) + 0x18);
    goto LAB_00201b30;
  case (ctype)0x64:
    uVar13 = 2;
    uVar11 = 0x1f;
    uVar10 = 1;
    goto LAB_002021b6;
  case (ctype)0x65:
    uVar9 = istreambuf_iterator<char,std::char_traits<char>>::_M_get();
    if ((*(byte *)(*(int *)(this_00 + 0x18) + 1 + (uVar9 & 0xff) * 2) & 0x20) == 0) {
      uVar13 = 2;
      uVar11 = 0x1f;
      uVar10 = 10;
    }
    else {
      streambuf::sbumpc(param_3);
      param_4 = 0xffffffff;
      uVar13 = 1;
      uVar11 = 9;
      uVar10 = 1;
    }
LAB_002021b6:
    _M_extract_num(&local_64,param_2,param_3,param_4,param_5,param_6,&local_50,uVar10,uVar11,uVar13,
                   param_7,&local_54);
    param_3 = local_64;
    param_4 = uStack_60;
    if (local_54 == 0) {
      param_9[3] = local_50;
    }
    break;
  case (ctype)0x6d:
    _M_extract_num(&local_64,param_2,param_3,param_4,param_5,param_6,&local_50,1,0xc,2,param_7,
                   &local_54);
    param_3 = local_64;
    param_4 = uStack_60;
    if (local_54 == 0) {
      param_9[4] = local_50 + -1;
    }
    break;
  case (ctype)0x6e:
    cVar4 = (ctype)istreambuf_iterator<char,std::char_traits<char>>::_M_get();
    cVar3 = this_00[(byte)cVar4 + 0x11d];
    if (cVar3 == (ctype)0x0) {
      cVar3 = cVar4;
      if (*(code **)(*(int *)this_00 + 0x20) != (code *)PTR_do_narrow_0038ed98) {
        cVar3 = (ctype)(**(code **)(*(int *)this_00 + 0x20))(this_00,(int)(char)cVar4,0);
      }
      if (cVar3 == (ctype)0x0) goto _L2028;
      this_00[(byte)cVar4 + 0x11d] = cVar3;
    }
    if (cVar3 != (ctype)0xa) goto _L2028;
LAB_00202346:
    streambuf::sbumpc(param_3);
    param_4 = 0xffffffff;
    break;
  case (ctype)0x74:
    cVar4 = (ctype)istreambuf_iterator<char,std::char_traits<char>>::_M_get();
    cVar3 = this_00[(byte)cVar4 + 0x11d];
    if (cVar3 == (ctype)0x0) {
      cVar3 = cVar4;
      if (*(code **)(*(int *)this_00 + 0x20) != ctype<char>::do_narrow) {
        cVar3 = (ctype)(**(code **)(*(int *)this_00 + 0x20))(this_00,(int)(char)cVar4,0);
      }
      if (cVar3 == (ctype)0x0) goto _L2028;
      this_00[(byte)cVar4 + 0x11d] = cVar3;
    }
    if (cVar3 == (ctype)0x9) goto LAB_00202346;
    goto _L2028;
  case (ctype)0x78:
    ppcVar12 = *(char ***)(*(int *)(this + 8) + 8);
LAB_00201b30:
    _M_extract_via_format
              (&local_64,param_2,param_3,param_4,param_5,param_6,param_7,&local_54,param_9,ppcVar12)
    ;
LAB_00201b6c:
    param_3 = local_64;
    param_4 = uStack_60;
  }
LAB_00201ac0:
  uVar9 = uVar15 + 1;
  goto LAB_0020189b;
_L2028:
  local_54 = local_54 | 4;
  goto LAB_00201ac0;
}



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

undefined4 * FUN_00201820(void)

{
  int iVar1;
  undefined1 *puVar2;
  undefined1 *puVar3;
  code *pcVar4;
  undefined4 *puVar5;
  char cVar6;
  char cVar7;
  byte bVar8;
  byte bVar9;
  int *piVar10;
  char *pcVar11;
  undefined4 uVar12;
  int iVar13;
  uint uVar14;
  undefined1 *puVar15;
  undefined1 *puVar16;
  undefined1 *puVar17;
  uint uVar18;
  int in_stack_0000001c;
  char *in_stack_00000028;
  undefined1 auStack_8c [8];
  undefined1 *local_84;
  size_t local_80;
  undefined1 *local_7c;
  undefined4 local_74;
  code *local_70;
  undefined **local_68;
  undefined4 local_54;
  undefined4 uStack_14;
  
  uVar18 = 0;
  uStack_14 = 0x20182b;
  iVar1 = in_stack_0000001c + 0x6c;
  local_74 = FUN_001fd780(iVar1);
  piVar10 = (int *)FUN_001fbde0(iVar1);
  local_80 = strlen(in_stack_00000028);
  local_7c = &stack0x00000014;
  local_84 = &stack0x0000000c;
  local_54 = 0;
  local_68 = &PTR_DAT_0038f400;
  local_70 = FUN_001f81a0;
  puVar15 = auStack_8c;
LAB_0020189b:
  *(undefined4 *)(puVar15 + -0xc) = *(undefined4 *)(puVar15 + 0x10);
  *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 8);
  *(undefined4 *)(puVar15 + -0x14) = 0x2018ab;
  cVar6 = FUN_00200f70();
  if ((cVar6 == '\x01') || (*(uint *)(puVar15 + 0xc) <= uVar18)) {
    if ((*(int *)(puVar15 + 0x38) != 0) || (uVar18 != *(uint *)(puVar15 + 0xc))) {
LAB_00201a0e:
      **(uint **)(puVar15 + 0xac) = **(uint **)(puVar15 + 0xac) | 4;
    }
    puVar5 = *(undefined4 **)(puVar15 + 0x90);
    uVar12 = *(undefined4 *)(puVar15 + 0x9c);
    *puVar5 = *(undefined4 *)(puVar15 + 0x98);
    puVar5[1] = uVar12;
    return puVar5;
  }
  if (*(int *)(puVar15 + 0x38) != 0) goto LAB_00201a0e;
  bVar8 = *(byte *)(*(int *)(puVar15 + 0xb4) + uVar18);
  uVar14 = (uint)bVar8;
  *(byte **)(puVar15 + 0x14) = (byte *)(*(int *)(puVar15 + 0xb4) + uVar18);
  *(uint *)(puVar15 + 4) = uVar18 + 1;
  bVar9 = *(byte *)((int)piVar10 + uVar14 + 0x11d);
  if (bVar9 == 0) {
    pcVar4 = *(code **)(*piVar10 + 0x20);
    bVar9 = bVar8;
    if (pcVar4 != (code *)PTR_FUN_0038ed98) {
      *(uint *)(puVar15 + 0x20) = uVar14;
      *(undefined4 *)(puVar15 + -8) = 0;
      *(int *)(puVar15 + -0xc) = (int)(char)bVar8;
      *(int **)(puVar15 + -0x10) = piVar10;
      *(undefined4 *)(puVar15 + -0x14) = 0x201a50;
      bVar9 = (*pcVar4)();
      uVar14 = *(uint *)(puVar15 + 0x20);
    }
    if (bVar9 != 0) {
      *(byte *)((int)piVar10 + uVar14 + 0x11d) = bVar9;
      goto LAB_00201910;
    }
LAB_00201980:
    cVar6 = **(char **)(puVar15 + 0x14);
    *(undefined4 *)(puVar15 + -4) = 0x201997;
    cVar7 = FUN_001f91d0();
    if (cVar6 == cVar7) {
      *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0x98);
      *(undefined4 *)(puVar15 + -0x14) = 0x201adf;
      FUN_001f24d0();
      *(undefined4 *)(puVar15 + 0x9c) = 0xffffffff;
      uVar18 = *(uint *)(puVar15 + 4);
    }
    else {
      *(uint *)(puVar15 + 0x38) = *(uint *)(puVar15 + 0x38) | 4;
      uVar18 = *(uint *)(puVar15 + 4);
    }
    goto LAB_0020189b;
  }
LAB_00201910:
  if (bVar9 != 0x25) goto LAB_00201980;
  bVar8 = *(byte *)(*(int *)(puVar15 + 0xb4) + 1 + uVar18);
  bVar9 = *(byte *)((int)piVar10 + bVar8 + 0x11d);
  puVar16 = puVar15;
  if (bVar9 == 0) {
    pcVar4 = *(code **)(*piVar10 + 0x20);
    bVar9 = bVar8;
    if (pcVar4 != (code *)PTR_FUN_0038ed98) {
      *(undefined4 *)(puVar15 + -8) = 0;
      *(int *)(puVar15 + -0xc) = (int)(char)bVar8;
      *(int **)(puVar15 + -0x10) = piVar10;
      *(undefined4 *)(puVar15 + -0x14) = 0x201b0c;
      bVar9 = (*pcVar4)();
    }
    if (bVar9 != 0) {
      *(byte *)((int)piVar10 + bVar8 + 0x11d) = bVar9;
      goto LAB_00201951;
    }
    goto LAB_00201ab8;
  }
LAB_00201951:
  *(undefined4 *)(puVar15 + 0x3c) = 0;
  if ((bVar9 == 0x45) || (bVar9 == 0x4f)) {
    *(uint *)(puVar15 + 4) = uVar18 + 2;
    bVar8 = *(byte *)(*(int *)(puVar15 + 0xb4) + 2 + uVar18);
    bVar9 = *(byte *)((int)piVar10 + bVar8 + 0x11d);
    if (bVar9 == 0) {
      pcVar4 = *(code **)(*piVar10 + 0x20);
      bVar9 = bVar8;
      if (pcVar4 != (code *)PTR_FUN_0038ed98) {
        *(undefined4 *)(puVar15 + -8) = 0;
        *(int *)(puVar15 + -0xc) = (int)(char)bVar8;
        *(int **)(puVar15 + -0x10) = piVar10;
        *(undefined4 *)(puVar15 + -0x14) = 0x20237c;
        bVar9 = (*pcVar4)();
      }
      if (bVar9 == 0) goto LAB_00201ab8;
      *(byte *)((int)piVar10 + bVar8 + 0x11d) = bVar9;
    }
  }
  switch(bVar9) {
  case 0x41:
    iVar1 = *(int *)(*(int *)(puVar15 + 0x18) + 8);
    *(undefined4 *)(puVar15 + 0x40) = *(undefined4 *)(iVar1 + 0x2c);
    *(undefined4 *)(puVar15 + 0x44) = *(undefined4 *)(iVar1 + 0x30);
    *(undefined4 *)(puVar15 + 0x48) = *(undefined4 *)(iVar1 + 0x34);
    *(undefined4 *)(puVar15 + 0x4c) = *(undefined4 *)(iVar1 + 0x38);
    *(undefined4 *)(puVar15 + 0x50) = *(undefined4 *)(iVar1 + 0x3c);
    *(undefined4 *)(puVar15 + 0x54) = *(undefined4 *)(iVar1 + 0x40);
    uVar12 = *(undefined4 *)(iVar1 + 0x44);
    goto code_r0x00201f34;
  case 0x42:
    *(undefined1 **)(puVar15 + -0xc) = puVar15 + 0x40;
    *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0x18);
    *(undefined **)(puVar15 + -0x14) = &UNK_00201fd1;
    FUN_001fb050();
    goto code_r0x00201fd1;
  case 0x43:
  case 0x59:
  case 0x79:
    *(undefined1 **)(puVar15 + -4) = puVar15 + 0x38;
    *(undefined4 *)(puVar15 + -8) = *(undefined4 *)(puVar15 + 0xa8);
    *(undefined4 *)(puVar15 + -0xc) = 4;
    *(undefined4 *)(puVar15 + -0x10) = 9999;
    *(undefined4 *)(puVar15 + -0x14) = 0;
    *(undefined1 **)(puVar15 + -0x18) = puVar15 + 0x3c;
    *(undefined4 *)(puVar15 + -0x1c) = *(undefined4 *)(puVar15 + 0xa4);
    *(undefined4 *)(puVar15 + -0x20) = *(undefined4 *)(puVar15 + 0xa0);
    *(undefined4 *)(puVar15 + -0x24) = *(undefined4 *)(puVar15 + 0x9c);
    *(undefined4 *)(puVar15 + -0x28) = *(undefined4 *)(puVar15 + 0x98);
    *(undefined4 *)(puVar15 + -0x2c) = *(undefined4 *)(puVar15 + 0x94);
    *(undefined1 **)(puVar15 + -0x30) = puVar15 + 0x28;
    *(undefined **)(puVar15 + -0x34) = &UNK_00202097;
    FUN_001fc0e0();
    *(undefined4 *)(puVar15 + 0x94) = *(undefined4 *)(puVar15 + 0x24);
    *(undefined4 *)(puVar15 + 0x98) = *(undefined4 *)(puVar15 + 0x28);
    puVar16 = puVar15 + -4;
    if (*(int *)(puVar15 + 0x34) == 0) {
      iVar1 = *(int *)(puVar15 + 0x38);
      iVar13 = iVar1 + -0x76c;
      if (iVar1 < 0) {
        iVar13 = iVar1 + 100;
      }
      *(int *)(*(int *)(puVar15 + 0xac) + 0x14) = iVar13;
      puVar16 = puVar15 + -4;
    }
    break;
  case 0x44:
    *(undefined1 **)(puVar15 + -4) = puVar15 + 0x40;
    *(undefined **)(puVar15 + -8) = &UNK_002a3ee7;
    pcVar11 = "%m/%d/%y";
    goto code_r0x00201ca2;
  default:
    goto LAB_00201ab8;
  case 0x48:
    *(undefined1 **)(puVar15 + -4) = puVar15 + 0x38;
    *(undefined4 *)(puVar15 + -8) = *(undefined4 *)(puVar15 + 0xa8);
    *(undefined4 *)(puVar15 + -0xc) = 2;
    *(undefined4 *)(puVar15 + -0x10) = 0x17;
    *(undefined4 *)(puVar15 + -0x14) = 0;
    goto code_r0x00201ba6;
  case 0x49:
    *(undefined1 **)(puVar15 + -4) = puVar15 + 0x38;
    *(undefined4 *)(puVar15 + -8) = *(undefined4 *)(puVar15 + 0xa8);
    *(undefined4 *)(puVar15 + -0xc) = 2;
    *(undefined4 *)(puVar15 + -0x10) = 0xc;
    *(undefined4 *)(puVar15 + -0x14) = 1;
code_r0x00201ba6:
    *(undefined1 **)(puVar15 + -0x18) = puVar15 + 0x3c;
    *(undefined4 *)(puVar15 + -0x1c) = *(undefined4 *)(puVar15 + 0xa4);
    *(undefined4 *)(puVar15 + -0x20) = *(undefined4 *)(puVar15 + 0xa0);
    *(undefined4 *)(puVar15 + -0x24) = *(undefined4 *)(puVar15 + 0x9c);
    *(undefined4 *)(puVar15 + -0x28) = *(undefined4 *)(puVar15 + 0x98);
    *(undefined4 *)(puVar15 + -0x2c) = *(undefined4 *)(puVar15 + 0x94);
    *(undefined1 **)(puVar15 + -0x30) = puVar15 + 0x28;
    *(undefined **)(puVar15 + -0x34) = &UNK_00201bd4;
    FUN_001fc0e0();
    *(undefined4 *)(puVar15 + 0x94) = *(undefined4 *)(puVar15 + 0x24);
    *(undefined4 *)(puVar15 + 0x98) = *(undefined4 *)(puVar15 + 0x28);
    puVar16 = puVar15 + -4;
    if (*(int *)(puVar15 + 0x34) == 0) {
      *(undefined4 *)(*(int *)(puVar15 + 0xac) + 8) = *(undefined4 *)(puVar15 + 0x38);
      puVar16 = puVar15 + -4;
    }
    break;
  case 0x4d:
    *(undefined1 **)(puVar15 + -4) = puVar15 + 0x38;
    *(undefined4 *)(puVar15 + -8) = *(undefined4 *)(puVar15 + 0xa8);
    *(undefined4 *)(puVar15 + -0xc) = 2;
    *(undefined4 *)(puVar15 + -0x10) = 0x3b;
    *(undefined4 *)(puVar15 + -0x14) = 0;
    *(undefined1 **)(puVar15 + -0x18) = puVar15 + 0x3c;
    *(undefined4 *)(puVar15 + -0x1c) = *(undefined4 *)(puVar15 + 0xa4);
    *(undefined4 *)(puVar15 + -0x20) = *(undefined4 *)(puVar15 + 0xa0);
    *(undefined4 *)(puVar15 + -0x24) = *(undefined4 *)(puVar15 + 0x9c);
    *(undefined4 *)(puVar15 + -0x28) = *(undefined4 *)(puVar15 + 0x98);
    *(undefined4 *)(puVar15 + -0x2c) = *(undefined4 *)(puVar15 + 0x94);
    *(undefined1 **)(puVar15 + -0x30) = puVar15 + 0x28;
    *(undefined **)(puVar15 + -0x34) = &UNK_00201c54;
    FUN_001fc0e0();
    *(undefined4 *)(puVar15 + 0x94) = *(undefined4 *)(puVar15 + 0x24);
    *(undefined4 *)(puVar15 + 0x98) = *(undefined4 *)(puVar15 + 0x28);
    puVar16 = puVar15 + -4;
    if (*(int *)(puVar15 + 0x34) == 0) {
      *(undefined4 *)(*(int *)(puVar15 + 0xac) + 4) = *(undefined4 *)(puVar15 + 0x38);
      puVar16 = puVar15 + -4;
    }
    break;
  case 0x52:
    *(undefined1 **)(puVar15 + -4) = puVar15 + 0x40;
    *(char **)(puVar15 + -8) = "%H:%M:%S";
    pcVar11 = "%H:%M";
    goto code_r0x00201ca2;
  case 0x53:
    *(undefined1 **)(puVar15 + -4) = puVar15 + 0x38;
    *(undefined4 *)(puVar15 + -8) = *(undefined4 *)(puVar15 + 0xa8);
    *(undefined4 *)(puVar15 + -0xc) = 2;
    *(undefined4 *)(puVar15 + -0x10) = 0x3c;
    *(undefined4 *)(puVar15 + -0x14) = 0;
    *(undefined1 **)(puVar15 + -0x18) = puVar15 + 0x3c;
    *(undefined4 *)(puVar15 + -0x1c) = *(undefined4 *)(puVar15 + 0xa4);
    *(undefined4 *)(puVar15 + -0x20) = *(undefined4 *)(puVar15 + 0xa0);
    *(undefined4 *)(puVar15 + -0x24) = *(undefined4 *)(puVar15 + 0x9c);
    *(undefined4 *)(puVar15 + -0x28) = *(undefined4 *)(puVar15 + 0x98);
    *(undefined4 *)(puVar15 + -0x2c) = *(undefined4 *)(puVar15 + 0x94);
    *(undefined1 **)(puVar15 + -0x30) = puVar15 + 0x28;
    *(undefined **)(puVar15 + -0x34) = &UNK_00201cfc;
    FUN_001fc0e0();
    *(undefined4 *)(puVar15 + 0x94) = *(undefined4 *)(puVar15 + 0x24);
    *(undefined4 *)(puVar15 + 0x98) = *(undefined4 *)(puVar15 + 0x28);
    puVar16 = puVar15 + -4;
    if (*(int *)(puVar15 + 0x34) == 0) {
      **(undefined4 **)(puVar15 + 0xac) = *(undefined4 *)(puVar15 + 0x38);
      puVar16 = puVar15 + -4;
    }
    break;
  case 0x54:
    *(undefined1 **)(puVar15 + -4) = puVar15 + 0x40;
    *(undefined **)(puVar15 + -8) = &UNK_002a3ef6;
    pcVar11 = "%H:%M:%S";
code_r0x00201ca2:
    *(char **)(puVar15 + -0xc) = pcVar11;
    *(int **)(puVar15 + -0x10) = piVar10;
    *(undefined **)(puVar15 + -0x14) = &UNK_00201ca9;
    FUN_001f94d0();
    *(undefined1 **)(puVar15 + -0xc) = puVar15 + 0x40;
    goto code_r0x00201b30;
  case 0x58:
    *(undefined4 *)(puVar15 + -0xc) = *(undefined4 *)(*(int *)(*(int *)(puVar15 + 0x18) + 8) + 0x10)
    ;
    goto code_r0x00201b30;
  case 0x5a:
    *(undefined **)(puVar15 + -4) = &UNK_00201d80;
    uVar18 = FUN_001f91d0();
    if ((*(byte *)(piVar10[6] + 1 + (uVar18 & 0xff) * 2) & 1) == 0) goto LAB_00201ab8;
    *(undefined1 **)(puVar15 + 0x14) = puVar15 + 0x28;
    puVar2 = puVar15 + 0x38;
    *(undefined1 **)(puVar15 + -8) = puVar2;
    *(undefined4 *)(puVar15 + -0xc) = *(undefined4 *)(puVar15 + 0xa8);
    *(undefined4 *)(puVar15 + -0x10) = 0xe;
    *(undefined4 *)(puVar15 + -0x14) = *(undefined4 *)(puVar15 + 0x24);
    puVar3 = puVar15 + 0x40;
    *(undefined1 **)(puVar15 + -0x18) = puVar3;
    *(undefined4 *)(puVar15 + -0x1c) = *(undefined4 *)(puVar15 + 0xa4);
    *(undefined4 *)(puVar15 + -0x20) = *(undefined4 *)(puVar15 + 0xa0);
    *(undefined4 *)(puVar15 + -0x24) = *(undefined4 *)(puVar15 + 0x9c);
    *(undefined4 *)(puVar15 + -0x28) = *(undefined4 *)(puVar15 + 0x98);
    *(undefined4 *)(puVar15 + -0x2c) = *(undefined4 *)(puVar15 + 0x94);
    *(undefined1 **)(puVar15 + -0x30) = puVar15 + 0x28;
    *(undefined **)(puVar15 + -0x34) = &UNK_00201ddc;
    FUN_00201020();
    *(undefined4 *)(puVar15 + 0x94) = *(undefined4 *)(puVar15 + 0x24);
    *(undefined4 *)(puVar15 + 0x98) = *(undefined4 *)(puVar15 + 0x28);
    *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0xc);
    *(undefined4 *)(puVar15 + -0x14) = *(undefined4 *)(puVar15 + 4);
    *(undefined **)(puVar15 + -0x18) = &UNK_00201e02;
    cVar6 = FUN_00200f70();
    puVar16 = puVar15 + -4;
    if ((cVar6 != '\0') ||
       (puVar16 = puVar15 + -4, *(int *)(puVar15 + 0x34) != 0 || *(int *)(puVar15 + 0x3c) != 0))
    break;
    *(undefined **)(puVar15 + -8) = &UNK_00201e2b;
    uVar12 = FUN_001f91d0();
    iVar1 = piVar10[7];
    *(undefined4 *)(puVar15 + 0x1c) = uVar12;
    if ((char)iVar1 == '\0') {
      *(undefined **)(puVar15 + -8) = &UNK_002023c1;
      cVar6 = FUN_001f9220();
    }
    else {
      cVar6 = *(char *)((int)piVar10 + 0x4a);
    }
    if (puVar15[0x1c] != cVar6) {
      *(undefined **)(puVar15 + -8) = &UNK_00201e53;
      uVar12 = FUN_001f91d0();
      iVar1 = piVar10[7];
      *(undefined4 *)(puVar15 + 0x1c) = uVar12;
      if ((char)iVar1 == '\0') {
        *(undefined **)(puVar15 + -8) = &UNK_002023d2;
        cVar6 = FUN_001f9220();
      }
      else {
        cVar6 = (char)piVar10[0x12];
      }
      puVar16 = puVar15 + -4;
      if (puVar15[0x1c] != cVar6) break;
    }
    *(undefined1 **)(puVar15 + -8) = puVar2;
    *(undefined4 *)(puVar15 + -0xc) = *(undefined4 *)(puVar15 + 0xa4);
    *(undefined4 *)(puVar15 + -0x10) = 2;
    *(undefined4 *)(puVar15 + -0x14) = 0x17;
    *(undefined4 *)(puVar15 + -0x18) = 0;
    *(undefined1 **)(puVar15 + -0x1c) = puVar3;
    *(undefined4 *)(puVar15 + -0x20) = *(undefined4 *)(puVar15 + 0xa0);
    *(undefined4 *)(puVar15 + -0x24) = *(undefined4 *)(puVar15 + 0x9c);
    *(undefined4 *)(puVar15 + -0x28) = *(undefined4 *)(puVar15 + 0x98);
    *(undefined4 *)(puVar15 + -0x2c) = *(undefined4 *)(puVar15 + 0x94);
    *(undefined4 *)(puVar15 + -0x30) = *(undefined4 *)(puVar15 + 0x90);
    *(undefined4 *)(puVar15 + -0x34) = *(undefined4 *)(puVar15 + 0x10);
    *(undefined **)(puVar15 + -0x38) = &UNK_00201eaa;
    FUN_001fc0e0();
    *(undefined4 *)(puVar15 + 0x90) = *(undefined4 *)(puVar15 + 0x20);
    *(undefined4 *)(puVar15 + 0x94) = *(undefined4 *)(puVar15 + 0x24);
    *(undefined1 **)(puVar15 + -0xc) = puVar2;
    *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0xa0);
    *(undefined4 *)(puVar15 + -0x14) = 2;
    *(undefined4 *)(puVar15 + -0x18) = 0x3b;
    *(undefined4 *)(puVar15 + -0x1c) = 0;
    *(undefined1 **)(puVar15 + -0x20) = puVar3;
    *(undefined4 *)(puVar15 + -0x24) = *(undefined4 *)(puVar15 + 0x9c);
    *(undefined4 *)(puVar15 + -0x28) = *(undefined4 *)(puVar15 + 0x98);
    *(undefined4 *)(puVar15 + -0x2c) = *(undefined4 *)(puVar15 + 0x24);
    *(undefined4 *)(puVar15 + -0x30) = *(undefined4 *)(puVar15 + 0x20);
    *(undefined4 *)(puVar15 + -0x34) = *(undefined4 *)(puVar15 + 0x8c);
    puVar17 = puVar15 + -0x38;
    *(undefined4 *)(puVar15 + -0x38) = *(undefined4 *)(puVar15 + 0xc);
    *(undefined **)(puVar15 + -0x3c) = &UNK_00201ef2;
    FUN_001fc0e0();
    goto code_r0x00201b6c;
  case 0x61:
    iVar1 = *(int *)(*(int *)(puVar15 + 0x18) + 8);
    *(undefined4 *)(puVar15 + 0x40) = *(undefined4 *)(iVar1 + 0x48);
    *(undefined4 *)(puVar15 + 0x44) = *(undefined4 *)(iVar1 + 0x4c);
    *(undefined4 *)(puVar15 + 0x48) = *(undefined4 *)(iVar1 + 0x50);
    *(undefined4 *)(puVar15 + 0x4c) = *(undefined4 *)(iVar1 + 0x54);
    *(undefined4 *)(puVar15 + 0x50) = *(undefined4 *)(iVar1 + 0x58);
    *(undefined4 *)(puVar15 + 0x54) = *(undefined4 *)(iVar1 + 0x5c);
    uVar12 = *(undefined4 *)(iVar1 + 0x60);
code_r0x00201f34:
    *(undefined4 *)(puVar15 + 0x58) = uVar12;
    *(undefined1 **)(puVar15 + -8) = puVar15 + 0x38;
    *(undefined4 *)(puVar15 + -0xc) = *(undefined4 *)(puVar15 + 0xa8);
    *(undefined4 *)(puVar15 + -0x10) = 7;
    *(undefined1 **)(puVar15 + -0x14) = puVar15 + 0x40;
    *(undefined1 **)(puVar15 + -0x18) = puVar15 + 0x3c;
    *(undefined4 *)(puVar15 + -0x1c) = *(undefined4 *)(puVar15 + 0xa4);
    *(undefined4 *)(puVar15 + -0x20) = *(undefined4 *)(puVar15 + 0xa0);
    *(undefined4 *)(puVar15 + -0x24) = *(undefined4 *)(puVar15 + 0x9c);
    *(undefined4 *)(puVar15 + -0x28) = *(undefined4 *)(puVar15 + 0x98);
    *(undefined4 *)(puVar15 + -0x2c) = *(undefined4 *)(puVar15 + 0x94);
    *(undefined1 **)(puVar15 + -0x30) = puVar15 + 0x28;
    *(undefined **)(puVar15 + -0x34) = &UNK_00201f80;
    FUN_00201020();
    *(undefined4 *)(puVar15 + 0x94) = *(undefined4 *)(puVar15 + 0x24);
    *(undefined4 *)(puVar15 + 0x98) = *(undefined4 *)(puVar15 + 0x28);
    puVar16 = puVar15 + -4;
    if (*(int *)(puVar15 + 0x34) == 0) {
      *(undefined4 *)(*(int *)(puVar15 + 0xac) + 0x18) = *(undefined4 *)(puVar15 + 0x38);
      puVar16 = puVar15 + -4;
    }
    break;
  case 0x62:
  case 0x68:
    *(undefined1 **)(puVar15 + -0xc) = puVar15 + 0x40;
    *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0x18);
    *(undefined **)(puVar15 + -0x14) = &UNK_00202171;
    FUN_001fb0c0();
code_r0x00201fd1:
    *(undefined1 **)(puVar15 + -8) = puVar15 + 0x38;
    *(undefined4 *)(puVar15 + -0xc) = *(undefined4 *)(puVar15 + 0xa8);
    *(undefined4 *)(puVar15 + -0x10) = 0xc;
    *(undefined1 **)(puVar15 + -0x14) = puVar15 + 0x40;
    *(undefined1 **)(puVar15 + -0x18) = puVar15 + 0x3c;
    *(undefined4 *)(puVar15 + -0x1c) = *(undefined4 *)(puVar15 + 0xa4);
    *(undefined4 *)(puVar15 + -0x20) = *(undefined4 *)(puVar15 + 0xa0);
    *(undefined4 *)(puVar15 + -0x24) = *(undefined4 *)(puVar15 + 0x9c);
    *(undefined4 *)(puVar15 + -0x28) = *(undefined4 *)(puVar15 + 0x98);
    *(undefined4 *)(puVar15 + -0x2c) = *(undefined4 *)(puVar15 + 0x94);
    *(undefined1 **)(puVar15 + -0x30) = puVar15 + 0x28;
    *(undefined **)(puVar15 + -0x34) = &UNK_00202015;
    FUN_00201020();
    *(undefined4 *)(puVar15 + 0x94) = *(undefined4 *)(puVar15 + 0x24);
    *(undefined4 *)(puVar15 + 0x98) = *(undefined4 *)(puVar15 + 0x28);
    puVar16 = puVar15 + -4;
    if (*(int *)(puVar15 + 0x34) == 0) {
      *(undefined4 *)(*(int *)(puVar15 + 0xac) + 0x10) = *(undefined4 *)(puVar15 + 0x38);
      puVar16 = puVar15 + -4;
    }
    break;
  case 99:
    *(undefined4 *)(puVar15 + -0xc) = *(undefined4 *)(*(int *)(*(int *)(puVar15 + 0x18) + 8) + 0x18)
    ;
    goto code_r0x00201b30;
  case 100:
    *(undefined1 **)(puVar15 + -4) = puVar15 + 0x38;
    *(undefined4 *)(puVar15 + -8) = *(undefined4 *)(puVar15 + 0xa8);
    *(undefined4 *)(puVar15 + -0xc) = 2;
    *(undefined4 *)(puVar15 + -0x10) = 0x1f;
    *(undefined4 *)(puVar15 + -0x14) = 1;
    goto code_r0x002021b6;
  case 0x65:
    *(undefined **)(puVar15 + -4) = &UNK_00202230;
    uVar18 = FUN_001f91d0();
    if ((*(byte *)(piVar10[6] + 1 + (uVar18 & 0xff) * 2) & 0x20) == 0) {
      *(undefined1 **)(puVar15 + -4) = puVar15 + 0x38;
      *(undefined4 *)(puVar15 + -8) = *(undefined4 *)(puVar15 + 0xa8);
      *(undefined4 *)(puVar15 + -0xc) = 2;
      *(undefined4 *)(puVar15 + -0x10) = 0x1f;
      *(undefined4 *)(puVar15 + -0x14) = 10;
    }
    else {
      *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0x98);
      *(undefined **)(puVar15 + -0x14) = &UNK_00202250;
      FUN_001f24d0();
      *(undefined4 *)(puVar15 + 0x9c) = 0xffffffff;
      *(undefined1 **)(puVar15 + -4) = puVar15 + 0x38;
      *(undefined4 *)(puVar15 + -8) = *(undefined4 *)(puVar15 + 0xa8);
      *(undefined4 *)(puVar15 + -0xc) = 1;
      *(undefined4 *)(puVar15 + -0x10) = 9;
      *(undefined4 *)(puVar15 + -0x14) = 1;
    }
code_r0x002021b6:
    *(undefined1 **)(puVar15 + -0x18) = puVar15 + 0x3c;
    *(undefined4 *)(puVar15 + -0x1c) = *(undefined4 *)(puVar15 + 0xa4);
    *(undefined4 *)(puVar15 + -0x20) = *(undefined4 *)(puVar15 + 0xa0);
    *(undefined4 *)(puVar15 + -0x24) = *(undefined4 *)(puVar15 + 0x9c);
    *(undefined4 *)(puVar15 + -0x28) = *(undefined4 *)(puVar15 + 0x98);
    *(undefined4 *)(puVar15 + -0x2c) = *(undefined4 *)(puVar15 + 0x94);
    *(undefined1 **)(puVar15 + -0x30) = puVar15 + 0x28;
    *(undefined **)(puVar15 + -0x34) = &UNK_002021e4;
    FUN_001fc0e0();
    *(undefined4 *)(puVar15 + 0x94) = *(undefined4 *)(puVar15 + 0x24);
    *(undefined4 *)(puVar15 + 0x98) = *(undefined4 *)(puVar15 + 0x28);
    puVar16 = puVar15 + -4;
    if (*(int *)(puVar15 + 0x34) == 0) {
      *(undefined4 *)(*(int *)(puVar15 + 0xac) + 0xc) = *(undefined4 *)(puVar15 + 0x38);
      puVar16 = puVar15 + -4;
    }
    break;
  case 0x6d:
    *(undefined1 **)(puVar15 + -4) = puVar15 + 0x38;
    *(undefined4 *)(puVar15 + -8) = *(undefined4 *)(puVar15 + 0xa8);
    *(undefined4 *)(puVar15 + -0xc) = 2;
    *(undefined4 *)(puVar15 + -0x10) = 0xc;
    *(undefined4 *)(puVar15 + -0x14) = 1;
    *(undefined1 **)(puVar15 + -0x18) = puVar15 + 0x3c;
    *(undefined4 *)(puVar15 + -0x1c) = *(undefined4 *)(puVar15 + 0xa4);
    *(undefined4 *)(puVar15 + -0x20) = *(undefined4 *)(puVar15 + 0xa0);
    *(undefined4 *)(puVar15 + -0x24) = *(undefined4 *)(puVar15 + 0x9c);
    *(undefined4 *)(puVar15 + -0x28) = *(undefined4 *)(puVar15 + 0x98);
    *(undefined4 *)(puVar15 + -0x2c) = *(undefined4 *)(puVar15 + 0x94);
    *(undefined1 **)(puVar15 + -0x30) = puVar15 + 0x28;
    *(undefined **)(puVar15 + -0x34) = &UNK_002022c4;
    FUN_001fc0e0();
    *(undefined4 *)(puVar15 + 0x94) = *(undefined4 *)(puVar15 + 0x24);
    *(undefined4 *)(puVar15 + 0x98) = *(undefined4 *)(puVar15 + 0x28);
    puVar16 = puVar15 + -4;
    if (*(int *)(puVar15 + 0x34) == 0) {
      *(int *)(*(int *)(puVar15 + 0xac) + 0x10) = *(int *)(puVar15 + 0x38) + -1;
      puVar16 = puVar15 + -4;
    }
    break;
  case 0x6e:
    *(undefined **)(puVar15 + -4) = &UNK_00202310;
    bVar9 = FUN_001f91d0();
    bVar8 = *(byte *)((int)piVar10 + bVar9 + 0x11d);
    if (bVar8 == 0) {
      pcVar4 = *(code **)(*piVar10 + 0x20);
      bVar8 = bVar9;
      if (pcVar4 != (code *)PTR_FUN_0038ed98) {
        *(undefined4 *)(puVar15 + -8) = 0;
        *(int *)(puVar15 + -0xc) = (int)(char)bVar9;
        *(int **)(puVar15 + -0x10) = piVar10;
        *(undefined **)(puVar15 + -0x14) = &UNK_002023ab;
        bVar8 = (*pcVar4)();
      }
      if (bVar8 == 0) goto LAB_00201ab8;
      *(byte *)((int)piVar10 + bVar9 + 0x11d) = bVar8;
    }
    if (bVar8 != 10) goto LAB_00201ab8;
code_r0x00202346:
    *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0x98);
    *(undefined **)(puVar15 + -0x14) = &UNK_00202355;
    FUN_001f24d0();
    *(undefined4 *)(puVar15 + 0x9c) = 0xffffffff;
    break;
  case 0x74:
    *(undefined **)(puVar15 + -4) = &UNK_00201a70;
    bVar9 = FUN_001f91d0();
    bVar8 = *(byte *)((int)piVar10 + bVar9 + 0x11d);
    if (bVar8 == 0) {
      pcVar4 = *(code **)(*piVar10 + 0x20);
      bVar8 = bVar9;
      if (pcVar4 != *(code **)(puVar15 + 0x1c)) {
        *(undefined4 *)(puVar15 + -8) = 0;
        *(int *)(puVar15 + -0xc) = (int)(char)bVar9;
        *(int **)(puVar15 + -0x10) = piVar10;
        *(undefined **)(puVar15 + -0x14) = &UNK_00201a98;
        bVar8 = (*pcVar4)();
      }
      if (bVar8 == 0) goto LAB_00201ab8;
      *(byte *)((int)piVar10 + bVar9 + 0x11d) = bVar8;
    }
    if (bVar8 == 9) goto code_r0x00202346;
    goto LAB_00201ab8;
  case 0x78:
    *(undefined4 *)(puVar15 + -0xc) = *(undefined4 *)(*(int *)(*(int *)(puVar15 + 0x18) + 8) + 8);
code_r0x00201b30:
    *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0xb0);
    *(undefined1 **)(puVar15 + -0x14) = puVar15 + 0x38;
    *(undefined4 *)(puVar15 + -0x18) = *(undefined4 *)(puVar15 + 0xa8);
    *(undefined4 *)(puVar15 + -0x1c) = *(undefined4 *)(puVar15 + 0xa4);
    *(undefined4 *)(puVar15 + -0x20) = *(undefined4 *)(puVar15 + 0xa0);
    *(undefined4 *)(puVar15 + -0x24) = *(undefined4 *)(puVar15 + 0x9c);
    *(undefined4 *)(puVar15 + -0x28) = *(undefined4 *)(puVar15 + 0x98);
    *(undefined4 *)(puVar15 + -0x2c) = *(undefined4 *)(puVar15 + 0x94);
    puVar17 = puVar15 + -0x30;
    *(undefined1 **)(puVar15 + -0x30) = puVar15 + 0x28;
    *(undefined **)(puVar15 + -0x34) = &UNK_00201b6c;
    FUN_00201820();
code_r0x00201b6c:
    *(undefined4 *)(puVar17 + 0xc4) = *(undefined4 *)(puVar17 + 0x54);
    *(undefined4 *)(puVar17 + 200) = *(undefined4 *)(puVar17 + 0x58);
    puVar16 = puVar17 + 0x2c;
  }
code_r0x00201ac0:
  uVar18 = *(int *)(puVar16 + 4) + 1;
  puVar15 = puVar16;
  goto LAB_0020189b;
LAB_00201ab8:
  *(uint *)(puVar15 + 0x38) = *(uint *)(puVar15 + 0x38) | 4;
  goto code_r0x00201ac0;
}


PUSH EBP
PUSH EDI
XOR EDI,EDI
PUSH ESI
PUSH EBX
CALL 0x00035840
ADD EBX,0x18d7d5
SUB ESP,0x88
MOV EAX,dword ptr [ESP + 0xb4]
LEA ESI,[EAX + 0x6c]
PUSH ESI
CALL 0x001fd780
MOV dword ptr [ESP],ESI
MOV dword ptr [ESP + 0x28],EAX
CALL 0x001fbde0
POP ECX
PUSH dword ptr [ESP + 0xc0]
MOV ESI,EAX
CALL 0x000295f0
ADD ESP,0x10
MOV dword ptr [ESP + 0xc],EAX
LEA EAX,[ESP + 0xa0]
MOV dword ptr [ESP + 0x10],EAX
LEA EAX,[ESP + 0x98]
MOV dword ptr [ESP + 0x8],EAX
LEA EAX,[EBX + 0x400]
MOV dword ptr [ESP + 0x38],0x0
MOV dword ptr [ESP + 0x24],EAX
LEA EAX,[EBX + 0xffe691a0]
MOV dword ptr [ESP + 0x1c],EAX
SUB ESP,0x8
PUSH dword ptr [ESP + 0x18]
PUSH dword ptr [ESP + 0x14]
CALL 0x00200f70
ADD ESP,0x10
CMP AL,0x1
JZ 0x00201a00
CMP EDI,dword ptr [ESP + 0xc]
JNC 0x00201a00
MOV EDX,dword ptr [ESP + 0x38]
TEST EDX,EDX
JNZ 0x00201a0e
MOV EBP,dword ptr [ESP + 0xb4]
ADD EBP,EDI
MOVZX EDX,byte ptr [EBP]
MOV dword ptr [ESP + 0x14],EBP
LEA EBP,[EDI + 0x1]
MOV dword ptr [ESP + 0x4],EBP
MOVZX ECX,byte ptr [ESI + EDX*0x1 + 0x11d]
MOV EAX,EDX
TEST CL,CL
JNZ 0x00201910
MOV ECX,dword ptr [ESI]
MOV ECX,dword ptr [ECX + 0x20]
CMP ECX,dword ptr [EBX + 0xfffffd98]
JNZ 0x00201a40
TEST AL,AL
JZ 0x00201980
MOV byte ptr [ESI + EDX*0x1 + 0x11d],AL
MOV ECX,EAX
CMP CL,0x25
JNZ 0x00201980
MOV EAX,dword ptr [ESP + 0xb4]
MOVZX EBP,byte ptr [EAX + EDI*0x1 + 0x1]
MOVZX EDX,byte ptr [ESI + EBP*0x1 + 0x11d]
MOV EAX,EBP
TEST DL,DL
JNZ 0x00201951
MOV EDX,dword ptr [ESI]
MOV EDX,dword ptr [EDX + 0x20]
CMP EDX,dword ptr [EBX + 0xfffffd98]
JNZ 0x00201b00
TEST AL,AL
JZ 0x00201ab8
MOV byte ptr [ESI + EBP*0x1 + 0x11d],AL
MOV EDX,EAX
MOV dword ptr [ESP + 0x3c],0x0
CMP DL,0x45
JZ 0x002019b0
CMP DL,0x4f
JZ 0x002019b0
SUB EDX,0x41
CMP DL,0x38
JA 0x00201ab8
MOVZX EDX,DL
MOV EAX,dword ptr [EBX + EDX*0x4 + 0xfff14ef8]
ADD EAX,EBX
JMP EAX
MOV EAX,dword ptr [ESP + 0x14]
MOV EDX,dword ptr [ESP + 0x9c]
MOVZX EDI,byte ptr [EAX]
MOV EAX,dword ptr [ESP + 0x8]
CALL 0x001f91d0
MOV ECX,EDI
CMP CL,AL
JZ 0x00201ad0
OR dword ptr [ESP + 0x38],0x4
MOV EDI,dword ptr [ESP + 0x4]
JMP 0x0020189b
LEA EAX,[EDI + 0x2]
MOV dword ptr [ESP + 0x4],EAX
MOV EAX,dword ptr [ESP + 0xb4]
MOVZX EDI,byte ptr [EAX + EDI*0x1 + 0x2]
MOVZX EDX,byte ptr [ESI + EDI*0x1 + 0x11d]
MOV EAX,EDI
TEST DL,DL
JNZ 0x00201963
MOV EDX,dword ptr [ESI]
MOV EDX,dword ptr [EDX + 0x20]
CMP EDX,dword ptr [EBX + 0xfffffd98]
JNZ 0x00202370
TEST AL,AL
JZ 0x00201ab8
MOV byte ptr [ESI + EDI*0x1 + 0x11d],AL
MOV EDX,EAX
JMP 0x00201963
MOV EAX,dword ptr [ESP + 0x38]
TEST EAX,EAX
JNZ 0x00201a0e
CMP EDI,dword ptr [ESP + 0xc]
JZ 0x00201a18
MOV EAX,dword ptr [ESP + 0xac]
OR dword ptr [EAX],0x4
MOV ESI,dword ptr [ESP + 0x90]
MOV EAX,dword ptr [ESP + 0x98]
MOV EDX,dword ptr [ESP + 0x9c]
MOV dword ptr [ESI],EAX
MOV EAX,ESI
MOV dword ptr [ESI + 0x4],EDX
ADD ESP,0x7c
POP EBX
POP ESI
POP EDI
POP EBP
RET 0x4
MOV dword ptr [ESP + 0x20],EDX
MOVSX EAX,DL
SUB ESP,0x4
PUSH 0x0
PUSH EAX
PUSH ESI
CALL ECX
MOV EDX,dword ptr [ESP + 0x30]
ADD ESP,0x10
JMP 0x00201903
OR dword ptr [ESP + 0x38],0x4
LEA ESI,[ESI]
MOV EDI,dword ptr [ESP + 0x4]
ADD EDI,0x1
JMP 0x0020189b
SUB ESP,0xc
PUSH dword ptr [ESP + 0xa4]
CALL 0x001f24d0
MOV dword ptr [ESP + 0xac],0xffffffff
ADD ESP,0x10
MOV EDI,dword ptr [ESP + 0x4]
JMP 0x0020189b
SUB ESP,0x4
MOVSX EAX,AL
PUSH 0x0
PUSH EAX
PUSH ESI
CALL EDX
ADD ESP,0x10
JMP 0x00201940
SUB ESP,0x4
MOVSX EAX,AL
PUSH 0x0
PUSH EAX
PUSH ESI
CALL EDX
ADD ESP,0x10
JMP 0x002019e2
(translation_unit "/* WARNING: Function: __i686.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n\nundefined4 * FUN_00201820(void)\n\n{\n  int iVar1;\n  undefined1 *puVar2;\n  undefined1 *puVar3;\n  code *pcVar4;\n  undefined4 *puVar5;\n  char cVar6;\n  char cVar7;\n  byte bVar8;\n  byte bVar9;\n  int *piVar10;\n  char *pcVar11;\n  undefined4 uVar12;\n  int iVar13;\n  uint uVar14;\n  undefined1 *puVar15;\n  undefined1 *puVar16;\n  undefined1 *puVar17;\n  uint uVar18;\n  int in_stack_0000001c;\n  char *in_stack_00000028;\n  undefined1 auStack_8c [8];\n  undefined1 *local_84;\n  size_t local_80;\n  undefined1 *local_7c;\n  undefined4 local_74;\n  code *local_70;\n  undefined **local_68;\n  undefined4 local_54;\n  undefined4 uStack_14;\n  \n  uVar18 = 0;\n  uStack_14 = 0x20182b;\n  iVar1 = in_stack_0000001c + 0x6c;\n  local_74 = FUN_001fd780(iVar1);\n  piVar10 = (int *)FUN_001fbde0(iVar1);\n  local_80 = strlen(in_stack_00000028);\n  local_7c = &stack0x00000014;\n  local_84 = &stack0x0000000c;\n  local_54 = 0;\n  local_68 = &PTR_DAT_0038f400;\n  local_70 = FUN_001f81a0;\n  puVar15 = auStack_8c;\nLAB_0020189b:\n  *(undefined4 *)(puVar15 + -0xc) = *(undefined4 *)(puVar15 + 0x10);\n  *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 8);\n  *(undefined4 *)(puVar15 + -0x14) = 0x2018ab;\n  cVar6 = FUN_00200f70();\n  if ((cVar6 == '\x01') || (*(uint *)(puVar15 + 0xc) <= uVar18)) {\n    if ((*(int *)(puVar15 + 0x38) != 0) || (uVar18 != *(uint *)(puVar15 + 0xc))) {\nLAB_00201a0e:\n      **(uint **)(puVar15 + 0xac) = **(uint **)(puVar15 + 0xac) | 4;\n    }\n    puVar5 = *(undefined4 **)(puVar15 + 0x90);\n    uVar12 = *(undefined4 *)(puVar15 + 0x9c);\n    *puVar5 = *(undefined4 *)(puVar15 + 0x98);\n    puVar5[1] = uVar12;\n    return puVar5;\n  }\n  if (*(int *)(puVar15 + 0x38) != 0) goto LAB_00201a0e;\n  bVar8 = *(byte *)(*(int *)(puVar15 + 0xb4) + uVar18);\n  uVar14 = (uint)bVar8;\n  *(byte **)(puVar15 + 0x14) = (byte *)(*(int *)(puVar15 + 0xb4) + uVar18);\n  *(uint *)(puVar15 + 4) = uVar18 + 1;\n  bVar9 = *(byte *)((int)piVar10 + uVar14 + 0x11d);\n  if (bVar9 == 0) {\n    pcVar4 = *(code **)(*piVar10 + 0x20);\n    bVar9 = bVar8;\n    if (pcVar4 != (code *)PTR_FUN_0038ed98) {\n      *(uint *)(puVar15 + 0x20) = uVar14;\n      *(undefined4 *)(puVar15 + -8) = 0;\n      *(int *)(puVar15 + -0xc) = (int)(char)bVar8;\n      *(int **)(puVar15 + -0x10) = piVar10;\n      *(undefined4 *)(puVar15 + -0x14) = 0x201a50;\n      bVar9 = (*pcVar4)();\n      uVar14 = *(uint *)(puVar15 + 0x20);\n    }\n    if (bVar9 != 0) {\n      *(byte *)((int)piVar10 + uVar14 + 0x11d) = bVar9;\n      goto LAB_00201910;\n    }\nLAB_00201980:\n    cVar6 = **(char **)(puVar15 + 0x14);\n    *(undefined4 *)(puVar15 + -4) = 0x201997;\n    cVar7 = FUN_001f91d0();\n    if (cVar6 == cVar7) {\n      *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0x98);\n      *(undefined4 *)(puVar15 + -0x14) = 0x201adf;\n      FUN_001f24d0();\n      *(undefined4 *)(puVar15 + 0x9c) = 0xffffffff;\n      uVar18 = *(uint *)(puVar15 + 4);\n    }\n    else {\n      *(uint *)(puVar15 + 0x38) = *(uint *)(puVar15 + 0x38) | 4;\n      uVar18 = *(uint *)(puVar15 + 4);\n    }\n    goto LAB_0020189b;\n  }\nLAB_00201910:\n  if (bVar9 != 0x25) goto LAB_00201980;\n  bVar8 = *(byte *)(*(int *)(puVar15 + 0xb4) + 1 + uVar18);\n  bVar9 = *(byte *)((int)piVar10 + bVar8 + 0x11d);\n  puVar16 = puVar15;\n  if (bVar9 == 0) {\n    pcVar4 = *(code **)(*piVar10 + 0x20);\n    bVar9 = bVar8;\n    if (pcVar4 != (code *)PTR_FUN_0038ed98) {\n      *(undefined4 *)(puVar15 + -8) = 0;\n      *(int *)(puVar15 + -0xc) = (int)(char)bVar8;\n      *(int **)(puVar15 + -0x10) = piVar10;\n      *(undefined4 *)(puVar15 + -0x14) = 0x201b0c;\n      bVar9 = (*pcVar4)();\n    }\n    if (bVar9 != 0) {\n      *(byte *)((int)piVar10 + bVar8 + 0x11d) = bVar9;\n      goto LAB_00201951;\n    }\n    goto LAB_00201ab8;\n  }\nLAB_00201951:\n  *(undefined4 *)(puVar15 + 0x3c) = 0;\n  if ((bVar9 == 0x45) || (bVar9 == 0x4f)) {\n    *(uint *)(puVar15 + 4) = uVar18 + 2;\n    bVar8 = *(byte *)(*(int *)(puVar15 + 0xb4) + 2 + uVar18);\n    bVar9 = *(byte *)((int)piVar10 + bVar8 + 0x11d);\n    if (bVar9 == 0) {\n      pcVar4 = *(code **)(*piVar10 + 0x20);\n      bVar9 = bVar8;\n      if (pcVar4 != (code *)PTR_FUN_0038ed98) {\n        *(undefined4 *)(puVar15 + -8) = 0;\n        *(int *)(puVar15 + -0xc) = (int)(char)bVar8;\n        *(int **)(puVar15 + -0x10) = piVar10;\n        *(undefined4 *)(puVar15 + -0x14) = 0x20237c;\n        bVar9 = (*pcVar4)();\n      }\n      if (bVar9 == 0) goto LAB_00201ab8;\n      *(byte *)((int)piVar10 + bVar8 + 0x11d) = bVar9;\n    }\n  }\n  switch(bVar9) {\n  case 0x41:\n    iVar1 = *(int *)(*(int *)(puVar15 + 0x18) + 8);\n    *(undefined4 *)(puVar15 + 0x40) = *(undefined4 *)(iVar1 + 0x2c);\n    *(undefined4 *)(puVar15 + 0x44) = *(undefined4 *)(iVar1 + 0x30);\n    *(undefined4 *)(puVar15 + 0x48) = *(undefined4 *)(iVar1 + 0x34);\n    *(undefined4 *)(puVar15 + 0x4c) = *(undefined4 *)(iVar1 + 0x38);\n    *(undefined4 *)(puVar15 + 0x50) = *(undefined4 *)(iVar1 + 0x3c);\n    *(undefined4 *)(puVar15 + 0x54) = *(undefined4 *)(iVar1 + 0x40);\n    uVar12 = *(undefined4 *)(iVar1 + 0x44);\n    goto code_r0x00201f34;\n  case 0x42:\n    *(undefined1 **)(puVar15 + -0xc) = puVar15 + 0x40;\n    *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0x18);\n    *(undefined **)(puVar15 + -0x14) = &UNK_00201fd1;\n    FUN_001fb050();\n    goto code_r0x00201fd1;\n  case 0x43:\n  case 0x59:\n  case 0x79:\n    *(undefined1 **)(puVar15 + -4) = puVar15 + 0x38;\n    *(undefined4 *)(puVar15 + -8) = *(undefined4 *)(puVar15 + 0xa8);\n    *(undefined4 *)(puVar15 + -0xc) = 4;\n    *(undefined4 *)(puVar15 + -0x10) = 9999;\n    *(undefined4 *)(puVar15 + -0x14) = 0;\n    *(undefined1 **)(puVar15 + -0x18) = puVar15 + 0x3c;\n    *(undefined4 *)(puVar15 + -0x1c) = *(undefined4 *)(puVar15 + 0xa4);\n    *(undefined4 *)(puVar15 + -0x20) = *(undefined4 *)(puVar15 + 0xa0);\n    *(undefined4 *)(puVar15 + -0x24) = *(undefined4 *)(puVar15 + 0x9c);\n    *(undefined4 *)(puVar15 + -0x28) = *(undefined4 *)(puVar15 + 0x98);\n    *(undefined4 *)(puVar15 + -0x2c) = *(undefined4 *)(puVar15 + 0x94);\n    *(undefined1 **)(puVar15 + -0x30) = puVar15 + 0x28;\n    *(undefined **)(puVar15 + -0x34) = &UNK_00202097;\n    FUN_001fc0e0();\n    *(undefined4 *)(puVar15 + 0x94) = *(undefined4 *)(puVar15 + 0x24);\n    *(undefined4 *)(puVar15 + 0x98) = *(undefined4 *)(puVar15 + 0x28);\n    puVar16 = puVar15 + -4;\n    if (*(int *)(puVar15 + 0x34) == 0) {\n      iVar1 = *(int *)(puVar15 + 0x38);\n      iVar13 = iVar1 + -0x76c;\n      if (iVar1 < 0) {\n        iVar13 = iVar1 + 100;\n      }\n      *(int *)(*(int *)(puVar15 + 0xac) + 0x14) = iVar13;\n      puVar16 = puVar15 + -4;\n    }\n    break;\n  case 0x44:\n    *(undefined1 **)(puVar15 + -4) = puVar15 + 0x40;\n    *(undefined **)(puVar15 + -8) = &UNK_002a3ee7;\n    pcVar11 = "%m/%d/%y";\n    goto code_r0x00201ca2;\n  default:\n    goto LAB_00201ab8;\n  case 0x48:\n    *(undefined1 **)(puVar15 + -4) = puVar15 + 0x38;\n    *(undefined4 *)(puVar15 + -8) = *(undefined4 *)(puVar15 + 0xa8);\n    *(undefined4 *)(puVar15 + -0xc) = 2;\n    *(undefined4 *)(puVar15 + -0x10) = 0x17;\n    *(undefined4 *)(puVar15 + -0x14) = 0;\n    goto code_r0x00201ba6;\n  case 0x49:\n    *(undefined1 **)(puVar15 + -4) = puVar15 + 0x38;\n    *(undefined4 *)(puVar15 + -8) = *(undefined4 *)(puVar15 + 0xa8);\n    *(undefined4 *)(puVar15 + -0xc) = 2;\n    *(undefined4 *)(puVar15 + -0x10) = 0xc;\n    *(undefined4 *)(puVar15 + -0x14) = 1;\ncode_r0x00201ba6:\n    *(undefined1 **)(puVar15 + -0x18) = puVar15 + 0x3c;\n    *(undefined4 *)(puVar15 + -0x1c) = *(undefined4 *)(puVar15 + 0xa4);\n    *(undefined4 *)(puVar15 + -0x20) = *(undefined4 *)(puVar15 + 0xa0);\n    *(undefined4 *)(puVar15 + -0x24) = *(undefined4 *)(puVar15 + 0x9c);\n    *(undefined4 *)(puVar15 + -0x28) = *(undefined4 *)(puVar15 + 0x98);\n    *(undefined4 *)(puVar15 + -0x2c) = *(undefined4 *)(puVar15 + 0x94);\n    *(undefined1 **)(puVar15 + -0x30) = puVar15 + 0x28;\n    *(undefined **)(puVar15 + -0x34) = &UNK_00201bd4;\n    FUN_001fc0e0();\n    *(undefined4 *)(puVar15 + 0x94) = *(undefined4 *)(puVar15 + 0x24);\n    *(undefined4 *)(puVar15 + 0x98) = *(undefined4 *)(puVar15 + 0x28);\n    puVar16 = puVar15 + -4;\n    if (*(int *)(puVar15 + 0x34) == 0) {\n      *(undefined4 *)(*(int *)(puVar15 + 0xac) + 8) = *(undefined4 *)(puVar15 + 0x38);\n      puVar16 = puVar15 + -4;\n    }\n    break;\n  case 0x4d:\n    *(undefined1 **)(puVar15 + -4) = puVar15 + 0x38;\n    *(undefined4 *)(puVar15 + -8) = *(undefined4 *)(puVar15 + 0xa8);\n    *(undefined4 *)(puVar15 + -0xc) = 2;\n    *(undefined4 *)(puVar15 + -0x10) = 0x3b;\n    *(undefined4 *)(puVar15 + -0x14) = 0;\n    *(undefined1 **)(puVar15 + -0x18) = puVar15 + 0x3c;\n    *(undefined4 *)(puVar15 + -0x1c) = *(undefined4 *)(puVar15 + 0xa4);\n    *(undefined4 *)(puVar15 + -0x20) = *(undefined4 *)(puVar15 + 0xa0);\n    *(undefined4 *)(puVar15 + -0x24) = *(undefined4 *)(puVar15 + 0x9c);\n    *(undefined4 *)(puVar15 + -0x28) = *(undefined4 *)(puVar15 + 0x98);\n    *(undefined4 *)(puVar15 + -0x2c) = *(undefined4 *)(puVar15 + 0x94);\n    *(undefined1 **)(puVar15 + -0x30) = puVar15 + 0x28;\n    *(undefined **)(puVar15 + -0x34) = &UNK_00201c54;\n    FUN_001fc0e0();\n    *(undefined4 *)(puVar15 + 0x94) = *(undefined4 *)(puVar15 + 0x24);\n    *(undefined4 *)(puVar15 + 0x98) = *(undefined4 *)(puVar15 + 0x28);\n    puVar16 = puVar15 + -4;\n    if (*(int *)(puVar15 + 0x34) == 0) {\n      *(undefined4 *)(*(int *)(puVar15 + 0xac) + 4) = *(undefined4 *)(puVar15 + 0x38);\n      puVar16 = puVar15 + -4;\n    }\n    break;\n  case 0x52:\n    *(undefined1 **)(puVar15 + -4) = puVar15 + 0x40;\n    *(char **)(puVar15 + -8) = "%H:%M:%S";\n    pcVar11 = "%H:%M";\n    goto code_r0x00201ca2;\n  case 0x53:\n    *(undefined1 **)(puVar15 + -4) = puVar15 + 0x38;\n    *(undefined4 *)(puVar15 + -8) = *(undefined4 *)(puVar15 + 0xa8);\n    *(undefined4 *)(puVar15 + -0xc) = 2;\n    *(undefined4 *)(puVar15 + -0x10) = 0x3c;\n    *(undefined4 *)(puVar15 + -0x14) = 0;\n    *(undefined1 **)(puVar15 + -0x18) = puVar15 + 0x3c;\n    *(undefined4 *)(puVar15 + -0x1c) = *(undefined4 *)(puVar15 + 0xa4);\n    *(undefined4 *)(puVar15 + -0x20) = *(undefined4 *)(puVar15 + 0xa0);\n    *(undefined4 *)(puVar15 + -0x24) = *(undefined4 *)(puVar15 + 0x9c);\n    *(undefined4 *)(puVar15 + -0x28) = *(undefined4 *)(puVar15 + 0x98);\n    *(undefined4 *)(puVar15 + -0x2c) = *(undefined4 *)(puVar15 + 0x94);\n    *(undefined1 **)(puVar15 + -0x30) = puVar15 + 0x28;\n    *(undefined **)(puVar15 + -0x34) = &UNK_00201cfc;\n    FUN_001fc0e0();\n    *(undefined4 *)(puVar15 + 0x94) = *(undefined4 *)(puVar15 + 0x24);\n    *(undefined4 *)(puVar15 + 0x98) = *(undefined4 *)(puVar15 + 0x28);\n    puVar16 = puVar15 + -4;\n    if (*(int *)(puVar15 + 0x34) == 0) {\n      **(undefined4 **)(puVar15 + 0xac) = *(undefined4 *)(puVar15 + 0x38);\n      puVar16 = puVar15 + -4;\n    }\n    break;\n  case 0x54:\n    *(undefined1 **)(puVar15 + -4) = puVar15 + 0x40;\n    *(undefined **)(puVar15 + -8) = &UNK_002a3ef6;\n    pcVar11 = "%H:%M:%S";\ncode_r0x00201ca2:\n    *(char **)(puVar15 + -0xc) = pcVar11;\n    *(int **)(puVar15 + -0x10) = piVar10;\n    *(undefined **)(puVar15 + -0x14) = &UNK_00201ca9;\n    FUN_001f94d0();\n    *(undefined1 **)(puVar15 + -0xc) = puVar15 + 0x40;\n    goto code_r0x00201b30;\n  case 0x58:\n    *(undefined4 *)(puVar15 + -0xc) = *(undefined4 *)(*(int *)(*(int *)(puVar15 + 0x18) + 8) + 0x10)\n    ;\n    goto code_r0x00201b30;\n  case 0x5a:\n    *(undefined **)(puVar15 + -4) = &UNK_00201d80;\n    uVar18 = FUN_001f91d0();\n    if ((*(byte *)(piVar10[6] + 1 + (uVar18 & 0xff) * 2) & 1) == 0) goto LAB_00201ab8;\n    *(undefined1 **)(puVar15 + 0x14) = puVar15 + 0x28;\n    puVar2 = puVar15 + 0x38;\n    *(undefined1 **)(puVar15 + -8) = puVar2;\n    *(undefined4 *)(puVar15 + -0xc) = *(undefined4 *)(puVar15 + 0xa8);\n    *(undefined4 *)(puVar15 + -0x10) = 0xe;\n    *(undefined4 *)(puVar15 + -0x14) = *(undefined4 *)(puVar15 + 0x24);\n    puVar3 = puVar15 + 0x40;\n    *(undefined1 **)(puVar15 + -0x18) = puVar3;\n    *(undefined4 *)(puVar15 + -0x1c) = *(undefined4 *)(puVar15 + 0xa4);\n    *(undefined4 *)(puVar15 + -0x20) = *(undefined4 *)(puVar15 + 0xa0);\n    *(undefined4 *)(puVar15 + -0x24) = *(undefined4 *)(puVar15 + 0x9c);\n    *(undefined4 *)(puVar15 + -0x28) = *(undefined4 *)(puVar15 + 0x98);\n    *(undefined4 *)(puVar15 + -0x2c) = *(undefined4 *)(puVar15 + 0x94);\n    *(undefined1 **)(puVar15 + -0x30) = puVar15 + 0x28;\n    *(undefined **)(puVar15 + -0x34) = &UNK_00201ddc;\n    FUN_00201020();\n    *(undefined4 *)(puVar15 + 0x94) = *(undefined4 *)(puVar15 + 0x24);\n    *(undefined4 *)(puVar15 + 0x98) = *(undefined4 *)(puVar15 + 0x28);\n    *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0xc);\n    *(undefined4 *)(puVar15 + -0x14) = *(undefined4 *)(puVar15 + 4);\n    *(undefined **)(puVar15 + -0x18) = &UNK_00201e02;\n    cVar6 = FUN_00200f70();\n    puVar16 = puVar15 + -4;\n    if ((cVar6 != '\0') ||\n       (puVar16 = puVar15 + -4, *(int *)(puVar15 + 0x34) != 0 || *(int *)(puVar15 + 0x3c) != 0))\n    break;\n    *(undefined **)(puVar15 + -8) = &UNK_00201e2b;\n    uVar12 = FUN_001f91d0();\n    iVar1 = piVar10[7];\n    *(undefined4 *)(puVar15 + 0x1c) = uVar12;\n    if ((char)iVar1 == '\0') {\n      *(undefined **)(puVar15 + -8) = &UNK_002023c1;\n      cVar6 = FUN_001f9220();\n    }\n    else {\n      cVar6 = *(char *)((int)piVar10 + 0x4a);\n    }\n    if (puVar15[0x1c] != cVar6) {\n      *(undefined **)(puVar15 + -8) = &UNK_00201e53;\n      uVar12 = FUN_001f91d0();\n      iVar1 = piVar10[7];\n      *(undefined4 *)(puVar15 + 0x1c) = uVar12;\n      if ((char)iVar1 == '\0') {\n        *(undefined **)(puVar15 + -8) = &UNK_002023d2;\n        cVar6 = FUN_001f9220();\n      }\n      else {\n        cVar6 = (char)piVar10[0x12];\n      }\n      puVar16 = puVar15 + -4;\n      if (puVar15[0x1c] != cVar6) break;\n    }\n    *(undefined1 **)(puVar15 + -8) = puVar2;\n    *(undefined4 *)(puVar15 + -0xc) = *(undefined4 *)(puVar15 + 0xa4);\n    *(undefined4 *)(puVar15 + -0x10) = 2;\n    *(undefined4 *)(puVar15 + -0x14) = 0x17;\n    *(undefined4 *)(puVar15 + -0x18) = 0;\n    *(undefined1 **)(puVar15 + -0x1c) = puVar3;\n    *(undefined4 *)(puVar15 + -0x20) = *(undefined4 *)(puVar15 + 0xa0);\n    *(undefined4 *)(puVar15 + -0x24) = *(undefined4 *)(puVar15 + 0x9c);\n    *(undefined4 *)(puVar15 + -0x28) = *(undefined4 *)(puVar15 + 0x98);\n    *(undefined4 *)(puVar15 + -0x2c) = *(undefined4 *)(puVar15 + 0x94);\n    *(undefined4 *)(puVar15 + -0x30) = *(undefined4 *)(puVar15 + 0x90);\n    *(undefined4 *)(puVar15 + -0x34) = *(undefined4 *)(puVar15 + 0x10);\n    *(undefined **)(puVar15 + -0x38) = &UNK_00201eaa;\n    FUN_001fc0e0();\n    *(undefined4 *)(puVar15 + 0x90) = *(undefined4 *)(puVar15 + 0x20);\n    *(undefined4 *)(puVar15 + 0x94) = *(undefined4 *)(puVar15 + 0x24);\n    *(undefined1 **)(puVar15 + -0xc) = puVar2;\n    *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0xa0);\n    *(undefined4 *)(puVar15 + -0x14) = 2;\n    *(undefined4 *)(puVar15 + -0x18) = 0x3b;\n    *(undefined4 *)(puVar15 + -0x1c) = 0;\n    *(undefined1 **)(puVar15 + -0x20) = puVar3;\n    *(undefined4 *)(puVar15 + -0x24) = *(undefined4 *)(puVar15 + 0x9c);\n    *(undefined4 *)(puVar15 + -0x28) = *(undefined4 *)(puVar15 + 0x98);\n    *(undefined4 *)(puVar15 + -0x2c) = *(undefined4 *)(puVar15 + 0x24);\n    *(undefined4 *)(puVar15 + -0x30) = *(undefined4 *)(puVar15 + 0x20);\n    *(undefined4 *)(puVar15 + -0x34) = *(undefined4 *)(puVar15 + 0x8c);\n    puVar17 = puVar15 + -0x38;\n    *(undefined4 *)(puVar15 + -0x38) = *(undefined4 *)(puVar15 + 0xc);\n    *(undefined **)(puVar15 + -0x3c) = &UNK_00201ef2;\n    FUN_001fc0e0();\n    goto code_r0x00201b6c;\n  case 0x61:\n    iVar1 = *(int *)(*(int *)(puVar15 + 0x18) + 8);\n    *(undefined4 *)(puVar15 + 0x40) = *(undefined4 *)(iVar1 + 0x48);\n    *(undefined4 *)(puVar15 + 0x44) = *(undefined4 *)(iVar1 + 0x4c);\n    *(undefined4 *)(puVar15 + 0x48) = *(undefined4 *)(iVar1 + 0x50);\n    *(undefined4 *)(puVar15 + 0x4c) = *(undefined4 *)(iVar1 + 0x54);\n    *(undefined4 *)(puVar15 + 0x50) = *(undefined4 *)(iVar1 + 0x58);\n    *(undefined4 *)(puVar15 + 0x54) = *(undefined4 *)(iVar1 + 0x5c);\n    uVar12 = *(undefined4 *)(iVar1 + 0x60);\ncode_r0x00201f34:\n    *(undefined4 *)(puVar15 + 0x58) = uVar12;\n    *(undefined1 **)(puVar15 + -8) = puVar15 + 0x38;\n    *(undefined4 *)(puVar15 + -0xc) = *(undefined4 *)(puVar15 + 0xa8);\n    *(undefined4 *)(puVar15 + -0x10) = 7;\n    *(undefined1 **)(puVar15 + -0x14) = puVar15 + 0x40;\n    *(undefined1 **)(puVar15 + -0x18) = puVar15 + 0x3c;\n    *(undefined4 *)(puVar15 + -0x1c) = *(undefined4 *)(puVar15 + 0xa4);\n    *(undefined4 *)(puVar15 + -0x20) = *(undefined4 *)(puVar15 + 0xa0);\n    *(undefined4 *)(puVar15 + -0x24) = *(undefined4 *)(puVar15 + 0x9c);\n    *(undefined4 *)(puVar15 + -0x28) = *(undefined4 *)(puVar15 + 0x98);\n    *(undefined4 *)(puVar15 + -0x2c) = *(undefined4 *)(puVar15 + 0x94);\n    *(undefined1 **)(puVar15 + -0x30) = puVar15 + 0x28;\n    *(undefined **)(puVar15 + -0x34) = &UNK_00201f80;\n    FUN_00201020();\n    *(undefined4 *)(puVar15 + 0x94) = *(undefined4 *)(puVar15 + 0x24);\n    *(undefined4 *)(puVar15 + 0x98) = *(undefined4 *)(puVar15 + 0x28);\n    puVar16 = puVar15 + -4;\n    if (*(int *)(puVar15 + 0x34) == 0) {\n      *(undefined4 *)(*(int *)(puVar15 + 0xac) + 0x18) = *(undefined4 *)(puVar15 + 0x38);\n      puVar16 = puVar15 + -4;\n    }\n    break;\n  case 0x62:\n  case 0x68:\n    *(undefined1 **)(puVar15 + -0xc) = puVar15 + 0x40;\n    *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0x18);\n    *(undefined **)(puVar15 + -0x14) = &UNK_00202171;\n    FUN_001fb0c0();\ncode_r0x00201fd1:\n    *(undefined1 **)(puVar15 + -8) = puVar15 + 0x38;\n    *(undefined4 *)(puVar15 + -0xc) = *(undefined4 *)(puVar15 + 0xa8);\n    *(undefined4 *)(puVar15 + -0x10) = 0xc;\n    *(undefined1 **)(puVar15 + -0x14) = puVar15 + 0x40;\n    *(undefined1 **)(puVar15 + -0x18) = puVar15 + 0x3c;\n    *(undefined4 *)(puVar15 + -0x1c) = *(undefined4 *)(puVar15 + 0xa4);\n    *(undefined4 *)(puVar15 + -0x20) = *(undefined4 *)(puVar15 + 0xa0);\n    *(undefined4 *)(puVar15 + -0x24) = *(undefined4 *)(puVar15 + 0x9c);\n    *(undefined4 *)(puVar15 + -0x28) = *(undefined4 *)(puVar15 + 0x98);\n    *(undefined4 *)(puVar15 + -0x2c) = *(undefined4 *)(puVar15 + 0x94);\n    *(undefined1 **)(puVar15 + -0x30) = puVar15 + 0x28;\n    *(undefined **)(puVar15 + -0x34) = &UNK_00202015;\n    FUN_00201020();\n    *(undefined4 *)(puVar15 + 0x94) = *(undefined4 *)(puVar15 + 0x24);\n    *(undefined4 *)(puVar15 + 0x98) = *(undefined4 *)(puVar15 + 0x28);\n    puVar16 = puVar15 + -4;\n    if (*(int *)(puVar15 + 0x34) == 0) {\n      *(undefined4 *)(*(int *)(puVar15 + 0xac) + 0x10) = *(undefined4 *)(puVar15 + 0x38);\n      puVar16 = puVar15 + -4;\n    }\n    break;\n  case 99:\n    *(undefined4 *)(puVar15 + -0xc) = *(undefined4 *)(*(int *)(*(int *)(puVar15 + 0x18) + 8) + 0x18)\n    ;\n    goto code_r0x00201b30;\n  case 100:\n    *(undefined1 **)(puVar15 + -4) = puVar15 + 0x38;\n    *(undefined4 *)(puVar15 + -8) = *(undefined4 *)(puVar15 + 0xa8);\n    *(undefined4 *)(puVar15 + -0xc) = 2;\n    *(undefined4 *)(puVar15 + -0x10) = 0x1f;\n    *(undefined4 *)(puVar15 + -0x14) = 1;\n    goto code_r0x002021b6;\n  case 0x65:\n    *(undefined **)(puVar15 + -4) = &UNK_00202230;\n    uVar18 = FUN_001f91d0();\n    if ((*(byte *)(piVar10[6] + 1 + (uVar18 & 0xff) * 2) & 0x20) == 0) {\n      *(undefined1 **)(puVar15 + -4) = puVar15 + 0x38;\n      *(undefined4 *)(puVar15 + -8) = *(undefined4 *)(puVar15 + 0xa8);\n      *(undefined4 *)(puVar15 + -0xc) = 2;\n      *(undefined4 *)(puVar15 + -0x10) = 0x1f;\n      *(undefined4 *)(puVar15 + -0x14) = 10;\n    }\n    else {\n      *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0x98);\n      *(undefined **)(puVar15 + -0x14) = &UNK_00202250;\n      FUN_001f24d0();\n      *(undefined4 *)(puVar15 + 0x9c) = 0xffffffff;\n      *(undefined1 **)(puVar15 + -4) = puVar15 + 0x38;\n      *(undefined4 *)(puVar15 + -8) = *(undefined4 *)(puVar15 + 0xa8);\n      *(undefined4 *)(puVar15 + -0xc) = 1;\n      *(undefined4 *)(puVar15 + -0x10) = 9;\n      *(undefined4 *)(puVar15 + -0x14) = 1;\n    }\ncode_r0x002021b6:\n    *(undefined1 **)(puVar15 + -0x18) = puVar15 + 0x3c;\n    *(undefined4 *)(puVar15 + -0x1c) = *(undefined4 *)(puVar15 + 0xa4);\n    *(undefined4 *)(puVar15 + -0x20) = *(undefined4 *)(puVar15 + 0xa0);\n    *(undefined4 *)(puVar15 + -0x24) = *(undefined4 *)(puVar15 + 0x9c);\n    *(undefined4 *)(puVar15 + -0x28) = *(undefined4 *)(puVar15 + 0x98);\n    *(undefined4 *)(puVar15 + -0x2c) = *(undefined4 *)(puVar15 + 0x94);\n    *(undefined1 **)(puVar15 + -0x30) = puVar15 + 0x28;\n    *(undefined **)(puVar15 + -0x34) = &UNK_002021e4;\n    FUN_001fc0e0();\n    *(undefined4 *)(puVar15 + 0x94) = *(undefined4 *)(puVar15 + 0x24);\n    *(undefined4 *)(puVar15 + 0x98) = *(undefined4 *)(puVar15 + 0x28);\n    puVar16 = puVar15 + -4;\n    if (*(int *)(puVar15 + 0x34) == 0) {\n      *(undefined4 *)(*(int *)(puVar15 + 0xac) + 0xc) = *(undefined4 *)(puVar15 + 0x38);\n      puVar16 = puVar15 + -4;\n    }\n    break;\n  case 0x6d:\n    *(undefined1 **)(puVar15 + -4) = puVar15 + 0x38;\n    *(undefined4 *)(puVar15 + -8) = *(undefined4 *)(puVar15 + 0xa8);\n    *(undefined4 *)(puVar15 + -0xc) = 2;\n    *(undefined4 *)(puVar15 + -0x10) = 0xc;\n    *(undefined4 *)(puVar15 + -0x14) = 1;\n    *(undefined1 **)(puVar15 + -0x18) = puVar15 + 0x3c;\n    *(undefined4 *)(puVar15 + -0x1c) = *(undefined4 *)(puVar15 + 0xa4);\n    *(undefined4 *)(puVar15 + -0x20) = *(undefined4 *)(puVar15 + 0xa0);\n    *(undefined4 *)(puVar15 + -0x24) = *(undefined4 *)(puVar15 + 0x9c);\n    *(undefined4 *)(puVar15 + -0x28) = *(undefined4 *)(puVar15 + 0x98);\n    *(undefined4 *)(puVar15 + -0x2c) = *(undefined4 *)(puVar15 + 0x94);\n    *(undefined1 **)(puVar15 + -0x30) = puVar15 + 0x28;\n    *(undefined **)(puVar15 + -0x34) = &UNK_002022c4;\n    FUN_001fc0e0();\n    *(undefined4 *)(puVar15 + 0x94) = *(undefined4 *)(puVar15 + 0x24);\n    *(undefined4 *)(puVar15 + 0x98) = *(undefined4 *)(puVar15 + 0x28);\n    puVar16 = puVar15 + -4;\n    if (*(int *)(puVar15 + 0x34) == 0) {\n      *(int *)(*(int *)(puVar15 + 0xac) + 0x10) = *(int *)(puVar15 + 0x38) + -1;\n      puVar16 = puVar15 + -4;\n    }\n    break;\n  case 0x6e:\n    *(undefined **)(puVar15 + -4) = &UNK_00202310;\n    bVar9 = FUN_001f91d0();\n    bVar8 = *(byte *)((int)piVar10 + bVar9 + 0x11d);\n    if (bVar8 == 0) {\n      pcVar4 = *(code **)(*piVar10 + 0x20);\n      bVar8 = bVar9;\n      if (pcVar4 != (code *)PTR_FUN_0038ed98) {\n        *(undefined4 *)(puVar15 + -8) = 0;\n        *(int *)(puVar15 + -0xc) = (int)(char)bVar9;\n        *(int **)(puVar15 + -0x10) = piVar10;\n        *(undefined **)(puVar15 + -0x14) = &UNK_002023ab;\n        bVar8 = (*pcVar4)();\n      }\n      if (bVar8 == 0) goto LAB_00201ab8;\n      *(byte *)((int)piVar10 + bVar9 + 0x11d) = bVar8;\n    }\n    if (bVar8 != 10) goto LAB_00201ab8;\ncode_r0x00202346:\n    *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0x98);\n    *(undefined **)(puVar15 + -0x14) = &UNK_00202355;\n    FUN_001f24d0();\n    *(undefined4 *)(puVar15 + 0x9c) = 0xffffffff;\n    break;\n  case 0x74:\n    *(undefined **)(puVar15 + -4) = &UNK_00201a70;\n    bVar9 = FUN_001f91d0();\n    bVar8 = *(byte *)((int)piVar10 + bVar9 + 0x11d);\n    if (bVar8 == 0) {\n      pcVar4 = *(code **)(*piVar10 + 0x20);\n      bVar8 = bVar9;\n      if (pcVar4 != *(code **)(puVar15 + 0x1c)) {\n        *(undefined4 *)(puVar15 + -8) = 0;\n        *(int *)(puVar15 + -0xc) = (int)(char)bVar9;\n        *(int **)(puVar15 + -0x10) = piVar10;\n        *(undefined **)(puVar15 + -0x14) = &UNK_00201a98;\n        bVar8 = (*pcVar4)();\n      }\n      if (bVar8 == 0) goto LAB_00201ab8;\n      *(byte *)((int)piVar10 + bVar9 + 0x11d) = bVar8;\n    }\n    if (bVar8 == 9) goto code_r0x00202346;\n    goto LAB_00201ab8;\n  case 0x78:\n    *(undefined4 *)(puVar15 + -0xc) = *(undefined4 *)(*(int *)(*(int *)(puVar15 + 0x18) + 8) + 8);\ncode_r0x00201b30:\n    *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0xb0);\n    *(undefined1 **)(puVar15 + -0x14) = puVar15 + 0x38;\n    *(undefined4 *)(puVar15 + -0x18) = *(undefined4 *)(puVar15 + 0xa8);\n    *(undefined4 *)(puVar15 + -0x1c) = *(undefined4 *)(puVar15 + 0xa4);\n    *(undefined4 *)(puVar15 + -0x20) = *(undefined4 *)(puVar15 + 0xa0);\n    *(undefined4 *)(puVar15 + -0x24) = *(undefined4 *)(puVar15 + 0x9c);\n    *(undefined4 *)(puVar15 + -0x28) = *(undefined4 *)(puVar15 + 0x98);\n    *(undefined4 *)(puVar15 + -0x2c) = *(undefined4 *)(puVar15 + 0x94);\n    puVar17 = puVar15 + -0x30;\n    *(undefined1 **)(puVar15 + -0x30) = puVar15 + 0x28;\n    *(undefined **)(puVar15 + -0x34) = &UNK_00201b6c;\n    FUN_00201820();\ncode_r0x00201b6c:\n    *(undefined4 *)(puVar17 + 0xc4) = *(undefined4 *)(puVar17 + 0x54);\n    *(undefined4 *)(puVar17 + 200) = *(undefined4 *)(puVar17 + 0x58);\n    puVar16 = puVar17 + 0x2c;\n  }\ncode_r0x00201ac0:\n  uVar18 = *(int *)(puVar16 + 4) + 1;\n  puVar15 = puVar16;\n  goto LAB_0020189b;\nLAB_00201ab8:\n  *(uint *)(puVar15 + 0x38) = *(uint *)(puVar15 + 0x38) | 4;\n  goto code_r0x00201ac0;\n}\n\n" comment (function_definition "undefined4 * FUN_00201820(void)\n\n{\n  int iVar1;\n  undefined1 *puVar2;\n  undefined1 *puVar3;\n  code *pcVar4;\n  undefined4 *puVar5;\n  char cVar6;\n  char cVar7;\n  byte bVar8;\n  byte bVar9;\n  int *piVar10;\n  char *pcVar11;\n  undefined4 uVar12;\n  int iVar13;\n  uint uVar14;\n  undefined1 *puVar15;\n  undefined1 *puVar16;\n  undefined1 *puVar17;\n  uint uVar18;\n  int in_stack_0000001c;\n  char *in_stack_00000028;\n  undefined1 auStack_8c [8];\n  undefined1 *local_84;\n  size_t local_80;\n  undefined1 *local_7c;\n  undefined4 local_74;\n  code *local_70;\n  undefined **local_68;\n  undefined4 local_54;\n  undefined4 uStack_14;\n  \n  uVar18 = 0;\n  uStack_14 = 0x20182b;\n  iVar1 = in_stack_0000001c + 0x6c;\n  local_74 = FUN_001fd780(iVar1);\n  piVar10 = (int *)FUN_001fbde0(iVar1);\n  local_80 = strlen(in_stack_00000028);\n  local_7c = &stack0x00000014;\n  local_84 = &stack0x0000000c;\n  local_54 = 0;\n  local_68 = &PTR_DAT_0038f400;\n  local_70 = FUN_001f81a0;\n  puVar15 = auStack_8c;\nLAB_0020189b:\n  *(undefined4 *)(puVar15 + -0xc) = *(undefined4 *)(puVar15 + 0x10);\n  *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 8);\n  *(undefined4 *)(puVar15 + -0x14) = 0x2018ab;\n  cVar6 = FUN_00200f70();\n  if ((cVar6 == '\x01') || (*(uint *)(puVar15 + 0xc) <= uVar18)) {\n    if ((*(int *)(puVar15 + 0x38) != 0) || (uVar18 != *(uint *)(puVar15 + 0xc))) {\nLAB_00201a0e:\n      **(uint **)(puVar15 + 0xac) = **(uint **)(puVar15 + 0xac) | 4;\n    }\n    puVar5 = *(undefined4 **)(puVar15 + 0x90);\n    uVar12 = *(undefined4 *)(puVar15 + 0x9c);\n    *puVar5 = *(undefined4 *)(puVar15 + 0x98);\n    puVar5[1] = uVar12;\n    return puVar5;\n  }\n  if (*(int *)(puVar15 + 0x38) != 0) goto LAB_00201a0e;\n  bVar8 = *(byte *)(*(int *)(puVar15 + 0xb4) + uVar18);\n  uVar14 = (uint)bVar8;\n  *(byte **)(puVar15 + 0x14) = (byte *)(*(int *)(puVar15 + 0xb4) + uVar18);\n  *(uint *)(puVar15 + 4) = uVar18 + 1;\n  bVar9 = *(byte *)((int)piVar10 + uVar14 + 0x11d);\n  if (bVar9 == 0) {\n    pcVar4 = *(code **)(*piVar10 + 0x20);\n    bVar9 = bVar8;\n    if (pcVar4 != (code *)PTR_FUN_0038ed98) {\n      *(uint *)(puVar15 + 0x20) = uVar14;\n      *(undefined4 *)(puVar15 + -8) = 0;\n      *(int *)(puVar15 + -0xc) = (int)(char)bVar8;\n      *(int **)(puVar15 + -0x10) = piVar10;\n      *(undefined4 *)(puVar15 + -0x14) = 0x201a50;\n      bVar9 = (*pcVar4)();\n      uVar14 = *(uint *)(puVar15 + 0x20);\n    }\n    if (bVar9 != 0) {\n      *(byte *)((int)piVar10 + uVar14 + 0x11d) = bVar9;\n      goto LAB_00201910;\n    }\nLAB_00201980:\n    cVar6 = **(char **)(puVar15 + 0x14);\n    *(undefined4 *)(puVar15 + -4) = 0x201997;\n    cVar7 = FUN_001f91d0();\n    if (cVar6 == cVar7) {\n      *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0x98);\n      *(undefined4 *)(puVar15 + -0x14) = 0x201adf;\n      FUN_001f24d0();\n      *(undefined4 *)(puVar15 + 0x9c) = 0xffffffff;\n      uVar18 = *(uint *)(puVar15 + 4);\n    }\n    else {\n      *(uint *)(puVar15 + 0x38) = *(uint *)(puVar15 + 0x38) | 4;\n      uVar18 = *(uint *)(puVar15 + 4);\n    }\n    goto LAB_0020189b;\n  }\nLAB_00201910:\n  if (bVar9 != 0x25) goto LAB_00201980;\n  bVar8 = *(byte *)(*(int *)(puVar15 + 0xb4) + 1 + uVar18);\n  bVar9 = *(byte *)((int)piVar10 + bVar8 + 0x11d);\n  puVar16 = puVar15;\n  if (bVar9 == 0) {\n    pcVar4 = *(code **)(*piVar10 + 0x20);\n    bVar9 = bVar8;\n    if (pcVar4 != (code *)PTR_FUN_0038ed98) {\n      *(undefined4 *)(puVar15 + -8) = 0;\n      *(int *)(puVar15 + -0xc) = (int)(char)bVar8;\n      *(int **)(puVar15 + -0x10) = piVar10;\n      *(undefined4 *)(puVar15 + -0x14) = 0x201b0c;\n      bVar9 = (*pcVar4)();\n    }\n    if (bVar9 != 0) {\n      *(byte *)((int)piVar10 + bVar8 + 0x11d) = bVar9;\n      goto LAB_00201951;\n    }\n    goto LAB_00201ab8;\n  }\nLAB_00201951:\n  *(undefined4 *)(puVar15 + 0x3c) = 0;\n  if ((bVar9 == 0x45) || (bVar9 == 0x4f)) {\n    *(uint *)(puVar15 + 4) = uVar18 + 2;\n    bVar8 = *(byte *)(*(int *)(puVar15 + 0xb4) + 2 + uVar18);\n    bVar9 = *(byte *)((int)piVar10 + bVar8 + 0x11d);\n    if (bVar9 == 0) {\n      pcVar4 = *(code **)(*piVar10 + 0x20);\n      bVar9 = bVar8;\n      if (pcVar4 != (code *)PTR_FUN_0038ed98) {\n        *(undefined4 *)(puVar15 + -8) = 0;\n        *(int *)(puVar15 + -0xc) = (int)(char)bVar8;\n        *(int **)(puVar15 + -0x10) = piVar10;\n        *(undefined4 *)(puVar15 + -0x14) = 0x20237c;\n        bVar9 = (*pcVar4)();\n      }\n      if (bVar9 == 0) goto LAB_00201ab8;\n      *(byte *)((int)piVar10 + bVar8 + 0x11d) = bVar9;\n    }\n  }\n  switch(bVar9) {\n  case 0x41:\n    iVar1 = *(int *)(*(int *)(puVar15 + 0x18) + 8);\n    *(undefined4 *)(puVar15 + 0x40) = *(undefined4 *)(iVar1 + 0x2c);\n    *(undefined4 *)(puVar15 + 0x44) = *(undefined4 *)(iVar1 + 0x30);\n    *(undefined4 *)(puVar15 + 0x48) = *(undefined4 *)(iVar1 + 0x34);\n    *(undefined4 *)(puVar15 + 0x4c) = *(undefined4 *)(iVar1 + 0x38);\n    *(undefined4 *)(puVar15 + 0x50) = *(undefined4 *)(iVar1 + 0x3c);\n    *(undefined4 *)(puVar15 + 0x54) = *(undefined4 *)(iVar1 + 0x40);\n    uVar12 = *(undefined4 *)(iVar1 + 0x44);\n    goto code_r0x00201f34;\n  case 0x42:\n    *(undefined1 **)(puVar15 + -0xc) = puVar15 + 0x40;\n    *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0x18);\n    *(undefined **)(puVar15 + -0x14) = &UNK_00201fd1;\n    FUN_001fb050();\n    goto code_r0x00201fd1;\n  case 0x43:\n  case 0x59:\n  case 0x79:\n    *(undefined1 **)(puVar15 + -4) = puVar15 + 0x38;\n    *(undefined4 *)(puVar15 + -8) = *(undefined4 *)(puVar15 + 0xa8);\n    *(undefined4 *)(puVar15 + -0xc) = 4;\n    *(undefined4 *)(puVar15 + -0x10) = 9999;\n    *(undefined4 *)(puVar15 + -0x14) = 0;\n    *(undefined1 **)(puVar15 + -0x18) = puVar15 + 0x3c;\n    *(undefined4 *)(puVar15 + -0x1c) = *(undefined4 *)(puVar15 + 0xa4);\n    *(undefined4 *)(puVar15 + -0x20) = *(undefined4 *)(puVar15 + 0xa0);\n    *(undefined4 *)(puVar15 + -0x24) = *(undefined4 *)(puVar15 + 0x9c);\n    *(undefined4 *)(puVar15 + -0x28) = *(undefined4 *)(puVar15 + 0x98);\n    *(undefined4 *)(puVar15 + -0x2c) = *(undefined4 *)(puVar15 + 0x94);\n    *(undefined1 **)(puVar15 + -0x30) = puVar15 + 0x28;\n    *(undefined **)(puVar15 + -0x34) = &UNK_00202097;\n    FUN_001fc0e0();\n    *(undefined4 *)(puVar15 + 0x94) = *(undefined4 *)(puVar15 + 0x24);\n    *(undefined4 *)(puVar15 + 0x98) = *(undefined4 *)(puVar15 + 0x28);\n    puVar16 = puVar15 + -4;\n    if (*(int *)(puVar15 + 0x34) == 0) {\n      iVar1 = *(int *)(puVar15 + 0x38);\n      iVar13 = iVar1 + -0x76c;\n      if (iVar1 < 0) {\n        iVar13 = iVar1 + 100;\n      }\n      *(int *)(*(int *)(puVar15 + 0xac) + 0x14) = iVar13;\n      puVar16 = puVar15 + -4;\n    }\n    break;\n  case 0x44:\n    *(undefined1 **)(puVar15 + -4) = puVar15 + 0x40;\n    *(undefined **)(puVar15 + -8) = &UNK_002a3ee7;\n    pcVar11 = "%m/%d/%y";\n    goto code_r0x00201ca2;\n  default:\n    goto LAB_00201ab8;\n  case 0x48:\n    *(undefined1 **)(puVar15 + -4) = puVar15 + 0x38;\n    *(undefined4 *)(puVar15 + -8) = *(undefined4 *)(puVar15 + 0xa8);\n    *(undefined4 *)(puVar15 + -0xc) = 2;\n    *(undefined4 *)(puVar15 + -0x10) = 0x17;\n    *(undefined4 *)(puVar15 + -0x14) = 0;\n    goto code_r0x00201ba6;\n  case 0x49:\n    *(undefined1 **)(puVar15 + -4) = puVar15 + 0x38;\n    *(undefined4 *)(puVar15 + -8) = *(undefined4 *)(puVar15 + 0xa8);\n    *(undefined4 *)(puVar15 + -0xc) = 2;\n    *(undefined4 *)(puVar15 + -0x10) = 0xc;\n    *(undefined4 *)(puVar15 + -0x14) = 1;\ncode_r0x00201ba6:\n    *(undefined1 **)(puVar15 + -0x18) = puVar15 + 0x3c;\n    *(undefined4 *)(puVar15 + -0x1c) = *(undefined4 *)(puVar15 + 0xa4);\n    *(undefined4 *)(puVar15 + -0x20) = *(undefined4 *)(puVar15 + 0xa0);\n    *(undefined4 *)(puVar15 + -0x24) = *(undefined4 *)(puVar15 + 0x9c);\n    *(undefined4 *)(puVar15 + -0x28) = *(undefined4 *)(puVar15 + 0x98);\n    *(undefined4 *)(puVar15 + -0x2c) = *(undefined4 *)(puVar15 + 0x94);\n    *(undefined1 **)(puVar15 + -0x30) = puVar15 + 0x28;\n    *(undefined **)(puVar15 + -0x34) = &UNK_00201bd4;\n    FUN_001fc0e0();\n    *(undefined4 *)(puVar15 + 0x94) = *(undefined4 *)(puVar15 + 0x24);\n    *(undefined4 *)(puVar15 + 0x98) = *(undefined4 *)(puVar15 + 0x28);\n    puVar16 = puVar15 + -4;\n    if (*(int *)(puVar15 + 0x34) == 0) {\n      *(undefined4 *)(*(int *)(puVar15 + 0xac) + 8) = *(undefined4 *)(puVar15 + 0x38);\n      puVar16 = puVar15 + -4;\n    }\n    break;\n  case 0x4d:\n    *(undefined1 **)(puVar15 + -4) = puVar15 + 0x38;\n    *(undefined4 *)(puVar15 + -8) = *(undefined4 *)(puVar15 + 0xa8);\n    *(undefined4 *)(puVar15 + -0xc) = 2;\n    *(undefined4 *)(puVar15 + -0x10) = 0x3b;\n    *(undefined4 *)(puVar15 + -0x14) = 0;\n    *(undefined1 **)(puVar15 + -0x18) = puVar15 + 0x3c;\n    *(undefined4 *)(puVar15 + -0x1c) = *(undefined4 *)(puVar15 + 0xa4);\n    *(undefined4 *)(puVar15 + -0x20) = *(undefined4 *)(puVar15 + 0xa0);\n    *(undefined4 *)(puVar15 + -0x24) = *(undefined4 *)(puVar15 + 0x9c);\n    *(undefined4 *)(puVar15 + -0x28) = *(undefined4 *)(puVar15 + 0x98);\n    *(undefined4 *)(puVar15 + -0x2c) = *(undefined4 *)(puVar15 + 0x94);\n    *(undefined1 **)(puVar15 + -0x30) = puVar15 + 0x28;\n    *(undefined **)(puVar15 + -0x34) = &UNK_00201c54;\n    FUN_001fc0e0();\n    *(undefined4 *)(puVar15 + 0x94) = *(undefined4 *)(puVar15 + 0x24);\n    *(undefined4 *)(puVar15 + 0x98) = *(undefined4 *)(puVar15 + 0x28);\n    puVar16 = puVar15 + -4;\n    if (*(int *)(puVar15 + 0x34) == 0) {\n      *(undefined4 *)(*(int *)(puVar15 + 0xac) + 4) = *(undefined4 *)(puVar15 + 0x38);\n      puVar16 = puVar15 + -4;\n    }\n    break;\n  case 0x52:\n    *(undefined1 **)(puVar15 + -4) = puVar15 + 0x40;\n    *(char **)(puVar15 + -8) = "%H:%M:%S";\n    pcVar11 = "%H:%M";\n    goto code_r0x00201ca2;\n  case 0x53:\n    *(undefined1 **)(puVar15 + -4) = puVar15 + 0x38;\n    *(undefined4 *)(puVar15 + -8) = *(undefined4 *)(puVar15 + 0xa8);\n    *(undefined4 *)(puVar15 + -0xc) = 2;\n    *(undefined4 *)(puVar15 + -0x10) = 0x3c;\n    *(undefined4 *)(puVar15 + -0x14) = 0;\n    *(undefined1 **)(puVar15 + -0x18) = puVar15 + 0x3c;\n    *(undefined4 *)(puVar15 + -0x1c) = *(undefined4 *)(puVar15 + 0xa4);\n    *(undefined4 *)(puVar15 + -0x20) = *(undefined4 *)(puVar15 + 0xa0);\n    *(undefined4 *)(puVar15 + -0x24) = *(undefined4 *)(puVar15 + 0x9c);\n    *(undefined4 *)(puVar15 + -0x28) = *(undefined4 *)(puVar15 + 0x98);\n    *(undefined4 *)(puVar15 + -0x2c) = *(undefined4 *)(puVar15 + 0x94);\n    *(undefined1 **)(puVar15 + -0x30) = puVar15 + 0x28;\n    *(undefined **)(puVar15 + -0x34) = &UNK_00201cfc;\n    FUN_001fc0e0();\n    *(undefined4 *)(puVar15 + 0x94) = *(undefined4 *)(puVar15 + 0x24);\n    *(undefined4 *)(puVar15 + 0x98) = *(undefined4 *)(puVar15 + 0x28);\n    puVar16 = puVar15 + -4;\n    if (*(int *)(puVar15 + 0x34) == 0) {\n      **(undefined4 **)(puVar15 + 0xac) = *(undefined4 *)(puVar15 + 0x38);\n      puVar16 = puVar15 + -4;\n    }\n    break;\n  case 0x54:\n    *(undefined1 **)(puVar15 + -4) = puVar15 + 0x40;\n    *(undefined **)(puVar15 + -8) = &UNK_002a3ef6;\n    pcVar11 = "%H:%M:%S";\ncode_r0x00201ca2:\n    *(char **)(puVar15 + -0xc) = pcVar11;\n    *(int **)(puVar15 + -0x10) = piVar10;\n    *(undefined **)(puVar15 + -0x14) = &UNK_00201ca9;\n    FUN_001f94d0();\n    *(undefined1 **)(puVar15 + -0xc) = puVar15 + 0x40;\n    goto code_r0x00201b30;\n  case 0x58:\n    *(undefined4 *)(puVar15 + -0xc) = *(undefined4 *)(*(int *)(*(int *)(puVar15 + 0x18) + 8) + 0x10)\n    ;\n    goto code_r0x00201b30;\n  case 0x5a:\n    *(undefined **)(puVar15 + -4) = &UNK_00201d80;\n    uVar18 = FUN_001f91d0();\n    if ((*(byte *)(piVar10[6] + 1 + (uVar18 & 0xff) * 2) & 1) == 0) goto LAB_00201ab8;\n    *(undefined1 **)(puVar15 + 0x14) = puVar15 + 0x28;\n    puVar2 = puVar15 + 0x38;\n    *(undefined1 **)(puVar15 + -8) = puVar2;\n    *(undefined4 *)(puVar15 + -0xc) = *(undefined4 *)(puVar15 + 0xa8);\n    *(undefined4 *)(puVar15 + -0x10) = 0xe;\n    *(undefined4 *)(puVar15 + -0x14) = *(undefined4 *)(puVar15 + 0x24);\n    puVar3 = puVar15 + 0x40;\n    *(undefined1 **)(puVar15 + -0x18) = puVar3;\n    *(undefined4 *)(puVar15 + -0x1c) = *(undefined4 *)(puVar15 + 0xa4);\n    *(undefined4 *)(puVar15 + -0x20) = *(undefined4 *)(puVar15 + 0xa0);\n    *(undefined4 *)(puVar15 + -0x24) = *(undefined4 *)(puVar15 + 0x9c);\n    *(undefined4 *)(puVar15 + -0x28) = *(undefined4 *)(puVar15 + 0x98);\n    *(undefined4 *)(puVar15 + -0x2c) = *(undefined4 *)(puVar15 + 0x94);\n    *(undefined1 **)(puVar15 + -0x30) = puVar15 + 0x28;\n    *(undefined **)(puVar15 + -0x34) = &UNK_00201ddc;\n    FUN_00201020();\n    *(undefined4 *)(puVar15 + 0x94) = *(undefined4 *)(puVar15 + 0x24);\n    *(undefined4 *)(puVar15 + 0x98) = *(undefined4 *)(puVar15 + 0x28);\n    *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0xc);\n    *(undefined4 *)(puVar15 + -0x14) = *(undefined4 *)(puVar15 + 4);\n    *(undefined **)(puVar15 + -0x18) = &UNK_00201e02;\n    cVar6 = FUN_00200f70();\n    puVar16 = puVar15 + -4;\n    if ((cVar6 != '\0') ||\n       (puVar16 = puVar15 + -4, *(int *)(puVar15 + 0x34) != 0 || *(int *)(puVar15 + 0x3c) != 0))\n    break;\n    *(undefined **)(puVar15 + -8) = &UNK_00201e2b;\n    uVar12 = FUN_001f91d0();\n    iVar1 = piVar10[7];\n    *(undefined4 *)(puVar15 + 0x1c) = uVar12;\n    if ((char)iVar1 == '\0') {\n      *(undefined **)(puVar15 + -8) = &UNK_002023c1;\n      cVar6 = FUN_001f9220();\n    }\n    else {\n      cVar6 = *(char *)((int)piVar10 + 0x4a);\n    }\n    if (puVar15[0x1c] != cVar6) {\n      *(undefined **)(puVar15 + -8) = &UNK_00201e53;\n      uVar12 = FUN_001f91d0();\n      iVar1 = piVar10[7];\n      *(undefined4 *)(puVar15 + 0x1c) = uVar12;\n      if ((char)iVar1 == '\0') {\n        *(undefined **)(puVar15 + -8) = &UNK_002023d2;\n        cVar6 = FUN_001f9220();\n      }\n      else {\n        cVar6 = (char)piVar10[0x12];\n      }\n      puVar16 = puVar15 + -4;\n      if (puVar15[0x1c] != cVar6) break;\n    }\n    *(undefined1 **)(puVar15 + -8) = puVar2;\n    *(undefined4 *)(puVar15 + -0xc) = *(undefined4 *)(puVar15 + 0xa4);\n    *(undefined4 *)(puVar15 + -0x10) = 2;\n    *(undefined4 *)(puVar15 + -0x14) = 0x17;\n    *(undefined4 *)(puVar15 + -0x18) = 0;\n    *(undefined1 **)(puVar15 + -0x1c) = puVar3;\n    *(undefined4 *)(puVar15 + -0x20) = *(undefined4 *)(puVar15 + 0xa0);\n    *(undefined4 *)(puVar15 + -0x24) = *(undefined4 *)(puVar15 + 0x9c);\n    *(undefined4 *)(puVar15 + -0x28) = *(undefined4 *)(puVar15 + 0x98);\n    *(undefined4 *)(puVar15 + -0x2c) = *(undefined4 *)(puVar15 + 0x94);\n    *(undefined4 *)(puVar15 + -0x30) = *(undefined4 *)(puVar15 + 0x90);\n    *(undefined4 *)(puVar15 + -0x34) = *(undefined4 *)(puVar15 + 0x10);\n    *(undefined **)(puVar15 + -0x38) = &UNK_00201eaa;\n    FUN_001fc0e0();\n    *(undefined4 *)(puVar15 + 0x90) = *(undefined4 *)(puVar15 + 0x20);\n    *(undefined4 *)(puVar15 + 0x94) = *(undefined4 *)(puVar15 + 0x24);\n    *(undefined1 **)(puVar15 + -0xc) = puVar2;\n    *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0xa0);\n    *(undefined4 *)(puVar15 + -0x14) = 2;\n    *(undefined4 *)(puVar15 + -0x18) = 0x3b;\n    *(undefined4 *)(puVar15 + -0x1c) = 0;\n    *(undefined1 **)(puVar15 + -0x20) = puVar3;\n    *(undefined4 *)(puVar15 + -0x24) = *(undefined4 *)(puVar15 + 0x9c);\n    *(undefined4 *)(puVar15 + -0x28) = *(undefined4 *)(puVar15 + 0x98);\n    *(undefined4 *)(puVar15 + -0x2c) = *(undefined4 *)(puVar15 + 0x24);\n    *(undefined4 *)(puVar15 + -0x30) = *(undefined4 *)(puVar15 + 0x20);\n    *(undefined4 *)(puVar15 + -0x34) = *(undefined4 *)(puVar15 + 0x8c);\n    puVar17 = puVar15 + -0x38;\n    *(undefined4 *)(puVar15 + -0x38) = *(undefined4 *)(puVar15 + 0xc);\n    *(undefined **)(puVar15 + -0x3c) = &UNK_00201ef2;\n    FUN_001fc0e0();\n    goto code_r0x00201b6c;\n  case 0x61:\n    iVar1 = *(int *)(*(int *)(puVar15 + 0x18) + 8);\n    *(undefined4 *)(puVar15 + 0x40) = *(undefined4 *)(iVar1 + 0x48);\n    *(undefined4 *)(puVar15 + 0x44) = *(undefined4 *)(iVar1 + 0x4c);\n    *(undefined4 *)(puVar15 + 0x48) = *(undefined4 *)(iVar1 + 0x50);\n    *(undefined4 *)(puVar15 + 0x4c) = *(undefined4 *)(iVar1 + 0x54);\n    *(undefined4 *)(puVar15 + 0x50) = *(undefined4 *)(iVar1 + 0x58);\n    *(undefined4 *)(puVar15 + 0x54) = *(undefined4 *)(iVar1 + 0x5c);\n    uVar12 = *(undefined4 *)(iVar1 + 0x60);\ncode_r0x00201f34:\n    *(undefined4 *)(puVar15 + 0x58) = uVar12;\n    *(undefined1 **)(puVar15 + -8) = puVar15 + 0x38;\n    *(undefined4 *)(puVar15 + -0xc) = *(undefined4 *)(puVar15 + 0xa8);\n    *(undefined4 *)(puVar15 + -0x10) = 7;\n    *(undefined1 **)(puVar15 + -0x14) = puVar15 + 0x40;\n    *(undefined1 **)(puVar15 + -0x18) = puVar15 + 0x3c;\n    *(undefined4 *)(puVar15 + -0x1c) = *(undefined4 *)(puVar15 + 0xa4);\n    *(undefined4 *)(puVar15 + -0x20) = *(undefined4 *)(puVar15 + 0xa0);\n    *(undefined4 *)(puVar15 + -0x24) = *(undefined4 *)(puVar15 + 0x9c);\n    *(undefined4 *)(puVar15 + -0x28) = *(undefined4 *)(puVar15 + 0x98);\n    *(undefined4 *)(puVar15 + -0x2c) = *(undefined4 *)(puVar15 + 0x94);\n    *(undefined1 **)(puVar15 + -0x30) = puVar15 + 0x28;\n    *(undefined **)(puVar15 + -0x34) = &UNK_00201f80;\n    FUN_00201020();\n    *(undefined4 *)(puVar15 + 0x94) = *(undefined4 *)(puVar15 + 0x24);\n    *(undefined4 *)(puVar15 + 0x98) = *(undefined4 *)(puVar15 + 0x28);\n    puVar16 = puVar15 + -4;\n    if (*(int *)(puVar15 + 0x34) == 0) {\n      *(undefined4 *)(*(int *)(puVar15 + 0xac) + 0x18) = *(undefined4 *)(puVar15 + 0x38);\n      puVar16 = puVar15 + -4;\n    }\n    break;\n  case 0x62:\n  case 0x68:\n    *(undefined1 **)(puVar15 + -0xc) = puVar15 + 0x40;\n    *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0x18);\n    *(undefined **)(puVar15 + -0x14) = &UNK_00202171;\n    FUN_001fb0c0();\ncode_r0x00201fd1:\n    *(undefined1 **)(puVar15 + -8) = puVar15 + 0x38;\n    *(undefined4 *)(puVar15 + -0xc) = *(undefined4 *)(puVar15 + 0xa8);\n    *(undefined4 *)(puVar15 + -0x10) = 0xc;\n    *(undefined1 **)(puVar15 + -0x14) = puVar15 + 0x40;\n    *(undefined1 **)(puVar15 + -0x18) = puVar15 + 0x3c;\n    *(undefined4 *)(puVar15 + -0x1c) = *(undefined4 *)(puVar15 + 0xa4);\n    *(undefined4 *)(puVar15 + -0x20) = *(undefined4 *)(puVar15 + 0xa0);\n    *(undefined4 *)(puVar15 + -0x24) = *(undefined4 *)(puVar15 + 0x9c);\n    *(undefined4 *)(puVar15 + -0x28) = *(undefined4 *)(puVar15 + 0x98);\n    *(undefined4 *)(puVar15 + -0x2c) = *(undefined4 *)(puVar15 + 0x94);\n    *(undefined1 **)(puVar15 + -0x30) = puVar15 + 0x28;\n    *(undefined **)(puVar15 + -0x34) = &UNK_00202015;\n    FUN_00201020();\n    *(undefined4 *)(puVar15 + 0x94) = *(undefined4 *)(puVar15 + 0x24);\n    *(undefined4 *)(puVar15 + 0x98) = *(undefined4 *)(puVar15 + 0x28);\n    puVar16 = puVar15 + -4;\n    if (*(int *)(puVar15 + 0x34) == 0) {\n      *(undefined4 *)(*(int *)(puVar15 + 0xac) + 0x10) = *(undefined4 *)(puVar15 + 0x38);\n      puVar16 = puVar15 + -4;\n    }\n    break;\n  case 99:\n    *(undefined4 *)(puVar15 + -0xc) = *(undefined4 *)(*(int *)(*(int *)(puVar15 + 0x18) + 8) + 0x18)\n    ;\n    goto code_r0x00201b30;\n  case 100:\n    *(undefined1 **)(puVar15 + -4) = puVar15 + 0x38;\n    *(undefined4 *)(puVar15 + -8) = *(undefined4 *)(puVar15 + 0xa8);\n    *(undefined4 *)(puVar15 + -0xc) = 2;\n    *(undefined4 *)(puVar15 + -0x10) = 0x1f;\n    *(undefined4 *)(puVar15 + -0x14) = 1;\n    goto code_r0x002021b6;\n  case 0x65:\n    *(undefined **)(puVar15 + -4) = &UNK_00202230;\n    uVar18 = FUN_001f91d0();\n    if ((*(byte *)(piVar10[6] + 1 + (uVar18 & 0xff) * 2) & 0x20) == 0) {\n      *(undefined1 **)(puVar15 + -4) = puVar15 + 0x38;\n      *(undefined4 *)(puVar15 + -8) = *(undefined4 *)(puVar15 + 0xa8);\n      *(undefined4 *)(puVar15 + -0xc) = 2;\n      *(undefined4 *)(puVar15 + -0x10) = 0x1f;\n      *(undefined4 *)(puVar15 + -0x14) = 10;\n    }\n    else {\n      *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0x98);\n      *(undefined **)(puVar15 + -0x14) = &UNK_00202250;\n      FUN_001f24d0();\n      *(undefined4 *)(puVar15 + 0x9c) = 0xffffffff;\n      *(undefined1 **)(puVar15 + -4) = puVar15 + 0x38;\n      *(undefined4 *)(puVar15 + -8) = *(undefined4 *)(puVar15 + 0xa8);\n      *(undefined4 *)(puVar15 + -0xc) = 1;\n      *(undefined4 *)(puVar15 + -0x10) = 9;\n      *(undefined4 *)(puVar15 + -0x14) = 1;\n    }\ncode_r0x002021b6:\n    *(undefined1 **)(puVar15 + -0x18) = puVar15 + 0x3c;\n    *(undefined4 *)(puVar15 + -0x1c) = *(undefined4 *)(puVar15 + 0xa4);\n    *(undefined4 *)(puVar15 + -0x20) = *(undefined4 *)(puVar15 + 0xa0);\n    *(undefined4 *)(puVar15 + -0x24) = *(undefined4 *)(puVar15 + 0x9c);\n    *(undefined4 *)(puVar15 + -0x28) = *(undefined4 *)(puVar15 + 0x98);\n    *(undefined4 *)(puVar15 + -0x2c) = *(undefined4 *)(puVar15 + 0x94);\n    *(undefined1 **)(puVar15 + -0x30) = puVar15 + 0x28;\n    *(undefined **)(puVar15 + -0x34) = &UNK_002021e4;\n    FUN_001fc0e0();\n    *(undefined4 *)(puVar15 + 0x94) = *(undefined4 *)(puVar15 + 0x24);\n    *(undefined4 *)(puVar15 + 0x98) = *(undefined4 *)(puVar15 + 0x28);\n    puVar16 = puVar15 + -4;\n    if (*(int *)(puVar15 + 0x34) == 0) {\n      *(undefined4 *)(*(int *)(puVar15 + 0xac) + 0xc) = *(undefined4 *)(puVar15 + 0x38);\n      puVar16 = puVar15 + -4;\n    }\n    break;\n  case 0x6d:\n    *(undefined1 **)(puVar15 + -4) = puVar15 + 0x38;\n    *(undefined4 *)(puVar15 + -8) = *(undefined4 *)(puVar15 + 0xa8);\n    *(undefined4 *)(puVar15 + -0xc) = 2;\n    *(undefined4 *)(puVar15 + -0x10) = 0xc;\n    *(undefined4 *)(puVar15 + -0x14) = 1;\n    *(undefined1 **)(puVar15 + -0x18) = puVar15 + 0x3c;\n    *(undefined4 *)(puVar15 + -0x1c) = *(undefined4 *)(puVar15 + 0xa4);\n    *(undefined4 *)(puVar15 + -0x20) = *(undefined4 *)(puVar15 + 0xa0);\n    *(undefined4 *)(puVar15 + -0x24) = *(undefined4 *)(puVar15 + 0x9c);\n    *(undefined4 *)(puVar15 + -0x28) = *(undefined4 *)(puVar15 + 0x98);\n    *(undefined4 *)(puVar15 + -0x2c) = *(undefined4 *)(puVar15 + 0x94);\n    *(undefined1 **)(puVar15 + -0x30) = puVar15 + 0x28;\n    *(undefined **)(puVar15 + -0x34) = &UNK_002022c4;\n    FUN_001fc0e0();\n    *(undefined4 *)(puVar15 + 0x94) = *(undefined4 *)(puVar15 + 0x24);\n    *(undefined4 *)(puVar15 + 0x98) = *(undefined4 *)(puVar15 + 0x28);\n    puVar16 = puVar15 + -4;\n    if (*(int *)(puVar15 + 0x34) == 0) {\n      *(int *)(*(int *)(puVar15 + 0xac) + 0x10) = *(int *)(puVar15 + 0x38) + -1;\n      puVar16 = puVar15 + -4;\n    }\n    break;\n  case 0x6e:\n    *(undefined **)(puVar15 + -4) = &UNK_00202310;\n    bVar9 = FUN_001f91d0();\n    bVar8 = *(byte *)((int)piVar10 + bVar9 + 0x11d);\n    if (bVar8 == 0) {\n      pcVar4 = *(code **)(*piVar10 + 0x20);\n      bVar8 = bVar9;\n      if (pcVar4 != (code *)PTR_FUN_0038ed98) {\n        *(undefined4 *)(puVar15 + -8) = 0;\n        *(int *)(puVar15 + -0xc) = (int)(char)bVar9;\n        *(int **)(puVar15 + -0x10) = piVar10;\n        *(undefined **)(puVar15 + -0x14) = &UNK_002023ab;\n        bVar8 = (*pcVar4)();\n      }\n      if (bVar8 == 0) goto LAB_00201ab8;\n      *(byte *)((int)piVar10 + bVar9 + 0x11d) = bVar8;\n    }\n    if (bVar8 != 10) goto LAB_00201ab8;\ncode_r0x00202346:\n    *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0x98);\n    *(undefined **)(puVar15 + -0x14) = &UNK_00202355;\n    FUN_001f24d0();\n    *(undefined4 *)(puVar15 + 0x9c) = 0xffffffff;\n    break;\n  case 0x74:\n    *(undefined **)(puVar15 + -4) = &UNK_00201a70;\n    bVar9 = FUN_001f91d0();\n    bVar8 = *(byte *)((int)piVar10 + bVar9 + 0x11d);\n    if (bVar8 == 0) {\n      pcVar4 = *(code **)(*piVar10 + 0x20);\n      bVar8 = bVar9;\n      if (pcVar4 != *(code **)(puVar15 + 0x1c)) {\n        *(undefined4 *)(puVar15 + -8) = 0;\n        *(int *)(puVar15 + -0xc) = (int)(char)bVar9;\n        *(int **)(puVar15 + -0x10) = piVar10;\n        *(undefined **)(puVar15 + -0x14) = &UNK_00201a98;\n        bVar8 = (*pcVar4)();\n      }\n      if (bVar8 == 0) goto LAB_00201ab8;\n      *(byte *)((int)piVar10 + bVar9 + 0x11d) = bVar8;\n    }\n    if (bVar8 == 9) goto code_r0x00202346;\n    goto LAB_00201ab8;\n  case 0x78:\n    *(undefined4 *)(puVar15 + -0xc) = *(undefined4 *)(*(int *)(*(int *)(puVar15 + 0x18) + 8) + 8);\ncode_r0x00201b30:\n    *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0xb0);\n    *(undefined1 **)(puVar15 + -0x14) = puVar15 + 0x38;\n    *(undefined4 *)(puVar15 + -0x18) = *(undefined4 *)(puVar15 + 0xa8);\n    *(undefined4 *)(puVar15 + -0x1c) = *(undefined4 *)(puVar15 + 0xa4);\n    *(undefined4 *)(puVar15 + -0x20) = *(undefined4 *)(puVar15 + 0xa0);\n    *(undefined4 *)(puVar15 + -0x24) = *(undefined4 *)(puVar15 + 0x9c);\n    *(undefined4 *)(puVar15 + -0x28) = *(undefined4 *)(puVar15 + 0x98);\n    *(undefined4 *)(puVar15 + -0x2c) = *(undefined4 *)(puVar15 + 0x94);\n    puVar17 = puVar15 + -0x30;\n    *(undefined1 **)(puVar15 + -0x30) = puVar15 + 0x28;\n    *(undefined **)(puVar15 + -0x34) = &UNK_00201b6c;\n    FUN_00201820();\ncode_r0x00201b6c:\n    *(undefined4 *)(puVar17 + 0xc4) = *(undefined4 *)(puVar17 + 0x54);\n    *(undefined4 *)(puVar17 + 200) = *(undefined4 *)(puVar17 + 0x58);\n    puVar16 = puVar17 + 0x2c;\n  }\ncode_r0x00201ac0:\n  uVar18 = *(int *)(puVar16 + 4) + 1;\n  puVar15 = puVar16;\n  goto LAB_0020189b;\nLAB_00201ab8:\n  *(uint *)(puVar15 + 0x38) = *(uint *)(puVar15 + 0x38) | 4;\n  goto code_r0x00201ac0;\n}" type_identifier (pointer_declarator "* FUN_00201820(void)" * (function_declarator "FUN_00201820(void)" identifier (parameter_list "(void)" ( (parameter_declaration "void" primitive_type) )))) (compound_statement "{\n  int iVar1;\n  undefined1 *puVar2;\n  undefined1 *puVar3;\n  code *pcVar4;\n  undefined4 *puVar5;\n  char cVar6;\n  char cVar7;\n  byte bVar8;\n  byte bVar9;\n  int *piVar10;\n  char *pcVar11;\n  undefined4 uVar12;\n  int iVar13;\n  uint uVar14;\n  undefined1 *puVar15;\n  undefined1 *puVar16;\n  undefined1 *puVar17;\n  uint uVar18;\n  int in_stack_0000001c;\n  char *in_stack_00000028;\n  undefined1 auStack_8c [8];\n  undefined1 *local_84;\n  size_t local_80;\n  undefined1 *local_7c;\n  undefined4 local_74;\n  code *local_70;\n  undefined **local_68;\n  undefined4 local_54;\n  undefined4 uStack_14;\n  \n  uVar18 = 0;\n  uStack_14 = 0x20182b;\n  iVar1 = in_stack_0000001c + 0x6c;\n  local_74 = FUN_001fd780(iVar1);\n  piVar10 = (int *)FUN_001fbde0(iVar1);\n  local_80 = strlen(in_stack_00000028);\n  local_7c = &stack0x00000014;\n  local_84 = &stack0x0000000c;\n  local_54 = 0;\n  local_68 = &PTR_DAT_0038f400;\n  local_70 = FUN_001f81a0;\n  puVar15 = auStack_8c;\nLAB_0020189b:\n  *(undefined4 *)(puVar15 + -0xc) = *(undefined4 *)(puVar15 + 0x10);\n  *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 8);\n  *(undefined4 *)(puVar15 + -0x14) = 0x2018ab;\n  cVar6 = FUN_00200f70();\n  if ((cVar6 == '\x01') || (*(uint *)(puVar15 + 0xc) <= uVar18)) {\n    if ((*(int *)(puVar15 + 0x38) != 0) || (uVar18 != *(uint *)(puVar15 + 0xc))) {\nLAB_00201a0e:\n      **(uint **)(puVar15 + 0xac) = **(uint **)(puVar15 + 0xac) | 4;\n    }\n    puVar5 = *(undefined4 **)(puVar15 + 0x90);\n    uVar12 = *(undefined4 *)(puVar15 + 0x9c);\n    *puVar5 = *(undefined4 *)(puVar15 + 0x98);\n    puVar5[1] = uVar12;\n    return puVar5;\n  }\n  if (*(int *)(puVar15 + 0x38) != 0) goto LAB_00201a0e;\n  bVar8 = *(byte *)(*(int *)(puVar15 + 0xb4) + uVar18);\n  uVar14 = (uint)bVar8;\n  *(byte **)(puVar15 + 0x14) = (byte *)(*(int *)(puVar15 + 0xb4) + uVar18);\n  *(uint *)(puVar15 + 4) = uVar18 + 1;\n  bVar9 = *(byte *)((int)piVar10 + uVar14 + 0x11d);\n  if (bVar9 == 0) {\n    pcVar4 = *(code **)(*piVar10 + 0x20);\n    bVar9 = bVar8;\n    if (pcVar4 != (code *)PTR_FUN_0038ed98) {\n      *(uint *)(puVar15 + 0x20) = uVar14;\n      *(undefined4 *)(puVar15 + -8) = 0;\n      *(int *)(puVar15 + -0xc) = (int)(char)bVar8;\n      *(int **)(puVar15 + -0x10) = piVar10;\n      *(undefined4 *)(puVar15 + -0x14) = 0x201a50;\n      bVar9 = (*pcVar4)();\n      uVar14 = *(uint *)(puVar15 + 0x20);\n    }\n    if (bVar9 != 0) {\n      *(byte *)((int)piVar10 + uVar14 + 0x11d) = bVar9;\n      goto LAB_00201910;\n    }\nLAB_00201980:\n    cVar6 = **(char **)(puVar15 + 0x14);\n    *(undefined4 *)(puVar15 + -4) = 0x201997;\n    cVar7 = FUN_001f91d0();\n    if (cVar6 == cVar7) {\n      *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0x98);\n      *(undefined4 *)(puVar15 + -0x14) = 0x201adf;\n      FUN_001f24d0();\n      *(undefined4 *)(puVar15 + 0x9c) = 0xffffffff;\n      uVar18 = *(uint *)(puVar15 + 4);\n    }\n    else {\n      *(uint *)(puVar15 + 0x38) = *(uint *)(puVar15 + 0x38) | 4;\n      uVar18 = *(uint *)(puVar15 + 4);\n    }\n    goto LAB_0020189b;\n  }\nLAB_00201910:\n  if (bVar9 != 0x25) goto LAB_00201980;\n  bVar8 = *(byte *)(*(int *)(puVar15 + 0xb4) + 1 + uVar18);\n  bVar9 = *(byte *)((int)piVar10 + bVar8 + 0x11d);\n  puVar16 = puVar15;\n  if (bVar9 == 0) {\n    pcVar4 = *(code **)(*piVar10 + 0x20);\n    bVar9 = bVar8;\n    if (pcVar4 != (code *)PTR_FUN_0038ed98) {\n      *(undefined4 *)(puVar15 + -8) = 0;\n      *(int *)(puVar15 + -0xc) = (int)(char)bVar8;\n      *(int **)(puVar15 + -0x10) = piVar10;\n      *(undefined4 *)(puVar15 + -0x14) = 0x201b0c;\n      bVar9 = (*pcVar4)();\n    }\n    if (bVar9 != 0) {\n      *(byte *)((int)piVar10 + bVar8 + 0x11d) = bVar9;\n      goto LAB_00201951;\n    }\n    goto LAB_00201ab8;\n  }\nLAB_00201951:\n  *(undefined4 *)(puVar15 + 0x3c) = 0;\n  if ((bVar9 == 0x45) || (bVar9 == 0x4f)) {\n    *(uint *)(puVar15 + 4) = uVar18 + 2;\n    bVar8 = *(byte *)(*(int *)(puVar15 + 0xb4) + 2 + uVar18);\n    bVar9 = *(byte *)((int)piVar10 + bVar8 + 0x11d);\n    if (bVar9 == 0) {\n      pcVar4 = *(code **)(*piVar10 + 0x20);\n      bVar9 = bVar8;\n      if (pcVar4 != (code *)PTR_FUN_0038ed98) {\n        *(undefined4 *)(puVar15 + -8) = 0;\n        *(int *)(puVar15 + -0xc) = (int)(char)bVar8;\n        *(int **)(puVar15 + -0x10) = piVar10;\n        *(undefined4 *)(puVar15 + -0x14) = 0x20237c;\n        bVar9 = (*pcVar4)();\n      }\n      if (bVar9 == 0) goto LAB_00201ab8;\n      *(byte *)((int)piVar10 + bVar8 + 0x11d) = bVar9;\n    }\n  }\n  switch(bVar9) {\n  case 0x41:\n    iVar1 = *(int *)(*(int *)(puVar15 + 0x18) + 8);\n    *(undefined4 *)(puVar15 + 0x40) = *(undefined4 *)(iVar1 + 0x2c);\n    *(undefined4 *)(puVar15 + 0x44) = *(undefined4 *)(iVar1 + 0x30);\n    *(undefined4 *)(puVar15 + 0x48) = *(undefined4 *)(iVar1 + 0x34);\n    *(undefined4 *)(puVar15 + 0x4c) = *(undefined4 *)(iVar1 + 0x38);\n    *(undefined4 *)(puVar15 + 0x50) = *(undefined4 *)(iVar1 + 0x3c);\n    *(undefined4 *)(puVar15 + 0x54) = *(undefined4 *)(iVar1 + 0x40);\n    uVar12 = *(undefined4 *)(iVar1 + 0x44);\n    goto code_r0x00201f34;\n  case 0x42:\n    *(undefined1 **)(puVar15 + -0xc) = puVar15 + 0x40;\n    *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0x18);\n    *(undefined **)(puVar15 + -0x14) = &UNK_00201fd1;\n    FUN_001fb050();\n    goto code_r0x00201fd1;\n  case 0x43:\n  case 0x59:\n  case 0x79:\n    *(undefined1 **)(puVar15 + -4) = puVar15 + 0x38;\n    *(undefined4 *)(puVar15 + -8) = *(undefined4 *)(puVar15 + 0xa8);\n    *(undefined4 *)(puVar15 + -0xc) = 4;\n    *(undefined4 *)(puVar15 + -0x10) = 9999;\n    *(undefined4 *)(puVar15 + -0x14) = 0;\n    *(undefined1 **)(puVar15 + -0x18) = puVar15 + 0x3c;\n    *(undefined4 *)(puVar15 + -0x1c) = *(undefined4 *)(puVar15 + 0xa4);\n    *(undefined4 *)(puVar15 + -0x20) = *(undefined4 *)(puVar15 + 0xa0);\n    *(undefined4 *)(puVar15 + -0x24) = *(undefined4 *)(puVar15 + 0x9c);\n    *(undefined4 *)(puVar15 + -0x28) = *(undefined4 *)(puVar15 + 0x98);\n    *(undefined4 *)(puVar15 + -0x2c) = *(undefined4 *)(puVar15 + 0x94);\n    *(undefined1 **)(puVar15 + -0x30) = puVar15 + 0x28;\n    *(undefined **)(puVar15 + -0x34) = &UNK_00202097;\n    FUN_001fc0e0();\n    *(undefined4 *)(puVar15 + 0x94) = *(undefined4 *)(puVar15 + 0x24);\n    *(undefined4 *)(puVar15 + 0x98) = *(undefined4 *)(puVar15 + 0x28);\n    puVar16 = puVar15 + -4;\n    if (*(int *)(puVar15 + 0x34) == 0) {\n      iVar1 = *(int *)(puVar15 + 0x38);\n      iVar13 = iVar1 + -0x76c;\n      if (iVar1 < 0) {\n        iVar13 = iVar1 + 100;\n      }\n      *(int *)(*(int *)(puVar15 + 0xac) + 0x14) = iVar13;\n      puVar16 = puVar15 + -4;\n    }\n    break;\n  case 0x44:\n    *(undefined1 **)(puVar15 + -4) = puVar15 + 0x40;\n    *(undefined **)(puVar15 + -8) = &UNK_002a3ee7;\n    pcVar11 = "%m/%d/%y";\n    goto code_r0x00201ca2;\n  default:\n    goto LAB_00201ab8;\n  case 0x48:\n    *(undefined1 **)(puVar15 + -4) = puVar15 + 0x38;\n    *(undefined4 *)(puVar15 + -8) = *(undefined4 *)(puVar15 + 0xa8);\n    *(undefined4 *)(puVar15 + -0xc) = 2;\n    *(undefined4 *)(puVar15 + -0x10) = 0x17;\n    *(undefined4 *)(puVar15 + -0x14) = 0;\n    goto code_r0x00201ba6;\n  case 0x49:\n    *(undefined1 **)(puVar15 + -4) = puVar15 + 0x38;\n    *(undefined4 *)(puVar15 + -8) = *(undefined4 *)(puVar15 + 0xa8);\n    *(undefined4 *)(puVar15 + -0xc) = 2;\n    *(undefined4 *)(puVar15 + -0x10) = 0xc;\n    *(undefined4 *)(puVar15 + -0x14) = 1;\ncode_r0x00201ba6:\n    *(undefined1 **)(puVar15 + -0x18) = puVar15 + 0x3c;\n    *(undefined4 *)(puVar15 + -0x1c) = *(undefined4 *)(puVar15 + 0xa4);\n    *(undefined4 *)(puVar15 + -0x20) = *(undefined4 *)(puVar15 + 0xa0);\n    *(undefined4 *)(puVar15 + -0x24) = *(undefined4 *)(puVar15 + 0x9c);\n    *(undefined4 *)(puVar15 + -0x28) = *(undefined4 *)(puVar15 + 0x98);\n    *(undefined4 *)(puVar15 + -0x2c) = *(undefined4 *)(puVar15 + 0x94);\n    *(undefined1 **)(puVar15 + -0x30) = puVar15 + 0x28;\n    *(undefined **)(puVar15 + -0x34) = &UNK_00201bd4;\n    FUN_001fc0e0();\n    *(undefined4 *)(puVar15 + 0x94) = *(undefined4 *)(puVar15 + 0x24);\n    *(undefined4 *)(puVar15 + 0x98) = *(undefined4 *)(puVar15 + 0x28);\n    puVar16 = puVar15 + -4;\n    if (*(int *)(puVar15 + 0x34) == 0) {\n      *(undefined4 *)(*(int *)(puVar15 + 0xac) + 8) = *(undefined4 *)(puVar15 + 0x38);\n      puVar16 = puVar15 + -4;\n    }\n    break;\n  case 0x4d:\n    *(undefined1 **)(puVar15 + -4) = puVar15 + 0x38;\n    *(undefined4 *)(puVar15 + -8) = *(undefined4 *)(puVar15 + 0xa8);\n    *(undefined4 *)(puVar15 + -0xc) = 2;\n    *(undefined4 *)(puVar15 + -0x10) = 0x3b;\n    *(undefined4 *)(puVar15 + -0x14) = 0;\n    *(undefined1 **)(puVar15 + -0x18) = puVar15 + 0x3c;\n    *(undefined4 *)(puVar15 + -0x1c) = *(undefined4 *)(puVar15 + 0xa4);\n    *(undefined4 *)(puVar15 + -0x20) = *(undefined4 *)(puVar15 + 0xa0);\n    *(undefined4 *)(puVar15 + -0x24) = *(undefined4 *)(puVar15 + 0x9c);\n    *(undefined4 *)(puVar15 + -0x28) = *(undefined4 *)(puVar15 + 0x98);\n    *(undefined4 *)(puVar15 + -0x2c) = *(undefined4 *)(puVar15 + 0x94);\n    *(undefined1 **)(puVar15 + -0x30) = puVar15 + 0x28;\n    *(undefined **)(puVar15 + -0x34) = &UNK_00201c54;\n    FUN_001fc0e0();\n    *(undefined4 *)(puVar15 + 0x94) = *(undefined4 *)(puVar15 + 0x24);\n    *(undefined4 *)(puVar15 + 0x98) = *(undefined4 *)(puVar15 + 0x28);\n    puVar16 = puVar15 + -4;\n    if (*(int *)(puVar15 + 0x34) == 0) {\n      *(undefined4 *)(*(int *)(puVar15 + 0xac) + 4) = *(undefined4 *)(puVar15 + 0x38);\n      puVar16 = puVar15 + -4;\n    }\n    break;\n  case 0x52:\n    *(undefined1 **)(puVar15 + -4) = puVar15 + 0x40;\n    *(char **)(puVar15 + -8) = "%H:%M:%S";\n    pcVar11 = "%H:%M";\n    goto code_r0x00201ca2;\n  case 0x53:\n    *(undefined1 **)(puVar15 + -4) = puVar15 + 0x38;\n    *(undefined4 *)(puVar15 + -8) = *(undefined4 *)(puVar15 + 0xa8);\n    *(undefined4 *)(puVar15 + -0xc) = 2;\n    *(undefined4 *)(puVar15 + -0x10) = 0x3c;\n    *(undefined4 *)(puVar15 + -0x14) = 0;\n    *(undefined1 **)(puVar15 + -0x18) = puVar15 + 0x3c;\n    *(undefined4 *)(puVar15 + -0x1c) = *(undefined4 *)(puVar15 + 0xa4);\n    *(undefined4 *)(puVar15 + -0x20) = *(undefined4 *)(puVar15 + 0xa0);\n    *(undefined4 *)(puVar15 + -0x24) = *(undefined4 *)(puVar15 + 0x9c);\n    *(undefined4 *)(puVar15 + -0x28) = *(undefined4 *)(puVar15 + 0x98);\n    *(undefined4 *)(puVar15 + -0x2c) = *(undefined4 *)(puVar15 + 0x94);\n    *(undefined1 **)(puVar15 + -0x30) = puVar15 + 0x28;\n    *(undefined **)(puVar15 + -0x34) = &UNK_00201cfc;\n    FUN_001fc0e0();\n    *(undefined4 *)(puVar15 + 0x94) = *(undefined4 *)(puVar15 + 0x24);\n    *(undefined4 *)(puVar15 + 0x98) = *(undefined4 *)(puVar15 + 0x28);\n    puVar16 = puVar15 + -4;\n    if (*(int *)(puVar15 + 0x34) == 0) {\n      **(undefined4 **)(puVar15 + 0xac) = *(undefined4 *)(puVar15 + 0x38);\n      puVar16 = puVar15 + -4;\n    }\n    break;\n  case 0x54:\n    *(undefined1 **)(puVar15 + -4) = puVar15 + 0x40;\n    *(undefined **)(puVar15 + -8) = &UNK_002a3ef6;\n    pcVar11 = "%H:%M:%S";\ncode_r0x00201ca2:\n    *(char **)(puVar15 + -0xc) = pcVar11;\n    *(int **)(puVar15 + -0x10) = piVar10;\n    *(undefined **)(puVar15 + -0x14) = &UNK_00201ca9;\n    FUN_001f94d0();\n    *(undefined1 **)(puVar15 + -0xc) = puVar15 + 0x40;\n    goto code_r0x00201b30;\n  case 0x58:\n    *(undefined4 *)(puVar15 + -0xc) = *(undefined4 *)(*(int *)(*(int *)(puVar15 + 0x18) + 8) + 0x10)\n    ;\n    goto code_r0x00201b30;\n  case 0x5a:\n    *(undefined **)(puVar15 + -4) = &UNK_00201d80;\n    uVar18 = FUN_001f91d0();\n    if ((*(byte *)(piVar10[6] + 1 + (uVar18 & 0xff) * 2) & 1) == 0) goto LAB_00201ab8;\n    *(undefined1 **)(puVar15 + 0x14) = puVar15 + 0x28;\n    puVar2 = puVar15 + 0x38;\n    *(undefined1 **)(puVar15 + -8) = puVar2;\n    *(undefined4 *)(puVar15 + -0xc) = *(undefined4 *)(puVar15 + 0xa8);\n    *(undefined4 *)(puVar15 + -0x10) = 0xe;\n    *(undefined4 *)(puVar15 + -0x14) = *(undefined4 *)(puVar15 + 0x24);\n    puVar3 = puVar15 + 0x40;\n    *(undefined1 **)(puVar15 + -0x18) = puVar3;\n    *(undefined4 *)(puVar15 + -0x1c) = *(undefined4 *)(puVar15 + 0xa4);\n    *(undefined4 *)(puVar15 + -0x20) = *(undefined4 *)(puVar15 + 0xa0);\n    *(undefined4 *)(puVar15 + -0x24) = *(undefined4 *)(puVar15 + 0x9c);\n    *(undefined4 *)(puVar15 + -0x28) = *(undefined4 *)(puVar15 + 0x98);\n    *(undefined4 *)(puVar15 + -0x2c) = *(undefined4 *)(puVar15 + 0x94);\n    *(undefined1 **)(puVar15 + -0x30) = puVar15 + 0x28;\n    *(undefined **)(puVar15 + -0x34) = &UNK_00201ddc;\n    FUN_00201020();\n    *(undefined4 *)(puVar15 + 0x94) = *(undefined4 *)(puVar15 + 0x24);\n    *(undefined4 *)(puVar15 + 0x98) = *(undefined4 *)(puVar15 + 0x28);\n    *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0xc);\n    *(undefined4 *)(puVar15 + -0x14) = *(undefined4 *)(puVar15 + 4);\n    *(undefined **)(puVar15 + -0x18) = &UNK_00201e02;\n    cVar6 = FUN_00200f70();\n    puVar16 = puVar15 + -4;\n    if ((cVar6 != '\0') ||\n       (puVar16 = puVar15 + -4, *(int *)(puVar15 + 0x34) != 0 || *(int *)(puVar15 + 0x3c) != 0))\n    break;\n    *(undefined **)(puVar15 + -8) = &UNK_00201e2b;\n    uVar12 = FUN_001f91d0();\n    iVar1 = piVar10[7];\n    *(undefined4 *)(puVar15 + 0x1c) = uVar12;\n    if ((char)iVar1 == '\0') {\n      *(undefined **)(puVar15 + -8) = &UNK_002023c1;\n      cVar6 = FUN_001f9220();\n    }\n    else {\n      cVar6 = *(char *)((int)piVar10 + 0x4a);\n    }\n    if (puVar15[0x1c] != cVar6) {\n      *(undefined **)(puVar15 + -8) = &UNK_00201e53;\n      uVar12 = FUN_001f91d0();\n      iVar1 = piVar10[7];\n      *(undefined4 *)(puVar15 + 0x1c) = uVar12;\n      if ((char)iVar1 == '\0') {\n        *(undefined **)(puVar15 + -8) = &UNK_002023d2;\n        cVar6 = FUN_001f9220();\n      }\n      else {\n        cVar6 = (char)piVar10[0x12];\n      }\n      puVar16 = puVar15 + -4;\n      if (puVar15[0x1c] != cVar6) break;\n    }\n    *(undefined1 **)(puVar15 + -8) = puVar2;\n    *(undefined4 *)(puVar15 + -0xc) = *(undefined4 *)(puVar15 + 0xa4);\n    *(undefined4 *)(puVar15 + -0x10) = 2;\n    *(undefined4 *)(puVar15 + -0x14) = 0x17;\n    *(undefined4 *)(puVar15 + -0x18) = 0;\n    *(undefined1 **)(puVar15 + -0x1c) = puVar3;\n    *(undefined4 *)(puVar15 + -0x20) = *(undefined4 *)(puVar15 + 0xa0);\n    *(undefined4 *)(puVar15 + -0x24) = *(undefined4 *)(puVar15 + 0x9c);\n    *(undefined4 *)(puVar15 + -0x28) = *(undefined4 *)(puVar15 + 0x98);\n    *(undefined4 *)(puVar15 + -0x2c) = *(undefined4 *)(puVar15 + 0x94);\n    *(undefined4 *)(puVar15 + -0x30) = *(undefined4 *)(puVar15 + 0x90);\n    *(undefined4 *)(puVar15 + -0x34) = *(undefined4 *)(puVar15 + 0x10);\n    *(undefined **)(puVar15 + -0x38) = &UNK_00201eaa;\n    FUN_001fc0e0();\n    *(undefined4 *)(puVar15 + 0x90) = *(undefined4 *)(puVar15 + 0x20);\n    *(undefined4 *)(puVar15 + 0x94) = *(undefined4 *)(puVar15 + 0x24);\n    *(undefined1 **)(puVar15 + -0xc) = puVar2;\n    *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0xa0);\n    *(undefined4 *)(puVar15 + -0x14) = 2;\n    *(undefined4 *)(puVar15 + -0x18) = 0x3b;\n    *(undefined4 *)(puVar15 + -0x1c) = 0;\n    *(undefined1 **)(puVar15 + -0x20) = puVar3;\n    *(undefined4 *)(puVar15 + -0x24) = *(undefined4 *)(puVar15 + 0x9c);\n    *(undefined4 *)(puVar15 + -0x28) = *(undefined4 *)(puVar15 + 0x98);\n    *(undefined4 *)(puVar15 + -0x2c) = *(undefined4 *)(puVar15 + 0x24);\n    *(undefined4 *)(puVar15 + -0x30) = *(undefined4 *)(puVar15 + 0x20);\n    *(undefined4 *)(puVar15 + -0x34) = *(undefined4 *)(puVar15 + 0x8c);\n    puVar17 = puVar15 + -0x38;\n    *(undefined4 *)(puVar15 + -0x38) = *(undefined4 *)(puVar15 + 0xc);\n    *(undefined **)(puVar15 + -0x3c) = &UNK_00201ef2;\n    FUN_001fc0e0();\n    goto code_r0x00201b6c;\n  case 0x61:\n    iVar1 = *(int *)(*(int *)(puVar15 + 0x18) + 8);\n    *(undefined4 *)(puVar15 + 0x40) = *(undefined4 *)(iVar1 + 0x48);\n    *(undefined4 *)(puVar15 + 0x44) = *(undefined4 *)(iVar1 + 0x4c);\n    *(undefined4 *)(puVar15 + 0x48) = *(undefined4 *)(iVar1 + 0x50);\n    *(undefined4 *)(puVar15 + 0x4c) = *(undefined4 *)(iVar1 + 0x54);\n    *(undefined4 *)(puVar15 + 0x50) = *(undefined4 *)(iVar1 + 0x58);\n    *(undefined4 *)(puVar15 + 0x54) = *(undefined4 *)(iVar1 + 0x5c);\n    uVar12 = *(undefined4 *)(iVar1 + 0x60);\ncode_r0x00201f34:\n    *(undefined4 *)(puVar15 + 0x58) = uVar12;\n    *(undefined1 **)(puVar15 + -8) = puVar15 + 0x38;\n    *(undefined4 *)(puVar15 + -0xc) = *(undefined4 *)(puVar15 + 0xa8);\n    *(undefined4 *)(puVar15 + -0x10) = 7;\n    *(undefined1 **)(puVar15 + -0x14) = puVar15 + 0x40;\n    *(undefined1 **)(puVar15 + -0x18) = puVar15 + 0x3c;\n    *(undefined4 *)(puVar15 + -0x1c) = *(undefined4 *)(puVar15 + 0xa4);\n    *(undefined4 *)(puVar15 + -0x20) = *(undefined4 *)(puVar15 + 0xa0);\n    *(undefined4 *)(puVar15 + -0x24) = *(undefined4 *)(puVar15 + 0x9c);\n    *(undefined4 *)(puVar15 + -0x28) = *(undefined4 *)(puVar15 + 0x98);\n    *(undefined4 *)(puVar15 + -0x2c) = *(undefined4 *)(puVar15 + 0x94);\n    *(undefined1 **)(puVar15 + -0x30) = puVar15 + 0x28;\n    *(undefined **)(puVar15 + -0x34) = &UNK_00201f80;\n    FUN_00201020();\n    *(undefined4 *)(puVar15 + 0x94) = *(undefined4 *)(puVar15 + 0x24);\n    *(undefined4 *)(puVar15 + 0x98) = *(undefined4 *)(puVar15 + 0x28);\n    puVar16 = puVar15 + -4;\n    if (*(int *)(puVar15 + 0x34) == 0) {\n      *(undefined4 *)(*(int *)(puVar15 + 0xac) + 0x18) = *(undefined4 *)(puVar15 + 0x38);\n      puVar16 = puVar15 + -4;\n    }\n    break;\n  case 0x62:\n  case 0x68:\n    *(undefined1 **)(puVar15 + -0xc) = puVar15 + 0x40;\n    *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0x18);\n    *(undefined **)(puVar15 + -0x14) = &UNK_00202171;\n    FUN_001fb0c0();\ncode_r0x00201fd1:\n    *(undefined1 **)(puVar15 + -8) = puVar15 + 0x38;\n    *(undefined4 *)(puVar15 + -0xc) = *(undefined4 *)(puVar15 + 0xa8);\n    *(undefined4 *)(puVar15 + -0x10) = 0xc;\n    *(undefined1 **)(puVar15 + -0x14) = puVar15 + 0x40;\n    *(undefined1 **)(puVar15 + -0x18) = puVar15 + 0x3c;\n    *(undefined4 *)(puVar15 + -0x1c) = *(undefined4 *)(puVar15 + 0xa4);\n    *(undefined4 *)(puVar15 + -0x20) = *(undefined4 *)(puVar15 + 0xa0);\n    *(undefined4 *)(puVar15 + -0x24) = *(undefined4 *)(puVar15 + 0x9c);\n    *(undefined4 *)(puVar15 + -0x28) = *(undefined4 *)(puVar15 + 0x98);\n    *(undefined4 *)(puVar15 + -0x2c) = *(undefined4 *)(puVar15 + 0x94);\n    *(undefined1 **)(puVar15 + -0x30) = puVar15 + 0x28;\n    *(undefined **)(puVar15 + -0x34) = &UNK_00202015;\n    FUN_00201020();\n    *(undefined4 *)(puVar15 + 0x94) = *(undefined4 *)(puVar15 + 0x24);\n    *(undefined4 *)(puVar15 + 0x98) = *(undefined4 *)(puVar15 + 0x28);\n    puVar16 = puVar15 + -4;\n    if (*(int *)(puVar15 + 0x34) == 0) {\n      *(undefined4 *)(*(int *)(puVar15 + 0xac) + 0x10) = *(undefined4 *)(puVar15 + 0x38);\n      puVar16 = puVar15 + -4;\n    }\n    break;\n  case 99:\n    *(undefined4 *)(puVar15 + -0xc) = *(undefined4 *)(*(int *)(*(int *)(puVar15 + 0x18) + 8) + 0x18)\n    ;\n    goto code_r0x00201b30;\n  case 100:\n    *(undefined1 **)(puVar15 + -4) = puVar15 + 0x38;\n    *(undefined4 *)(puVar15 + -8) = *(undefined4 *)(puVar15 + 0xa8);\n    *(undefined4 *)(puVar15 + -0xc) = 2;\n    *(undefined4 *)(puVar15 + -0x10) = 0x1f;\n    *(undefined4 *)(puVar15 + -0x14) = 1;\n    goto code_r0x002021b6;\n  case 0x65:\n    *(undefined **)(puVar15 + -4) = &UNK_00202230;\n    uVar18 = FUN_001f91d0();\n    if ((*(byte *)(piVar10[6] + 1 + (uVar18 & 0xff) * 2) & 0x20) == 0) {\n      *(undefined1 **)(puVar15 + -4) = puVar15 + 0x38;\n      *(undefined4 *)(puVar15 + -8) = *(undefined4 *)(puVar15 + 0xa8);\n      *(undefined4 *)(puVar15 + -0xc) = 2;\n      *(undefined4 *)(puVar15 + -0x10) = 0x1f;\n      *(undefined4 *)(puVar15 + -0x14) = 10;\n    }\n    else {\n      *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0x98);\n      *(undefined **)(puVar15 + -0x14) = &UNK_00202250;\n      FUN_001f24d0();\n      *(undefined4 *)(puVar15 + 0x9c) = 0xffffffff;\n      *(undefined1 **)(puVar15 + -4) = puVar15 + 0x38;\n      *(undefined4 *)(puVar15 + -8) = *(undefined4 *)(puVar15 + 0xa8);\n      *(undefined4 *)(puVar15 + -0xc) = 1;\n      *(undefined4 *)(puVar15 + -0x10) = 9;\n      *(undefined4 *)(puVar15 + -0x14) = 1;\n    }\ncode_r0x002021b6:\n    *(undefined1 **)(puVar15 + -0x18) = puVar15 + 0x3c;\n    *(undefined4 *)(puVar15 + -0x1c) = *(undefined4 *)(puVar15 + 0xa4);\n    *(undefined4 *)(puVar15 + -0x20) = *(undefined4 *)(puVar15 + 0xa0);\n    *(undefined4 *)(puVar15 + -0x24) = *(undefined4 *)(puVar15 + 0x9c);\n    *(undefined4 *)(puVar15 + -0x28) = *(undefined4 *)(puVar15 + 0x98);\n    *(undefined4 *)(puVar15 + -0x2c) = *(undefined4 *)(puVar15 + 0x94);\n    *(undefined1 **)(puVar15 + -0x30) = puVar15 + 0x28;\n    *(undefined **)(puVar15 + -0x34) = &UNK_002021e4;\n    FUN_001fc0e0();\n    *(undefined4 *)(puVar15 + 0x94) = *(undefined4 *)(puVar15 + 0x24);\n    *(undefined4 *)(puVar15 + 0x98) = *(undefined4 *)(puVar15 + 0x28);\n    puVar16 = puVar15 + -4;\n    if (*(int *)(puVar15 + 0x34) == 0) {\n      *(undefined4 *)(*(int *)(puVar15 + 0xac) + 0xc) = *(undefined4 *)(puVar15 + 0x38);\n      puVar16 = puVar15 + -4;\n    }\n    break;\n  case 0x6d:\n    *(undefined1 **)(puVar15 + -4) = puVar15 + 0x38;\n    *(undefined4 *)(puVar15 + -8) = *(undefined4 *)(puVar15 + 0xa8);\n    *(undefined4 *)(puVar15 + -0xc) = 2;\n    *(undefined4 *)(puVar15 + -0x10) = 0xc;\n    *(undefined4 *)(puVar15 + -0x14) = 1;\n    *(undefined1 **)(puVar15 + -0x18) = puVar15 + 0x3c;\n    *(undefined4 *)(puVar15 + -0x1c) = *(undefined4 *)(puVar15 + 0xa4);\n    *(undefined4 *)(puVar15 + -0x20) = *(undefined4 *)(puVar15 + 0xa0);\n    *(undefined4 *)(puVar15 + -0x24) = *(undefined4 *)(puVar15 + 0x9c);\n    *(undefined4 *)(puVar15 + -0x28) = *(undefined4 *)(puVar15 + 0x98);\n    *(undefined4 *)(puVar15 + -0x2c) = *(undefined4 *)(puVar15 + 0x94);\n    *(undefined1 **)(puVar15 + -0x30) = puVar15 + 0x28;\n    *(undefined **)(puVar15 + -0x34) = &UNK_002022c4;\n    FUN_001fc0e0();\n    *(undefined4 *)(puVar15 + 0x94) = *(undefined4 *)(puVar15 + 0x24);\n    *(undefined4 *)(puVar15 + 0x98) = *(undefined4 *)(puVar15 + 0x28);\n    puVar16 = puVar15 + -4;\n    if (*(int *)(puVar15 + 0x34) == 0) {\n      *(int *)(*(int *)(puVar15 + 0xac) + 0x10) = *(int *)(puVar15 + 0x38) + -1;\n      puVar16 = puVar15 + -4;\n    }\n    break;\n  case 0x6e:\n    *(undefined **)(puVar15 + -4) = &UNK_00202310;\n    bVar9 = FUN_001f91d0();\n    bVar8 = *(byte *)((int)piVar10 + bVar9 + 0x11d);\n    if (bVar8 == 0) {\n      pcVar4 = *(code **)(*piVar10 + 0x20);\n      bVar8 = bVar9;\n      if (pcVar4 != (code *)PTR_FUN_0038ed98) {\n        *(undefined4 *)(puVar15 + -8) = 0;\n        *(int *)(puVar15 + -0xc) = (int)(char)bVar9;\n        *(int **)(puVar15 + -0x10) = piVar10;\n        *(undefined **)(puVar15 + -0x14) = &UNK_002023ab;\n        bVar8 = (*pcVar4)();\n      }\n      if (bVar8 == 0) goto LAB_00201ab8;\n      *(byte *)((int)piVar10 + bVar9 + 0x11d) = bVar8;\n    }\n    if (bVar8 != 10) goto LAB_00201ab8;\ncode_r0x00202346:\n    *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0x98);\n    *(undefined **)(puVar15 + -0x14) = &UNK_00202355;\n    FUN_001f24d0();\n    *(undefined4 *)(puVar15 + 0x9c) = 0xffffffff;\n    break;\n  case 0x74:\n    *(undefined **)(puVar15 + -4) = &UNK_00201a70;\n    bVar9 = FUN_001f91d0();\n    bVar8 = *(byte *)((int)piVar10 + bVar9 + 0x11d);\n    if (bVar8 == 0) {\n      pcVar4 = *(code **)(*piVar10 + 0x20);\n      bVar8 = bVar9;\n      if (pcVar4 != *(code **)(puVar15 + 0x1c)) {\n        *(undefined4 *)(puVar15 + -8) = 0;\n        *(int *)(puVar15 + -0xc) = (int)(char)bVar9;\n        *(int **)(puVar15 + -0x10) = piVar10;\n        *(undefined **)(puVar15 + -0x14) = &UNK_00201a98;\n        bVar8 = (*pcVar4)();\n      }\n      if (bVar8 == 0) goto LAB_00201ab8;\n      *(byte *)((int)piVar10 + bVar9 + 0x11d) = bVar8;\n    }\n    if (bVar8 == 9) goto code_r0x00202346;\n    goto LAB_00201ab8;\n  case 0x78:\n    *(undefined4 *)(puVar15 + -0xc) = *(undefined4 *)(*(int *)(*(int *)(puVar15 + 0x18) + 8) + 8);\ncode_r0x00201b30:\n    *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0xb0);\n    *(undefined1 **)(puVar15 + -0x14) = puVar15 + 0x38;\n    *(undefined4 *)(puVar15 + -0x18) = *(undefined4 *)(puVar15 + 0xa8);\n    *(undefined4 *)(puVar15 + -0x1c) = *(undefined4 *)(puVar15 + 0xa4);\n    *(undefined4 *)(puVar15 + -0x20) = *(undefined4 *)(puVar15 + 0xa0);\n    *(undefined4 *)(puVar15 + -0x24) = *(undefined4 *)(puVar15 + 0x9c);\n    *(undefined4 *)(puVar15 + -0x28) = *(undefined4 *)(puVar15 + 0x98);\n    *(undefined4 *)(puVar15 + -0x2c) = *(undefined4 *)(puVar15 + 0x94);\n    puVar17 = puVar15 + -0x30;\n    *(undefined1 **)(puVar15 + -0x30) = puVar15 + 0x28;\n    *(undefined **)(puVar15 + -0x34) = &UNK_00201b6c;\n    FUN_00201820();\ncode_r0x00201b6c:\n    *(undefined4 *)(puVar17 + 0xc4) = *(undefined4 *)(puVar17 + 0x54);\n    *(undefined4 *)(puVar17 + 200) = *(undefined4 *)(puVar17 + 0x58);\n    puVar16 = puVar17 + 0x2c;\n  }\ncode_r0x00201ac0:\n  uVar18 = *(int *)(puVar16 + 4) + 1;\n  puVar15 = puVar16;\n  goto LAB_0020189b;\nLAB_00201ab8:\n  *(uint *)(puVar15 + 0x38) = *(uint *)(puVar15 + 0x38) | 4;\n  goto code_r0x00201ac0;\n}" { (declaration "int iVar1;" primitive_type identifier ;) (declaration "undefined1 *puVar2;" type_identifier (pointer_declarator "*puVar2" * identifier) ;) (declaration "undefined1 *puVar3;" type_identifier (pointer_declarator "*puVar3" * identifier) ;) (declaration "code *pcVar4;" type_identifier (pointer_declarator "*pcVar4" * identifier) ;) (declaration "undefined4 *puVar5;" type_identifier (pointer_declarator "*puVar5" * identifier) ;) (declaration "char cVar6;" primitive_type identifier ;) (declaration "char cVar7;" primitive_type identifier ;) (declaration "byte bVar8;" type_identifier identifier ;) (declaration "byte bVar9;" type_identifier identifier ;) (declaration "int *piVar10;" primitive_type (pointer_declarator "*piVar10" * identifier) ;) (declaration "char *pcVar11;" primitive_type (pointer_declarator "*pcVar11" * identifier) ;) (declaration "undefined4 uVar12;" type_identifier identifier ;) (declaration "int iVar13;" primitive_type identifier ;) (declaration "uint uVar14;" type_identifier identifier ;) (declaration "undefined1 *puVar15;" type_identifier (pointer_declarator "*puVar15" * identifier) ;) (declaration "undefined1 *puVar16;" type_identifier (pointer_declarator "*puVar16" * identifier) ;) (declaration "undefined1 *puVar17;" type_identifier (pointer_declarator "*puVar17" * identifier) ;) (declaration "uint uVar18;" type_identifier identifier ;) (declaration "int in_stack_0000001c;" primitive_type identifier ;) (declaration "char *in_stack_00000028;" primitive_type (pointer_declarator "*in_stack_00000028" * identifier) ;) (declaration "undefined1 auStack_8c [8];" type_identifier (array_declarator "auStack_8c [8]" identifier [ number_literal ]) ;) (declaration "undefined1 *local_84;" type_identifier (pointer_declarator "*local_84" * identifier) ;) (declaration "size_t local_80;" primitive_type identifier ;) (declaration "undefined1 *local_7c;" type_identifier (pointer_declarator "*local_7c" * identifier) ;) (declaration "undefined4 local_74;" type_identifier identifier ;) (declaration "code *local_70;" type_identifier (pointer_declarator "*local_70" * identifier) ;) (declaration "undefined **local_68;" type_identifier (pointer_declarator "**local_68" * (pointer_declarator "*local_68" * identifier)) ;) (declaration "undefined4 local_54;" type_identifier identifier ;) (declaration "undefined4 uStack_14;" type_identifier identifier ;) (expression_statement "uVar18 = 0;" (assignment_expression "uVar18 = 0" identifier = number_literal) ;) (expression_statement "uStack_14 = 0x20182b;" (assignment_expression "uStack_14 = 0x20182b" identifier = number_literal) ;) (expression_statement "iVar1 = in_stack_0000001c + 0x6c;" (assignment_expression "iVar1 = in_stack_0000001c + 0x6c" identifier = (binary_expression "in_stack_0000001c + 0x6c" identifier + number_literal)) ;) (expression_statement "local_74 = FUN_001fd780(iVar1);" (assignment_expression "local_74 = FUN_001fd780(iVar1)" identifier = (call_expression "FUN_001fd780(iVar1)" identifier (argument_list "(iVar1)" ( identifier )))) ;) (expression_statement "piVar10 = (int *)FUN_001fbde0(iVar1);" (assignment_expression "piVar10 = (int *)FUN_001fbde0(iVar1)" identifier = (cast_expression "(int *)FUN_001fbde0(iVar1)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_001fbde0(iVar1)" identifier (argument_list "(iVar1)" ( identifier ))))) ;) (expression_statement "local_80 = strlen(in_stack_00000028);" (assignment_expression "local_80 = strlen(in_stack_00000028)" identifier = (call_expression "strlen(in_stack_00000028)" identifier (argument_list "(in_stack_00000028)" ( identifier )))) ;) (expression_statement "local_7c = &stack0x00000014;" (assignment_expression "local_7c = &stack0x00000014" identifier = (pointer_expression "&stack0x00000014" & identifier)) ;) (expression_statement "local_84 = &stack0x0000000c;" (assignment_expression "local_84 = &stack0x0000000c" identifier = (pointer_expression "&stack0x0000000c" & identifier)) ;) (expression_statement "local_54 = 0;" (assignment_expression "local_54 = 0" identifier = number_literal) ;) (expression_statement "local_68 = &PTR_DAT_0038f400;" (assignment_expression "local_68 = &PTR_DAT_0038f400" identifier = (pointer_expression "&PTR_DAT_0038f400" & identifier)) ;) (expression_statement "local_70 = FUN_001f81a0;" (assignment_expression "local_70 = FUN_001f81a0" identifier = identifier) ;) (expression_statement "puVar15 = auStack_8c;" (assignment_expression "puVar15 = auStack_8c" identifier = identifier) ;) (labeled_statement "LAB_0020189b:\n  *(undefined4 *)(puVar15 + -0xc) = *(undefined4 *)(puVar15 + 0x10);" statement_identifier : (expression_statement "*(undefined4 *)(puVar15 + -0xc) = *(undefined4 *)(puVar15 + 0x10);" (assignment_expression "*(undefined4 *)(puVar15 + -0xc) = *(undefined4 *)(puVar15 + 0x10)" (pointer_expression "*(undefined4 *)(puVar15 + -0xc)" * (cast_expression "(undefined4 *)(puVar15 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0xc)" ( (binary_expression "puVar15 + -0xc" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar15 + 0x10)" * (cast_expression "(undefined4 *)(puVar15 + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x10)" ( (binary_expression "puVar15 + 0x10" identifier + number_literal) ))))) ;)) (expression_statement "*(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 8);" (assignment_expression "*(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 8)" (pointer_expression "*(undefined4 *)(puVar15 + -0x10)" * (cast_expression "(undefined4 *)(puVar15 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x10)" ( (binary_expression "puVar15 + -0x10" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar15 + 8)" * (cast_expression "(undefined4 *)(puVar15 + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 8)" ( (binary_expression "puVar15 + 8" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x14) = 0x2018ab;" (assignment_expression "*(undefined4 *)(puVar15 + -0x14) = 0x2018ab" (pointer_expression "*(undefined4 *)(puVar15 + -0x14)" * (cast_expression "(undefined4 *)(puVar15 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x14)" ( (binary_expression "puVar15 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "cVar6 = FUN_00200f70();" (assignment_expression "cVar6 = FUN_00200f70()" identifier = (call_expression "FUN_00200f70()" identifier (argument_list "()" ( )))) ;) (if_statement "if ((cVar6 == '\x01') || (*(uint *)(puVar15 + 0xc) <= uVar18)) {\n    if ((*(int *)(puVar15 + 0x38) != 0) || (uVar18 != *(uint *)(puVar15 + 0xc))) {\nLAB_00201a0e:\n      **(uint **)(puVar15 + 0xac) = **(uint **)(puVar15 + 0xac) | 4;\n    }\n    puVar5 = *(undefined4 **)(puVar15 + 0x90);\n    uVar12 = *(undefined4 *)(puVar15 + 0x9c);\n    *puVar5 = *(undefined4 *)(puVar15 + 0x98);\n    puVar5[1] = uVar12;\n    return puVar5;\n  }" if (parenthesized_expression "((cVar6 == '\x01') || (*(uint *)(puVar15 + 0xc) <= uVar18))" ( (binary_expression "(cVar6 == '\x01') || (*(uint *)(puVar15 + 0xc) <= uVar18)" (parenthesized_expression "(cVar6 == '\x01')" ( (binary_expression "cVar6 == '\x01'" identifier == (char_literal "'\x01'" ' escape_sequence ')) )) || (parenthesized_expression "(*(uint *)(puVar15 + 0xc) <= uVar18)" ( (binary_expression "*(uint *)(puVar15 + 0xc) <= uVar18" (pointer_expression "*(uint *)(puVar15 + 0xc)" * (cast_expression "(uint *)(puVar15 + 0xc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0xc)" ( (binary_expression "puVar15 + 0xc" identifier + number_literal) )))) <= identifier) ))) )) (compound_statement "{\n    if ((*(int *)(puVar15 + 0x38) != 0) || (uVar18 != *(uint *)(puVar15 + 0xc))) {\nLAB_00201a0e:\n      **(uint **)(puVar15 + 0xac) = **(uint **)(puVar15 + 0xac) | 4;\n    }\n    puVar5 = *(undefined4 **)(puVar15 + 0x90);\n    uVar12 = *(undefined4 *)(puVar15 + 0x9c);\n    *puVar5 = *(undefined4 *)(puVar15 + 0x98);\n    puVar5[1] = uVar12;\n    return puVar5;\n  }" { (if_statement "if ((*(int *)(puVar15 + 0x38) != 0) || (uVar18 != *(uint *)(puVar15 + 0xc))) {\nLAB_00201a0e:\n      **(uint **)(puVar15 + 0xac) = **(uint **)(puVar15 + 0xac) | 4;\n    }" if (parenthesized_expression "((*(int *)(puVar15 + 0x38) != 0) || (uVar18 != *(uint *)(puVar15 + 0xc)))" ( (binary_expression "(*(int *)(puVar15 + 0x38) != 0) || (uVar18 != *(uint *)(puVar15 + 0xc))" (parenthesized_expression "(*(int *)(puVar15 + 0x38) != 0)" ( (binary_expression "*(int *)(puVar15 + 0x38) != 0" (pointer_expression "*(int *)(puVar15 + 0x38)" * (cast_expression "(int *)(puVar15 + 0x38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x38)" ( (binary_expression "puVar15 + 0x38" identifier + number_literal) )))) != number_literal) )) || (parenthesized_expression "(uVar18 != *(uint *)(puVar15 + 0xc))" ( (binary_expression "uVar18 != *(uint *)(puVar15 + 0xc)" identifier != (pointer_expression "*(uint *)(puVar15 + 0xc)" * (cast_expression "(uint *)(puVar15 + 0xc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0xc)" ( (binary_expression "puVar15 + 0xc" identifier + number_literal) ))))) ))) )) (compound_statement "{\nLAB_00201a0e:\n      **(uint **)(puVar15 + 0xac) = **(uint **)(puVar15 + 0xac) | 4;\n    }" { (labeled_statement "LAB_00201a0e:\n      **(uint **)(puVar15 + 0xac) = **(uint **)(puVar15 + 0xac) | 4;" statement_identifier : (expression_statement "**(uint **)(puVar15 + 0xac) = **(uint **)(puVar15 + 0xac) | 4;" (assignment_expression "**(uint **)(puVar15 + 0xac) = **(uint **)(puVar15 + 0xac) | 4" (pointer_expression "**(uint **)(puVar15 + 0xac)" * (pointer_expression "*(uint **)(puVar15 + 0xac)" * (cast_expression "(uint **)(puVar15 + 0xac)" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + 0xac)" ( (binary_expression "puVar15 + 0xac" identifier + number_literal) ))))) = (binary_expression "**(uint **)(puVar15 + 0xac) | 4" (pointer_expression "**(uint **)(puVar15 + 0xac)" * (pointer_expression "*(uint **)(puVar15 + 0xac)" * (cast_expression "(uint **)(puVar15 + 0xac)" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + 0xac)" ( (binary_expression "puVar15 + 0xac" identifier + number_literal) ))))) | number_literal)) ;)) })) (expression_statement "puVar5 = *(undefined4 **)(puVar15 + 0x90);" (assignment_expression "puVar5 = *(undefined4 **)(puVar15 + 0x90)" identifier = (pointer_expression "*(undefined4 **)(puVar15 + 0x90)" * (cast_expression "(undefined4 **)(puVar15 + 0x90)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + 0x90)" ( (binary_expression "puVar15 + 0x90" identifier + number_literal) ))))) ;) (expression_statement "uVar12 = *(undefined4 *)(puVar15 + 0x9c);" (assignment_expression "uVar12 = *(undefined4 *)(puVar15 + 0x9c)" identifier = (pointer_expression "*(undefined4 *)(puVar15 + 0x9c)" * (cast_expression "(undefined4 *)(puVar15 + 0x9c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x9c)" ( (binary_expression "puVar15 + 0x9c" identifier + number_literal) ))))) ;) (expression_statement "*puVar5 = *(undefined4 *)(puVar15 + 0x98);" (assignment_expression "*puVar5 = *(undefined4 *)(puVar15 + 0x98)" (pointer_expression "*puVar5" * identifier) = (pointer_expression "*(undefined4 *)(puVar15 + 0x98)" * (cast_expression "(undefined4 *)(puVar15 + 0x98)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x98)" ( (binary_expression "puVar15 + 0x98" identifier + number_literal) ))))) ;) (expression_statement "puVar5[1] = uVar12;" (assignment_expression "puVar5[1] = uVar12" (subscript_expression "puVar5[1]" identifier [ number_literal ]) = identifier) ;) (return_statement "return puVar5;" return identifier ;) })) (if_statement "if (*(int *)(puVar15 + 0x38) != 0) goto LAB_00201a0e;" if (parenthesized_expression "(*(int *)(puVar15 + 0x38) != 0)" ( (binary_expression "*(int *)(puVar15 + 0x38) != 0" (pointer_expression "*(int *)(puVar15 + 0x38)" * (cast_expression "(int *)(puVar15 + 0x38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x38)" ( (binary_expression "puVar15 + 0x38" identifier + number_literal) )))) != number_literal) )) (goto_statement "goto LAB_00201a0e;" goto statement_identifier ;)) (expression_statement "bVar8 = *(byte *)(*(int *)(puVar15 + 0xb4) + uVar18);" (assignment_expression "bVar8 = *(byte *)(*(int *)(puVar15 + 0xb4) + uVar18)" identifier = (pointer_expression "*(byte *)(*(int *)(puVar15 + 0xb4) + uVar18)" * (cast_expression "(byte *)(*(int *)(puVar15 + 0xb4) + uVar18)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar15 + 0xb4) + uVar18)" ( (binary_expression "*(int *)(puVar15 + 0xb4) + uVar18" (pointer_expression "*(int *)(puVar15 + 0xb4)" * (cast_expression "(int *)(puVar15 + 0xb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0xb4)" ( (binary_expression "puVar15 + 0xb4" identifier + number_literal) )))) + identifier) ))))) ;) (expression_statement "uVar14 = (uint)bVar8;" (assignment_expression "uVar14 = (uint)bVar8" identifier = (cast_expression "(uint)bVar8" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "*(byte **)(puVar15 + 0x14) = (byte *)(*(int *)(puVar15 + 0xb4) + uVar18);" (assignment_expression "*(byte **)(puVar15 + 0x14) = (byte *)(*(int *)(puVar15 + 0xb4) + uVar18)" (pointer_expression "*(byte **)(puVar15 + 0x14)" * (cast_expression "(byte **)(puVar15 + 0x14)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + 0x14)" ( (binary_expression "puVar15 + 0x14" identifier + number_literal) )))) = (cast_expression "(byte *)(*(int *)(puVar15 + 0xb4) + uVar18)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar15 + 0xb4) + uVar18)" ( (binary_expression "*(int *)(puVar15 + 0xb4) + uVar18" (pointer_expression "*(int *)(puVar15 + 0xb4)" * (cast_expression "(int *)(puVar15 + 0xb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0xb4)" ( (binary_expression "puVar15 + 0xb4" identifier + number_literal) )))) + identifier) )))) ;) (expression_statement "*(uint *)(puVar15 + 4) = uVar18 + 1;" (assignment_expression "*(uint *)(puVar15 + 4) = uVar18 + 1" (pointer_expression "*(uint *)(puVar15 + 4)" * (cast_expression "(uint *)(puVar15 + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 4)" ( (binary_expression "puVar15 + 4" identifier + number_literal) )))) = (binary_expression "uVar18 + 1" identifier + number_literal)) ;) (expression_statement "bVar9 = *(byte *)((int)piVar10 + uVar14 + 0x11d);" (assignment_expression "bVar9 = *(byte *)((int)piVar10 + uVar14 + 0x11d)" identifier = (pointer_expression "*(byte *)((int)piVar10 + uVar14 + 0x11d)" * (cast_expression "(byte *)((int)piVar10 + uVar14 + 0x11d)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar10 + uVar14 + 0x11d)" ( (binary_expression "(int)piVar10 + uVar14 + 0x11d" (binary_expression "(int)piVar10 + uVar14" (cast_expression "(int)piVar10" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + number_literal) ))))) ;) (if_statement "if (bVar9 == 0) {\n    pcVar4 = *(code **)(*piVar10 + 0x20);\n    bVar9 = bVar8;\n    if (pcVar4 != (code *)PTR_FUN_0038ed98) {\n      *(uint *)(puVar15 + 0x20) = uVar14;\n      *(undefined4 *)(puVar15 + -8) = 0;\n      *(int *)(puVar15 + -0xc) = (int)(char)bVar8;\n      *(int **)(puVar15 + -0x10) = piVar10;\n      *(undefined4 *)(puVar15 + -0x14) = 0x201a50;\n      bVar9 = (*pcVar4)();\n      uVar14 = *(uint *)(puVar15 + 0x20);\n    }\n    if (bVar9 != 0) {\n      *(byte *)((int)piVar10 + uVar14 + 0x11d) = bVar9;\n      goto LAB_00201910;\n    }\nLAB_00201980:\n    cVar6 = **(char **)(puVar15 + 0x14);\n    *(undefined4 *)(puVar15 + -4) = 0x201997;\n    cVar7 = FUN_001f91d0();\n    if (cVar6 == cVar7) {\n      *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0x98);\n      *(undefined4 *)(puVar15 + -0x14) = 0x201adf;\n      FUN_001f24d0();\n      *(undefined4 *)(puVar15 + 0x9c) = 0xffffffff;\n      uVar18 = *(uint *)(puVar15 + 4);\n    }\n    else {\n      *(uint *)(puVar15 + 0x38) = *(uint *)(puVar15 + 0x38) | 4;\n      uVar18 = *(uint *)(puVar15 + 4);\n    }\n    goto LAB_0020189b;\n  }" if (parenthesized_expression "(bVar9 == 0)" ( (binary_expression "bVar9 == 0" identifier == number_literal) )) (compound_statement "{\n    pcVar4 = *(code **)(*piVar10 + 0x20);\n    bVar9 = bVar8;\n    if (pcVar4 != (code *)PTR_FUN_0038ed98) {\n      *(uint *)(puVar15 + 0x20) = uVar14;\n      *(undefined4 *)(puVar15 + -8) = 0;\n      *(int *)(puVar15 + -0xc) = (int)(char)bVar8;\n      *(int **)(puVar15 + -0x10) = piVar10;\n      *(undefined4 *)(puVar15 + -0x14) = 0x201a50;\n      bVar9 = (*pcVar4)();\n      uVar14 = *(uint *)(puVar15 + 0x20);\n    }\n    if (bVar9 != 0) {\n      *(byte *)((int)piVar10 + uVar14 + 0x11d) = bVar9;\n      goto LAB_00201910;\n    }\nLAB_00201980:\n    cVar6 = **(char **)(puVar15 + 0x14);\n    *(undefined4 *)(puVar15 + -4) = 0x201997;\n    cVar7 = FUN_001f91d0();\n    if (cVar6 == cVar7) {\n      *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0x98);\n      *(undefined4 *)(puVar15 + -0x14) = 0x201adf;\n      FUN_001f24d0();\n      *(undefined4 *)(puVar15 + 0x9c) = 0xffffffff;\n      uVar18 = *(uint *)(puVar15 + 4);\n    }\n    else {\n      *(uint *)(puVar15 + 0x38) = *(uint *)(puVar15 + 0x38) | 4;\n      uVar18 = *(uint *)(puVar15 + 4);\n    }\n    goto LAB_0020189b;\n  }" { (expression_statement "pcVar4 = *(code **)(*piVar10 + 0x20);" (assignment_expression "pcVar4 = *(code **)(*piVar10 + 0x20)" identifier = (pointer_expression "*(code **)(*piVar10 + 0x20)" * (cast_expression "(code **)(*piVar10 + 0x20)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*piVar10 + 0x20)" ( (binary_expression "*piVar10 + 0x20" (pointer_expression "*piVar10" * identifier) + number_literal) ))))) ;) (expression_statement "bVar9 = bVar8;" (assignment_expression "bVar9 = bVar8" identifier = identifier) ;) (if_statement "if (pcVar4 != (code *)PTR_FUN_0038ed98) {\n      *(uint *)(puVar15 + 0x20) = uVar14;\n      *(undefined4 *)(puVar15 + -8) = 0;\n      *(int *)(puVar15 + -0xc) = (int)(char)bVar8;\n      *(int **)(puVar15 + -0x10) = piVar10;\n      *(undefined4 *)(puVar15 + -0x14) = 0x201a50;\n      bVar9 = (*pcVar4)();\n      uVar14 = *(uint *)(puVar15 + 0x20);\n    }" if (parenthesized_expression "(pcVar4 != (code *)PTR_FUN_0038ed98)" ( (binary_expression "pcVar4 != (code *)PTR_FUN_0038ed98" identifier != (cast_expression "(code *)PTR_FUN_0038ed98" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (compound_statement "{\n      *(uint *)(puVar15 + 0x20) = uVar14;\n      *(undefined4 *)(puVar15 + -8) = 0;\n      *(int *)(puVar15 + -0xc) = (int)(char)bVar8;\n      *(int **)(puVar15 + -0x10) = piVar10;\n      *(undefined4 *)(puVar15 + -0x14) = 0x201a50;\n      bVar9 = (*pcVar4)();\n      uVar14 = *(uint *)(puVar15 + 0x20);\n    }" { (expression_statement "*(uint *)(puVar15 + 0x20) = uVar14;" (assignment_expression "*(uint *)(puVar15 + 0x20) = uVar14" (pointer_expression "*(uint *)(puVar15 + 0x20)" * (cast_expression "(uint *)(puVar15 + 0x20)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x20)" ( (binary_expression "puVar15 + 0x20" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar15 + -8) = 0;" (assignment_expression "*(undefined4 *)(puVar15 + -8) = 0" (pointer_expression "*(undefined4 *)(puVar15 + -8)" * (cast_expression "(undefined4 *)(puVar15 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -8)" ( (binary_expression "puVar15 + -8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(puVar15 + -0xc) = (int)(char)bVar8;" (assignment_expression "*(int *)(puVar15 + -0xc) = (int)(char)bVar8" (pointer_expression "*(int *)(puVar15 + -0xc)" * (cast_expression "(int *)(puVar15 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0xc)" ( (binary_expression "puVar15 + -0xc" identifier + number_literal) )))) = (cast_expression "(int)(char)bVar8" ( (type_descriptor "int" primitive_type) ) (cast_expression "(char)bVar8" ( (type_descriptor "char" primitive_type) ) identifier))) ;) (expression_statement "*(int **)(puVar15 + -0x10) = piVar10;" (assignment_expression "*(int **)(puVar15 + -0x10) = piVar10" (pointer_expression "*(int **)(puVar15 + -0x10)" * (cast_expression "(int **)(puVar15 + -0x10)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + -0x10)" ( (binary_expression "puVar15 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x14) = 0x201a50;" (assignment_expression "*(undefined4 *)(puVar15 + -0x14) = 0x201a50" (pointer_expression "*(undefined4 *)(puVar15 + -0x14)" * (cast_expression "(undefined4 *)(puVar15 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x14)" ( (binary_expression "puVar15 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "bVar9 = (*pcVar4)();" (assignment_expression "bVar9 = (*pcVar4)()" identifier = (call_expression "(*pcVar4)()" (parenthesized_expression "(*pcVar4)" ( (pointer_expression "*pcVar4" * identifier) )) (argument_list "()" ( )))) ;) (expression_statement "uVar14 = *(uint *)(puVar15 + 0x20);" (assignment_expression "uVar14 = *(uint *)(puVar15 + 0x20)" identifier = (pointer_expression "*(uint *)(puVar15 + 0x20)" * (cast_expression "(uint *)(puVar15 + 0x20)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x20)" ( (binary_expression "puVar15 + 0x20" identifier + number_literal) ))))) ;) })) (if_statement "if (bVar9 != 0) {\n      *(byte *)((int)piVar10 + uVar14 + 0x11d) = bVar9;\n      goto LAB_00201910;\n    }" if (parenthesized_expression "(bVar9 != 0)" ( (binary_expression "bVar9 != 0" identifier != number_literal) )) (compound_statement "{\n      *(byte *)((int)piVar10 + uVar14 + 0x11d) = bVar9;\n      goto LAB_00201910;\n    }" { (expression_statement "*(byte *)((int)piVar10 + uVar14 + 0x11d) = bVar9;" (assignment_expression "*(byte *)((int)piVar10 + uVar14 + 0x11d) = bVar9" (pointer_expression "*(byte *)((int)piVar10 + uVar14 + 0x11d)" * (cast_expression "(byte *)((int)piVar10 + uVar14 + 0x11d)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar10 + uVar14 + 0x11d)" ( (binary_expression "(int)piVar10 + uVar14 + 0x11d" (binary_expression "(int)piVar10 + uVar14" (cast_expression "(int)piVar10" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + number_literal) )))) = identifier) ;) (goto_statement "goto LAB_00201910;" goto statement_identifier ;) })) (labeled_statement "LAB_00201980:\n    cVar6 = **(char **)(puVar15 + 0x14);" statement_identifier : (expression_statement "cVar6 = **(char **)(puVar15 + 0x14);" (assignment_expression "cVar6 = **(char **)(puVar15 + 0x14)" identifier = (pointer_expression "**(char **)(puVar15 + 0x14)" * (pointer_expression "*(char **)(puVar15 + 0x14)" * (cast_expression "(char **)(puVar15 + 0x14)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + 0x14)" ( (binary_expression "puVar15 + 0x14" identifier + number_literal) )))))) ;)) (expression_statement "*(undefined4 *)(puVar15 + -4) = 0x201997;" (assignment_expression "*(undefined4 *)(puVar15 + -4) = 0x201997" (pointer_expression "*(undefined4 *)(puVar15 + -4)" * (cast_expression "(undefined4 *)(puVar15 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -4)" ( (binary_expression "puVar15 + -4" identifier + number_literal) )))) = number_literal) ;) (expression_statement "cVar7 = FUN_001f91d0();" (assignment_expression "cVar7 = FUN_001f91d0()" identifier = (call_expression "FUN_001f91d0()" identifier (argument_list "()" ( )))) ;) (if_statement "if (cVar6 == cVar7) {\n      *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0x98);\n      *(undefined4 *)(puVar15 + -0x14) = 0x201adf;\n      FUN_001f24d0();\n      *(undefined4 *)(puVar15 + 0x9c) = 0xffffffff;\n      uVar18 = *(uint *)(puVar15 + 4);\n    }\n    else {\n      *(uint *)(puVar15 + 0x38) = *(uint *)(puVar15 + 0x38) | 4;\n      uVar18 = *(uint *)(puVar15 + 4);\n    }" if (parenthesized_expression "(cVar6 == cVar7)" ( (binary_expression "cVar6 == cVar7" identifier == identifier) )) (compound_statement "{\n      *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0x98);\n      *(undefined4 *)(puVar15 + -0x14) = 0x201adf;\n      FUN_001f24d0();\n      *(undefined4 *)(puVar15 + 0x9c) = 0xffffffff;\n      uVar18 = *(uint *)(puVar15 + 4);\n    }" { (expression_statement "*(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0x98);" (assignment_expression "*(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0x98)" (pointer_expression "*(undefined4 *)(puVar15 + -0x10)" * (cast_expression "(undefined4 *)(puVar15 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x10)" ( (binary_expression "puVar15 + -0x10" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar15 + 0x98)" * (cast_expression "(undefined4 *)(puVar15 + 0x98)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x98)" ( (binary_expression "puVar15 + 0x98" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x14) = 0x201adf;" (assignment_expression "*(undefined4 *)(puVar15 + -0x14) = 0x201adf" (pointer_expression "*(undefined4 *)(puVar15 + -0x14)" * (cast_expression "(undefined4 *)(puVar15 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x14)" ( (binary_expression "puVar15 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_001f24d0();" (call_expression "FUN_001f24d0()" identifier (argument_list "()" ( ))) ;) (expression_statement "*(undefined4 *)(puVar15 + 0x9c) = 0xffffffff;" (assignment_expression "*(undefined4 *)(puVar15 + 0x9c) = 0xffffffff" (pointer_expression "*(undefined4 *)(puVar15 + 0x9c)" * (cast_expression "(undefined4 *)(puVar15 + 0x9c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x9c)" ( (binary_expression "puVar15 + 0x9c" identifier + number_literal) )))) = number_literal) ;) (expression_statement "uVar18 = *(uint *)(puVar15 + 4);" (assignment_expression "uVar18 = *(uint *)(puVar15 + 4)" identifier = (pointer_expression "*(uint *)(puVar15 + 4)" * (cast_expression "(uint *)(puVar15 + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 4)" ( (binary_expression "puVar15 + 4" identifier + number_literal) ))))) ;) }) (else_clause "else {\n      *(uint *)(puVar15 + 0x38) = *(uint *)(puVar15 + 0x38) | 4;\n      uVar18 = *(uint *)(puVar15 + 4);\n    }" else (compound_statement "{\n      *(uint *)(puVar15 + 0x38) = *(uint *)(puVar15 + 0x38) | 4;\n      uVar18 = *(uint *)(puVar15 + 4);\n    }" { (expression_statement "*(uint *)(puVar15 + 0x38) = *(uint *)(puVar15 + 0x38) | 4;" (assignment_expression "*(uint *)(puVar15 + 0x38) = *(uint *)(puVar15 + 0x38) | 4" (pointer_expression "*(uint *)(puVar15 + 0x38)" * (cast_expression "(uint *)(puVar15 + 0x38)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x38)" ( (binary_expression "puVar15 + 0x38" identifier + number_literal) )))) = (binary_expression "*(uint *)(puVar15 + 0x38) | 4" (pointer_expression "*(uint *)(puVar15 + 0x38)" * (cast_expression "(uint *)(puVar15 + 0x38)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x38)" ( (binary_expression "puVar15 + 0x38" identifier + number_literal) )))) | number_literal)) ;) (expression_statement "uVar18 = *(uint *)(puVar15 + 4);" (assignment_expression "uVar18 = *(uint *)(puVar15 + 4)" identifier = (pointer_expression "*(uint *)(puVar15 + 4)" * (cast_expression "(uint *)(puVar15 + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 4)" ( (binary_expression "puVar15 + 4" identifier + number_literal) ))))) ;) }))) (goto_statement "goto LAB_0020189b;" goto statement_identifier ;) })) (labeled_statement "LAB_00201910:\n  if (bVar9 != 0x25) goto LAB_00201980;" statement_identifier : (if_statement "if (bVar9 != 0x25) goto LAB_00201980;" if (parenthesized_expression "(bVar9 != 0x25)" ( (binary_expression "bVar9 != 0x25" identifier != number_literal) )) (goto_statement "goto LAB_00201980;" goto statement_identifier ;))) (expression_statement "bVar8 = *(byte *)(*(int *)(puVar15 + 0xb4) + 1 + uVar18);" (assignment_expression "bVar8 = *(byte *)(*(int *)(puVar15 + 0xb4) + 1 + uVar18)" identifier = (pointer_expression "*(byte *)(*(int *)(puVar15 + 0xb4) + 1 + uVar18)" * (cast_expression "(byte *)(*(int *)(puVar15 + 0xb4) + 1 + uVar18)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar15 + 0xb4) + 1 + uVar18)" ( (binary_expression "*(int *)(puVar15 + 0xb4) + 1 + uVar18" (binary_expression "*(int *)(puVar15 + 0xb4) + 1" (pointer_expression "*(int *)(puVar15 + 0xb4)" * (cast_expression "(int *)(puVar15 + 0xb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0xb4)" ( (binary_expression "puVar15 + 0xb4" identifier + number_literal) )))) + number_literal) + identifier) ))))) ;) (expression_statement "bVar9 = *(byte *)((int)piVar10 + bVar8 + 0x11d);" (assignment_expression "bVar9 = *(byte *)((int)piVar10 + bVar8 + 0x11d)" identifier = (pointer_expression "*(byte *)((int)piVar10 + bVar8 + 0x11d)" * (cast_expression "(byte *)((int)piVar10 + bVar8 + 0x11d)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar10 + bVar8 + 0x11d)" ( (binary_expression "(int)piVar10 + bVar8 + 0x11d" (binary_expression "(int)piVar10 + bVar8" (cast_expression "(int)piVar10" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + number_literal) ))))) ;) (expression_statement "puVar16 = puVar15;" (assignment_expression "puVar16 = puVar15" identifier = identifier) ;) (if_statement "if (bVar9 == 0) {\n    pcVar4 = *(code **)(*piVar10 + 0x20);\n    bVar9 = bVar8;\n    if (pcVar4 != (code *)PTR_FUN_0038ed98) {\n      *(undefined4 *)(puVar15 + -8) = 0;\n      *(int *)(puVar15 + -0xc) = (int)(char)bVar8;\n      *(int **)(puVar15 + -0x10) = piVar10;\n      *(undefined4 *)(puVar15 + -0x14) = 0x201b0c;\n      bVar9 = (*pcVar4)();\n    }\n    if (bVar9 != 0) {\n      *(byte *)((int)piVar10 + bVar8 + 0x11d) = bVar9;\n      goto LAB_00201951;\n    }\n    goto LAB_00201ab8;\n  }" if (parenthesized_expression "(bVar9 == 0)" ( (binary_expression "bVar9 == 0" identifier == number_literal) )) (compound_statement "{\n    pcVar4 = *(code **)(*piVar10 + 0x20);\n    bVar9 = bVar8;\n    if (pcVar4 != (code *)PTR_FUN_0038ed98) {\n      *(undefined4 *)(puVar15 + -8) = 0;\n      *(int *)(puVar15 + -0xc) = (int)(char)bVar8;\n      *(int **)(puVar15 + -0x10) = piVar10;\n      *(undefined4 *)(puVar15 + -0x14) = 0x201b0c;\n      bVar9 = (*pcVar4)();\n    }\n    if (bVar9 != 0) {\n      *(byte *)((int)piVar10 + bVar8 + 0x11d) = bVar9;\n      goto LAB_00201951;\n    }\n    goto LAB_00201ab8;\n  }" { (expression_statement "pcVar4 = *(code **)(*piVar10 + 0x20);" (assignment_expression "pcVar4 = *(code **)(*piVar10 + 0x20)" identifier = (pointer_expression "*(code **)(*piVar10 + 0x20)" * (cast_expression "(code **)(*piVar10 + 0x20)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*piVar10 + 0x20)" ( (binary_expression "*piVar10 + 0x20" (pointer_expression "*piVar10" * identifier) + number_literal) ))))) ;) (expression_statement "bVar9 = bVar8;" (assignment_expression "bVar9 = bVar8" identifier = identifier) ;) (if_statement "if (pcVar4 != (code *)PTR_FUN_0038ed98) {\n      *(undefined4 *)(puVar15 + -8) = 0;\n      *(int *)(puVar15 + -0xc) = (int)(char)bVar8;\n      *(int **)(puVar15 + -0x10) = piVar10;\n      *(undefined4 *)(puVar15 + -0x14) = 0x201b0c;\n      bVar9 = (*pcVar4)();\n    }" if (parenthesized_expression "(pcVar4 != (code *)PTR_FUN_0038ed98)" ( (binary_expression "pcVar4 != (code *)PTR_FUN_0038ed98" identifier != (cast_expression "(code *)PTR_FUN_0038ed98" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (compound_statement "{\n      *(undefined4 *)(puVar15 + -8) = 0;\n      *(int *)(puVar15 + -0xc) = (int)(char)bVar8;\n      *(int **)(puVar15 + -0x10) = piVar10;\n      *(undefined4 *)(puVar15 + -0x14) = 0x201b0c;\n      bVar9 = (*pcVar4)();\n    }" { (expression_statement "*(undefined4 *)(puVar15 + -8) = 0;" (assignment_expression "*(undefined4 *)(puVar15 + -8) = 0" (pointer_expression "*(undefined4 *)(puVar15 + -8)" * (cast_expression "(undefined4 *)(puVar15 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -8)" ( (binary_expression "puVar15 + -8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(puVar15 + -0xc) = (int)(char)bVar8;" (assignment_expression "*(int *)(puVar15 + -0xc) = (int)(char)bVar8" (pointer_expression "*(int *)(puVar15 + -0xc)" * (cast_expression "(int *)(puVar15 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0xc)" ( (binary_expression "puVar15 + -0xc" identifier + number_literal) )))) = (cast_expression "(int)(char)bVar8" ( (type_descriptor "int" primitive_type) ) (cast_expression "(char)bVar8" ( (type_descriptor "char" primitive_type) ) identifier))) ;) (expression_statement "*(int **)(puVar15 + -0x10) = piVar10;" (assignment_expression "*(int **)(puVar15 + -0x10) = piVar10" (pointer_expression "*(int **)(puVar15 + -0x10)" * (cast_expression "(int **)(puVar15 + -0x10)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + -0x10)" ( (binary_expression "puVar15 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x14) = 0x201b0c;" (assignment_expression "*(undefined4 *)(puVar15 + -0x14) = 0x201b0c" (pointer_expression "*(undefined4 *)(puVar15 + -0x14)" * (cast_expression "(undefined4 *)(puVar15 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x14)" ( (binary_expression "puVar15 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "bVar9 = (*pcVar4)();" (assignment_expression "bVar9 = (*pcVar4)()" identifier = (call_expression "(*pcVar4)()" (parenthesized_expression "(*pcVar4)" ( (pointer_expression "*pcVar4" * identifier) )) (argument_list "()" ( )))) ;) })) (if_statement "if (bVar9 != 0) {\n      *(byte *)((int)piVar10 + bVar8 + 0x11d) = bVar9;\n      goto LAB_00201951;\n    }" if (parenthesized_expression "(bVar9 != 0)" ( (binary_expression "bVar9 != 0" identifier != number_literal) )) (compound_statement "{\n      *(byte *)((int)piVar10 + bVar8 + 0x11d) = bVar9;\n      goto LAB_00201951;\n    }" { (expression_statement "*(byte *)((int)piVar10 + bVar8 + 0x11d) = bVar9;" (assignment_expression "*(byte *)((int)piVar10 + bVar8 + 0x11d) = bVar9" (pointer_expression "*(byte *)((int)piVar10 + bVar8 + 0x11d)" * (cast_expression "(byte *)((int)piVar10 + bVar8 + 0x11d)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar10 + bVar8 + 0x11d)" ( (binary_expression "(int)piVar10 + bVar8 + 0x11d" (binary_expression "(int)piVar10 + bVar8" (cast_expression "(int)piVar10" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + number_literal) )))) = identifier) ;) (goto_statement "goto LAB_00201951;" goto statement_identifier ;) })) (goto_statement "goto LAB_00201ab8;" goto statement_identifier ;) })) (labeled_statement "LAB_00201951:\n  *(undefined4 *)(puVar15 + 0x3c) = 0;" statement_identifier : (expression_statement "*(undefined4 *)(puVar15 + 0x3c) = 0;" (assignment_expression "*(undefined4 *)(puVar15 + 0x3c) = 0" (pointer_expression "*(undefined4 *)(puVar15 + 0x3c)" * (cast_expression "(undefined4 *)(puVar15 + 0x3c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x3c)" ( (binary_expression "puVar15 + 0x3c" identifier + number_literal) )))) = number_literal) ;)) (if_statement "if ((bVar9 == 0x45) || (bVar9 == 0x4f)) {\n    *(uint *)(puVar15 + 4) = uVar18 + 2;\n    bVar8 = *(byte *)(*(int *)(puVar15 + 0xb4) + 2 + uVar18);\n    bVar9 = *(byte *)((int)piVar10 + bVar8 + 0x11d);\n    if (bVar9 == 0) {\n      pcVar4 = *(code **)(*piVar10 + 0x20);\n      bVar9 = bVar8;\n      if (pcVar4 != (code *)PTR_FUN_0038ed98) {\n        *(undefined4 *)(puVar15 + -8) = 0;\n        *(int *)(puVar15 + -0xc) = (int)(char)bVar8;\n        *(int **)(puVar15 + -0x10) = piVar10;\n        *(undefined4 *)(puVar15 + -0x14) = 0x20237c;\n        bVar9 = (*pcVar4)();\n      }\n      if (bVar9 == 0) goto LAB_00201ab8;\n      *(byte *)((int)piVar10 + bVar8 + 0x11d) = bVar9;\n    }\n  }" if (parenthesized_expression "((bVar9 == 0x45) || (bVar9 == 0x4f))" ( (binary_expression "(bVar9 == 0x45) || (bVar9 == 0x4f)" (parenthesized_expression "(bVar9 == 0x45)" ( (binary_expression "bVar9 == 0x45" identifier == number_literal) )) || (parenthesized_expression "(bVar9 == 0x4f)" ( (binary_expression "bVar9 == 0x4f" identifier == number_literal) ))) )) (compound_statement "{\n    *(uint *)(puVar15 + 4) = uVar18 + 2;\n    bVar8 = *(byte *)(*(int *)(puVar15 + 0xb4) + 2 + uVar18);\n    bVar9 = *(byte *)((int)piVar10 + bVar8 + 0x11d);\n    if (bVar9 == 0) {\n      pcVar4 = *(code **)(*piVar10 + 0x20);\n      bVar9 = bVar8;\n      if (pcVar4 != (code *)PTR_FUN_0038ed98) {\n        *(undefined4 *)(puVar15 + -8) = 0;\n        *(int *)(puVar15 + -0xc) = (int)(char)bVar8;\n        *(int **)(puVar15 + -0x10) = piVar10;\n        *(undefined4 *)(puVar15 + -0x14) = 0x20237c;\n        bVar9 = (*pcVar4)();\n      }\n      if (bVar9 == 0) goto LAB_00201ab8;\n      *(byte *)((int)piVar10 + bVar8 + 0x11d) = bVar9;\n    }\n  }" { (expression_statement "*(uint *)(puVar15 + 4) = uVar18 + 2;" (assignment_expression "*(uint *)(puVar15 + 4) = uVar18 + 2" (pointer_expression "*(uint *)(puVar15 + 4)" * (cast_expression "(uint *)(puVar15 + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 4)" ( (binary_expression "puVar15 + 4" identifier + number_literal) )))) = (binary_expression "uVar18 + 2" identifier + number_literal)) ;) (expression_statement "bVar8 = *(byte *)(*(int *)(puVar15 + 0xb4) + 2 + uVar18);" (assignment_expression "bVar8 = *(byte *)(*(int *)(puVar15 + 0xb4) + 2 + uVar18)" identifier = (pointer_expression "*(byte *)(*(int *)(puVar15 + 0xb4) + 2 + uVar18)" * (cast_expression "(byte *)(*(int *)(puVar15 + 0xb4) + 2 + uVar18)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar15 + 0xb4) + 2 + uVar18)" ( (binary_expression "*(int *)(puVar15 + 0xb4) + 2 + uVar18" (binary_expression "*(int *)(puVar15 + 0xb4) + 2" (pointer_expression "*(int *)(puVar15 + 0xb4)" * (cast_expression "(int *)(puVar15 + 0xb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0xb4)" ( (binary_expression "puVar15 + 0xb4" identifier + number_literal) )))) + number_literal) + identifier) ))))) ;) (expression_statement "bVar9 = *(byte *)((int)piVar10 + bVar8 + 0x11d);" (assignment_expression "bVar9 = *(byte *)((int)piVar10 + bVar8 + 0x11d)" identifier = (pointer_expression "*(byte *)((int)piVar10 + bVar8 + 0x11d)" * (cast_expression "(byte *)((int)piVar10 + bVar8 + 0x11d)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar10 + bVar8 + 0x11d)" ( (binary_expression "(int)piVar10 + bVar8 + 0x11d" (binary_expression "(int)piVar10 + bVar8" (cast_expression "(int)piVar10" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + number_literal) ))))) ;) (if_statement "if (bVar9 == 0) {\n      pcVar4 = *(code **)(*piVar10 + 0x20);\n      bVar9 = bVar8;\n      if (pcVar4 != (code *)PTR_FUN_0038ed98) {\n        *(undefined4 *)(puVar15 + -8) = 0;\n        *(int *)(puVar15 + -0xc) = (int)(char)bVar8;\n        *(int **)(puVar15 + -0x10) = piVar10;\n        *(undefined4 *)(puVar15 + -0x14) = 0x20237c;\n        bVar9 = (*pcVar4)();\n      }\n      if (bVar9 == 0) goto LAB_00201ab8;\n      *(byte *)((int)piVar10 + bVar8 + 0x11d) = bVar9;\n    }" if (parenthesized_expression "(bVar9 == 0)" ( (binary_expression "bVar9 == 0" identifier == number_literal) )) (compound_statement "{\n      pcVar4 = *(code **)(*piVar10 + 0x20);\n      bVar9 = bVar8;\n      if (pcVar4 != (code *)PTR_FUN_0038ed98) {\n        *(undefined4 *)(puVar15 + -8) = 0;\n        *(int *)(puVar15 + -0xc) = (int)(char)bVar8;\n        *(int **)(puVar15 + -0x10) = piVar10;\n        *(undefined4 *)(puVar15 + -0x14) = 0x20237c;\n        bVar9 = (*pcVar4)();\n      }\n      if (bVar9 == 0) goto LAB_00201ab8;\n      *(byte *)((int)piVar10 + bVar8 + 0x11d) = bVar9;\n    }" { (expression_statement "pcVar4 = *(code **)(*piVar10 + 0x20);" (assignment_expression "pcVar4 = *(code **)(*piVar10 + 0x20)" identifier = (pointer_expression "*(code **)(*piVar10 + 0x20)" * (cast_expression "(code **)(*piVar10 + 0x20)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*piVar10 + 0x20)" ( (binary_expression "*piVar10 + 0x20" (pointer_expression "*piVar10" * identifier) + number_literal) ))))) ;) (expression_statement "bVar9 = bVar8;" (assignment_expression "bVar9 = bVar8" identifier = identifier) ;) (if_statement "if (pcVar4 != (code *)PTR_FUN_0038ed98) {\n        *(undefined4 *)(puVar15 + -8) = 0;\n        *(int *)(puVar15 + -0xc) = (int)(char)bVar8;\n        *(int **)(puVar15 + -0x10) = piVar10;\n        *(undefined4 *)(puVar15 + -0x14) = 0x20237c;\n        bVar9 = (*pcVar4)();\n      }" if (parenthesized_expression "(pcVar4 != (code *)PTR_FUN_0038ed98)" ( (binary_expression "pcVar4 != (code *)PTR_FUN_0038ed98" identifier != (cast_expression "(code *)PTR_FUN_0038ed98" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (compound_statement "{\n        *(undefined4 *)(puVar15 + -8) = 0;\n        *(int *)(puVar15 + -0xc) = (int)(char)bVar8;\n        *(int **)(puVar15 + -0x10) = piVar10;\n        *(undefined4 *)(puVar15 + -0x14) = 0x20237c;\n        bVar9 = (*pcVar4)();\n      }" { (expression_statement "*(undefined4 *)(puVar15 + -8) = 0;" (assignment_expression "*(undefined4 *)(puVar15 + -8) = 0" (pointer_expression "*(undefined4 *)(puVar15 + -8)" * (cast_expression "(undefined4 *)(puVar15 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -8)" ( (binary_expression "puVar15 + -8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(puVar15 + -0xc) = (int)(char)bVar8;" (assignment_expression "*(int *)(puVar15 + -0xc) = (int)(char)bVar8" (pointer_expression "*(int *)(puVar15 + -0xc)" * (cast_expression "(int *)(puVar15 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0xc)" ( (binary_expression "puVar15 + -0xc" identifier + number_literal) )))) = (cast_expression "(int)(char)bVar8" ( (type_descriptor "int" primitive_type) ) (cast_expression "(char)bVar8" ( (type_descriptor "char" primitive_type) ) identifier))) ;) (expression_statement "*(int **)(puVar15 + -0x10) = piVar10;" (assignment_expression "*(int **)(puVar15 + -0x10) = piVar10" (pointer_expression "*(int **)(puVar15 + -0x10)" * (cast_expression "(int **)(puVar15 + -0x10)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + -0x10)" ( (binary_expression "puVar15 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x14) = 0x20237c;" (assignment_expression "*(undefined4 *)(puVar15 + -0x14) = 0x20237c" (pointer_expression "*(undefined4 *)(puVar15 + -0x14)" * (cast_expression "(undefined4 *)(puVar15 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x14)" ( (binary_expression "puVar15 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "bVar9 = (*pcVar4)();" (assignment_expression "bVar9 = (*pcVar4)()" identifier = (call_expression "(*pcVar4)()" (parenthesized_expression "(*pcVar4)" ( (pointer_expression "*pcVar4" * identifier) )) (argument_list "()" ( )))) ;) })) (if_statement "if (bVar9 == 0) goto LAB_00201ab8;" if (parenthesized_expression "(bVar9 == 0)" ( (binary_expression "bVar9 == 0" identifier == number_literal) )) (goto_statement "goto LAB_00201ab8;" goto statement_identifier ;)) (expression_statement "*(byte *)((int)piVar10 + bVar8 + 0x11d) = bVar9;" (assignment_expression "*(byte *)((int)piVar10 + bVar8 + 0x11d) = bVar9" (pointer_expression "*(byte *)((int)piVar10 + bVar8 + 0x11d)" * (cast_expression "(byte *)((int)piVar10 + bVar8 + 0x11d)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar10 + bVar8 + 0x11d)" ( (binary_expression "(int)piVar10 + bVar8 + 0x11d" (binary_expression "(int)piVar10 + bVar8" (cast_expression "(int)piVar10" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + number_literal) )))) = identifier) ;) })) })) (switch_statement "switch(bVar9) {\n  case 0x41:\n    iVar1 = *(int *)(*(int *)(puVar15 + 0x18) + 8);\n    *(undefined4 *)(puVar15 + 0x40) = *(undefined4 *)(iVar1 + 0x2c);\n    *(undefined4 *)(puVar15 + 0x44) = *(undefined4 *)(iVar1 + 0x30);\n    *(undefined4 *)(puVar15 + 0x48) = *(undefined4 *)(iVar1 + 0x34);\n    *(undefined4 *)(puVar15 + 0x4c) = *(undefined4 *)(iVar1 + 0x38);\n    *(undefined4 *)(puVar15 + 0x50) = *(undefined4 *)(iVar1 + 0x3c);\n    *(undefined4 *)(puVar15 + 0x54) = *(undefined4 *)(iVar1 + 0x40);\n    uVar12 = *(undefined4 *)(iVar1 + 0x44);\n    goto code_r0x00201f34;\n  case 0x42:\n    *(undefined1 **)(puVar15 + -0xc) = puVar15 + 0x40;\n    *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0x18);\n    *(undefined **)(puVar15 + -0x14) = &UNK_00201fd1;\n    FUN_001fb050();\n    goto code_r0x00201fd1;\n  case 0x43:\n  case 0x59:\n  case 0x79:\n    *(undefined1 **)(puVar15 + -4) = puVar15 + 0x38;\n    *(undefined4 *)(puVar15 + -8) = *(undefined4 *)(puVar15 + 0xa8);\n    *(undefined4 *)(puVar15 + -0xc) = 4;\n    *(undefined4 *)(puVar15 + -0x10) = 9999;\n    *(undefined4 *)(puVar15 + -0x14) = 0;\n    *(undefined1 **)(puVar15 + -0x18) = puVar15 + 0x3c;\n    *(undefined4 *)(puVar15 + -0x1c) = *(undefined4 *)(puVar15 + 0xa4);\n    *(undefined4 *)(puVar15 + -0x20) = *(undefined4 *)(puVar15 + 0xa0);\n    *(undefined4 *)(puVar15 + -0x24) = *(undefined4 *)(puVar15 + 0x9c);\n    *(undefined4 *)(puVar15 + -0x28) = *(undefined4 *)(puVar15 + 0x98);\n    *(undefined4 *)(puVar15 + -0x2c) = *(undefined4 *)(puVar15 + 0x94);\n    *(undefined1 **)(puVar15 + -0x30) = puVar15 + 0x28;\n    *(undefined **)(puVar15 + -0x34) = &UNK_00202097;\n    FUN_001fc0e0();\n    *(undefined4 *)(puVar15 + 0x94) = *(undefined4 *)(puVar15 + 0x24);\n    *(undefined4 *)(puVar15 + 0x98) = *(undefined4 *)(puVar15 + 0x28);\n    puVar16 = puVar15 + -4;\n    if (*(int *)(puVar15 + 0x34) == 0) {\n      iVar1 = *(int *)(puVar15 + 0x38);\n      iVar13 = iVar1 + -0x76c;\n      if (iVar1 < 0) {\n        iVar13 = iVar1 + 100;\n      }\n      *(int *)(*(int *)(puVar15 + 0xac) + 0x14) = iVar13;\n      puVar16 = puVar15 + -4;\n    }\n    break;\n  case 0x44:\n    *(undefined1 **)(puVar15 + -4) = puVar15 + 0x40;\n    *(undefined **)(puVar15 + -8) = &UNK_002a3ee7;\n    pcVar11 = "%m/%d/%y";\n    goto code_r0x00201ca2;\n  default:\n    goto LAB_00201ab8;\n  case 0x48:\n    *(undefined1 **)(puVar15 + -4) = puVar15 + 0x38;\n    *(undefined4 *)(puVar15 + -8) = *(undefined4 *)(puVar15 + 0xa8);\n    *(undefined4 *)(puVar15 + -0xc) = 2;\n    *(undefined4 *)(puVar15 + -0x10) = 0x17;\n    *(undefined4 *)(puVar15 + -0x14) = 0;\n    goto code_r0x00201ba6;\n  case 0x49:\n    *(undefined1 **)(puVar15 + -4) = puVar15 + 0x38;\n    *(undefined4 *)(puVar15 + -8) = *(undefined4 *)(puVar15 + 0xa8);\n    *(undefined4 *)(puVar15 + -0xc) = 2;\n    *(undefined4 *)(puVar15 + -0x10) = 0xc;\n    *(undefined4 *)(puVar15 + -0x14) = 1;\ncode_r0x00201ba6:\n    *(undefined1 **)(puVar15 + -0x18) = puVar15 + 0x3c;\n    *(undefined4 *)(puVar15 + -0x1c) = *(undefined4 *)(puVar15 + 0xa4);\n    *(undefined4 *)(puVar15 + -0x20) = *(undefined4 *)(puVar15 + 0xa0);\n    *(undefined4 *)(puVar15 + -0x24) = *(undefined4 *)(puVar15 + 0x9c);\n    *(undefined4 *)(puVar15 + -0x28) = *(undefined4 *)(puVar15 + 0x98);\n    *(undefined4 *)(puVar15 + -0x2c) = *(undefined4 *)(puVar15 + 0x94);\n    *(undefined1 **)(puVar15 + -0x30) = puVar15 + 0x28;\n    *(undefined **)(puVar15 + -0x34) = &UNK_00201bd4;\n    FUN_001fc0e0();\n    *(undefined4 *)(puVar15 + 0x94) = *(undefined4 *)(puVar15 + 0x24);\n    *(undefined4 *)(puVar15 + 0x98) = *(undefined4 *)(puVar15 + 0x28);\n    puVar16 = puVar15 + -4;\n    if (*(int *)(puVar15 + 0x34) == 0) {\n      *(undefined4 *)(*(int *)(puVar15 + 0xac) + 8) = *(undefined4 *)(puVar15 + 0x38);\n      puVar16 = puVar15 + -4;\n    }\n    break;\n  case 0x4d:\n    *(undefined1 **)(puVar15 + -4) = puVar15 + 0x38;\n    *(undefined4 *)(puVar15 + -8) = *(undefined4 *)(puVar15 + 0xa8);\n    *(undefined4 *)(puVar15 + -0xc) = 2;\n    *(undefined4 *)(puVar15 + -0x10) = 0x3b;\n    *(undefined4 *)(puVar15 + -0x14) = 0;\n    *(undefined1 **)(puVar15 + -0x18) = puVar15 + 0x3c;\n    *(undefined4 *)(puVar15 + -0x1c) = *(undefined4 *)(puVar15 + 0xa4);\n    *(undefined4 *)(puVar15 + -0x20) = *(undefined4 *)(puVar15 + 0xa0);\n    *(undefined4 *)(puVar15 + -0x24) = *(undefined4 *)(puVar15 + 0x9c);\n    *(undefined4 *)(puVar15 + -0x28) = *(undefined4 *)(puVar15 + 0x98);\n    *(undefined4 *)(puVar15 + -0x2c) = *(undefined4 *)(puVar15 + 0x94);\n    *(undefined1 **)(puVar15 + -0x30) = puVar15 + 0x28;\n    *(undefined **)(puVar15 + -0x34) = &UNK_00201c54;\n    FUN_001fc0e0();\n    *(undefined4 *)(puVar15 + 0x94) = *(undefined4 *)(puVar15 + 0x24);\n    *(undefined4 *)(puVar15 + 0x98) = *(undefined4 *)(puVar15 + 0x28);\n    puVar16 = puVar15 + -4;\n    if (*(int *)(puVar15 + 0x34) == 0) {\n      *(undefined4 *)(*(int *)(puVar15 + 0xac) + 4) = *(undefined4 *)(puVar15 + 0x38);\n      puVar16 = puVar15 + -4;\n    }\n    break;\n  case 0x52:\n    *(undefined1 **)(puVar15 + -4) = puVar15 + 0x40;\n    *(char **)(puVar15 + -8) = "%H:%M:%S";\n    pcVar11 = "%H:%M";\n    goto code_r0x00201ca2;\n  case 0x53:\n    *(undefined1 **)(puVar15 + -4) = puVar15 + 0x38;\n    *(undefined4 *)(puVar15 + -8) = *(undefined4 *)(puVar15 + 0xa8);\n    *(undefined4 *)(puVar15 + -0xc) = 2;\n    *(undefined4 *)(puVar15 + -0x10) = 0x3c;\n    *(undefined4 *)(puVar15 + -0x14) = 0;\n    *(undefined1 **)(puVar15 + -0x18) = puVar15 + 0x3c;\n    *(undefined4 *)(puVar15 + -0x1c) = *(undefined4 *)(puVar15 + 0xa4);\n    *(undefined4 *)(puVar15 + -0x20) = *(undefined4 *)(puVar15 + 0xa0);\n    *(undefined4 *)(puVar15 + -0x24) = *(undefined4 *)(puVar15 + 0x9c);\n    *(undefined4 *)(puVar15 + -0x28) = *(undefined4 *)(puVar15 + 0x98);\n    *(undefined4 *)(puVar15 + -0x2c) = *(undefined4 *)(puVar15 + 0x94);\n    *(undefined1 **)(puVar15 + -0x30) = puVar15 + 0x28;\n    *(undefined **)(puVar15 + -0x34) = &UNK_00201cfc;\n    FUN_001fc0e0();\n    *(undefined4 *)(puVar15 + 0x94) = *(undefined4 *)(puVar15 + 0x24);\n    *(undefined4 *)(puVar15 + 0x98) = *(undefined4 *)(puVar15 + 0x28);\n    puVar16 = puVar15 + -4;\n    if (*(int *)(puVar15 + 0x34) == 0) {\n      **(undefined4 **)(puVar15 + 0xac) = *(undefined4 *)(puVar15 + 0x38);\n      puVar16 = puVar15 + -4;\n    }\n    break;\n  case 0x54:\n    *(undefined1 **)(puVar15 + -4) = puVar15 + 0x40;\n    *(undefined **)(puVar15 + -8) = &UNK_002a3ef6;\n    pcVar11 = "%H:%M:%S";\ncode_r0x00201ca2:\n    *(char **)(puVar15 + -0xc) = pcVar11;\n    *(int **)(puVar15 + -0x10) = piVar10;\n    *(undefined **)(puVar15 + -0x14) = &UNK_00201ca9;\n    FUN_001f94d0();\n    *(undefined1 **)(puVar15 + -0xc) = puVar15 + 0x40;\n    goto code_r0x00201b30;\n  case 0x58:\n    *(undefined4 *)(puVar15 + -0xc) = *(undefined4 *)(*(int *)(*(int *)(puVar15 + 0x18) + 8) + 0x10)\n    ;\n    goto code_r0x00201b30;\n  case 0x5a:\n    *(undefined **)(puVar15 + -4) = &UNK_00201d80;\n    uVar18 = FUN_001f91d0();\n    if ((*(byte *)(piVar10[6] + 1 + (uVar18 & 0xff) * 2) & 1) == 0) goto LAB_00201ab8;\n    *(undefined1 **)(puVar15 + 0x14) = puVar15 + 0x28;\n    puVar2 = puVar15 + 0x38;\n    *(undefined1 **)(puVar15 + -8) = puVar2;\n    *(undefined4 *)(puVar15 + -0xc) = *(undefined4 *)(puVar15 + 0xa8);\n    *(undefined4 *)(puVar15 + -0x10) = 0xe;\n    *(undefined4 *)(puVar15 + -0x14) = *(undefined4 *)(puVar15 + 0x24);\n    puVar3 = puVar15 + 0x40;\n    *(undefined1 **)(puVar15 + -0x18) = puVar3;\n    *(undefined4 *)(puVar15 + -0x1c) = *(undefined4 *)(puVar15 + 0xa4);\n    *(undefined4 *)(puVar15 + -0x20) = *(undefined4 *)(puVar15 + 0xa0);\n    *(undefined4 *)(puVar15 + -0x24) = *(undefined4 *)(puVar15 + 0x9c);\n    *(undefined4 *)(puVar15 + -0x28) = *(undefined4 *)(puVar15 + 0x98);\n    *(undefined4 *)(puVar15 + -0x2c) = *(undefined4 *)(puVar15 + 0x94);\n    *(undefined1 **)(puVar15 + -0x30) = puVar15 + 0x28;\n    *(undefined **)(puVar15 + -0x34) = &UNK_00201ddc;\n    FUN_00201020();\n    *(undefined4 *)(puVar15 + 0x94) = *(undefined4 *)(puVar15 + 0x24);\n    *(undefined4 *)(puVar15 + 0x98) = *(undefined4 *)(puVar15 + 0x28);\n    *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0xc);\n    *(undefined4 *)(puVar15 + -0x14) = *(undefined4 *)(puVar15 + 4);\n    *(undefined **)(puVar15 + -0x18) = &UNK_00201e02;\n    cVar6 = FUN_00200f70();\n    puVar16 = puVar15 + -4;\n    if ((cVar6 != '\0') ||\n       (puVar16 = puVar15 + -4, *(int *)(puVar15 + 0x34) != 0 || *(int *)(puVar15 + 0x3c) != 0))\n    break;\n    *(undefined **)(puVar15 + -8) = &UNK_00201e2b;\n    uVar12 = FUN_001f91d0();\n    iVar1 = piVar10[7];\n    *(undefined4 *)(puVar15 + 0x1c) = uVar12;\n    if ((char)iVar1 == '\0') {\n      *(undefined **)(puVar15 + -8) = &UNK_002023c1;\n      cVar6 = FUN_001f9220();\n    }\n    else {\n      cVar6 = *(char *)((int)piVar10 + 0x4a);\n    }\n    if (puVar15[0x1c] != cVar6) {\n      *(undefined **)(puVar15 + -8) = &UNK_00201e53;\n      uVar12 = FUN_001f91d0();\n      iVar1 = piVar10[7];\n      *(undefined4 *)(puVar15 + 0x1c) = uVar12;\n      if ((char)iVar1 == '\0') {\n        *(undefined **)(puVar15 + -8) = &UNK_002023d2;\n        cVar6 = FUN_001f9220();\n      }\n      else {\n        cVar6 = (char)piVar10[0x12];\n      }\n      puVar16 = puVar15 + -4;\n      if (puVar15[0x1c] != cVar6) break;\n    }\n    *(undefined1 **)(puVar15 + -8) = puVar2;\n    *(undefined4 *)(puVar15 + -0xc) = *(undefined4 *)(puVar15 + 0xa4);\n    *(undefined4 *)(puVar15 + -0x10) = 2;\n    *(undefined4 *)(puVar15 + -0x14) = 0x17;\n    *(undefined4 *)(puVar15 + -0x18) = 0;\n    *(undefined1 **)(puVar15 + -0x1c) = puVar3;\n    *(undefined4 *)(puVar15 + -0x20) = *(undefined4 *)(puVar15 + 0xa0);\n    *(undefined4 *)(puVar15 + -0x24) = *(undefined4 *)(puVar15 + 0x9c);\n    *(undefined4 *)(puVar15 + -0x28) = *(undefined4 *)(puVar15 + 0x98);\n    *(undefined4 *)(puVar15 + -0x2c) = *(undefined4 *)(puVar15 + 0x94);\n    *(undefined4 *)(puVar15 + -0x30) = *(undefined4 *)(puVar15 + 0x90);\n    *(undefined4 *)(puVar15 + -0x34) = *(undefined4 *)(puVar15 + 0x10);\n    *(undefined **)(puVar15 + -0x38) = &UNK_00201eaa;\n    FUN_001fc0e0();\n    *(undefined4 *)(puVar15 + 0x90) = *(undefined4 *)(puVar15 + 0x20);\n    *(undefined4 *)(puVar15 + 0x94) = *(undefined4 *)(puVar15 + 0x24);\n    *(undefined1 **)(puVar15 + -0xc) = puVar2;\n    *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0xa0);\n    *(undefined4 *)(puVar15 + -0x14) = 2;\n    *(undefined4 *)(puVar15 + -0x18) = 0x3b;\n    *(undefined4 *)(puVar15 + -0x1c) = 0;\n    *(undefined1 **)(puVar15 + -0x20) = puVar3;\n    *(undefined4 *)(puVar15 + -0x24) = *(undefined4 *)(puVar15 + 0x9c);\n    *(undefined4 *)(puVar15 + -0x28) = *(undefined4 *)(puVar15 + 0x98);\n    *(undefined4 *)(puVar15 + -0x2c) = *(undefined4 *)(puVar15 + 0x24);\n    *(undefined4 *)(puVar15 + -0x30) = *(undefined4 *)(puVar15 + 0x20);\n    *(undefined4 *)(puVar15 + -0x34) = *(undefined4 *)(puVar15 + 0x8c);\n    puVar17 = puVar15 + -0x38;\n    *(undefined4 *)(puVar15 + -0x38) = *(undefined4 *)(puVar15 + 0xc);\n    *(undefined **)(puVar15 + -0x3c) = &UNK_00201ef2;\n    FUN_001fc0e0();\n    goto code_r0x00201b6c;\n  case 0x61:\n    iVar1 = *(int *)(*(int *)(puVar15 + 0x18) + 8);\n    *(undefined4 *)(puVar15 + 0x40) = *(undefined4 *)(iVar1 + 0x48);\n    *(undefined4 *)(puVar15 + 0x44) = *(undefined4 *)(iVar1 + 0x4c);\n    *(undefined4 *)(puVar15 + 0x48) = *(undefined4 *)(iVar1 + 0x50);\n    *(undefined4 *)(puVar15 + 0x4c) = *(undefined4 *)(iVar1 + 0x54);\n    *(undefined4 *)(puVar15 + 0x50) = *(undefined4 *)(iVar1 + 0x58);\n    *(undefined4 *)(puVar15 + 0x54) = *(undefined4 *)(iVar1 + 0x5c);\n    uVar12 = *(undefined4 *)(iVar1 + 0x60);\ncode_r0x00201f34:\n    *(undefined4 *)(puVar15 + 0x58) = uVar12;\n    *(undefined1 **)(puVar15 + -8) = puVar15 + 0x38;\n    *(undefined4 *)(puVar15 + -0xc) = *(undefined4 *)(puVar15 + 0xa8);\n    *(undefined4 *)(puVar15 + -0x10) = 7;\n    *(undefined1 **)(puVar15 + -0x14) = puVar15 + 0x40;\n    *(undefined1 **)(puVar15 + -0x18) = puVar15 + 0x3c;\n    *(undefined4 *)(puVar15 + -0x1c) = *(undefined4 *)(puVar15 + 0xa4);\n    *(undefined4 *)(puVar15 + -0x20) = *(undefined4 *)(puVar15 + 0xa0);\n    *(undefined4 *)(puVar15 + -0x24) = *(undefined4 *)(puVar15 + 0x9c);\n    *(undefined4 *)(puVar15 + -0x28) = *(undefined4 *)(puVar15 + 0x98);\n    *(undefined4 *)(puVar15 + -0x2c) = *(undefined4 *)(puVar15 + 0x94);\n    *(undefined1 **)(puVar15 + -0x30) = puVar15 + 0x28;\n    *(undefined **)(puVar15 + -0x34) = &UNK_00201f80;\n    FUN_00201020();\n    *(undefined4 *)(puVar15 + 0x94) = *(undefined4 *)(puVar15 + 0x24);\n    *(undefined4 *)(puVar15 + 0x98) = *(undefined4 *)(puVar15 + 0x28);\n    puVar16 = puVar15 + -4;\n    if (*(int *)(puVar15 + 0x34) == 0) {\n      *(undefined4 *)(*(int *)(puVar15 + 0xac) + 0x18) = *(undefined4 *)(puVar15 + 0x38);\n      puVar16 = puVar15 + -4;\n    }\n    break;\n  case 0x62:\n  case 0x68:\n    *(undefined1 **)(puVar15 + -0xc) = puVar15 + 0x40;\n    *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0x18);\n    *(undefined **)(puVar15 + -0x14) = &UNK_00202171;\n    FUN_001fb0c0();\ncode_r0x00201fd1:\n    *(undefined1 **)(puVar15 + -8) = puVar15 + 0x38;\n    *(undefined4 *)(puVar15 + -0xc) = *(undefined4 *)(puVar15 + 0xa8);\n    *(undefined4 *)(puVar15 + -0x10) = 0xc;\n    *(undefined1 **)(puVar15 + -0x14) = puVar15 + 0x40;\n    *(undefined1 **)(puVar15 + -0x18) = puVar15 + 0x3c;\n    *(undefined4 *)(puVar15 + -0x1c) = *(undefined4 *)(puVar15 + 0xa4);\n    *(undefined4 *)(puVar15 + -0x20) = *(undefined4 *)(puVar15 + 0xa0);\n    *(undefined4 *)(puVar15 + -0x24) = *(undefined4 *)(puVar15 + 0x9c);\n    *(undefined4 *)(puVar15 + -0x28) = *(undefined4 *)(puVar15 + 0x98);\n    *(undefined4 *)(puVar15 + -0x2c) = *(undefined4 *)(puVar15 + 0x94);\n    *(undefined1 **)(puVar15 + -0x30) = puVar15 + 0x28;\n    *(undefined **)(puVar15 + -0x34) = &UNK_00202015;\n    FUN_00201020();\n    *(undefined4 *)(puVar15 + 0x94) = *(undefined4 *)(puVar15 + 0x24);\n    *(undefined4 *)(puVar15 + 0x98) = *(undefined4 *)(puVar15 + 0x28);\n    puVar16 = puVar15 + -4;\n    if (*(int *)(puVar15 + 0x34) == 0) {\n      *(undefined4 *)(*(int *)(puVar15 + 0xac) + 0x10) = *(undefined4 *)(puVar15 + 0x38);\n      puVar16 = puVar15 + -4;\n    }\n    break;\n  case 99:\n    *(undefined4 *)(puVar15 + -0xc) = *(undefined4 *)(*(int *)(*(int *)(puVar15 + 0x18) + 8) + 0x18)\n    ;\n    goto code_r0x00201b30;\n  case 100:\n    *(undefined1 **)(puVar15 + -4) = puVar15 + 0x38;\n    *(undefined4 *)(puVar15 + -8) = *(undefined4 *)(puVar15 + 0xa8);\n    *(undefined4 *)(puVar15 + -0xc) = 2;\n    *(undefined4 *)(puVar15 + -0x10) = 0x1f;\n    *(undefined4 *)(puVar15 + -0x14) = 1;\n    goto code_r0x002021b6;\n  case 0x65:\n    *(undefined **)(puVar15 + -4) = &UNK_00202230;\n    uVar18 = FUN_001f91d0();\n    if ((*(byte *)(piVar10[6] + 1 + (uVar18 & 0xff) * 2) & 0x20) == 0) {\n      *(undefined1 **)(puVar15 + -4) = puVar15 + 0x38;\n      *(undefined4 *)(puVar15 + -8) = *(undefined4 *)(puVar15 + 0xa8);\n      *(undefined4 *)(puVar15 + -0xc) = 2;\n      *(undefined4 *)(puVar15 + -0x10) = 0x1f;\n      *(undefined4 *)(puVar15 + -0x14) = 10;\n    }\n    else {\n      *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0x98);\n      *(undefined **)(puVar15 + -0x14) = &UNK_00202250;\n      FUN_001f24d0();\n      *(undefined4 *)(puVar15 + 0x9c) = 0xffffffff;\n      *(undefined1 **)(puVar15 + -4) = puVar15 + 0x38;\n      *(undefined4 *)(puVar15 + -8) = *(undefined4 *)(puVar15 + 0xa8);\n      *(undefined4 *)(puVar15 + -0xc) = 1;\n      *(undefined4 *)(puVar15 + -0x10) = 9;\n      *(undefined4 *)(puVar15 + -0x14) = 1;\n    }\ncode_r0x002021b6:\n    *(undefined1 **)(puVar15 + -0x18) = puVar15 + 0x3c;\n    *(undefined4 *)(puVar15 + -0x1c) = *(undefined4 *)(puVar15 + 0xa4);\n    *(undefined4 *)(puVar15 + -0x20) = *(undefined4 *)(puVar15 + 0xa0);\n    *(undefined4 *)(puVar15 + -0x24) = *(undefined4 *)(puVar15 + 0x9c);\n    *(undefined4 *)(puVar15 + -0x28) = *(undefined4 *)(puVar15 + 0x98);\n    *(undefined4 *)(puVar15 + -0x2c) = *(undefined4 *)(puVar15 + 0x94);\n    *(undefined1 **)(puVar15 + -0x30) = puVar15 + 0x28;\n    *(undefined **)(puVar15 + -0x34) = &UNK_002021e4;\n    FUN_001fc0e0();\n    *(undefined4 *)(puVar15 + 0x94) = *(undefined4 *)(puVar15 + 0x24);\n    *(undefined4 *)(puVar15 + 0x98) = *(undefined4 *)(puVar15 + 0x28);\n    puVar16 = puVar15 + -4;\n    if (*(int *)(puVar15 + 0x34) == 0) {\n      *(undefined4 *)(*(int *)(puVar15 + 0xac) + 0xc) = *(undefined4 *)(puVar15 + 0x38);\n      puVar16 = puVar15 + -4;\n    }\n    break;\n  case 0x6d:\n    *(undefined1 **)(puVar15 + -4) = puVar15 + 0x38;\n    *(undefined4 *)(puVar15 + -8) = *(undefined4 *)(puVar15 + 0xa8);\n    *(undefined4 *)(puVar15 + -0xc) = 2;\n    *(undefined4 *)(puVar15 + -0x10) = 0xc;\n    *(undefined4 *)(puVar15 + -0x14) = 1;\n    *(undefined1 **)(puVar15 + -0x18) = puVar15 + 0x3c;\n    *(undefined4 *)(puVar15 + -0x1c) = *(undefined4 *)(puVar15 + 0xa4);\n    *(undefined4 *)(puVar15 + -0x20) = *(undefined4 *)(puVar15 + 0xa0);\n    *(undefined4 *)(puVar15 + -0x24) = *(undefined4 *)(puVar15 + 0x9c);\n    *(undefined4 *)(puVar15 + -0x28) = *(undefined4 *)(puVar15 + 0x98);\n    *(undefined4 *)(puVar15 + -0x2c) = *(undefined4 *)(puVar15 + 0x94);\n    *(undefined1 **)(puVar15 + -0x30) = puVar15 + 0x28;\n    *(undefined **)(puVar15 + -0x34) = &UNK_002022c4;\n    FUN_001fc0e0();\n    *(undefined4 *)(puVar15 + 0x94) = *(undefined4 *)(puVar15 + 0x24);\n    *(undefined4 *)(puVar15 + 0x98) = *(undefined4 *)(puVar15 + 0x28);\n    puVar16 = puVar15 + -4;\n    if (*(int *)(puVar15 + 0x34) == 0) {\n      *(int *)(*(int *)(puVar15 + 0xac) + 0x10) = *(int *)(puVar15 + 0x38) + -1;\n      puVar16 = puVar15 + -4;\n    }\n    break;\n  case 0x6e:\n    *(undefined **)(puVar15 + -4) = &UNK_00202310;\n    bVar9 = FUN_001f91d0();\n    bVar8 = *(byte *)((int)piVar10 + bVar9 + 0x11d);\n    if (bVar8 == 0) {\n      pcVar4 = *(code **)(*piVar10 + 0x20);\n      bVar8 = bVar9;\n      if (pcVar4 != (code *)PTR_FUN_0038ed98) {\n        *(undefined4 *)(puVar15 + -8) = 0;\n        *(int *)(puVar15 + -0xc) = (int)(char)bVar9;\n        *(int **)(puVar15 + -0x10) = piVar10;\n        *(undefined **)(puVar15 + -0x14) = &UNK_002023ab;\n        bVar8 = (*pcVar4)();\n      }\n      if (bVar8 == 0) goto LAB_00201ab8;\n      *(byte *)((int)piVar10 + bVar9 + 0x11d) = bVar8;\n    }\n    if (bVar8 != 10) goto LAB_00201ab8;\ncode_r0x00202346:\n    *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0x98);\n    *(undefined **)(puVar15 + -0x14) = &UNK_00202355;\n    FUN_001f24d0();\n    *(undefined4 *)(puVar15 + 0x9c) = 0xffffffff;\n    break;\n  case 0x74:\n    *(undefined **)(puVar15 + -4) = &UNK_00201a70;\n    bVar9 = FUN_001f91d0();\n    bVar8 = *(byte *)((int)piVar10 + bVar9 + 0x11d);\n    if (bVar8 == 0) {\n      pcVar4 = *(code **)(*piVar10 + 0x20);\n      bVar8 = bVar9;\n      if (pcVar4 != *(code **)(puVar15 + 0x1c)) {\n        *(undefined4 *)(puVar15 + -8) = 0;\n        *(int *)(puVar15 + -0xc) = (int)(char)bVar9;\n        *(int **)(puVar15 + -0x10) = piVar10;\n        *(undefined **)(puVar15 + -0x14) = &UNK_00201a98;\n        bVar8 = (*pcVar4)();\n      }\n      if (bVar8 == 0) goto LAB_00201ab8;\n      *(byte *)((int)piVar10 + bVar9 + 0x11d) = bVar8;\n    }\n    if (bVar8 == 9) goto code_r0x00202346;\n    goto LAB_00201ab8;\n  case 0x78:\n    *(undefined4 *)(puVar15 + -0xc) = *(undefined4 *)(*(int *)(*(int *)(puVar15 + 0x18) + 8) + 8);\ncode_r0x00201b30:\n    *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0xb0);\n    *(undefined1 **)(puVar15 + -0x14) = puVar15 + 0x38;\n    *(undefined4 *)(puVar15 + -0x18) = *(undefined4 *)(puVar15 + 0xa8);\n    *(undefined4 *)(puVar15 + -0x1c) = *(undefined4 *)(puVar15 + 0xa4);\n    *(undefined4 *)(puVar15 + -0x20) = *(undefined4 *)(puVar15 + 0xa0);\n    *(undefined4 *)(puVar15 + -0x24) = *(undefined4 *)(puVar15 + 0x9c);\n    *(undefined4 *)(puVar15 + -0x28) = *(undefined4 *)(puVar15 + 0x98);\n    *(undefined4 *)(puVar15 + -0x2c) = *(undefined4 *)(puVar15 + 0x94);\n    puVar17 = puVar15 + -0x30;\n    *(undefined1 **)(puVar15 + -0x30) = puVar15 + 0x28;\n    *(undefined **)(puVar15 + -0x34) = &UNK_00201b6c;\n    FUN_00201820();\ncode_r0x00201b6c:\n    *(undefined4 *)(puVar17 + 0xc4) = *(undefined4 *)(puVar17 + 0x54);\n    *(undefined4 *)(puVar17 + 200) = *(undefined4 *)(puVar17 + 0x58);\n    puVar16 = puVar17 + 0x2c;\n  }" switch (parenthesized_expression "(bVar9)" ( identifier )) (compound_statement "{\n  case 0x41:\n    iVar1 = *(int *)(*(int *)(puVar15 + 0x18) + 8);\n    *(undefined4 *)(puVar15 + 0x40) = *(undefined4 *)(iVar1 + 0x2c);\n    *(undefined4 *)(puVar15 + 0x44) = *(undefined4 *)(iVar1 + 0x30);\n    *(undefined4 *)(puVar15 + 0x48) = *(undefined4 *)(iVar1 + 0x34);\n    *(undefined4 *)(puVar15 + 0x4c) = *(undefined4 *)(iVar1 + 0x38);\n    *(undefined4 *)(puVar15 + 0x50) = *(undefined4 *)(iVar1 + 0x3c);\n    *(undefined4 *)(puVar15 + 0x54) = *(undefined4 *)(iVar1 + 0x40);\n    uVar12 = *(undefined4 *)(iVar1 + 0x44);\n    goto code_r0x00201f34;\n  case 0x42:\n    *(undefined1 **)(puVar15 + -0xc) = puVar15 + 0x40;\n    *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0x18);\n    *(undefined **)(puVar15 + -0x14) = &UNK_00201fd1;\n    FUN_001fb050();\n    goto code_r0x00201fd1;\n  case 0x43:\n  case 0x59:\n  case 0x79:\n    *(undefined1 **)(puVar15 + -4) = puVar15 + 0x38;\n    *(undefined4 *)(puVar15 + -8) = *(undefined4 *)(puVar15 + 0xa8);\n    *(undefined4 *)(puVar15 + -0xc) = 4;\n    *(undefined4 *)(puVar15 + -0x10) = 9999;\n    *(undefined4 *)(puVar15 + -0x14) = 0;\n    *(undefined1 **)(puVar15 + -0x18) = puVar15 + 0x3c;\n    *(undefined4 *)(puVar15 + -0x1c) = *(undefined4 *)(puVar15 + 0xa4);\n    *(undefined4 *)(puVar15 + -0x20) = *(undefined4 *)(puVar15 + 0xa0);\n    *(undefined4 *)(puVar15 + -0x24) = *(undefined4 *)(puVar15 + 0x9c);\n    *(undefined4 *)(puVar15 + -0x28) = *(undefined4 *)(puVar15 + 0x98);\n    *(undefined4 *)(puVar15 + -0x2c) = *(undefined4 *)(puVar15 + 0x94);\n    *(undefined1 **)(puVar15 + -0x30) = puVar15 + 0x28;\n    *(undefined **)(puVar15 + -0x34) = &UNK_00202097;\n    FUN_001fc0e0();\n    *(undefined4 *)(puVar15 + 0x94) = *(undefined4 *)(puVar15 + 0x24);\n    *(undefined4 *)(puVar15 + 0x98) = *(undefined4 *)(puVar15 + 0x28);\n    puVar16 = puVar15 + -4;\n    if (*(int *)(puVar15 + 0x34) == 0) {\n      iVar1 = *(int *)(puVar15 + 0x38);\n      iVar13 = iVar1 + -0x76c;\n      if (iVar1 < 0) {\n        iVar13 = iVar1 + 100;\n      }\n      *(int *)(*(int *)(puVar15 + 0xac) + 0x14) = iVar13;\n      puVar16 = puVar15 + -4;\n    }\n    break;\n  case 0x44:\n    *(undefined1 **)(puVar15 + -4) = puVar15 + 0x40;\n    *(undefined **)(puVar15 + -8) = &UNK_002a3ee7;\n    pcVar11 = "%m/%d/%y";\n    goto code_r0x00201ca2;\n  default:\n    goto LAB_00201ab8;\n  case 0x48:\n    *(undefined1 **)(puVar15 + -4) = puVar15 + 0x38;\n    *(undefined4 *)(puVar15 + -8) = *(undefined4 *)(puVar15 + 0xa8);\n    *(undefined4 *)(puVar15 + -0xc) = 2;\n    *(undefined4 *)(puVar15 + -0x10) = 0x17;\n    *(undefined4 *)(puVar15 + -0x14) = 0;\n    goto code_r0x00201ba6;\n  case 0x49:\n    *(undefined1 **)(puVar15 + -4) = puVar15 + 0x38;\n    *(undefined4 *)(puVar15 + -8) = *(undefined4 *)(puVar15 + 0xa8);\n    *(undefined4 *)(puVar15 + -0xc) = 2;\n    *(undefined4 *)(puVar15 + -0x10) = 0xc;\n    *(undefined4 *)(puVar15 + -0x14) = 1;\ncode_r0x00201ba6:\n    *(undefined1 **)(puVar15 + -0x18) = puVar15 + 0x3c;\n    *(undefined4 *)(puVar15 + -0x1c) = *(undefined4 *)(puVar15 + 0xa4);\n    *(undefined4 *)(puVar15 + -0x20) = *(undefined4 *)(puVar15 + 0xa0);\n    *(undefined4 *)(puVar15 + -0x24) = *(undefined4 *)(puVar15 + 0x9c);\n    *(undefined4 *)(puVar15 + -0x28) = *(undefined4 *)(puVar15 + 0x98);\n    *(undefined4 *)(puVar15 + -0x2c) = *(undefined4 *)(puVar15 + 0x94);\n    *(undefined1 **)(puVar15 + -0x30) = puVar15 + 0x28;\n    *(undefined **)(puVar15 + -0x34) = &UNK_00201bd4;\n    FUN_001fc0e0();\n    *(undefined4 *)(puVar15 + 0x94) = *(undefined4 *)(puVar15 + 0x24);\n    *(undefined4 *)(puVar15 + 0x98) = *(undefined4 *)(puVar15 + 0x28);\n    puVar16 = puVar15 + -4;\n    if (*(int *)(puVar15 + 0x34) == 0) {\n      *(undefined4 *)(*(int *)(puVar15 + 0xac) + 8) = *(undefined4 *)(puVar15 + 0x38);\n      puVar16 = puVar15 + -4;\n    }\n    break;\n  case 0x4d:\n    *(undefined1 **)(puVar15 + -4) = puVar15 + 0x38;\n    *(undefined4 *)(puVar15 + -8) = *(undefined4 *)(puVar15 + 0xa8);\n    *(undefined4 *)(puVar15 + -0xc) = 2;\n    *(undefined4 *)(puVar15 + -0x10) = 0x3b;\n    *(undefined4 *)(puVar15 + -0x14) = 0;\n    *(undefined1 **)(puVar15 + -0x18) = puVar15 + 0x3c;\n    *(undefined4 *)(puVar15 + -0x1c) = *(undefined4 *)(puVar15 + 0xa4);\n    *(undefined4 *)(puVar15 + -0x20) = *(undefined4 *)(puVar15 + 0xa0);\n    *(undefined4 *)(puVar15 + -0x24) = *(undefined4 *)(puVar15 + 0x9c);\n    *(undefined4 *)(puVar15 + -0x28) = *(undefined4 *)(puVar15 + 0x98);\n    *(undefined4 *)(puVar15 + -0x2c) = *(undefined4 *)(puVar15 + 0x94);\n    *(undefined1 **)(puVar15 + -0x30) = puVar15 + 0x28;\n    *(undefined **)(puVar15 + -0x34) = &UNK_00201c54;\n    FUN_001fc0e0();\n    *(undefined4 *)(puVar15 + 0x94) = *(undefined4 *)(puVar15 + 0x24);\n    *(undefined4 *)(puVar15 + 0x98) = *(undefined4 *)(puVar15 + 0x28);\n    puVar16 = puVar15 + -4;\n    if (*(int *)(puVar15 + 0x34) == 0) {\n      *(undefined4 *)(*(int *)(puVar15 + 0xac) + 4) = *(undefined4 *)(puVar15 + 0x38);\n      puVar16 = puVar15 + -4;\n    }\n    break;\n  case 0x52:\n    *(undefined1 **)(puVar15 + -4) = puVar15 + 0x40;\n    *(char **)(puVar15 + -8) = "%H:%M:%S";\n    pcVar11 = "%H:%M";\n    goto code_r0x00201ca2;\n  case 0x53:\n    *(undefined1 **)(puVar15 + -4) = puVar15 + 0x38;\n    *(undefined4 *)(puVar15 + -8) = *(undefined4 *)(puVar15 + 0xa8);\n    *(undefined4 *)(puVar15 + -0xc) = 2;\n    *(undefined4 *)(puVar15 + -0x10) = 0x3c;\n    *(undefined4 *)(puVar15 + -0x14) = 0;\n    *(undefined1 **)(puVar15 + -0x18) = puVar15 + 0x3c;\n    *(undefined4 *)(puVar15 + -0x1c) = *(undefined4 *)(puVar15 + 0xa4);\n    *(undefined4 *)(puVar15 + -0x20) = *(undefined4 *)(puVar15 + 0xa0);\n    *(undefined4 *)(puVar15 + -0x24) = *(undefined4 *)(puVar15 + 0x9c);\n    *(undefined4 *)(puVar15 + -0x28) = *(undefined4 *)(puVar15 + 0x98);\n    *(undefined4 *)(puVar15 + -0x2c) = *(undefined4 *)(puVar15 + 0x94);\n    *(undefined1 **)(puVar15 + -0x30) = puVar15 + 0x28;\n    *(undefined **)(puVar15 + -0x34) = &UNK_00201cfc;\n    FUN_001fc0e0();\n    *(undefined4 *)(puVar15 + 0x94) = *(undefined4 *)(puVar15 + 0x24);\n    *(undefined4 *)(puVar15 + 0x98) = *(undefined4 *)(puVar15 + 0x28);\n    puVar16 = puVar15 + -4;\n    if (*(int *)(puVar15 + 0x34) == 0) {\n      **(undefined4 **)(puVar15 + 0xac) = *(undefined4 *)(puVar15 + 0x38);\n      puVar16 = puVar15 + -4;\n    }\n    break;\n  case 0x54:\n    *(undefined1 **)(puVar15 + -4) = puVar15 + 0x40;\n    *(undefined **)(puVar15 + -8) = &UNK_002a3ef6;\n    pcVar11 = "%H:%M:%S";\ncode_r0x00201ca2:\n    *(char **)(puVar15 + -0xc) = pcVar11;\n    *(int **)(puVar15 + -0x10) = piVar10;\n    *(undefined **)(puVar15 + -0x14) = &UNK_00201ca9;\n    FUN_001f94d0();\n    *(undefined1 **)(puVar15 + -0xc) = puVar15 + 0x40;\n    goto code_r0x00201b30;\n  case 0x58:\n    *(undefined4 *)(puVar15 + -0xc) = *(undefined4 *)(*(int *)(*(int *)(puVar15 + 0x18) + 8) + 0x10)\n    ;\n    goto code_r0x00201b30;\n  case 0x5a:\n    *(undefined **)(puVar15 + -4) = &UNK_00201d80;\n    uVar18 = FUN_001f91d0();\n    if ((*(byte *)(piVar10[6] + 1 + (uVar18 & 0xff) * 2) & 1) == 0) goto LAB_00201ab8;\n    *(undefined1 **)(puVar15 + 0x14) = puVar15 + 0x28;\n    puVar2 = puVar15 + 0x38;\n    *(undefined1 **)(puVar15 + -8) = puVar2;\n    *(undefined4 *)(puVar15 + -0xc) = *(undefined4 *)(puVar15 + 0xa8);\n    *(undefined4 *)(puVar15 + -0x10) = 0xe;\n    *(undefined4 *)(puVar15 + -0x14) = *(undefined4 *)(puVar15 + 0x24);\n    puVar3 = puVar15 + 0x40;\n    *(undefined1 **)(puVar15 + -0x18) = puVar3;\n    *(undefined4 *)(puVar15 + -0x1c) = *(undefined4 *)(puVar15 + 0xa4);\n    *(undefined4 *)(puVar15 + -0x20) = *(undefined4 *)(puVar15 + 0xa0);\n    *(undefined4 *)(puVar15 + -0x24) = *(undefined4 *)(puVar15 + 0x9c);\n    *(undefined4 *)(puVar15 + -0x28) = *(undefined4 *)(puVar15 + 0x98);\n    *(undefined4 *)(puVar15 + -0x2c) = *(undefined4 *)(puVar15 + 0x94);\n    *(undefined1 **)(puVar15 + -0x30) = puVar15 + 0x28;\n    *(undefined **)(puVar15 + -0x34) = &UNK_00201ddc;\n    FUN_00201020();\n    *(undefined4 *)(puVar15 + 0x94) = *(undefined4 *)(puVar15 + 0x24);\n    *(undefined4 *)(puVar15 + 0x98) = *(undefined4 *)(puVar15 + 0x28);\n    *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0xc);\n    *(undefined4 *)(puVar15 + -0x14) = *(undefined4 *)(puVar15 + 4);\n    *(undefined **)(puVar15 + -0x18) = &UNK_00201e02;\n    cVar6 = FUN_00200f70();\n    puVar16 = puVar15 + -4;\n    if ((cVar6 != '\0') ||\n       (puVar16 = puVar15 + -4, *(int *)(puVar15 + 0x34) != 0 || *(int *)(puVar15 + 0x3c) != 0))\n    break;\n    *(undefined **)(puVar15 + -8) = &UNK_00201e2b;\n    uVar12 = FUN_001f91d0();\n    iVar1 = piVar10[7];\n    *(undefined4 *)(puVar15 + 0x1c) = uVar12;\n    if ((char)iVar1 == '\0') {\n      *(undefined **)(puVar15 + -8) = &UNK_002023c1;\n      cVar6 = FUN_001f9220();\n    }\n    else {\n      cVar6 = *(char *)((int)piVar10 + 0x4a);\n    }\n    if (puVar15[0x1c] != cVar6) {\n      *(undefined **)(puVar15 + -8) = &UNK_00201e53;\n      uVar12 = FUN_001f91d0();\n      iVar1 = piVar10[7];\n      *(undefined4 *)(puVar15 + 0x1c) = uVar12;\n      if ((char)iVar1 == '\0') {\n        *(undefined **)(puVar15 + -8) = &UNK_002023d2;\n        cVar6 = FUN_001f9220();\n      }\n      else {\n        cVar6 = (char)piVar10[0x12];\n      }\n      puVar16 = puVar15 + -4;\n      if (puVar15[0x1c] != cVar6) break;\n    }\n    *(undefined1 **)(puVar15 + -8) = puVar2;\n    *(undefined4 *)(puVar15 + -0xc) = *(undefined4 *)(puVar15 + 0xa4);\n    *(undefined4 *)(puVar15 + -0x10) = 2;\n    *(undefined4 *)(puVar15 + -0x14) = 0x17;\n    *(undefined4 *)(puVar15 + -0x18) = 0;\n    *(undefined1 **)(puVar15 + -0x1c) = puVar3;\n    *(undefined4 *)(puVar15 + -0x20) = *(undefined4 *)(puVar15 + 0xa0);\n    *(undefined4 *)(puVar15 + -0x24) = *(undefined4 *)(puVar15 + 0x9c);\n    *(undefined4 *)(puVar15 + -0x28) = *(undefined4 *)(puVar15 + 0x98);\n    *(undefined4 *)(puVar15 + -0x2c) = *(undefined4 *)(puVar15 + 0x94);\n    *(undefined4 *)(puVar15 + -0x30) = *(undefined4 *)(puVar15 + 0x90);\n    *(undefined4 *)(puVar15 + -0x34) = *(undefined4 *)(puVar15 + 0x10);\n    *(undefined **)(puVar15 + -0x38) = &UNK_00201eaa;\n    FUN_001fc0e0();\n    *(undefined4 *)(puVar15 + 0x90) = *(undefined4 *)(puVar15 + 0x20);\n    *(undefined4 *)(puVar15 + 0x94) = *(undefined4 *)(puVar15 + 0x24);\n    *(undefined1 **)(puVar15 + -0xc) = puVar2;\n    *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0xa0);\n    *(undefined4 *)(puVar15 + -0x14) = 2;\n    *(undefined4 *)(puVar15 + -0x18) = 0x3b;\n    *(undefined4 *)(puVar15 + -0x1c) = 0;\n    *(undefined1 **)(puVar15 + -0x20) = puVar3;\n    *(undefined4 *)(puVar15 + -0x24) = *(undefined4 *)(puVar15 + 0x9c);\n    *(undefined4 *)(puVar15 + -0x28) = *(undefined4 *)(puVar15 + 0x98);\n    *(undefined4 *)(puVar15 + -0x2c) = *(undefined4 *)(puVar15 + 0x24);\n    *(undefined4 *)(puVar15 + -0x30) = *(undefined4 *)(puVar15 + 0x20);\n    *(undefined4 *)(puVar15 + -0x34) = *(undefined4 *)(puVar15 + 0x8c);\n    puVar17 = puVar15 + -0x38;\n    *(undefined4 *)(puVar15 + -0x38) = *(undefined4 *)(puVar15 + 0xc);\n    *(undefined **)(puVar15 + -0x3c) = &UNK_00201ef2;\n    FUN_001fc0e0();\n    goto code_r0x00201b6c;\n  case 0x61:\n    iVar1 = *(int *)(*(int *)(puVar15 + 0x18) + 8);\n    *(undefined4 *)(puVar15 + 0x40) = *(undefined4 *)(iVar1 + 0x48);\n    *(undefined4 *)(puVar15 + 0x44) = *(undefined4 *)(iVar1 + 0x4c);\n    *(undefined4 *)(puVar15 + 0x48) = *(undefined4 *)(iVar1 + 0x50);\n    *(undefined4 *)(puVar15 + 0x4c) = *(undefined4 *)(iVar1 + 0x54);\n    *(undefined4 *)(puVar15 + 0x50) = *(undefined4 *)(iVar1 + 0x58);\n    *(undefined4 *)(puVar15 + 0x54) = *(undefined4 *)(iVar1 + 0x5c);\n    uVar12 = *(undefined4 *)(iVar1 + 0x60);\ncode_r0x00201f34:\n    *(undefined4 *)(puVar15 + 0x58) = uVar12;\n    *(undefined1 **)(puVar15 + -8) = puVar15 + 0x38;\n    *(undefined4 *)(puVar15 + -0xc) = *(undefined4 *)(puVar15 + 0xa8);\n    *(undefined4 *)(puVar15 + -0x10) = 7;\n    *(undefined1 **)(puVar15 + -0x14) = puVar15 + 0x40;\n    *(undefined1 **)(puVar15 + -0x18) = puVar15 + 0x3c;\n    *(undefined4 *)(puVar15 + -0x1c) = *(undefined4 *)(puVar15 + 0xa4);\n    *(undefined4 *)(puVar15 + -0x20) = *(undefined4 *)(puVar15 + 0xa0);\n    *(undefined4 *)(puVar15 + -0x24) = *(undefined4 *)(puVar15 + 0x9c);\n    *(undefined4 *)(puVar15 + -0x28) = *(undefined4 *)(puVar15 + 0x98);\n    *(undefined4 *)(puVar15 + -0x2c) = *(undefined4 *)(puVar15 + 0x94);\n    *(undefined1 **)(puVar15 + -0x30) = puVar15 + 0x28;\n    *(undefined **)(puVar15 + -0x34) = &UNK_00201f80;\n    FUN_00201020();\n    *(undefined4 *)(puVar15 + 0x94) = *(undefined4 *)(puVar15 + 0x24);\n    *(undefined4 *)(puVar15 + 0x98) = *(undefined4 *)(puVar15 + 0x28);\n    puVar16 = puVar15 + -4;\n    if (*(int *)(puVar15 + 0x34) == 0) {\n      *(undefined4 *)(*(int *)(puVar15 + 0xac) + 0x18) = *(undefined4 *)(puVar15 + 0x38);\n      puVar16 = puVar15 + -4;\n    }\n    break;\n  case 0x62:\n  case 0x68:\n    *(undefined1 **)(puVar15 + -0xc) = puVar15 + 0x40;\n    *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0x18);\n    *(undefined **)(puVar15 + -0x14) = &UNK_00202171;\n    FUN_001fb0c0();\ncode_r0x00201fd1:\n    *(undefined1 **)(puVar15 + -8) = puVar15 + 0x38;\n    *(undefined4 *)(puVar15 + -0xc) = *(undefined4 *)(puVar15 + 0xa8);\n    *(undefined4 *)(puVar15 + -0x10) = 0xc;\n    *(undefined1 **)(puVar15 + -0x14) = puVar15 + 0x40;\n    *(undefined1 **)(puVar15 + -0x18) = puVar15 + 0x3c;\n    *(undefined4 *)(puVar15 + -0x1c) = *(undefined4 *)(puVar15 + 0xa4);\n    *(undefined4 *)(puVar15 + -0x20) = *(undefined4 *)(puVar15 + 0xa0);\n    *(undefined4 *)(puVar15 + -0x24) = *(undefined4 *)(puVar15 + 0x9c);\n    *(undefined4 *)(puVar15 + -0x28) = *(undefined4 *)(puVar15 + 0x98);\n    *(undefined4 *)(puVar15 + -0x2c) = *(undefined4 *)(puVar15 + 0x94);\n    *(undefined1 **)(puVar15 + -0x30) = puVar15 + 0x28;\n    *(undefined **)(puVar15 + -0x34) = &UNK_00202015;\n    FUN_00201020();\n    *(undefined4 *)(puVar15 + 0x94) = *(undefined4 *)(puVar15 + 0x24);\n    *(undefined4 *)(puVar15 + 0x98) = *(undefined4 *)(puVar15 + 0x28);\n    puVar16 = puVar15 + -4;\n    if (*(int *)(puVar15 + 0x34) == 0) {\n      *(undefined4 *)(*(int *)(puVar15 + 0xac) + 0x10) = *(undefined4 *)(puVar15 + 0x38);\n      puVar16 = puVar15 + -4;\n    }\n    break;\n  case 99:\n    *(undefined4 *)(puVar15 + -0xc) = *(undefined4 *)(*(int *)(*(int *)(puVar15 + 0x18) + 8) + 0x18)\n    ;\n    goto code_r0x00201b30;\n  case 100:\n    *(undefined1 **)(puVar15 + -4) = puVar15 + 0x38;\n    *(undefined4 *)(puVar15 + -8) = *(undefined4 *)(puVar15 + 0xa8);\n    *(undefined4 *)(puVar15 + -0xc) = 2;\n    *(undefined4 *)(puVar15 + -0x10) = 0x1f;\n    *(undefined4 *)(puVar15 + -0x14) = 1;\n    goto code_r0x002021b6;\n  case 0x65:\n    *(undefined **)(puVar15 + -4) = &UNK_00202230;\n    uVar18 = FUN_001f91d0();\n    if ((*(byte *)(piVar10[6] + 1 + (uVar18 & 0xff) * 2) & 0x20) == 0) {\n      *(undefined1 **)(puVar15 + -4) = puVar15 + 0x38;\n      *(undefined4 *)(puVar15 + -8) = *(undefined4 *)(puVar15 + 0xa8);\n      *(undefined4 *)(puVar15 + -0xc) = 2;\n      *(undefined4 *)(puVar15 + -0x10) = 0x1f;\n      *(undefined4 *)(puVar15 + -0x14) = 10;\n    }\n    else {\n      *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0x98);\n      *(undefined **)(puVar15 + -0x14) = &UNK_00202250;\n      FUN_001f24d0();\n      *(undefined4 *)(puVar15 + 0x9c) = 0xffffffff;\n      *(undefined1 **)(puVar15 + -4) = puVar15 + 0x38;\n      *(undefined4 *)(puVar15 + -8) = *(undefined4 *)(puVar15 + 0xa8);\n      *(undefined4 *)(puVar15 + -0xc) = 1;\n      *(undefined4 *)(puVar15 + -0x10) = 9;\n      *(undefined4 *)(puVar15 + -0x14) = 1;\n    }\ncode_r0x002021b6:\n    *(undefined1 **)(puVar15 + -0x18) = puVar15 + 0x3c;\n    *(undefined4 *)(puVar15 + -0x1c) = *(undefined4 *)(puVar15 + 0xa4);\n    *(undefined4 *)(puVar15 + -0x20) = *(undefined4 *)(puVar15 + 0xa0);\n    *(undefined4 *)(puVar15 + -0x24) = *(undefined4 *)(puVar15 + 0x9c);\n    *(undefined4 *)(puVar15 + -0x28) = *(undefined4 *)(puVar15 + 0x98);\n    *(undefined4 *)(puVar15 + -0x2c) = *(undefined4 *)(puVar15 + 0x94);\n    *(undefined1 **)(puVar15 + -0x30) = puVar15 + 0x28;\n    *(undefined **)(puVar15 + -0x34) = &UNK_002021e4;\n    FUN_001fc0e0();\n    *(undefined4 *)(puVar15 + 0x94) = *(undefined4 *)(puVar15 + 0x24);\n    *(undefined4 *)(puVar15 + 0x98) = *(undefined4 *)(puVar15 + 0x28);\n    puVar16 = puVar15 + -4;\n    if (*(int *)(puVar15 + 0x34) == 0) {\n      *(undefined4 *)(*(int *)(puVar15 + 0xac) + 0xc) = *(undefined4 *)(puVar15 + 0x38);\n      puVar16 = puVar15 + -4;\n    }\n    break;\n  case 0x6d:\n    *(undefined1 **)(puVar15 + -4) = puVar15 + 0x38;\n    *(undefined4 *)(puVar15 + -8) = *(undefined4 *)(puVar15 + 0xa8);\n    *(undefined4 *)(puVar15 + -0xc) = 2;\n    *(undefined4 *)(puVar15 + -0x10) = 0xc;\n    *(undefined4 *)(puVar15 + -0x14) = 1;\n    *(undefined1 **)(puVar15 + -0x18) = puVar15 + 0x3c;\n    *(undefined4 *)(puVar15 + -0x1c) = *(undefined4 *)(puVar15 + 0xa4);\n    *(undefined4 *)(puVar15 + -0x20) = *(undefined4 *)(puVar15 + 0xa0);\n    *(undefined4 *)(puVar15 + -0x24) = *(undefined4 *)(puVar15 + 0x9c);\n    *(undefined4 *)(puVar15 + -0x28) = *(undefined4 *)(puVar15 + 0x98);\n    *(undefined4 *)(puVar15 + -0x2c) = *(undefined4 *)(puVar15 + 0x94);\n    *(undefined1 **)(puVar15 + -0x30) = puVar15 + 0x28;\n    *(undefined **)(puVar15 + -0x34) = &UNK_002022c4;\n    FUN_001fc0e0();\n    *(undefined4 *)(puVar15 + 0x94) = *(undefined4 *)(puVar15 + 0x24);\n    *(undefined4 *)(puVar15 + 0x98) = *(undefined4 *)(puVar15 + 0x28);\n    puVar16 = puVar15 + -4;\n    if (*(int *)(puVar15 + 0x34) == 0) {\n      *(int *)(*(int *)(puVar15 + 0xac) + 0x10) = *(int *)(puVar15 + 0x38) + -1;\n      puVar16 = puVar15 + -4;\n    }\n    break;\n  case 0x6e:\n    *(undefined **)(puVar15 + -4) = &UNK_00202310;\n    bVar9 = FUN_001f91d0();\n    bVar8 = *(byte *)((int)piVar10 + bVar9 + 0x11d);\n    if (bVar8 == 0) {\n      pcVar4 = *(code **)(*piVar10 + 0x20);\n      bVar8 = bVar9;\n      if (pcVar4 != (code *)PTR_FUN_0038ed98) {\n        *(undefined4 *)(puVar15 + -8) = 0;\n        *(int *)(puVar15 + -0xc) = (int)(char)bVar9;\n        *(int **)(puVar15 + -0x10) = piVar10;\n        *(undefined **)(puVar15 + -0x14) = &UNK_002023ab;\n        bVar8 = (*pcVar4)();\n      }\n      if (bVar8 == 0) goto LAB_00201ab8;\n      *(byte *)((int)piVar10 + bVar9 + 0x11d) = bVar8;\n    }\n    if (bVar8 != 10) goto LAB_00201ab8;\ncode_r0x00202346:\n    *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0x98);\n    *(undefined **)(puVar15 + -0x14) = &UNK_00202355;\n    FUN_001f24d0();\n    *(undefined4 *)(puVar15 + 0x9c) = 0xffffffff;\n    break;\n  case 0x74:\n    *(undefined **)(puVar15 + -4) = &UNK_00201a70;\n    bVar9 = FUN_001f91d0();\n    bVar8 = *(byte *)((int)piVar10 + bVar9 + 0x11d);\n    if (bVar8 == 0) {\n      pcVar4 = *(code **)(*piVar10 + 0x20);\n      bVar8 = bVar9;\n      if (pcVar4 != *(code **)(puVar15 + 0x1c)) {\n        *(undefined4 *)(puVar15 + -8) = 0;\n        *(int *)(puVar15 + -0xc) = (int)(char)bVar9;\n        *(int **)(puVar15 + -0x10) = piVar10;\n        *(undefined **)(puVar15 + -0x14) = &UNK_00201a98;\n        bVar8 = (*pcVar4)();\n      }\n      if (bVar8 == 0) goto LAB_00201ab8;\n      *(byte *)((int)piVar10 + bVar9 + 0x11d) = bVar8;\n    }\n    if (bVar8 == 9) goto code_r0x00202346;\n    goto LAB_00201ab8;\n  case 0x78:\n    *(undefined4 *)(puVar15 + -0xc) = *(undefined4 *)(*(int *)(*(int *)(puVar15 + 0x18) + 8) + 8);\ncode_r0x00201b30:\n    *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0xb0);\n    *(undefined1 **)(puVar15 + -0x14) = puVar15 + 0x38;\n    *(undefined4 *)(puVar15 + -0x18) = *(undefined4 *)(puVar15 + 0xa8);\n    *(undefined4 *)(puVar15 + -0x1c) = *(undefined4 *)(puVar15 + 0xa4);\n    *(undefined4 *)(puVar15 + -0x20) = *(undefined4 *)(puVar15 + 0xa0);\n    *(undefined4 *)(puVar15 + -0x24) = *(undefined4 *)(puVar15 + 0x9c);\n    *(undefined4 *)(puVar15 + -0x28) = *(undefined4 *)(puVar15 + 0x98);\n    *(undefined4 *)(puVar15 + -0x2c) = *(undefined4 *)(puVar15 + 0x94);\n    puVar17 = puVar15 + -0x30;\n    *(undefined1 **)(puVar15 + -0x30) = puVar15 + 0x28;\n    *(undefined **)(puVar15 + -0x34) = &UNK_00201b6c;\n    FUN_00201820();\ncode_r0x00201b6c:\n    *(undefined4 *)(puVar17 + 0xc4) = *(undefined4 *)(puVar17 + 0x54);\n    *(undefined4 *)(puVar17 + 200) = *(undefined4 *)(puVar17 + 0x58);\n    puVar16 = puVar17 + 0x2c;\n  }" { (case_statement "case 0x41:\n    iVar1 = *(int *)(*(int *)(puVar15 + 0x18) + 8);\n    *(undefined4 *)(puVar15 + 0x40) = *(undefined4 *)(iVar1 + 0x2c);\n    *(undefined4 *)(puVar15 + 0x44) = *(undefined4 *)(iVar1 + 0x30);\n    *(undefined4 *)(puVar15 + 0x48) = *(undefined4 *)(iVar1 + 0x34);\n    *(undefined4 *)(puVar15 + 0x4c) = *(undefined4 *)(iVar1 + 0x38);\n    *(undefined4 *)(puVar15 + 0x50) = *(undefined4 *)(iVar1 + 0x3c);\n    *(undefined4 *)(puVar15 + 0x54) = *(undefined4 *)(iVar1 + 0x40);\n    uVar12 = *(undefined4 *)(iVar1 + 0x44);\n    goto code_r0x00201f34;" case number_literal : (expression_statement "iVar1 = *(int *)(*(int *)(puVar15 + 0x18) + 8);" (assignment_expression "iVar1 = *(int *)(*(int *)(puVar15 + 0x18) + 8)" identifier = (pointer_expression "*(int *)(*(int *)(puVar15 + 0x18) + 8)" * (cast_expression "(int *)(*(int *)(puVar15 + 0x18) + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar15 + 0x18) + 8)" ( (binary_expression "*(int *)(puVar15 + 0x18) + 8" (pointer_expression "*(int *)(puVar15 + 0x18)" * (cast_expression "(int *)(puVar15 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x18)" ( (binary_expression "puVar15 + 0x18" identifier + number_literal) )))) + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar15 + 0x40) = *(undefined4 *)(iVar1 + 0x2c);" (assignment_expression "*(undefined4 *)(puVar15 + 0x40) = *(undefined4 *)(iVar1 + 0x2c)" (pointer_expression "*(undefined4 *)(puVar15 + 0x40)" * (cast_expression "(undefined4 *)(puVar15 + 0x40)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x40)" ( (binary_expression "puVar15 + 0x40" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(iVar1 + 0x2c)" * (cast_expression "(undefined4 *)(iVar1 + 0x2c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x2c)" ( (binary_expression "iVar1 + 0x2c" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar15 + 0x44) = *(undefined4 *)(iVar1 + 0x30);" (assignment_expression "*(undefined4 *)(puVar15 + 0x44) = *(undefined4 *)(iVar1 + 0x30)" (pointer_expression "*(undefined4 *)(puVar15 + 0x44)" * (cast_expression "(undefined4 *)(puVar15 + 0x44)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x44)" ( (binary_expression "puVar15 + 0x44" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(iVar1 + 0x30)" * (cast_expression "(undefined4 *)(iVar1 + 0x30)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x30)" ( (binary_expression "iVar1 + 0x30" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar15 + 0x48) = *(undefined4 *)(iVar1 + 0x34);" (assignment_expression "*(undefined4 *)(puVar15 + 0x48) = *(undefined4 *)(iVar1 + 0x34)" (pointer_expression "*(undefined4 *)(puVar15 + 0x48)" * (cast_expression "(undefined4 *)(puVar15 + 0x48)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x48)" ( (binary_expression "puVar15 + 0x48" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(iVar1 + 0x34)" * (cast_expression "(undefined4 *)(iVar1 + 0x34)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x34)" ( (binary_expression "iVar1 + 0x34" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar15 + 0x4c) = *(undefined4 *)(iVar1 + 0x38);" (assignment_expression "*(undefined4 *)(puVar15 + 0x4c) = *(undefined4 *)(iVar1 + 0x38)" (pointer_expression "*(undefined4 *)(puVar15 + 0x4c)" * (cast_expression "(undefined4 *)(puVar15 + 0x4c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x4c)" ( (binary_expression "puVar15 + 0x4c" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(iVar1 + 0x38)" * (cast_expression "(undefined4 *)(iVar1 + 0x38)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x38)" ( (binary_expression "iVar1 + 0x38" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar15 + 0x50) = *(undefined4 *)(iVar1 + 0x3c);" (assignment_expression "*(undefined4 *)(puVar15 + 0x50) = *(undefined4 *)(iVar1 + 0x3c)" (pointer_expression "*(undefined4 *)(puVar15 + 0x50)" * (cast_expression "(undefined4 *)(puVar15 + 0x50)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x50)" ( (binary_expression "puVar15 + 0x50" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(iVar1 + 0x3c)" * (cast_expression "(undefined4 *)(iVar1 + 0x3c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x3c)" ( (binary_expression "iVar1 + 0x3c" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar15 + 0x54) = *(undefined4 *)(iVar1 + 0x40);" (assignment_expression "*(undefined4 *)(puVar15 + 0x54) = *(undefined4 *)(iVar1 + 0x40)" (pointer_expression "*(undefined4 *)(puVar15 + 0x54)" * (cast_expression "(undefined4 *)(puVar15 + 0x54)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x54)" ( (binary_expression "puVar15 + 0x54" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(iVar1 + 0x40)" * (cast_expression "(undefined4 *)(iVar1 + 0x40)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x40)" ( (binary_expression "iVar1 + 0x40" identifier + number_literal) ))))) ;) (expression_statement "uVar12 = *(undefined4 *)(iVar1 + 0x44);" (assignment_expression "uVar12 = *(undefined4 *)(iVar1 + 0x44)" identifier = (pointer_expression "*(undefined4 *)(iVar1 + 0x44)" * (cast_expression "(undefined4 *)(iVar1 + 0x44)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x44)" ( (binary_expression "iVar1 + 0x44" identifier + number_literal) ))))) ;) (goto_statement "goto code_r0x00201f34;" goto statement_identifier ;)) (case_statement "case 0x42:\n    *(undefined1 **)(puVar15 + -0xc) = puVar15 + 0x40;\n    *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0x18);\n    *(undefined **)(puVar15 + -0x14) = &UNK_00201fd1;\n    FUN_001fb050();\n    goto code_r0x00201fd1;" case number_literal : (expression_statement "*(undefined1 **)(puVar15 + -0xc) = puVar15 + 0x40;" (assignment_expression "*(undefined1 **)(puVar15 + -0xc) = puVar15 + 0x40" (pointer_expression "*(undefined1 **)(puVar15 + -0xc)" * (cast_expression "(undefined1 **)(puVar15 + -0xc)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + -0xc)" ( (binary_expression "puVar15 + -0xc" identifier + number_literal) )))) = (binary_expression "puVar15 + 0x40" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0x18);" (assignment_expression "*(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0x18)" (pointer_expression "*(undefined4 *)(puVar15 + -0x10)" * (cast_expression "(undefined4 *)(puVar15 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x10)" ( (binary_expression "puVar15 + -0x10" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar15 + 0x18)" * (cast_expression "(undefined4 *)(puVar15 + 0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x18)" ( (binary_expression "puVar15 + 0x18" identifier + number_literal) ))))) ;) (expression_statement "*(undefined **)(puVar15 + -0x14) = &UNK_00201fd1;" (assignment_expression "*(undefined **)(puVar15 + -0x14) = &UNK_00201fd1" (pointer_expression "*(undefined **)(puVar15 + -0x14)" * (cast_expression "(undefined **)(puVar15 + -0x14)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + -0x14)" ( (binary_expression "puVar15 + -0x14" identifier + number_literal) )))) = (pointer_expression "&UNK_00201fd1" & identifier)) ;) (expression_statement "FUN_001fb050();" (call_expression "FUN_001fb050()" identifier (argument_list "()" ( ))) ;) (goto_statement "goto code_r0x00201fd1;" goto statement_identifier ;)) (case_statement "case 0x43:" case number_literal :) (case_statement "case 0x59:" case number_literal :) (case_statement "case 0x79:\n    *(undefined1 **)(puVar15 + -4) = puVar15 + 0x38;\n    *(undefined4 *)(puVar15 + -8) = *(undefined4 *)(puVar15 + 0xa8);\n    *(undefined4 *)(puVar15 + -0xc) = 4;\n    *(undefined4 *)(puVar15 + -0x10) = 9999;\n    *(undefined4 *)(puVar15 + -0x14) = 0;\n    *(undefined1 **)(puVar15 + -0x18) = puVar15 + 0x3c;\n    *(undefined4 *)(puVar15 + -0x1c) = *(undefined4 *)(puVar15 + 0xa4);\n    *(undefined4 *)(puVar15 + -0x20) = *(undefined4 *)(puVar15 + 0xa0);\n    *(undefined4 *)(puVar15 + -0x24) = *(undefined4 *)(puVar15 + 0x9c);\n    *(undefined4 *)(puVar15 + -0x28) = *(undefined4 *)(puVar15 + 0x98);\n    *(undefined4 *)(puVar15 + -0x2c) = *(undefined4 *)(puVar15 + 0x94);\n    *(undefined1 **)(puVar15 + -0x30) = puVar15 + 0x28;\n    *(undefined **)(puVar15 + -0x34) = &UNK_00202097;\n    FUN_001fc0e0();\n    *(undefined4 *)(puVar15 + 0x94) = *(undefined4 *)(puVar15 + 0x24);\n    *(undefined4 *)(puVar15 + 0x98) = *(undefined4 *)(puVar15 + 0x28);\n    puVar16 = puVar15 + -4;\n    if (*(int *)(puVar15 + 0x34) == 0) {\n      iVar1 = *(int *)(puVar15 + 0x38);\n      iVar13 = iVar1 + -0x76c;\n      if (iVar1 < 0) {\n        iVar13 = iVar1 + 100;\n      }\n      *(int *)(*(int *)(puVar15 + 0xac) + 0x14) = iVar13;\n      puVar16 = puVar15 + -4;\n    }\n    break;" case number_literal : (expression_statement "*(undefined1 **)(puVar15 + -4) = puVar15 + 0x38;" (assignment_expression "*(undefined1 **)(puVar15 + -4) = puVar15 + 0x38" (pointer_expression "*(undefined1 **)(puVar15 + -4)" * (cast_expression "(undefined1 **)(puVar15 + -4)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + -4)" ( (binary_expression "puVar15 + -4" identifier + number_literal) )))) = (binary_expression "puVar15 + 0x38" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar15 + -8) = *(undefined4 *)(puVar15 + 0xa8);" (assignment_expression "*(undefined4 *)(puVar15 + -8) = *(undefined4 *)(puVar15 + 0xa8)" (pointer_expression "*(undefined4 *)(puVar15 + -8)" * (cast_expression "(undefined4 *)(puVar15 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -8)" ( (binary_expression "puVar15 + -8" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar15 + 0xa8)" * (cast_expression "(undefined4 *)(puVar15 + 0xa8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0xa8)" ( (binary_expression "puVar15 + 0xa8" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar15 + -0xc) = 4;" (assignment_expression "*(undefined4 *)(puVar15 + -0xc) = 4" (pointer_expression "*(undefined4 *)(puVar15 + -0xc)" * (cast_expression "(undefined4 *)(puVar15 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0xc)" ( (binary_expression "puVar15 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x10) = 9999;" (assignment_expression "*(undefined4 *)(puVar15 + -0x10) = 9999" (pointer_expression "*(undefined4 *)(puVar15 + -0x10)" * (cast_expression "(undefined4 *)(puVar15 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x10)" ( (binary_expression "puVar15 + -0x10" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x14) = 0;" (assignment_expression "*(undefined4 *)(puVar15 + -0x14) = 0" (pointer_expression "*(undefined4 *)(puVar15 + -0x14)" * (cast_expression "(undefined4 *)(puVar15 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x14)" ( (binary_expression "puVar15 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined1 **)(puVar15 + -0x18) = puVar15 + 0x3c;" (assignment_expression "*(undefined1 **)(puVar15 + -0x18) = puVar15 + 0x3c" (pointer_expression "*(undefined1 **)(puVar15 + -0x18)" * (cast_expression "(undefined1 **)(puVar15 + -0x18)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + -0x18)" ( (binary_expression "puVar15 + -0x18" identifier + number_literal) )))) = (binary_expression "puVar15 + 0x3c" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x1c) = *(undefined4 *)(puVar15 + 0xa4);" (assignment_expression "*(undefined4 *)(puVar15 + -0x1c) = *(undefined4 *)(puVar15 + 0xa4)" (pointer_expression "*(undefined4 *)(puVar15 + -0x1c)" * (cast_expression "(undefined4 *)(puVar15 + -0x1c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x1c)" ( (binary_expression "puVar15 + -0x1c" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar15 + 0xa4)" * (cast_expression "(undefined4 *)(puVar15 + 0xa4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0xa4)" ( (binary_expression "puVar15 + 0xa4" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x20) = *(undefined4 *)(puVar15 + 0xa0);" (assignment_expression "*(undefined4 *)(puVar15 + -0x20) = *(undefined4 *)(puVar15 + 0xa0)" (pointer_expression "*(undefined4 *)(puVar15 + -0x20)" * (cast_expression "(undefined4 *)(puVar15 + -0x20)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x20)" ( (binary_expression "puVar15 + -0x20" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar15 + 0xa0)" * (cast_expression "(undefined4 *)(puVar15 + 0xa0)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0xa0)" ( (binary_expression "puVar15 + 0xa0" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x24) = *(undefined4 *)(puVar15 + 0x9c);" (assignment_expression "*(undefined4 *)(puVar15 + -0x24) = *(undefined4 *)(puVar15 + 0x9c)" (pointer_expression "*(undefined4 *)(puVar15 + -0x24)" * (cast_expression "(undefined4 *)(puVar15 + -0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x24)" ( (binary_expression "puVar15 + -0x24" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar15 + 0x9c)" * (cast_expression "(undefined4 *)(puVar15 + 0x9c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x9c)" ( (binary_expression "puVar15 + 0x9c" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x28) = *(undefined4 *)(puVar15 + 0x98);" (assignment_expression "*(undefined4 *)(puVar15 + -0x28) = *(undefined4 *)(puVar15 + 0x98)" (pointer_expression "*(undefined4 *)(puVar15 + -0x28)" * (cast_expression "(undefined4 *)(puVar15 + -0x28)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x28)" ( (binary_expression "puVar15 + -0x28" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar15 + 0x98)" * (cast_expression "(undefined4 *)(puVar15 + 0x98)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x98)" ( (binary_expression "puVar15 + 0x98" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x2c) = *(undefined4 *)(puVar15 + 0x94);" (assignment_expression "*(undefined4 *)(puVar15 + -0x2c) = *(undefined4 *)(puVar15 + 0x94)" (pointer_expression "*(undefined4 *)(puVar15 + -0x2c)" * (cast_expression "(undefined4 *)(puVar15 + -0x2c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x2c)" ( (binary_expression "puVar15 + -0x2c" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar15 + 0x94)" * (cast_expression "(undefined4 *)(puVar15 + 0x94)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x94)" ( (binary_expression "puVar15 + 0x94" identifier + number_literal) ))))) ;) (expression_statement "*(undefined1 **)(puVar15 + -0x30) = puVar15 + 0x28;" (assignment_expression "*(undefined1 **)(puVar15 + -0x30) = puVar15 + 0x28" (pointer_expression "*(undefined1 **)(puVar15 + -0x30)" * (cast_expression "(undefined1 **)(puVar15 + -0x30)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + -0x30)" ( (binary_expression "puVar15 + -0x30" identifier + number_literal) )))) = (binary_expression "puVar15 + 0x28" identifier + number_literal)) ;) (expression_statement "*(undefined **)(puVar15 + -0x34) = &UNK_00202097;" (assignment_expression "*(undefined **)(puVar15 + -0x34) = &UNK_00202097" (pointer_expression "*(undefined **)(puVar15 + -0x34)" * (cast_expression "(undefined **)(puVar15 + -0x34)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + -0x34)" ( (binary_expression "puVar15 + -0x34" identifier + number_literal) )))) = (pointer_expression "&UNK_00202097" & identifier)) ;) (expression_statement "FUN_001fc0e0();" (call_expression "FUN_001fc0e0()" identifier (argument_list "()" ( ))) ;) (expression_statement "*(undefined4 *)(puVar15 + 0x94) = *(undefined4 *)(puVar15 + 0x24);" (assignment_expression "*(undefined4 *)(puVar15 + 0x94) = *(undefined4 *)(puVar15 + 0x24)" (pointer_expression "*(undefined4 *)(puVar15 + 0x94)" * (cast_expression "(undefined4 *)(puVar15 + 0x94)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x94)" ( (binary_expression "puVar15 + 0x94" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar15 + 0x24)" * (cast_expression "(undefined4 *)(puVar15 + 0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x24)" ( (binary_expression "puVar15 + 0x24" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar15 + 0x98) = *(undefined4 *)(puVar15 + 0x28);" (assignment_expression "*(undefined4 *)(puVar15 + 0x98) = *(undefined4 *)(puVar15 + 0x28)" (pointer_expression "*(undefined4 *)(puVar15 + 0x98)" * (cast_expression "(undefined4 *)(puVar15 + 0x98)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x98)" ( (binary_expression "puVar15 + 0x98" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar15 + 0x28)" * (cast_expression "(undefined4 *)(puVar15 + 0x28)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x28)" ( (binary_expression "puVar15 + 0x28" identifier + number_literal) ))))) ;) (expression_statement "puVar16 = puVar15 + -4;" (assignment_expression "puVar16 = puVar15 + -4" identifier = (binary_expression "puVar15 + -4" identifier + number_literal)) ;) (if_statement "if (*(int *)(puVar15 + 0x34) == 0) {\n      iVar1 = *(int *)(puVar15 + 0x38);\n      iVar13 = iVar1 + -0x76c;\n      if (iVar1 < 0) {\n        iVar13 = iVar1 + 100;\n      }\n      *(int *)(*(int *)(puVar15 + 0xac) + 0x14) = iVar13;\n      puVar16 = puVar15 + -4;\n    }" if (parenthesized_expression "(*(int *)(puVar15 + 0x34) == 0)" ( (binary_expression "*(int *)(puVar15 + 0x34) == 0" (pointer_expression "*(int *)(puVar15 + 0x34)" * (cast_expression "(int *)(puVar15 + 0x34)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x34)" ( (binary_expression "puVar15 + 0x34" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n      iVar1 = *(int *)(puVar15 + 0x38);\n      iVar13 = iVar1 + -0x76c;\n      if (iVar1 < 0) {\n        iVar13 = iVar1 + 100;\n      }\n      *(int *)(*(int *)(puVar15 + 0xac) + 0x14) = iVar13;\n      puVar16 = puVar15 + -4;\n    }" { (expression_statement "iVar1 = *(int *)(puVar15 + 0x38);" (assignment_expression "iVar1 = *(int *)(puVar15 + 0x38)" identifier = (pointer_expression "*(int *)(puVar15 + 0x38)" * (cast_expression "(int *)(puVar15 + 0x38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x38)" ( (binary_expression "puVar15 + 0x38" identifier + number_literal) ))))) ;) (expression_statement "iVar13 = iVar1 + -0x76c;" (assignment_expression "iVar13 = iVar1 + -0x76c" identifier = (binary_expression "iVar1 + -0x76c" identifier + number_literal)) ;) (if_statement "if (iVar1 < 0) {\n        iVar13 = iVar1 + 100;\n      }" if (parenthesized_expression "(iVar1 < 0)" ( (binary_expression "iVar1 < 0" identifier < number_literal) )) (compound_statement "{\n        iVar13 = iVar1 + 100;\n      }" { (expression_statement "iVar13 = iVar1 + 100;" (assignment_expression "iVar13 = iVar1 + 100" identifier = (binary_expression "iVar1 + 100" identifier + number_literal)) ;) })) (expression_statement "*(int *)(*(int *)(puVar15 + 0xac) + 0x14) = iVar13;" (assignment_expression "*(int *)(*(int *)(puVar15 + 0xac) + 0x14) = iVar13" (pointer_expression "*(int *)(*(int *)(puVar15 + 0xac) + 0x14)" * (cast_expression "(int *)(*(int *)(puVar15 + 0xac) + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar15 + 0xac) + 0x14)" ( (binary_expression "*(int *)(puVar15 + 0xac) + 0x14" (pointer_expression "*(int *)(puVar15 + 0xac)" * (cast_expression "(int *)(puVar15 + 0xac)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0xac)" ( (binary_expression "puVar15 + 0xac" identifier + number_literal) )))) + number_literal) )))) = identifier) ;) (expression_statement "puVar16 = puVar15 + -4;" (assignment_expression "puVar16 = puVar15 + -4" identifier = (binary_expression "puVar15 + -4" identifier + number_literal)) ;) })) (break_statement "break;" break ;)) (case_statement "case 0x44:\n    *(undefined1 **)(puVar15 + -4) = puVar15 + 0x40;\n    *(undefined **)(puVar15 + -8) = &UNK_002a3ee7;\n    pcVar11 = "%m/%d/%y";\n    goto code_r0x00201ca2;" case number_literal : (expression_statement "*(undefined1 **)(puVar15 + -4) = puVar15 + 0x40;" (assignment_expression "*(undefined1 **)(puVar15 + -4) = puVar15 + 0x40" (pointer_expression "*(undefined1 **)(puVar15 + -4)" * (cast_expression "(undefined1 **)(puVar15 + -4)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + -4)" ( (binary_expression "puVar15 + -4" identifier + number_literal) )))) = (binary_expression "puVar15 + 0x40" identifier + number_literal)) ;) (expression_statement "*(undefined **)(puVar15 + -8) = &UNK_002a3ee7;" (assignment_expression "*(undefined **)(puVar15 + -8) = &UNK_002a3ee7" (pointer_expression "*(undefined **)(puVar15 + -8)" * (cast_expression "(undefined **)(puVar15 + -8)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + -8)" ( (binary_expression "puVar15 + -8" identifier + number_literal) )))) = (pointer_expression "&UNK_002a3ee7" & identifier)) ;) (expression_statement "pcVar11 = "%m/%d/%y";" (assignment_expression "pcVar11 = "%m/%d/%y"" identifier = (string_literal ""%m/%d/%y"" " string_content ")) ;) (goto_statement "goto code_r0x00201ca2;" goto statement_identifier ;)) (case_statement "default:\n    goto LAB_00201ab8;" default : (goto_statement "goto LAB_00201ab8;" goto statement_identifier ;)) (case_statement "case 0x48:\n    *(undefined1 **)(puVar15 + -4) = puVar15 + 0x38;\n    *(undefined4 *)(puVar15 + -8) = *(undefined4 *)(puVar15 + 0xa8);\n    *(undefined4 *)(puVar15 + -0xc) = 2;\n    *(undefined4 *)(puVar15 + -0x10) = 0x17;\n    *(undefined4 *)(puVar15 + -0x14) = 0;\n    goto code_r0x00201ba6;" case number_literal : (expression_statement "*(undefined1 **)(puVar15 + -4) = puVar15 + 0x38;" (assignment_expression "*(undefined1 **)(puVar15 + -4) = puVar15 + 0x38" (pointer_expression "*(undefined1 **)(puVar15 + -4)" * (cast_expression "(undefined1 **)(puVar15 + -4)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + -4)" ( (binary_expression "puVar15 + -4" identifier + number_literal) )))) = (binary_expression "puVar15 + 0x38" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar15 + -8) = *(undefined4 *)(puVar15 + 0xa8);" (assignment_expression "*(undefined4 *)(puVar15 + -8) = *(undefined4 *)(puVar15 + 0xa8)" (pointer_expression "*(undefined4 *)(puVar15 + -8)" * (cast_expression "(undefined4 *)(puVar15 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -8)" ( (binary_expression "puVar15 + -8" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar15 + 0xa8)" * (cast_expression "(undefined4 *)(puVar15 + 0xa8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0xa8)" ( (binary_expression "puVar15 + 0xa8" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar15 + -0xc) = 2;" (assignment_expression "*(undefined4 *)(puVar15 + -0xc) = 2" (pointer_expression "*(undefined4 *)(puVar15 + -0xc)" * (cast_expression "(undefined4 *)(puVar15 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0xc)" ( (binary_expression "puVar15 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x10) = 0x17;" (assignment_expression "*(undefined4 *)(puVar15 + -0x10) = 0x17" (pointer_expression "*(undefined4 *)(puVar15 + -0x10)" * (cast_expression "(undefined4 *)(puVar15 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x10)" ( (binary_expression "puVar15 + -0x10" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x14) = 0;" (assignment_expression "*(undefined4 *)(puVar15 + -0x14) = 0" (pointer_expression "*(undefined4 *)(puVar15 + -0x14)" * (cast_expression "(undefined4 *)(puVar15 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x14)" ( (binary_expression "puVar15 + -0x14" identifier + number_literal) )))) = number_literal) ;) (goto_statement "goto code_r0x00201ba6;" goto statement_identifier ;)) (case_statement "case 0x49:\n    *(undefined1 **)(puVar15 + -4) = puVar15 + 0x38;\n    *(undefined4 *)(puVar15 + -8) = *(undefined4 *)(puVar15 + 0xa8);\n    *(undefined4 *)(puVar15 + -0xc) = 2;\n    *(undefined4 *)(puVar15 + -0x10) = 0xc;\n    *(undefined4 *)(puVar15 + -0x14) = 1;\ncode_r0x00201ba6:\n    *(undefined1 **)(puVar15 + -0x18) = puVar15 + 0x3c;\n    *(undefined4 *)(puVar15 + -0x1c) = *(undefined4 *)(puVar15 + 0xa4);\n    *(undefined4 *)(puVar15 + -0x20) = *(undefined4 *)(puVar15 + 0xa0);\n    *(undefined4 *)(puVar15 + -0x24) = *(undefined4 *)(puVar15 + 0x9c);\n    *(undefined4 *)(puVar15 + -0x28) = *(undefined4 *)(puVar15 + 0x98);\n    *(undefined4 *)(puVar15 + -0x2c) = *(undefined4 *)(puVar15 + 0x94);\n    *(undefined1 **)(puVar15 + -0x30) = puVar15 + 0x28;\n    *(undefined **)(puVar15 + -0x34) = &UNK_00201bd4;\n    FUN_001fc0e0();\n    *(undefined4 *)(puVar15 + 0x94) = *(undefined4 *)(puVar15 + 0x24);\n    *(undefined4 *)(puVar15 + 0x98) = *(undefined4 *)(puVar15 + 0x28);\n    puVar16 = puVar15 + -4;\n    if (*(int *)(puVar15 + 0x34) == 0) {\n      *(undefined4 *)(*(int *)(puVar15 + 0xac) + 8) = *(undefined4 *)(puVar15 + 0x38);\n      puVar16 = puVar15 + -4;\n    }\n    break;" case number_literal : (expression_statement "*(undefined1 **)(puVar15 + -4) = puVar15 + 0x38;" (assignment_expression "*(undefined1 **)(puVar15 + -4) = puVar15 + 0x38" (pointer_expression "*(undefined1 **)(puVar15 + -4)" * (cast_expression "(undefined1 **)(puVar15 + -4)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + -4)" ( (binary_expression "puVar15 + -4" identifier + number_literal) )))) = (binary_expression "puVar15 + 0x38" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar15 + -8) = *(undefined4 *)(puVar15 + 0xa8);" (assignment_expression "*(undefined4 *)(puVar15 + -8) = *(undefined4 *)(puVar15 + 0xa8)" (pointer_expression "*(undefined4 *)(puVar15 + -8)" * (cast_expression "(undefined4 *)(puVar15 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -8)" ( (binary_expression "puVar15 + -8" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar15 + 0xa8)" * (cast_expression "(undefined4 *)(puVar15 + 0xa8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0xa8)" ( (binary_expression "puVar15 + 0xa8" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar15 + -0xc) = 2;" (assignment_expression "*(undefined4 *)(puVar15 + -0xc) = 2" (pointer_expression "*(undefined4 *)(puVar15 + -0xc)" * (cast_expression "(undefined4 *)(puVar15 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0xc)" ( (binary_expression "puVar15 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x10) = 0xc;" (assignment_expression "*(undefined4 *)(puVar15 + -0x10) = 0xc" (pointer_expression "*(undefined4 *)(puVar15 + -0x10)" * (cast_expression "(undefined4 *)(puVar15 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x10)" ( (binary_expression "puVar15 + -0x10" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x14) = 1;" (assignment_expression "*(undefined4 *)(puVar15 + -0x14) = 1" (pointer_expression "*(undefined4 *)(puVar15 + -0x14)" * (cast_expression "(undefined4 *)(puVar15 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x14)" ( (binary_expression "puVar15 + -0x14" identifier + number_literal) )))) = number_literal) ;) (labeled_statement "code_r0x00201ba6:\n    *(undefined1 **)(puVar15 + -0x18) = puVar15 + 0x3c;" statement_identifier : (expression_statement "*(undefined1 **)(puVar15 + -0x18) = puVar15 + 0x3c;" (assignment_expression "*(undefined1 **)(puVar15 + -0x18) = puVar15 + 0x3c" (pointer_expression "*(undefined1 **)(puVar15 + -0x18)" * (cast_expression "(undefined1 **)(puVar15 + -0x18)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + -0x18)" ( (binary_expression "puVar15 + -0x18" identifier + number_literal) )))) = (binary_expression "puVar15 + 0x3c" identifier + number_literal)) ;)) (expression_statement "*(undefined4 *)(puVar15 + -0x1c) = *(undefined4 *)(puVar15 + 0xa4);" (assignment_expression "*(undefined4 *)(puVar15 + -0x1c) = *(undefined4 *)(puVar15 + 0xa4)" (pointer_expression "*(undefined4 *)(puVar15 + -0x1c)" * (cast_expression "(undefined4 *)(puVar15 + -0x1c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x1c)" ( (binary_expression "puVar15 + -0x1c" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar15 + 0xa4)" * (cast_expression "(undefined4 *)(puVar15 + 0xa4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0xa4)" ( (binary_expression "puVar15 + 0xa4" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x20) = *(undefined4 *)(puVar15 + 0xa0);" (assignment_expression "*(undefined4 *)(puVar15 + -0x20) = *(undefined4 *)(puVar15 + 0xa0)" (pointer_expression "*(undefined4 *)(puVar15 + -0x20)" * (cast_expression "(undefined4 *)(puVar15 + -0x20)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x20)" ( (binary_expression "puVar15 + -0x20" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar15 + 0xa0)" * (cast_expression "(undefined4 *)(puVar15 + 0xa0)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0xa0)" ( (binary_expression "puVar15 + 0xa0" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x24) = *(undefined4 *)(puVar15 + 0x9c);" (assignment_expression "*(undefined4 *)(puVar15 + -0x24) = *(undefined4 *)(puVar15 + 0x9c)" (pointer_expression "*(undefined4 *)(puVar15 + -0x24)" * (cast_expression "(undefined4 *)(puVar15 + -0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x24)" ( (binary_expression "puVar15 + -0x24" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar15 + 0x9c)" * (cast_expression "(undefined4 *)(puVar15 + 0x9c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x9c)" ( (binary_expression "puVar15 + 0x9c" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x28) = *(undefined4 *)(puVar15 + 0x98);" (assignment_expression "*(undefined4 *)(puVar15 + -0x28) = *(undefined4 *)(puVar15 + 0x98)" (pointer_expression "*(undefined4 *)(puVar15 + -0x28)" * (cast_expression "(undefined4 *)(puVar15 + -0x28)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x28)" ( (binary_expression "puVar15 + -0x28" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar15 + 0x98)" * (cast_expression "(undefined4 *)(puVar15 + 0x98)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x98)" ( (binary_expression "puVar15 + 0x98" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x2c) = *(undefined4 *)(puVar15 + 0x94);" (assignment_expression "*(undefined4 *)(puVar15 + -0x2c) = *(undefined4 *)(puVar15 + 0x94)" (pointer_expression "*(undefined4 *)(puVar15 + -0x2c)" * (cast_expression "(undefined4 *)(puVar15 + -0x2c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x2c)" ( (binary_expression "puVar15 + -0x2c" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar15 + 0x94)" * (cast_expression "(undefined4 *)(puVar15 + 0x94)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x94)" ( (binary_expression "puVar15 + 0x94" identifier + number_literal) ))))) ;) (expression_statement "*(undefined1 **)(puVar15 + -0x30) = puVar15 + 0x28;" (assignment_expression "*(undefined1 **)(puVar15 + -0x30) = puVar15 + 0x28" (pointer_expression "*(undefined1 **)(puVar15 + -0x30)" * (cast_expression "(undefined1 **)(puVar15 + -0x30)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + -0x30)" ( (binary_expression "puVar15 + -0x30" identifier + number_literal) )))) = (binary_expression "puVar15 + 0x28" identifier + number_literal)) ;) (expression_statement "*(undefined **)(puVar15 + -0x34) = &UNK_00201bd4;" (assignment_expression "*(undefined **)(puVar15 + -0x34) = &UNK_00201bd4" (pointer_expression "*(undefined **)(puVar15 + -0x34)" * (cast_expression "(undefined **)(puVar15 + -0x34)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + -0x34)" ( (binary_expression "puVar15 + -0x34" identifier + number_literal) )))) = (pointer_expression "&UNK_00201bd4" & identifier)) ;) (expression_statement "FUN_001fc0e0();" (call_expression "FUN_001fc0e0()" identifier (argument_list "()" ( ))) ;) (expression_statement "*(undefined4 *)(puVar15 + 0x94) = *(undefined4 *)(puVar15 + 0x24);" (assignment_expression "*(undefined4 *)(puVar15 + 0x94) = *(undefined4 *)(puVar15 + 0x24)" (pointer_expression "*(undefined4 *)(puVar15 + 0x94)" * (cast_expression "(undefined4 *)(puVar15 + 0x94)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x94)" ( (binary_expression "puVar15 + 0x94" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar15 + 0x24)" * (cast_expression "(undefined4 *)(puVar15 + 0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x24)" ( (binary_expression "puVar15 + 0x24" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar15 + 0x98) = *(undefined4 *)(puVar15 + 0x28);" (assignment_expression "*(undefined4 *)(puVar15 + 0x98) = *(undefined4 *)(puVar15 + 0x28)" (pointer_expression "*(undefined4 *)(puVar15 + 0x98)" * (cast_expression "(undefined4 *)(puVar15 + 0x98)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x98)" ( (binary_expression "puVar15 + 0x98" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar15 + 0x28)" * (cast_expression "(undefined4 *)(puVar15 + 0x28)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x28)" ( (binary_expression "puVar15 + 0x28" identifier + number_literal) ))))) ;) (expression_statement "puVar16 = puVar15 + -4;" (assignment_expression "puVar16 = puVar15 + -4" identifier = (binary_expression "puVar15 + -4" identifier + number_literal)) ;) (if_statement "if (*(int *)(puVar15 + 0x34) == 0) {\n      *(undefined4 *)(*(int *)(puVar15 + 0xac) + 8) = *(undefined4 *)(puVar15 + 0x38);\n      puVar16 = puVar15 + -4;\n    }" if (parenthesized_expression "(*(int *)(puVar15 + 0x34) == 0)" ( (binary_expression "*(int *)(puVar15 + 0x34) == 0" (pointer_expression "*(int *)(puVar15 + 0x34)" * (cast_expression "(int *)(puVar15 + 0x34)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x34)" ( (binary_expression "puVar15 + 0x34" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n      *(undefined4 *)(*(int *)(puVar15 + 0xac) + 8) = *(undefined4 *)(puVar15 + 0x38);\n      puVar16 = puVar15 + -4;\n    }" { (expression_statement "*(undefined4 *)(*(int *)(puVar15 + 0xac) + 8) = *(undefined4 *)(puVar15 + 0x38);" (assignment_expression "*(undefined4 *)(*(int *)(puVar15 + 0xac) + 8) = *(undefined4 *)(puVar15 + 0x38)" (pointer_expression "*(undefined4 *)(*(int *)(puVar15 + 0xac) + 8)" * (cast_expression "(undefined4 *)(*(int *)(puVar15 + 0xac) + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar15 + 0xac) + 8)" ( (binary_expression "*(int *)(puVar15 + 0xac) + 8" (pointer_expression "*(int *)(puVar15 + 0xac)" * (cast_expression "(int *)(puVar15 + 0xac)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0xac)" ( (binary_expression "puVar15 + 0xac" identifier + number_literal) )))) + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar15 + 0x38)" * (cast_expression "(undefined4 *)(puVar15 + 0x38)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x38)" ( (binary_expression "puVar15 + 0x38" identifier + number_literal) ))))) ;) (expression_statement "puVar16 = puVar15 + -4;" (assignment_expression "puVar16 = puVar15 + -4" identifier = (binary_expression "puVar15 + -4" identifier + number_literal)) ;) })) (break_statement "break;" break ;)) (case_statement "case 0x4d:\n    *(undefined1 **)(puVar15 + -4) = puVar15 + 0x38;\n    *(undefined4 *)(puVar15 + -8) = *(undefined4 *)(puVar15 + 0xa8);\n    *(undefined4 *)(puVar15 + -0xc) = 2;\n    *(undefined4 *)(puVar15 + -0x10) = 0x3b;\n    *(undefined4 *)(puVar15 + -0x14) = 0;\n    *(undefined1 **)(puVar15 + -0x18) = puVar15 + 0x3c;\n    *(undefined4 *)(puVar15 + -0x1c) = *(undefined4 *)(puVar15 + 0xa4);\n    *(undefined4 *)(puVar15 + -0x20) = *(undefined4 *)(puVar15 + 0xa0);\n    *(undefined4 *)(puVar15 + -0x24) = *(undefined4 *)(puVar15 + 0x9c);\n    *(undefined4 *)(puVar15 + -0x28) = *(undefined4 *)(puVar15 + 0x98);\n    *(undefined4 *)(puVar15 + -0x2c) = *(undefined4 *)(puVar15 + 0x94);\n    *(undefined1 **)(puVar15 + -0x30) = puVar15 + 0x28;\n    *(undefined **)(puVar15 + -0x34) = &UNK_00201c54;\n    FUN_001fc0e0();\n    *(undefined4 *)(puVar15 + 0x94) = *(undefined4 *)(puVar15 + 0x24);\n    *(undefined4 *)(puVar15 + 0x98) = *(undefined4 *)(puVar15 + 0x28);\n    puVar16 = puVar15 + -4;\n    if (*(int *)(puVar15 + 0x34) == 0) {\n      *(undefined4 *)(*(int *)(puVar15 + 0xac) + 4) = *(undefined4 *)(puVar15 + 0x38);\n      puVar16 = puVar15 + -4;\n    }\n    break;" case number_literal : (expression_statement "*(undefined1 **)(puVar15 + -4) = puVar15 + 0x38;" (assignment_expression "*(undefined1 **)(puVar15 + -4) = puVar15 + 0x38" (pointer_expression "*(undefined1 **)(puVar15 + -4)" * (cast_expression "(undefined1 **)(puVar15 + -4)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + -4)" ( (binary_expression "puVar15 + -4" identifier + number_literal) )))) = (binary_expression "puVar15 + 0x38" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar15 + -8) = *(undefined4 *)(puVar15 + 0xa8);" (assignment_expression "*(undefined4 *)(puVar15 + -8) = *(undefined4 *)(puVar15 + 0xa8)" (pointer_expression "*(undefined4 *)(puVar15 + -8)" * (cast_expression "(undefined4 *)(puVar15 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -8)" ( (binary_expression "puVar15 + -8" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar15 + 0xa8)" * (cast_expression "(undefined4 *)(puVar15 + 0xa8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0xa8)" ( (binary_expression "puVar15 + 0xa8" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar15 + -0xc) = 2;" (assignment_expression "*(undefined4 *)(puVar15 + -0xc) = 2" (pointer_expression "*(undefined4 *)(puVar15 + -0xc)" * (cast_expression "(undefined4 *)(puVar15 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0xc)" ( (binary_expression "puVar15 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x10) = 0x3b;" (assignment_expression "*(undefined4 *)(puVar15 + -0x10) = 0x3b" (pointer_expression "*(undefined4 *)(puVar15 + -0x10)" * (cast_expression "(undefined4 *)(puVar15 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x10)" ( (binary_expression "puVar15 + -0x10" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x14) = 0;" (assignment_expression "*(undefined4 *)(puVar15 + -0x14) = 0" (pointer_expression "*(undefined4 *)(puVar15 + -0x14)" * (cast_expression "(undefined4 *)(puVar15 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x14)" ( (binary_expression "puVar15 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined1 **)(puVar15 + -0x18) = puVar15 + 0x3c;" (assignment_expression "*(undefined1 **)(puVar15 + -0x18) = puVar15 + 0x3c" (pointer_expression "*(undefined1 **)(puVar15 + -0x18)" * (cast_expression "(undefined1 **)(puVar15 + -0x18)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + -0x18)" ( (binary_expression "puVar15 + -0x18" identifier + number_literal) )))) = (binary_expression "puVar15 + 0x3c" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x1c) = *(undefined4 *)(puVar15 + 0xa4);" (assignment_expression "*(undefined4 *)(puVar15 + -0x1c) = *(undefined4 *)(puVar15 + 0xa4)" (pointer_expression "*(undefined4 *)(puVar15 + -0x1c)" * (cast_expression "(undefined4 *)(puVar15 + -0x1c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x1c)" ( (binary_expression "puVar15 + -0x1c" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar15 + 0xa4)" * (cast_expression "(undefined4 *)(puVar15 + 0xa4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0xa4)" ( (binary_expression "puVar15 + 0xa4" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x20) = *(undefined4 *)(puVar15 + 0xa0);" (assignment_expression "*(undefined4 *)(puVar15 + -0x20) = *(undefined4 *)(puVar15 + 0xa0)" (pointer_expression "*(undefined4 *)(puVar15 + -0x20)" * (cast_expression "(undefined4 *)(puVar15 + -0x20)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x20)" ( (binary_expression "puVar15 + -0x20" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar15 + 0xa0)" * (cast_expression "(undefined4 *)(puVar15 + 0xa0)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0xa0)" ( (binary_expression "puVar15 + 0xa0" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x24) = *(undefined4 *)(puVar15 + 0x9c);" (assignment_expression "*(undefined4 *)(puVar15 + -0x24) = *(undefined4 *)(puVar15 + 0x9c)" (pointer_expression "*(undefined4 *)(puVar15 + -0x24)" * (cast_expression "(undefined4 *)(puVar15 + -0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x24)" ( (binary_expression "puVar15 + -0x24" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar15 + 0x9c)" * (cast_expression "(undefined4 *)(puVar15 + 0x9c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x9c)" ( (binary_expression "puVar15 + 0x9c" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x28) = *(undefined4 *)(puVar15 + 0x98);" (assignment_expression "*(undefined4 *)(puVar15 + -0x28) = *(undefined4 *)(puVar15 + 0x98)" (pointer_expression "*(undefined4 *)(puVar15 + -0x28)" * (cast_expression "(undefined4 *)(puVar15 + -0x28)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x28)" ( (binary_expression "puVar15 + -0x28" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar15 + 0x98)" * (cast_expression "(undefined4 *)(puVar15 + 0x98)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x98)" ( (binary_expression "puVar15 + 0x98" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x2c) = *(undefined4 *)(puVar15 + 0x94);" (assignment_expression "*(undefined4 *)(puVar15 + -0x2c) = *(undefined4 *)(puVar15 + 0x94)" (pointer_expression "*(undefined4 *)(puVar15 + -0x2c)" * (cast_expression "(undefined4 *)(puVar15 + -0x2c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x2c)" ( (binary_expression "puVar15 + -0x2c" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar15 + 0x94)" * (cast_expression "(undefined4 *)(puVar15 + 0x94)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x94)" ( (binary_expression "puVar15 + 0x94" identifier + number_literal) ))))) ;) (expression_statement "*(undefined1 **)(puVar15 + -0x30) = puVar15 + 0x28;" (assignment_expression "*(undefined1 **)(puVar15 + -0x30) = puVar15 + 0x28" (pointer_expression "*(undefined1 **)(puVar15 + -0x30)" * (cast_expression "(undefined1 **)(puVar15 + -0x30)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + -0x30)" ( (binary_expression "puVar15 + -0x30" identifier + number_literal) )))) = (binary_expression "puVar15 + 0x28" identifier + number_literal)) ;) (expression_statement "*(undefined **)(puVar15 + -0x34) = &UNK_00201c54;" (assignment_expression "*(undefined **)(puVar15 + -0x34) = &UNK_00201c54" (pointer_expression "*(undefined **)(puVar15 + -0x34)" * (cast_expression "(undefined **)(puVar15 + -0x34)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + -0x34)" ( (binary_expression "puVar15 + -0x34" identifier + number_literal) )))) = (pointer_expression "&UNK_00201c54" & identifier)) ;) (expression_statement "FUN_001fc0e0();" (call_expression "FUN_001fc0e0()" identifier (argument_list "()" ( ))) ;) (expression_statement "*(undefined4 *)(puVar15 + 0x94) = *(undefined4 *)(puVar15 + 0x24);" (assignment_expression "*(undefined4 *)(puVar15 + 0x94) = *(undefined4 *)(puVar15 + 0x24)" (pointer_expression "*(undefined4 *)(puVar15 + 0x94)" * (cast_expression "(undefined4 *)(puVar15 + 0x94)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x94)" ( (binary_expression "puVar15 + 0x94" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar15 + 0x24)" * (cast_expression "(undefined4 *)(puVar15 + 0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x24)" ( (binary_expression "puVar15 + 0x24" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar15 + 0x98) = *(undefined4 *)(puVar15 + 0x28);" (assignment_expression "*(undefined4 *)(puVar15 + 0x98) = *(undefined4 *)(puVar15 + 0x28)" (pointer_expression "*(undefined4 *)(puVar15 + 0x98)" * (cast_expression "(undefined4 *)(puVar15 + 0x98)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x98)" ( (binary_expression "puVar15 + 0x98" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar15 + 0x28)" * (cast_expression "(undefined4 *)(puVar15 + 0x28)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x28)" ( (binary_expression "puVar15 + 0x28" identifier + number_literal) ))))) ;) (expression_statement "puVar16 = puVar15 + -4;" (assignment_expression "puVar16 = puVar15 + -4" identifier = (binary_expression "puVar15 + -4" identifier + number_literal)) ;) (if_statement "if (*(int *)(puVar15 + 0x34) == 0) {\n      *(undefined4 *)(*(int *)(puVar15 + 0xac) + 4) = *(undefined4 *)(puVar15 + 0x38);\n      puVar16 = puVar15 + -4;\n    }" if (parenthesized_expression "(*(int *)(puVar15 + 0x34) == 0)" ( (binary_expression "*(int *)(puVar15 + 0x34) == 0" (pointer_expression "*(int *)(puVar15 + 0x34)" * (cast_expression "(int *)(puVar15 + 0x34)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x34)" ( (binary_expression "puVar15 + 0x34" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n      *(undefined4 *)(*(int *)(puVar15 + 0xac) + 4) = *(undefined4 *)(puVar15 + 0x38);\n      puVar16 = puVar15 + -4;\n    }" { (expression_statement "*(undefined4 *)(*(int *)(puVar15 + 0xac) + 4) = *(undefined4 *)(puVar15 + 0x38);" (assignment_expression "*(undefined4 *)(*(int *)(puVar15 + 0xac) + 4) = *(undefined4 *)(puVar15 + 0x38)" (pointer_expression "*(undefined4 *)(*(int *)(puVar15 + 0xac) + 4)" * (cast_expression "(undefined4 *)(*(int *)(puVar15 + 0xac) + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar15 + 0xac) + 4)" ( (binary_expression "*(int *)(puVar15 + 0xac) + 4" (pointer_expression "*(int *)(puVar15 + 0xac)" * (cast_expression "(int *)(puVar15 + 0xac)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0xac)" ( (binary_expression "puVar15 + 0xac" identifier + number_literal) )))) + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar15 + 0x38)" * (cast_expression "(undefined4 *)(puVar15 + 0x38)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x38)" ( (binary_expression "puVar15 + 0x38" identifier + number_literal) ))))) ;) (expression_statement "puVar16 = puVar15 + -4;" (assignment_expression "puVar16 = puVar15 + -4" identifier = (binary_expression "puVar15 + -4" identifier + number_literal)) ;) })) (break_statement "break;" break ;)) (case_statement "case 0x52:\n    *(undefined1 **)(puVar15 + -4) = puVar15 + 0x40;\n    *(char **)(puVar15 + -8) = "%H:%M:%S";\n    pcVar11 = "%H:%M";\n    goto code_r0x00201ca2;" case number_literal : (expression_statement "*(undefined1 **)(puVar15 + -4) = puVar15 + 0x40;" (assignment_expression "*(undefined1 **)(puVar15 + -4) = puVar15 + 0x40" (pointer_expression "*(undefined1 **)(puVar15 + -4)" * (cast_expression "(undefined1 **)(puVar15 + -4)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + -4)" ( (binary_expression "puVar15 + -4" identifier + number_literal) )))) = (binary_expression "puVar15 + 0x40" identifier + number_literal)) ;) (expression_statement "*(char **)(puVar15 + -8) = "%H:%M:%S";" (assignment_expression "*(char **)(puVar15 + -8) = "%H:%M:%S"" (pointer_expression "*(char **)(puVar15 + -8)" * (cast_expression "(char **)(puVar15 + -8)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + -8)" ( (binary_expression "puVar15 + -8" identifier + number_literal) )))) = (string_literal ""%H:%M:%S"" " string_content ")) ;) (expression_statement "pcVar11 = "%H:%M";" (assignment_expression "pcVar11 = "%H:%M"" identifier = (string_literal ""%H:%M"" " string_content ")) ;) (goto_statement "goto code_r0x00201ca2;" goto statement_identifier ;)) (case_statement "case 0x53:\n    *(undefined1 **)(puVar15 + -4) = puVar15 + 0x38;\n    *(undefined4 *)(puVar15 + -8) = *(undefined4 *)(puVar15 + 0xa8);\n    *(undefined4 *)(puVar15 + -0xc) = 2;\n    *(undefined4 *)(puVar15 + -0x10) = 0x3c;\n    *(undefined4 *)(puVar15 + -0x14) = 0;\n    *(undefined1 **)(puVar15 + -0x18) = puVar15 + 0x3c;\n    *(undefined4 *)(puVar15 + -0x1c) = *(undefined4 *)(puVar15 + 0xa4);\n    *(undefined4 *)(puVar15 + -0x20) = *(undefined4 *)(puVar15 + 0xa0);\n    *(undefined4 *)(puVar15 + -0x24) = *(undefined4 *)(puVar15 + 0x9c);\n    *(undefined4 *)(puVar15 + -0x28) = *(undefined4 *)(puVar15 + 0x98);\n    *(undefined4 *)(puVar15 + -0x2c) = *(undefined4 *)(puVar15 + 0x94);\n    *(undefined1 **)(puVar15 + -0x30) = puVar15 + 0x28;\n    *(undefined **)(puVar15 + -0x34) = &UNK_00201cfc;\n    FUN_001fc0e0();\n    *(undefined4 *)(puVar15 + 0x94) = *(undefined4 *)(puVar15 + 0x24);\n    *(undefined4 *)(puVar15 + 0x98) = *(undefined4 *)(puVar15 + 0x28);\n    puVar16 = puVar15 + -4;\n    if (*(int *)(puVar15 + 0x34) == 0) {\n      **(undefined4 **)(puVar15 + 0xac) = *(undefined4 *)(puVar15 + 0x38);\n      puVar16 = puVar15 + -4;\n    }\n    break;" case number_literal : (expression_statement "*(undefined1 **)(puVar15 + -4) = puVar15 + 0x38;" (assignment_expression "*(undefined1 **)(puVar15 + -4) = puVar15 + 0x38" (pointer_expression "*(undefined1 **)(puVar15 + -4)" * (cast_expression "(undefined1 **)(puVar15 + -4)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + -4)" ( (binary_expression "puVar15 + -4" identifier + number_literal) )))) = (binary_expression "puVar15 + 0x38" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar15 + -8) = *(undefined4 *)(puVar15 + 0xa8);" (assignment_expression "*(undefined4 *)(puVar15 + -8) = *(undefined4 *)(puVar15 + 0xa8)" (pointer_expression "*(undefined4 *)(puVar15 + -8)" * (cast_expression "(undefined4 *)(puVar15 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -8)" ( (binary_expression "puVar15 + -8" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar15 + 0xa8)" * (cast_expression "(undefined4 *)(puVar15 + 0xa8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0xa8)" ( (binary_expression "puVar15 + 0xa8" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar15 + -0xc) = 2;" (assignment_expression "*(undefined4 *)(puVar15 + -0xc) = 2" (pointer_expression "*(undefined4 *)(puVar15 + -0xc)" * (cast_expression "(undefined4 *)(puVar15 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0xc)" ( (binary_expression "puVar15 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x10) = 0x3c;" (assignment_expression "*(undefined4 *)(puVar15 + -0x10) = 0x3c" (pointer_expression "*(undefined4 *)(puVar15 + -0x10)" * (cast_expression "(undefined4 *)(puVar15 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x10)" ( (binary_expression "puVar15 + -0x10" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x14) = 0;" (assignment_expression "*(undefined4 *)(puVar15 + -0x14) = 0" (pointer_expression "*(undefined4 *)(puVar15 + -0x14)" * (cast_expression "(undefined4 *)(puVar15 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x14)" ( (binary_expression "puVar15 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined1 **)(puVar15 + -0x18) = puVar15 + 0x3c;" (assignment_expression "*(undefined1 **)(puVar15 + -0x18) = puVar15 + 0x3c" (pointer_expression "*(undefined1 **)(puVar15 + -0x18)" * (cast_expression "(undefined1 **)(puVar15 + -0x18)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + -0x18)" ( (binary_expression "puVar15 + -0x18" identifier + number_literal) )))) = (binary_expression "puVar15 + 0x3c" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x1c) = *(undefined4 *)(puVar15 + 0xa4);" (assignment_expression "*(undefined4 *)(puVar15 + -0x1c) = *(undefined4 *)(puVar15 + 0xa4)" (pointer_expression "*(undefined4 *)(puVar15 + -0x1c)" * (cast_expression "(undefined4 *)(puVar15 + -0x1c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x1c)" ( (binary_expression "puVar15 + -0x1c" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar15 + 0xa4)" * (cast_expression "(undefined4 *)(puVar15 + 0xa4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0xa4)" ( (binary_expression "puVar15 + 0xa4" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x20) = *(undefined4 *)(puVar15 + 0xa0);" (assignment_expression "*(undefined4 *)(puVar15 + -0x20) = *(undefined4 *)(puVar15 + 0xa0)" (pointer_expression "*(undefined4 *)(puVar15 + -0x20)" * (cast_expression "(undefined4 *)(puVar15 + -0x20)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x20)" ( (binary_expression "puVar15 + -0x20" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar15 + 0xa0)" * (cast_expression "(undefined4 *)(puVar15 + 0xa0)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0xa0)" ( (binary_expression "puVar15 + 0xa0" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x24) = *(undefined4 *)(puVar15 + 0x9c);" (assignment_expression "*(undefined4 *)(puVar15 + -0x24) = *(undefined4 *)(puVar15 + 0x9c)" (pointer_expression "*(undefined4 *)(puVar15 + -0x24)" * (cast_expression "(undefined4 *)(puVar15 + -0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x24)" ( (binary_expression "puVar15 + -0x24" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar15 + 0x9c)" * (cast_expression "(undefined4 *)(puVar15 + 0x9c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x9c)" ( (binary_expression "puVar15 + 0x9c" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x28) = *(undefined4 *)(puVar15 + 0x98);" (assignment_expression "*(undefined4 *)(puVar15 + -0x28) = *(undefined4 *)(puVar15 + 0x98)" (pointer_expression "*(undefined4 *)(puVar15 + -0x28)" * (cast_expression "(undefined4 *)(puVar15 + -0x28)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x28)" ( (binary_expression "puVar15 + -0x28" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar15 + 0x98)" * (cast_expression "(undefined4 *)(puVar15 + 0x98)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x98)" ( (binary_expression "puVar15 + 0x98" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x2c) = *(undefined4 *)(puVar15 + 0x94);" (assignment_expression "*(undefined4 *)(puVar15 + -0x2c) = *(undefined4 *)(puVar15 + 0x94)" (pointer_expression "*(undefined4 *)(puVar15 + -0x2c)" * (cast_expression "(undefined4 *)(puVar15 + -0x2c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x2c)" ( (binary_expression "puVar15 + -0x2c" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar15 + 0x94)" * (cast_expression "(undefined4 *)(puVar15 + 0x94)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x94)" ( (binary_expression "puVar15 + 0x94" identifier + number_literal) ))))) ;) (expression_statement "*(undefined1 **)(puVar15 + -0x30) = puVar15 + 0x28;" (assignment_expression "*(undefined1 **)(puVar15 + -0x30) = puVar15 + 0x28" (pointer_expression "*(undefined1 **)(puVar15 + -0x30)" * (cast_expression "(undefined1 **)(puVar15 + -0x30)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + -0x30)" ( (binary_expression "puVar15 + -0x30" identifier + number_literal) )))) = (binary_expression "puVar15 + 0x28" identifier + number_literal)) ;) (expression_statement "*(undefined **)(puVar15 + -0x34) = &UNK_00201cfc;" (assignment_expression "*(undefined **)(puVar15 + -0x34) = &UNK_00201cfc" (pointer_expression "*(undefined **)(puVar15 + -0x34)" * (cast_expression "(undefined **)(puVar15 + -0x34)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + -0x34)" ( (binary_expression "puVar15 + -0x34" identifier + number_literal) )))) = (pointer_expression "&UNK_00201cfc" & identifier)) ;) (expression_statement "FUN_001fc0e0();" (call_expression "FUN_001fc0e0()" identifier (argument_list "()" ( ))) ;) (expression_statement "*(undefined4 *)(puVar15 + 0x94) = *(undefined4 *)(puVar15 + 0x24);" (assignment_expression "*(undefined4 *)(puVar15 + 0x94) = *(undefined4 *)(puVar15 + 0x24)" (pointer_expression "*(undefined4 *)(puVar15 + 0x94)" * (cast_expression "(undefined4 *)(puVar15 + 0x94)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x94)" ( (binary_expression "puVar15 + 0x94" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar15 + 0x24)" * (cast_expression "(undefined4 *)(puVar15 + 0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x24)" ( (binary_expression "puVar15 + 0x24" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar15 + 0x98) = *(undefined4 *)(puVar15 + 0x28);" (assignment_expression "*(undefined4 *)(puVar15 + 0x98) = *(undefined4 *)(puVar15 + 0x28)" (pointer_expression "*(undefined4 *)(puVar15 + 0x98)" * (cast_expression "(undefined4 *)(puVar15 + 0x98)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x98)" ( (binary_expression "puVar15 + 0x98" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar15 + 0x28)" * (cast_expression "(undefined4 *)(puVar15 + 0x28)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x28)" ( (binary_expression "puVar15 + 0x28" identifier + number_literal) ))))) ;) (expression_statement "puVar16 = puVar15 + -4;" (assignment_expression "puVar16 = puVar15 + -4" identifier = (binary_expression "puVar15 + -4" identifier + number_literal)) ;) (if_statement "if (*(int *)(puVar15 + 0x34) == 0) {\n      **(undefined4 **)(puVar15 + 0xac) = *(undefined4 *)(puVar15 + 0x38);\n      puVar16 = puVar15 + -4;\n    }" if (parenthesized_expression "(*(int *)(puVar15 + 0x34) == 0)" ( (binary_expression "*(int *)(puVar15 + 0x34) == 0" (pointer_expression "*(int *)(puVar15 + 0x34)" * (cast_expression "(int *)(puVar15 + 0x34)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x34)" ( (binary_expression "puVar15 + 0x34" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n      **(undefined4 **)(puVar15 + 0xac) = *(undefined4 *)(puVar15 + 0x38);\n      puVar16 = puVar15 + -4;\n    }" { (expression_statement "**(undefined4 **)(puVar15 + 0xac) = *(undefined4 *)(puVar15 + 0x38);" (assignment_expression "**(undefined4 **)(puVar15 + 0xac) = *(undefined4 *)(puVar15 + 0x38)" (pointer_expression "**(undefined4 **)(puVar15 + 0xac)" * (pointer_expression "*(undefined4 **)(puVar15 + 0xac)" * (cast_expression "(undefined4 **)(puVar15 + 0xac)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + 0xac)" ( (binary_expression "puVar15 + 0xac" identifier + number_literal) ))))) = (pointer_expression "*(undefined4 *)(puVar15 + 0x38)" * (cast_expression "(undefined4 *)(puVar15 + 0x38)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x38)" ( (binary_expression "puVar15 + 0x38" identifier + number_literal) ))))) ;) (expression_statement "puVar16 = puVar15 + -4;" (assignment_expression "puVar16 = puVar15 + -4" identifier = (binary_expression "puVar15 + -4" identifier + number_literal)) ;) })) (break_statement "break;" break ;)) (case_statement "case 0x54:\n    *(undefined1 **)(puVar15 + -4) = puVar15 + 0x40;\n    *(undefined **)(puVar15 + -8) = &UNK_002a3ef6;\n    pcVar11 = "%H:%M:%S";\ncode_r0x00201ca2:\n    *(char **)(puVar15 + -0xc) = pcVar11;\n    *(int **)(puVar15 + -0x10) = piVar10;\n    *(undefined **)(puVar15 + -0x14) = &UNK_00201ca9;\n    FUN_001f94d0();\n    *(undefined1 **)(puVar15 + -0xc) = puVar15 + 0x40;\n    goto code_r0x00201b30;" case number_literal : (expression_statement "*(undefined1 **)(puVar15 + -4) = puVar15 + 0x40;" (assignment_expression "*(undefined1 **)(puVar15 + -4) = puVar15 + 0x40" (pointer_expression "*(undefined1 **)(puVar15 + -4)" * (cast_expression "(undefined1 **)(puVar15 + -4)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + -4)" ( (binary_expression "puVar15 + -4" identifier + number_literal) )))) = (binary_expression "puVar15 + 0x40" identifier + number_literal)) ;) (expression_statement "*(undefined **)(puVar15 + -8) = &UNK_002a3ef6;" (assignment_expression "*(undefined **)(puVar15 + -8) = &UNK_002a3ef6" (pointer_expression "*(undefined **)(puVar15 + -8)" * (cast_expression "(undefined **)(puVar15 + -8)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + -8)" ( (binary_expression "puVar15 + -8" identifier + number_literal) )))) = (pointer_expression "&UNK_002a3ef6" & identifier)) ;) (expression_statement "pcVar11 = "%H:%M:%S";" (assignment_expression "pcVar11 = "%H:%M:%S"" identifier = (string_literal ""%H:%M:%S"" " string_content ")) ;) (labeled_statement "code_r0x00201ca2:\n    *(char **)(puVar15 + -0xc) = pcVar11;" statement_identifier : (expression_statement "*(char **)(puVar15 + -0xc) = pcVar11;" (assignment_expression "*(char **)(puVar15 + -0xc) = pcVar11" (pointer_expression "*(char **)(puVar15 + -0xc)" * (cast_expression "(char **)(puVar15 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + -0xc)" ( (binary_expression "puVar15 + -0xc" identifier + number_literal) )))) = identifier) ;)) (expression_statement "*(int **)(puVar15 + -0x10) = piVar10;" (assignment_expression "*(int **)(puVar15 + -0x10) = piVar10" (pointer_expression "*(int **)(puVar15 + -0x10)" * (cast_expression "(int **)(puVar15 + -0x10)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + -0x10)" ( (binary_expression "puVar15 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined **)(puVar15 + -0x14) = &UNK_00201ca9;" (assignment_expression "*(undefined **)(puVar15 + -0x14) = &UNK_00201ca9" (pointer_expression "*(undefined **)(puVar15 + -0x14)" * (cast_expression "(undefined **)(puVar15 + -0x14)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + -0x14)" ( (binary_expression "puVar15 + -0x14" identifier + number_literal) )))) = (pointer_expression "&UNK_00201ca9" & identifier)) ;) (expression_statement "FUN_001f94d0();" (call_expression "FUN_001f94d0()" identifier (argument_list "()" ( ))) ;) (expression_statement "*(undefined1 **)(puVar15 + -0xc) = puVar15 + 0x40;" (assignment_expression "*(undefined1 **)(puVar15 + -0xc) = puVar15 + 0x40" (pointer_expression "*(undefined1 **)(puVar15 + -0xc)" * (cast_expression "(undefined1 **)(puVar15 + -0xc)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + -0xc)" ( (binary_expression "puVar15 + -0xc" identifier + number_literal) )))) = (binary_expression "puVar15 + 0x40" identifier + number_literal)) ;) (goto_statement "goto code_r0x00201b30;" goto statement_identifier ;)) (case_statement "case 0x58:\n    *(undefined4 *)(puVar15 + -0xc) = *(undefined4 *)(*(int *)(*(int *)(puVar15 + 0x18) + 8) + 0x10)\n    ;\n    goto code_r0x00201b30;" case number_literal : (expression_statement "*(undefined4 *)(puVar15 + -0xc) = *(undefined4 *)(*(int *)(*(int *)(puVar15 + 0x18) + 8) + 0x10)\n    ;" (assignment_expression "*(undefined4 *)(puVar15 + -0xc) = *(undefined4 *)(*(int *)(*(int *)(puVar15 + 0x18) + 8) + 0x10)" (pointer_expression "*(undefined4 *)(puVar15 + -0xc)" * (cast_expression "(undefined4 *)(puVar15 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0xc)" ( (binary_expression "puVar15 + -0xc" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(*(int *)(*(int *)(puVar15 + 0x18) + 8) + 0x10)" * (cast_expression "(undefined4 *)(*(int *)(*(int *)(puVar15 + 0x18) + 8) + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(*(int *)(puVar15 + 0x18) + 8) + 0x10)" ( (binary_expression "*(int *)(*(int *)(puVar15 + 0x18) + 8) + 0x10" (pointer_expression "*(int *)(*(int *)(puVar15 + 0x18) + 8)" * (cast_expression "(int *)(*(int *)(puVar15 + 0x18) + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar15 + 0x18) + 8)" ( (binary_expression "*(int *)(puVar15 + 0x18) + 8" (pointer_expression "*(int *)(puVar15 + 0x18)" * (cast_expression "(int *)(puVar15 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x18)" ( (binary_expression "puVar15 + 0x18" identifier + number_literal) )))) + number_literal) )))) + number_literal) ))))) ;) (goto_statement "goto code_r0x00201b30;" goto statement_identifier ;)) (case_statement "case 0x5a:\n    *(undefined **)(puVar15 + -4) = &UNK_00201d80;\n    uVar18 = FUN_001f91d0();\n    if ((*(byte *)(piVar10[6] + 1 + (uVar18 & 0xff) * 2) & 1) == 0) goto LAB_00201ab8;\n    *(undefined1 **)(puVar15 + 0x14) = puVar15 + 0x28;\n    puVar2 = puVar15 + 0x38;\n    *(undefined1 **)(puVar15 + -8) = puVar2;\n    *(undefined4 *)(puVar15 + -0xc) = *(undefined4 *)(puVar15 + 0xa8);\n    *(undefined4 *)(puVar15 + -0x10) = 0xe;\n    *(undefined4 *)(puVar15 + -0x14) = *(undefined4 *)(puVar15 + 0x24);\n    puVar3 = puVar15 + 0x40;\n    *(undefined1 **)(puVar15 + -0x18) = puVar3;\n    *(undefined4 *)(puVar15 + -0x1c) = *(undefined4 *)(puVar15 + 0xa4);\n    *(undefined4 *)(puVar15 + -0x20) = *(undefined4 *)(puVar15 + 0xa0);\n    *(undefined4 *)(puVar15 + -0x24) = *(undefined4 *)(puVar15 + 0x9c);\n    *(undefined4 *)(puVar15 + -0x28) = *(undefined4 *)(puVar15 + 0x98);\n    *(undefined4 *)(puVar15 + -0x2c) = *(undefined4 *)(puVar15 + 0x94);\n    *(undefined1 **)(puVar15 + -0x30) = puVar15 + 0x28;\n    *(undefined **)(puVar15 + -0x34) = &UNK_00201ddc;\n    FUN_00201020();\n    *(undefined4 *)(puVar15 + 0x94) = *(undefined4 *)(puVar15 + 0x24);\n    *(undefined4 *)(puVar15 + 0x98) = *(undefined4 *)(puVar15 + 0x28);\n    *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0xc);\n    *(undefined4 *)(puVar15 + -0x14) = *(undefined4 *)(puVar15 + 4);\n    *(undefined **)(puVar15 + -0x18) = &UNK_00201e02;\n    cVar6 = FUN_00200f70();\n    puVar16 = puVar15 + -4;\n    if ((cVar6 != '\0') ||\n       (puVar16 = puVar15 + -4, *(int *)(puVar15 + 0x34) != 0 || *(int *)(puVar15 + 0x3c) != 0))\n    break;\n    *(undefined **)(puVar15 + -8) = &UNK_00201e2b;\n    uVar12 = FUN_001f91d0();\n    iVar1 = piVar10[7];\n    *(undefined4 *)(puVar15 + 0x1c) = uVar12;\n    if ((char)iVar1 == '\0') {\n      *(undefined **)(puVar15 + -8) = &UNK_002023c1;\n      cVar6 = FUN_001f9220();\n    }\n    else {\n      cVar6 = *(char *)((int)piVar10 + 0x4a);\n    }\n    if (puVar15[0x1c] != cVar6) {\n      *(undefined **)(puVar15 + -8) = &UNK_00201e53;\n      uVar12 = FUN_001f91d0();\n      iVar1 = piVar10[7];\n      *(undefined4 *)(puVar15 + 0x1c) = uVar12;\n      if ((char)iVar1 == '\0') {\n        *(undefined **)(puVar15 + -8) = &UNK_002023d2;\n        cVar6 = FUN_001f9220();\n      }\n      else {\n        cVar6 = (char)piVar10[0x12];\n      }\n      puVar16 = puVar15 + -4;\n      if (puVar15[0x1c] != cVar6) break;\n    }\n    *(undefined1 **)(puVar15 + -8) = puVar2;\n    *(undefined4 *)(puVar15 + -0xc) = *(undefined4 *)(puVar15 + 0xa4);\n    *(undefined4 *)(puVar15 + -0x10) = 2;\n    *(undefined4 *)(puVar15 + -0x14) = 0x17;\n    *(undefined4 *)(puVar15 + -0x18) = 0;\n    *(undefined1 **)(puVar15 + -0x1c) = puVar3;\n    *(undefined4 *)(puVar15 + -0x20) = *(undefined4 *)(puVar15 + 0xa0);\n    *(undefined4 *)(puVar15 + -0x24) = *(undefined4 *)(puVar15 + 0x9c);\n    *(undefined4 *)(puVar15 + -0x28) = *(undefined4 *)(puVar15 + 0x98);\n    *(undefined4 *)(puVar15 + -0x2c) = *(undefined4 *)(puVar15 + 0x94);\n    *(undefined4 *)(puVar15 + -0x30) = *(undefined4 *)(puVar15 + 0x90);\n    *(undefined4 *)(puVar15 + -0x34) = *(undefined4 *)(puVar15 + 0x10);\n    *(undefined **)(puVar15 + -0x38) = &UNK_00201eaa;\n    FUN_001fc0e0();\n    *(undefined4 *)(puVar15 + 0x90) = *(undefined4 *)(puVar15 + 0x20);\n    *(undefined4 *)(puVar15 + 0x94) = *(undefined4 *)(puVar15 + 0x24);\n    *(undefined1 **)(puVar15 + -0xc) = puVar2;\n    *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0xa0);\n    *(undefined4 *)(puVar15 + -0x14) = 2;\n    *(undefined4 *)(puVar15 + -0x18) = 0x3b;\n    *(undefined4 *)(puVar15 + -0x1c) = 0;\n    *(undefined1 **)(puVar15 + -0x20) = puVar3;\n    *(undefined4 *)(puVar15 + -0x24) = *(undefined4 *)(puVar15 + 0x9c);\n    *(undefined4 *)(puVar15 + -0x28) = *(undefined4 *)(puVar15 + 0x98);\n    *(undefined4 *)(puVar15 + -0x2c) = *(undefined4 *)(puVar15 + 0x24);\n    *(undefined4 *)(puVar15 + -0x30) = *(undefined4 *)(puVar15 + 0x20);\n    *(undefined4 *)(puVar15 + -0x34) = *(undefined4 *)(puVar15 + 0x8c);\n    puVar17 = puVar15 + -0x38;\n    *(undefined4 *)(puVar15 + -0x38) = *(undefined4 *)(puVar15 + 0xc);\n    *(undefined **)(puVar15 + -0x3c) = &UNK_00201ef2;\n    FUN_001fc0e0();\n    goto code_r0x00201b6c;" case number_literal : (expression_statement "*(undefined **)(puVar15 + -4) = &UNK_00201d80;" (assignment_expression "*(undefined **)(puVar15 + -4) = &UNK_00201d80" (pointer_expression "*(undefined **)(puVar15 + -4)" * (cast_expression "(undefined **)(puVar15 + -4)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + -4)" ( (binary_expression "puVar15 + -4" identifier + number_literal) )))) = (pointer_expression "&UNK_00201d80" & identifier)) ;) (expression_statement "uVar18 = FUN_001f91d0();" (assignment_expression "uVar18 = FUN_001f91d0()" identifier = (call_expression "FUN_001f91d0()" identifier (argument_list "()" ( )))) ;) (if_statement "if ((*(byte *)(piVar10[6] + 1 + (uVar18 & 0xff) * 2) & 1) == 0) goto LAB_00201ab8;" if (parenthesized_expression "((*(byte *)(piVar10[6] + 1 + (uVar18 & 0xff) * 2) & 1) == 0)" ( (binary_expression "(*(byte *)(piVar10[6] + 1 + (uVar18 & 0xff) * 2) & 1) == 0" (parenthesized_expression "(*(byte *)(piVar10[6] + 1 + (uVar18 & 0xff) * 2) & 1)" ( (binary_expression "*(byte *)(piVar10[6] + 1 + (uVar18 & 0xff) * 2) & 1" (pointer_expression "*(byte *)(piVar10[6] + 1 + (uVar18 & 0xff) * 2)" * (cast_expression "(byte *)(piVar10[6] + 1 + (uVar18 & 0xff) * 2)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar10[6] + 1 + (uVar18 & 0xff) * 2)" ( (binary_expression "piVar10[6] + 1 + (uVar18 & 0xff) * 2" (binary_expression "piVar10[6] + 1" (subscript_expression "piVar10[6]" identifier [ number_literal ]) + number_literal) + (binary_expression "(uVar18 & 0xff) * 2" (parenthesized_expression "(uVar18 & 0xff)" ( (binary_expression "uVar18 & 0xff" identifier & number_literal) )) * number_literal)) )))) & number_literal) )) == number_literal) )) (goto_statement "goto LAB_00201ab8;" goto statement_identifier ;)) (expression_statement "*(undefined1 **)(puVar15 + 0x14) = puVar15 + 0x28;" (assignment_expression "*(undefined1 **)(puVar15 + 0x14) = puVar15 + 0x28" (pointer_expression "*(undefined1 **)(puVar15 + 0x14)" * (cast_expression "(undefined1 **)(puVar15 + 0x14)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + 0x14)" ( (binary_expression "puVar15 + 0x14" identifier + number_literal) )))) = (binary_expression "puVar15 + 0x28" identifier + number_literal)) ;) (expression_statement "puVar2 = puVar15 + 0x38;" (assignment_expression "puVar2 = puVar15 + 0x38" identifier = (binary_expression "puVar15 + 0x38" identifier + number_literal)) ;) (expression_statement "*(undefined1 **)(puVar15 + -8) = puVar2;" (assignment_expression "*(undefined1 **)(puVar15 + -8) = puVar2" (pointer_expression "*(undefined1 **)(puVar15 + -8)" * (cast_expression "(undefined1 **)(puVar15 + -8)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + -8)" ( (binary_expression "puVar15 + -8" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar15 + -0xc) = *(undefined4 *)(puVar15 + 0xa8);" (assignment_expression "*(undefined4 *)(puVar15 + -0xc) = *(undefined4 *)(puVar15 + 0xa8)" (pointer_expression "*(undefined4 *)(puVar15 + -0xc)" * (cast_expression "(undefined4 *)(puVar15 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0xc)" ( (binary_expression "puVar15 + -0xc" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar15 + 0xa8)" * (cast_expression "(undefined4 *)(puVar15 + 0xa8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0xa8)" ( (binary_expression "puVar15 + 0xa8" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x10) = 0xe;" (assignment_expression "*(undefined4 *)(puVar15 + -0x10) = 0xe" (pointer_expression "*(undefined4 *)(puVar15 + -0x10)" * (cast_expression "(undefined4 *)(puVar15 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x10)" ( (binary_expression "puVar15 + -0x10" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x14) = *(undefined4 *)(puVar15 + 0x24);" (assignment_expression "*(undefined4 *)(puVar15 + -0x14) = *(undefined4 *)(puVar15 + 0x24)" (pointer_expression "*(undefined4 *)(puVar15 + -0x14)" * (cast_expression "(undefined4 *)(puVar15 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x14)" ( (binary_expression "puVar15 + -0x14" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar15 + 0x24)" * (cast_expression "(undefined4 *)(puVar15 + 0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x24)" ( (binary_expression "puVar15 + 0x24" identifier + number_literal) ))))) ;) (expression_statement "puVar3 = puVar15 + 0x40;" (assignment_expression "puVar3 = puVar15 + 0x40" identifier = (binary_expression "puVar15 + 0x40" identifier + number_literal)) ;) (expression_statement "*(undefined1 **)(puVar15 + -0x18) = puVar3;" (assignment_expression "*(undefined1 **)(puVar15 + -0x18) = puVar3" (pointer_expression "*(undefined1 **)(puVar15 + -0x18)" * (cast_expression "(undefined1 **)(puVar15 + -0x18)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + -0x18)" ( (binary_expression "puVar15 + -0x18" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x1c) = *(undefined4 *)(puVar15 + 0xa4);" (assignment_expression "*(undefined4 *)(puVar15 + -0x1c) = *(undefined4 *)(puVar15 + 0xa4)" (pointer_expression "*(undefined4 *)(puVar15 + -0x1c)" * (cast_expression "(undefined4 *)(puVar15 + -0x1c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x1c)" ( (binary_expression "puVar15 + -0x1c" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar15 + 0xa4)" * (cast_expression "(undefined4 *)(puVar15 + 0xa4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0xa4)" ( (binary_expression "puVar15 + 0xa4" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x20) = *(undefined4 *)(puVar15 + 0xa0);" (assignment_expression "*(undefined4 *)(puVar15 + -0x20) = *(undefined4 *)(puVar15 + 0xa0)" (pointer_expression "*(undefined4 *)(puVar15 + -0x20)" * (cast_expression "(undefined4 *)(puVar15 + -0x20)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x20)" ( (binary_expression "puVar15 + -0x20" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar15 + 0xa0)" * (cast_expression "(undefined4 *)(puVar15 + 0xa0)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0xa0)" ( (binary_expression "puVar15 + 0xa0" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x24) = *(undefined4 *)(puVar15 + 0x9c);" (assignment_expression "*(undefined4 *)(puVar15 + -0x24) = *(undefined4 *)(puVar15 + 0x9c)" (pointer_expression "*(undefined4 *)(puVar15 + -0x24)" * (cast_expression "(undefined4 *)(puVar15 + -0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x24)" ( (binary_expression "puVar15 + -0x24" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar15 + 0x9c)" * (cast_expression "(undefined4 *)(puVar15 + 0x9c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x9c)" ( (binary_expression "puVar15 + 0x9c" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x28) = *(undefined4 *)(puVar15 + 0x98);" (assignment_expression "*(undefined4 *)(puVar15 + -0x28) = *(undefined4 *)(puVar15 + 0x98)" (pointer_expression "*(undefined4 *)(puVar15 + -0x28)" * (cast_expression "(undefined4 *)(puVar15 + -0x28)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x28)" ( (binary_expression "puVar15 + -0x28" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar15 + 0x98)" * (cast_expression "(undefined4 *)(puVar15 + 0x98)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x98)" ( (binary_expression "puVar15 + 0x98" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x2c) = *(undefined4 *)(puVar15 + 0x94);" (assignment_expression "*(undefined4 *)(puVar15 + -0x2c) = *(undefined4 *)(puVar15 + 0x94)" (pointer_expression "*(undefined4 *)(puVar15 + -0x2c)" * (cast_expression "(undefined4 *)(puVar15 + -0x2c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x2c)" ( (binary_expression "puVar15 + -0x2c" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar15 + 0x94)" * (cast_expression "(undefined4 *)(puVar15 + 0x94)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x94)" ( (binary_expression "puVar15 + 0x94" identifier + number_literal) ))))) ;) (expression_statement "*(undefined1 **)(puVar15 + -0x30) = puVar15 + 0x28;" (assignment_expression "*(undefined1 **)(puVar15 + -0x30) = puVar15 + 0x28" (pointer_expression "*(undefined1 **)(puVar15 + -0x30)" * (cast_expression "(undefined1 **)(puVar15 + -0x30)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + -0x30)" ( (binary_expression "puVar15 + -0x30" identifier + number_literal) )))) = (binary_expression "puVar15 + 0x28" identifier + number_literal)) ;) (expression_statement "*(undefined **)(puVar15 + -0x34) = &UNK_00201ddc;" (assignment_expression "*(undefined **)(puVar15 + -0x34) = &UNK_00201ddc" (pointer_expression "*(undefined **)(puVar15 + -0x34)" * (cast_expression "(undefined **)(puVar15 + -0x34)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + -0x34)" ( (binary_expression "puVar15 + -0x34" identifier + number_literal) )))) = (pointer_expression "&UNK_00201ddc" & identifier)) ;) (expression_statement "FUN_00201020();" (call_expression "FUN_00201020()" identifier (argument_list "()" ( ))) ;) (expression_statement "*(undefined4 *)(puVar15 + 0x94) = *(undefined4 *)(puVar15 + 0x24);" (assignment_expression "*(undefined4 *)(puVar15 + 0x94) = *(undefined4 *)(puVar15 + 0x24)" (pointer_expression "*(undefined4 *)(puVar15 + 0x94)" * (cast_expression "(undefined4 *)(puVar15 + 0x94)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x94)" ( (binary_expression "puVar15 + 0x94" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar15 + 0x24)" * (cast_expression "(undefined4 *)(puVar15 + 0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x24)" ( (binary_expression "puVar15 + 0x24" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar15 + 0x98) = *(undefined4 *)(puVar15 + 0x28);" (assignment_expression "*(undefined4 *)(puVar15 + 0x98) = *(undefined4 *)(puVar15 + 0x28)" (pointer_expression "*(undefined4 *)(puVar15 + 0x98)" * (cast_expression "(undefined4 *)(puVar15 + 0x98)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x98)" ( (binary_expression "puVar15 + 0x98" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar15 + 0x28)" * (cast_expression "(undefined4 *)(puVar15 + 0x28)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x28)" ( (binary_expression "puVar15 + 0x28" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0xc);" (assignment_expression "*(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0xc)" (pointer_expression "*(undefined4 *)(puVar15 + -0x10)" * (cast_expression "(undefined4 *)(puVar15 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x10)" ( (binary_expression "puVar15 + -0x10" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar15 + 0xc)" * (cast_expression "(undefined4 *)(puVar15 + 0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0xc)" ( (binary_expression "puVar15 + 0xc" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x14) = *(undefined4 *)(puVar15 + 4);" (assignment_expression "*(undefined4 *)(puVar15 + -0x14) = *(undefined4 *)(puVar15 + 4)" (pointer_expression "*(undefined4 *)(puVar15 + -0x14)" * (cast_expression "(undefined4 *)(puVar15 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x14)" ( (binary_expression "puVar15 + -0x14" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar15 + 4)" * (cast_expression "(undefined4 *)(puVar15 + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 4)" ( (binary_expression "puVar15 + 4" identifier + number_literal) ))))) ;) (expression_statement "*(undefined **)(puVar15 + -0x18) = &UNK_00201e02;" (assignment_expression "*(undefined **)(puVar15 + -0x18) = &UNK_00201e02" (pointer_expression "*(undefined **)(puVar15 + -0x18)" * (cast_expression "(undefined **)(puVar15 + -0x18)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + -0x18)" ( (binary_expression "puVar15 + -0x18" identifier + number_literal) )))) = (pointer_expression "&UNK_00201e02" & identifier)) ;) (expression_statement "cVar6 = FUN_00200f70();" (assignment_expression "cVar6 = FUN_00200f70()" identifier = (call_expression "FUN_00200f70()" identifier (argument_list "()" ( )))) ;) (expression_statement "puVar16 = puVar15 + -4;" (assignment_expression "puVar16 = puVar15 + -4" identifier = (binary_expression "puVar15 + -4" identifier + number_literal)) ;) (if_statement "if ((cVar6 != '\0') ||\n       (puVar16 = puVar15 + -4, *(int *)(puVar15 + 0x34) != 0 || *(int *)(puVar15 + 0x3c) != 0))\n    break;" if (parenthesized_expression "((cVar6 != '\0') ||\n       (puVar16 = puVar15 + -4, *(int *)(puVar15 + 0x34) != 0 || *(int *)(puVar15 + 0x3c) != 0))" ( (binary_expression "(cVar6 != '\0') ||\n       (puVar16 = puVar15 + -4, *(int *)(puVar15 + 0x34) != 0 || *(int *)(puVar15 + 0x3c) != 0)" (parenthesized_expression "(cVar6 != '\0')" ( (binary_expression "cVar6 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) || (parenthesized_expression "(puVar16 = puVar15 + -4, *(int *)(puVar15 + 0x34) != 0 || *(int *)(puVar15 + 0x3c) != 0)" ( (comma_expression "puVar16 = puVar15 + -4, *(int *)(puVar15 + 0x34) != 0 || *(int *)(puVar15 + 0x3c) != 0" (assignment_expression "puVar16 = puVar15 + -4" identifier = (binary_expression "puVar15 + -4" identifier + number_literal)) , (binary_expression "*(int *)(puVar15 + 0x34) != 0 || *(int *)(puVar15 + 0x3c) != 0" (binary_expression "*(int *)(puVar15 + 0x34) != 0" (pointer_expression "*(int *)(puVar15 + 0x34)" * (cast_expression "(int *)(puVar15 + 0x34)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x34)" ( (binary_expression "puVar15 + 0x34" identifier + number_literal) )))) != number_literal) || (binary_expression "*(int *)(puVar15 + 0x3c) != 0" (pointer_expression "*(int *)(puVar15 + 0x3c)" * (cast_expression "(int *)(puVar15 + 0x3c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x3c)" ( (binary_expression "puVar15 + 0x3c" identifier + number_literal) )))) != number_literal))) ))) )) (break_statement "break;" break ;)) (expression_statement "*(undefined **)(puVar15 + -8) = &UNK_00201e2b;" (assignment_expression "*(undefined **)(puVar15 + -8) = &UNK_00201e2b" (pointer_expression "*(undefined **)(puVar15 + -8)" * (cast_expression "(undefined **)(puVar15 + -8)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + -8)" ( (binary_expression "puVar15 + -8" identifier + number_literal) )))) = (pointer_expression "&UNK_00201e2b" & identifier)) ;) (expression_statement "uVar12 = FUN_001f91d0();" (assignment_expression "uVar12 = FUN_001f91d0()" identifier = (call_expression "FUN_001f91d0()" identifier (argument_list "()" ( )))) ;) (expression_statement "iVar1 = piVar10[7];" (assignment_expression "iVar1 = piVar10[7]" identifier = (subscript_expression "piVar10[7]" identifier [ number_literal ])) ;) (expression_statement "*(undefined4 *)(puVar15 + 0x1c) = uVar12;" (assignment_expression "*(undefined4 *)(puVar15 + 0x1c) = uVar12" (pointer_expression "*(undefined4 *)(puVar15 + 0x1c)" * (cast_expression "(undefined4 *)(puVar15 + 0x1c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x1c)" ( (binary_expression "puVar15 + 0x1c" identifier + number_literal) )))) = identifier) ;) (if_statement "if ((char)iVar1 == '\0') {\n      *(undefined **)(puVar15 + -8) = &UNK_002023c1;\n      cVar6 = FUN_001f9220();\n    }\n    else {\n      cVar6 = *(char *)((int)piVar10 + 0x4a);\n    }" if (parenthesized_expression "((char)iVar1 == '\0')" ( (binary_expression "(char)iVar1 == '\0'" (cast_expression "(char)iVar1" ( (type_descriptor "char" primitive_type) ) identifier) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n      *(undefined **)(puVar15 + -8) = &UNK_002023c1;\n      cVar6 = FUN_001f9220();\n    }" { (expression_statement "*(undefined **)(puVar15 + -8) = &UNK_002023c1;" (assignment_expression "*(undefined **)(puVar15 + -8) = &UNK_002023c1" (pointer_expression "*(undefined **)(puVar15 + -8)" * (cast_expression "(undefined **)(puVar15 + -8)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + -8)" ( (binary_expression "puVar15 + -8" identifier + number_literal) )))) = (pointer_expression "&UNK_002023c1" & identifier)) ;) (expression_statement "cVar6 = FUN_001f9220();" (assignment_expression "cVar6 = FUN_001f9220()" identifier = (call_expression "FUN_001f9220()" identifier (argument_list "()" ( )))) ;) }) (else_clause "else {\n      cVar6 = *(char *)((int)piVar10 + 0x4a);\n    }" else (compound_statement "{\n      cVar6 = *(char *)((int)piVar10 + 0x4a);\n    }" { (expression_statement "cVar6 = *(char *)((int)piVar10 + 0x4a);" (assignment_expression "cVar6 = *(char *)((int)piVar10 + 0x4a)" identifier = (pointer_expression "*(char *)((int)piVar10 + 0x4a)" * (cast_expression "(char *)((int)piVar10 + 0x4a)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar10 + 0x4a)" ( (binary_expression "(int)piVar10 + 0x4a" (cast_expression "(int)piVar10" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) }))) (if_statement "if (puVar15[0x1c] != cVar6) {\n      *(undefined **)(puVar15 + -8) = &UNK_00201e53;\n      uVar12 = FUN_001f91d0();\n      iVar1 = piVar10[7];\n      *(undefined4 *)(puVar15 + 0x1c) = uVar12;\n      if ((char)iVar1 == '\0') {\n        *(undefined **)(puVar15 + -8) = &UNK_002023d2;\n        cVar6 = FUN_001f9220();\n      }\n      else {\n        cVar6 = (char)piVar10[0x12];\n      }\n      puVar16 = puVar15 + -4;\n      if (puVar15[0x1c] != cVar6) break;\n    }" if (parenthesized_expression "(puVar15[0x1c] != cVar6)" ( (binary_expression "puVar15[0x1c] != cVar6" (subscript_expression "puVar15[0x1c]" identifier [ number_literal ]) != identifier) )) (compound_statement "{\n      *(undefined **)(puVar15 + -8) = &UNK_00201e53;\n      uVar12 = FUN_001f91d0();\n      iVar1 = piVar10[7];\n      *(undefined4 *)(puVar15 + 0x1c) = uVar12;\n      if ((char)iVar1 == '\0') {\n        *(undefined **)(puVar15 + -8) = &UNK_002023d2;\n        cVar6 = FUN_001f9220();\n      }\n      else {\n        cVar6 = (char)piVar10[0x12];\n      }\n      puVar16 = puVar15 + -4;\n      if (puVar15[0x1c] != cVar6) break;\n    }" { (expression_statement "*(undefined **)(puVar15 + -8) = &UNK_00201e53;" (assignment_expression "*(undefined **)(puVar15 + -8) = &UNK_00201e53" (pointer_expression "*(undefined **)(puVar15 + -8)" * (cast_expression "(undefined **)(puVar15 + -8)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + -8)" ( (binary_expression "puVar15 + -8" identifier + number_literal) )))) = (pointer_expression "&UNK_00201e53" & identifier)) ;) (expression_statement "uVar12 = FUN_001f91d0();" (assignment_expression "uVar12 = FUN_001f91d0()" identifier = (call_expression "FUN_001f91d0()" identifier (argument_list "()" ( )))) ;) (expression_statement "iVar1 = piVar10[7];" (assignment_expression "iVar1 = piVar10[7]" identifier = (subscript_expression "piVar10[7]" identifier [ number_literal ])) ;) (expression_statement "*(undefined4 *)(puVar15 + 0x1c) = uVar12;" (assignment_expression "*(undefined4 *)(puVar15 + 0x1c) = uVar12" (pointer_expression "*(undefined4 *)(puVar15 + 0x1c)" * (cast_expression "(undefined4 *)(puVar15 + 0x1c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x1c)" ( (binary_expression "puVar15 + 0x1c" identifier + number_literal) )))) = identifier) ;) (if_statement "if ((char)iVar1 == '\0') {\n        *(undefined **)(puVar15 + -8) = &UNK_002023d2;\n        cVar6 = FUN_001f9220();\n      }\n      else {\n        cVar6 = (char)piVar10[0x12];\n      }" if (parenthesized_expression "((char)iVar1 == '\0')" ( (binary_expression "(char)iVar1 == '\0'" (cast_expression "(char)iVar1" ( (type_descriptor "char" primitive_type) ) identifier) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n        *(undefined **)(puVar15 + -8) = &UNK_002023d2;\n        cVar6 = FUN_001f9220();\n      }" { (expression_statement "*(undefined **)(puVar15 + -8) = &UNK_002023d2;" (assignment_expression "*(undefined **)(puVar15 + -8) = &UNK_002023d2" (pointer_expression "*(undefined **)(puVar15 + -8)" * (cast_expression "(undefined **)(puVar15 + -8)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + -8)" ( (binary_expression "puVar15 + -8" identifier + number_literal) )))) = (pointer_expression "&UNK_002023d2" & identifier)) ;) (expression_statement "cVar6 = FUN_001f9220();" (assignment_expression "cVar6 = FUN_001f9220()" identifier = (call_expression "FUN_001f9220()" identifier (argument_list "()" ( )))) ;) }) (else_clause "else {\n        cVar6 = (char)piVar10[0x12];\n      }" else (compound_statement "{\n        cVar6 = (char)piVar10[0x12];\n      }" { (expression_statement "cVar6 = (char)piVar10[0x12];" (assignment_expression "cVar6 = (char)piVar10[0x12]" identifier = (cast_expression "(char)piVar10[0x12]" ( (type_descriptor "char" primitive_type) ) (subscript_expression "piVar10[0x12]" identifier [ number_literal ]))) ;) }))) (expression_statement "puVar16 = puVar15 + -4;" (assignment_expression "puVar16 = puVar15 + -4" identifier = (binary_expression "puVar15 + -4" identifier + number_literal)) ;) (if_statement "if (puVar15[0x1c] != cVar6) break;" if (parenthesized_expression "(puVar15[0x1c] != cVar6)" ( (binary_expression "puVar15[0x1c] != cVar6" (subscript_expression "puVar15[0x1c]" identifier [ number_literal ]) != identifier) )) (break_statement "break;" break ;)) })) (expression_statement "*(undefined1 **)(puVar15 + -8) = puVar2;" (assignment_expression "*(undefined1 **)(puVar15 + -8) = puVar2" (pointer_expression "*(undefined1 **)(puVar15 + -8)" * (cast_expression "(undefined1 **)(puVar15 + -8)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + -8)" ( (binary_expression "puVar15 + -8" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar15 + -0xc) = *(undefined4 *)(puVar15 + 0xa4);" (assignment_expression "*(undefined4 *)(puVar15 + -0xc) = *(undefined4 *)(puVar15 + 0xa4)" (pointer_expression "*(undefined4 *)(puVar15 + -0xc)" * (cast_expression "(undefined4 *)(puVar15 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0xc)" ( (binary_expression "puVar15 + -0xc" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar15 + 0xa4)" * (cast_expression "(undefined4 *)(puVar15 + 0xa4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0xa4)" ( (binary_expression "puVar15 + 0xa4" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x10) = 2;" (assignment_expression "*(undefined4 *)(puVar15 + -0x10) = 2" (pointer_expression "*(undefined4 *)(puVar15 + -0x10)" * (cast_expression "(undefined4 *)(puVar15 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x10)" ( (binary_expression "puVar15 + -0x10" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x14) = 0x17;" (assignment_expression "*(undefined4 *)(puVar15 + -0x14) = 0x17" (pointer_expression "*(undefined4 *)(puVar15 + -0x14)" * (cast_expression "(undefined4 *)(puVar15 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x14)" ( (binary_expression "puVar15 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x18) = 0;" (assignment_expression "*(undefined4 *)(puVar15 + -0x18) = 0" (pointer_expression "*(undefined4 *)(puVar15 + -0x18)" * (cast_expression "(undefined4 *)(puVar15 + -0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x18)" ( (binary_expression "puVar15 + -0x18" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined1 **)(puVar15 + -0x1c) = puVar3;" (assignment_expression "*(undefined1 **)(puVar15 + -0x1c) = puVar3" (pointer_expression "*(undefined1 **)(puVar15 + -0x1c)" * (cast_expression "(undefined1 **)(puVar15 + -0x1c)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + -0x1c)" ( (binary_expression "puVar15 + -0x1c" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x20) = *(undefined4 *)(puVar15 + 0xa0);" (assignment_expression "*(undefined4 *)(puVar15 + -0x20) = *(undefined4 *)(puVar15 + 0xa0)" (pointer_expression "*(undefined4 *)(puVar15 + -0x20)" * (cast_expression "(undefined4 *)(puVar15 + -0x20)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x20)" ( (binary_expression "puVar15 + -0x20" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar15 + 0xa0)" * (cast_expression "(undefined4 *)(puVar15 + 0xa0)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0xa0)" ( (binary_expression "puVar15 + 0xa0" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x24) = *(undefined4 *)(puVar15 + 0x9c);" (assignment_expression "*(undefined4 *)(puVar15 + -0x24) = *(undefined4 *)(puVar15 + 0x9c)" (pointer_expression "*(undefined4 *)(puVar15 + -0x24)" * (cast_expression "(undefined4 *)(puVar15 + -0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x24)" ( (binary_expression "puVar15 + -0x24" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar15 + 0x9c)" * (cast_expression "(undefined4 *)(puVar15 + 0x9c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x9c)" ( (binary_expression "puVar15 + 0x9c" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x28) = *(undefined4 *)(puVar15 + 0x98);" (assignment_expression "*(undefined4 *)(puVar15 + -0x28) = *(undefined4 *)(puVar15 + 0x98)" (pointer_expression "*(undefined4 *)(puVar15 + -0x28)" * (cast_expression "(undefined4 *)(puVar15 + -0x28)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x28)" ( (binary_expression "puVar15 + -0x28" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar15 + 0x98)" * (cast_expression "(undefined4 *)(puVar15 + 0x98)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x98)" ( (binary_expression "puVar15 + 0x98" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x2c) = *(undefined4 *)(puVar15 + 0x94);" (assignment_expression "*(undefined4 *)(puVar15 + -0x2c) = *(undefined4 *)(puVar15 + 0x94)" (pointer_expression "*(undefined4 *)(puVar15 + -0x2c)" * (cast_expression "(undefined4 *)(puVar15 + -0x2c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x2c)" ( (binary_expression "puVar15 + -0x2c" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar15 + 0x94)" * (cast_expression "(undefined4 *)(puVar15 + 0x94)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x94)" ( (binary_expression "puVar15 + 0x94" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x30) = *(undefined4 *)(puVar15 + 0x90);" (assignment_expression "*(undefined4 *)(puVar15 + -0x30) = *(undefined4 *)(puVar15 + 0x90)" (pointer_expression "*(undefined4 *)(puVar15 + -0x30)" * (cast_expression "(undefined4 *)(puVar15 + -0x30)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x30)" ( (binary_expression "puVar15 + -0x30" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar15 + 0x90)" * (cast_expression "(undefined4 *)(puVar15 + 0x90)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x90)" ( (binary_expression "puVar15 + 0x90" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x34) = *(undefined4 *)(puVar15 + 0x10);" (assignment_expression "*(undefined4 *)(puVar15 + -0x34) = *(undefined4 *)(puVar15 + 0x10)" (pointer_expression "*(undefined4 *)(puVar15 + -0x34)" * (cast_expression "(undefined4 *)(puVar15 + -0x34)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x34)" ( (binary_expression "puVar15 + -0x34" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar15 + 0x10)" * (cast_expression "(undefined4 *)(puVar15 + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x10)" ( (binary_expression "puVar15 + 0x10" identifier + number_literal) ))))) ;) (expression_statement "*(undefined **)(puVar15 + -0x38) = &UNK_00201eaa;" (assignment_expression "*(undefined **)(puVar15 + -0x38) = &UNK_00201eaa" (pointer_expression "*(undefined **)(puVar15 + -0x38)" * (cast_expression "(undefined **)(puVar15 + -0x38)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + -0x38)" ( (binary_expression "puVar15 + -0x38" identifier + number_literal) )))) = (pointer_expression "&UNK_00201eaa" & identifier)) ;) (expression_statement "FUN_001fc0e0();" (call_expression "FUN_001fc0e0()" identifier (argument_list "()" ( ))) ;) (expression_statement "*(undefined4 *)(puVar15 + 0x90) = *(undefined4 *)(puVar15 + 0x20);" (assignment_expression "*(undefined4 *)(puVar15 + 0x90) = *(undefined4 *)(puVar15 + 0x20)" (pointer_expression "*(undefined4 *)(puVar15 + 0x90)" * (cast_expression "(undefined4 *)(puVar15 + 0x90)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x90)" ( (binary_expression "puVar15 + 0x90" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar15 + 0x20)" * (cast_expression "(undefined4 *)(puVar15 + 0x20)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x20)" ( (binary_expression "puVar15 + 0x20" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar15 + 0x94) = *(undefined4 *)(puVar15 + 0x24);" (assignment_expression "*(undefined4 *)(puVar15 + 0x94) = *(undefined4 *)(puVar15 + 0x24)" (pointer_expression "*(undefined4 *)(puVar15 + 0x94)" * (cast_expression "(undefined4 *)(puVar15 + 0x94)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x94)" ( (binary_expression "puVar15 + 0x94" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar15 + 0x24)" * (cast_expression "(undefined4 *)(puVar15 + 0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x24)" ( (binary_expression "puVar15 + 0x24" identifier + number_literal) ))))) ;) (expression_statement "*(undefined1 **)(puVar15 + -0xc) = puVar2;" (assignment_expression "*(undefined1 **)(puVar15 + -0xc) = puVar2" (pointer_expression "*(undefined1 **)(puVar15 + -0xc)" * (cast_expression "(undefined1 **)(puVar15 + -0xc)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + -0xc)" ( (binary_expression "puVar15 + -0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0xa0);" (assignment_expression "*(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0xa0)" (pointer_expression "*(undefined4 *)(puVar15 + -0x10)" * (cast_expression "(undefined4 *)(puVar15 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x10)" ( (binary_expression "puVar15 + -0x10" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar15 + 0xa0)" * (cast_expression "(undefined4 *)(puVar15 + 0xa0)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0xa0)" ( (binary_expression "puVar15 + 0xa0" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x14) = 2;" (assignment_expression "*(undefined4 *)(puVar15 + -0x14) = 2" (pointer_expression "*(undefined4 *)(puVar15 + -0x14)" * (cast_expression "(undefined4 *)(puVar15 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x14)" ( (binary_expression "puVar15 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x18) = 0x3b;" (assignment_expression "*(undefined4 *)(puVar15 + -0x18) = 0x3b" (pointer_expression "*(undefined4 *)(puVar15 + -0x18)" * (cast_expression "(undefined4 *)(puVar15 + -0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x18)" ( (binary_expression "puVar15 + -0x18" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x1c) = 0;" (assignment_expression "*(undefined4 *)(puVar15 + -0x1c) = 0" (pointer_expression "*(undefined4 *)(puVar15 + -0x1c)" * (cast_expression "(undefined4 *)(puVar15 + -0x1c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x1c)" ( (binary_expression "puVar15 + -0x1c" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined1 **)(puVar15 + -0x20) = puVar3;" (assignment_expression "*(undefined1 **)(puVar15 + -0x20) = puVar3" (pointer_expression "*(undefined1 **)(puVar15 + -0x20)" * (cast_expression "(undefined1 **)(puVar15 + -0x20)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + -0x20)" ( (binary_expression "puVar15 + -0x20" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x24) = *(undefined4 *)(puVar15 + 0x9c);" (assignment_expression "*(undefined4 *)(puVar15 + -0x24) = *(undefined4 *)(puVar15 + 0x9c)" (pointer_expression "*(undefined4 *)(puVar15 + -0x24)" * (cast_expression "(undefined4 *)(puVar15 + -0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x24)" ( (binary_expression "puVar15 + -0x24" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar15 + 0x9c)" * (cast_expression "(undefined4 *)(puVar15 + 0x9c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x9c)" ( (binary_expression "puVar15 + 0x9c" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x28) = *(undefined4 *)(puVar15 + 0x98);" (assignment_expression "*(undefined4 *)(puVar15 + -0x28) = *(undefined4 *)(puVar15 + 0x98)" (pointer_expression "*(undefined4 *)(puVar15 + -0x28)" * (cast_expression "(undefined4 *)(puVar15 + -0x28)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x28)" ( (binary_expression "puVar15 + -0x28" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar15 + 0x98)" * (cast_expression "(undefined4 *)(puVar15 + 0x98)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x98)" ( (binary_expression "puVar15 + 0x98" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x2c) = *(undefined4 *)(puVar15 + 0x24);" (assignment_expression "*(undefined4 *)(puVar15 + -0x2c) = *(undefined4 *)(puVar15 + 0x24)" (pointer_expression "*(undefined4 *)(puVar15 + -0x2c)" * (cast_expression "(undefined4 *)(puVar15 + -0x2c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x2c)" ( (binary_expression "puVar15 + -0x2c" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar15 + 0x24)" * (cast_expression "(undefined4 *)(puVar15 + 0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x24)" ( (binary_expression "puVar15 + 0x24" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x30) = *(undefined4 *)(puVar15 + 0x20);" (assignment_expression "*(undefined4 *)(puVar15 + -0x30) = *(undefined4 *)(puVar15 + 0x20)" (pointer_expression "*(undefined4 *)(puVar15 + -0x30)" * (cast_expression "(undefined4 *)(puVar15 + -0x30)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x30)" ( (binary_expression "puVar15 + -0x30" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar15 + 0x20)" * (cast_expression "(undefined4 *)(puVar15 + 0x20)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x20)" ( (binary_expression "puVar15 + 0x20" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x34) = *(undefined4 *)(puVar15 + 0x8c);" (assignment_expression "*(undefined4 *)(puVar15 + -0x34) = *(undefined4 *)(puVar15 + 0x8c)" (pointer_expression "*(undefined4 *)(puVar15 + -0x34)" * (cast_expression "(undefined4 *)(puVar15 + -0x34)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x34)" ( (binary_expression "puVar15 + -0x34" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar15 + 0x8c)" * (cast_expression "(undefined4 *)(puVar15 + 0x8c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x8c)" ( (binary_expression "puVar15 + 0x8c" identifier + number_literal) ))))) ;) (expression_statement "puVar17 = puVar15 + -0x38;" (assignment_expression "puVar17 = puVar15 + -0x38" identifier = (binary_expression "puVar15 + -0x38" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x38) = *(undefined4 *)(puVar15 + 0xc);" (assignment_expression "*(undefined4 *)(puVar15 + -0x38) = *(undefined4 *)(puVar15 + 0xc)" (pointer_expression "*(undefined4 *)(puVar15 + -0x38)" * (cast_expression "(undefined4 *)(puVar15 + -0x38)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x38)" ( (binary_expression "puVar15 + -0x38" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar15 + 0xc)" * (cast_expression "(undefined4 *)(puVar15 + 0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0xc)" ( (binary_expression "puVar15 + 0xc" identifier + number_literal) ))))) ;) (expression_statement "*(undefined **)(puVar15 + -0x3c) = &UNK_00201ef2;" (assignment_expression "*(undefined **)(puVar15 + -0x3c) = &UNK_00201ef2" (pointer_expression "*(undefined **)(puVar15 + -0x3c)" * (cast_expression "(undefined **)(puVar15 + -0x3c)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + -0x3c)" ( (binary_expression "puVar15 + -0x3c" identifier + number_literal) )))) = (pointer_expression "&UNK_00201ef2" & identifier)) ;) (expression_statement "FUN_001fc0e0();" (call_expression "FUN_001fc0e0()" identifier (argument_list "()" ( ))) ;) (goto_statement "goto code_r0x00201b6c;" goto statement_identifier ;)) (case_statement "case 0x61:\n    iVar1 = *(int *)(*(int *)(puVar15 + 0x18) + 8);\n    *(undefined4 *)(puVar15 + 0x40) = *(undefined4 *)(iVar1 + 0x48);\n    *(undefined4 *)(puVar15 + 0x44) = *(undefined4 *)(iVar1 + 0x4c);\n    *(undefined4 *)(puVar15 + 0x48) = *(undefined4 *)(iVar1 + 0x50);\n    *(undefined4 *)(puVar15 + 0x4c) = *(undefined4 *)(iVar1 + 0x54);\n    *(undefined4 *)(puVar15 + 0x50) = *(undefined4 *)(iVar1 + 0x58);\n    *(undefined4 *)(puVar15 + 0x54) = *(undefined4 *)(iVar1 + 0x5c);\n    uVar12 = *(undefined4 *)(iVar1 + 0x60);\ncode_r0x00201f34:\n    *(undefined4 *)(puVar15 + 0x58) = uVar12;\n    *(undefined1 **)(puVar15 + -8) = puVar15 + 0x38;\n    *(undefined4 *)(puVar15 + -0xc) = *(undefined4 *)(puVar15 + 0xa8);\n    *(undefined4 *)(puVar15 + -0x10) = 7;\n    *(undefined1 **)(puVar15 + -0x14) = puVar15 + 0x40;\n    *(undefined1 **)(puVar15 + -0x18) = puVar15 + 0x3c;\n    *(undefined4 *)(puVar15 + -0x1c) = *(undefined4 *)(puVar15 + 0xa4);\n    *(undefined4 *)(puVar15 + -0x20) = *(undefined4 *)(puVar15 + 0xa0);\n    *(undefined4 *)(puVar15 + -0x24) = *(undefined4 *)(puVar15 + 0x9c);\n    *(undefined4 *)(puVar15 + -0x28) = *(undefined4 *)(puVar15 + 0x98);\n    *(undefined4 *)(puVar15 + -0x2c) = *(undefined4 *)(puVar15 + 0x94);\n    *(undefined1 **)(puVar15 + -0x30) = puVar15 + 0x28;\n    *(undefined **)(puVar15 + -0x34) = &UNK_00201f80;\n    FUN_00201020();\n    *(undefined4 *)(puVar15 + 0x94) = *(undefined4 *)(puVar15 + 0x24);\n    *(undefined4 *)(puVar15 + 0x98) = *(undefined4 *)(puVar15 + 0x28);\n    puVar16 = puVar15 + -4;\n    if (*(int *)(puVar15 + 0x34) == 0) {\n      *(undefined4 *)(*(int *)(puVar15 + 0xac) + 0x18) = *(undefined4 *)(puVar15 + 0x38);\n      puVar16 = puVar15 + -4;\n    }\n    break;" case number_literal : (expression_statement "iVar1 = *(int *)(*(int *)(puVar15 + 0x18) + 8);" (assignment_expression "iVar1 = *(int *)(*(int *)(puVar15 + 0x18) + 8)" identifier = (pointer_expression "*(int *)(*(int *)(puVar15 + 0x18) + 8)" * (cast_expression "(int *)(*(int *)(puVar15 + 0x18) + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar15 + 0x18) + 8)" ( (binary_expression "*(int *)(puVar15 + 0x18) + 8" (pointer_expression "*(int *)(puVar15 + 0x18)" * (cast_expression "(int *)(puVar15 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x18)" ( (binary_expression "puVar15 + 0x18" identifier + number_literal) )))) + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar15 + 0x40) = *(undefined4 *)(iVar1 + 0x48);" (assignment_expression "*(undefined4 *)(puVar15 + 0x40) = *(undefined4 *)(iVar1 + 0x48)" (pointer_expression "*(undefined4 *)(puVar15 + 0x40)" * (cast_expression "(undefined4 *)(puVar15 + 0x40)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x40)" ( (binary_expression "puVar15 + 0x40" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(iVar1 + 0x48)" * (cast_expression "(undefined4 *)(iVar1 + 0x48)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x48)" ( (binary_expression "iVar1 + 0x48" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar15 + 0x44) = *(undefined4 *)(iVar1 + 0x4c);" (assignment_expression "*(undefined4 *)(puVar15 + 0x44) = *(undefined4 *)(iVar1 + 0x4c)" (pointer_expression "*(undefined4 *)(puVar15 + 0x44)" * (cast_expression "(undefined4 *)(puVar15 + 0x44)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x44)" ( (binary_expression "puVar15 + 0x44" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(iVar1 + 0x4c)" * (cast_expression "(undefined4 *)(iVar1 + 0x4c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x4c)" ( (binary_expression "iVar1 + 0x4c" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar15 + 0x48) = *(undefined4 *)(iVar1 + 0x50);" (assignment_expression "*(undefined4 *)(puVar15 + 0x48) = *(undefined4 *)(iVar1 + 0x50)" (pointer_expression "*(undefined4 *)(puVar15 + 0x48)" * (cast_expression "(undefined4 *)(puVar15 + 0x48)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x48)" ( (binary_expression "puVar15 + 0x48" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(iVar1 + 0x50)" * (cast_expression "(undefined4 *)(iVar1 + 0x50)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x50)" ( (binary_expression "iVar1 + 0x50" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar15 + 0x4c) = *(undefined4 *)(iVar1 + 0x54);" (assignment_expression "*(undefined4 *)(puVar15 + 0x4c) = *(undefined4 *)(iVar1 + 0x54)" (pointer_expression "*(undefined4 *)(puVar15 + 0x4c)" * (cast_expression "(undefined4 *)(puVar15 + 0x4c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x4c)" ( (binary_expression "puVar15 + 0x4c" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(iVar1 + 0x54)" * (cast_expression "(undefined4 *)(iVar1 + 0x54)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x54)" ( (binary_expression "iVar1 + 0x54" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar15 + 0x50) = *(undefined4 *)(iVar1 + 0x58);" (assignment_expression "*(undefined4 *)(puVar15 + 0x50) = *(undefined4 *)(iVar1 + 0x58)" (pointer_expression "*(undefined4 *)(puVar15 + 0x50)" * (cast_expression "(undefined4 *)(puVar15 + 0x50)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x50)" ( (binary_expression "puVar15 + 0x50" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(iVar1 + 0x58)" * (cast_expression "(undefined4 *)(iVar1 + 0x58)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x58)" ( (binary_expression "iVar1 + 0x58" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar15 + 0x54) = *(undefined4 *)(iVar1 + 0x5c);" (assignment_expression "*(undefined4 *)(puVar15 + 0x54) = *(undefined4 *)(iVar1 + 0x5c)" (pointer_expression "*(undefined4 *)(puVar15 + 0x54)" * (cast_expression "(undefined4 *)(puVar15 + 0x54)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x54)" ( (binary_expression "puVar15 + 0x54" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(iVar1 + 0x5c)" * (cast_expression "(undefined4 *)(iVar1 + 0x5c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x5c)" ( (binary_expression "iVar1 + 0x5c" identifier + number_literal) ))))) ;) (expression_statement "uVar12 = *(undefined4 *)(iVar1 + 0x60);" (assignment_expression "uVar12 = *(undefined4 *)(iVar1 + 0x60)" identifier = (pointer_expression "*(undefined4 *)(iVar1 + 0x60)" * (cast_expression "(undefined4 *)(iVar1 + 0x60)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x60)" ( (binary_expression "iVar1 + 0x60" identifier + number_literal) ))))) ;) (labeled_statement "code_r0x00201f34:\n    *(undefined4 *)(puVar15 + 0x58) = uVar12;" statement_identifier : (expression_statement "*(undefined4 *)(puVar15 + 0x58) = uVar12;" (assignment_expression "*(undefined4 *)(puVar15 + 0x58) = uVar12" (pointer_expression "*(undefined4 *)(puVar15 + 0x58)" * (cast_expression "(undefined4 *)(puVar15 + 0x58)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x58)" ( (binary_expression "puVar15 + 0x58" identifier + number_literal) )))) = identifier) ;)) (expression_statement "*(undefined1 **)(puVar15 + -8) = puVar15 + 0x38;" (assignment_expression "*(undefined1 **)(puVar15 + -8) = puVar15 + 0x38" (pointer_expression "*(undefined1 **)(puVar15 + -8)" * (cast_expression "(undefined1 **)(puVar15 + -8)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + -8)" ( (binary_expression "puVar15 + -8" identifier + number_literal) )))) = (binary_expression "puVar15 + 0x38" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar15 + -0xc) = *(undefined4 *)(puVar15 + 0xa8);" (assignment_expression "*(undefined4 *)(puVar15 + -0xc) = *(undefined4 *)(puVar15 + 0xa8)" (pointer_expression "*(undefined4 *)(puVar15 + -0xc)" * (cast_expression "(undefined4 *)(puVar15 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0xc)" ( (binary_expression "puVar15 + -0xc" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar15 + 0xa8)" * (cast_expression "(undefined4 *)(puVar15 + 0xa8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0xa8)" ( (binary_expression "puVar15 + 0xa8" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x10) = 7;" (assignment_expression "*(undefined4 *)(puVar15 + -0x10) = 7" (pointer_expression "*(undefined4 *)(puVar15 + -0x10)" * (cast_expression "(undefined4 *)(puVar15 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x10)" ( (binary_expression "puVar15 + -0x10" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined1 **)(puVar15 + -0x14) = puVar15 + 0x40;" (assignment_expression "*(undefined1 **)(puVar15 + -0x14) = puVar15 + 0x40" (pointer_expression "*(undefined1 **)(puVar15 + -0x14)" * (cast_expression "(undefined1 **)(puVar15 + -0x14)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + -0x14)" ( (binary_expression "puVar15 + -0x14" identifier + number_literal) )))) = (binary_expression "puVar15 + 0x40" identifier + number_literal)) ;) (expression_statement "*(undefined1 **)(puVar15 + -0x18) = puVar15 + 0x3c;" (assignment_expression "*(undefined1 **)(puVar15 + -0x18) = puVar15 + 0x3c" (pointer_expression "*(undefined1 **)(puVar15 + -0x18)" * (cast_expression "(undefined1 **)(puVar15 + -0x18)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + -0x18)" ( (binary_expression "puVar15 + -0x18" identifier + number_literal) )))) = (binary_expression "puVar15 + 0x3c" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x1c) = *(undefined4 *)(puVar15 + 0xa4);" (assignment_expression "*(undefined4 *)(puVar15 + -0x1c) = *(undefined4 *)(puVar15 + 0xa4)" (pointer_expression "*(undefined4 *)(puVar15 + -0x1c)" * (cast_expression "(undefined4 *)(puVar15 + -0x1c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x1c)" ( (binary_expression "puVar15 + -0x1c" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar15 + 0xa4)" * (cast_expression "(undefined4 *)(puVar15 + 0xa4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0xa4)" ( (binary_expression "puVar15 + 0xa4" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x20) = *(undefined4 *)(puVar15 + 0xa0);" (assignment_expression "*(undefined4 *)(puVar15 + -0x20) = *(undefined4 *)(puVar15 + 0xa0)" (pointer_expression "*(undefined4 *)(puVar15 + -0x20)" * (cast_expression "(undefined4 *)(puVar15 + -0x20)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x20)" ( (binary_expression "puVar15 + -0x20" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar15 + 0xa0)" * (cast_expression "(undefined4 *)(puVar15 + 0xa0)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0xa0)" ( (binary_expression "puVar15 + 0xa0" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x24) = *(undefined4 *)(puVar15 + 0x9c);" (assignment_expression "*(undefined4 *)(puVar15 + -0x24) = *(undefined4 *)(puVar15 + 0x9c)" (pointer_expression "*(undefined4 *)(puVar15 + -0x24)" * (cast_expression "(undefined4 *)(puVar15 + -0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x24)" ( (binary_expression "puVar15 + -0x24" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar15 + 0x9c)" * (cast_expression "(undefined4 *)(puVar15 + 0x9c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x9c)" ( (binary_expression "puVar15 + 0x9c" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x28) = *(undefined4 *)(puVar15 + 0x98);" (assignment_expression "*(undefined4 *)(puVar15 + -0x28) = *(undefined4 *)(puVar15 + 0x98)" (pointer_expression "*(undefined4 *)(puVar15 + -0x28)" * (cast_expression "(undefined4 *)(puVar15 + -0x28)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x28)" ( (binary_expression "puVar15 + -0x28" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar15 + 0x98)" * (cast_expression "(undefined4 *)(puVar15 + 0x98)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x98)" ( (binary_expression "puVar15 + 0x98" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x2c) = *(undefined4 *)(puVar15 + 0x94);" (assignment_expression "*(undefined4 *)(puVar15 + -0x2c) = *(undefined4 *)(puVar15 + 0x94)" (pointer_expression "*(undefined4 *)(puVar15 + -0x2c)" * (cast_expression "(undefined4 *)(puVar15 + -0x2c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x2c)" ( (binary_expression "puVar15 + -0x2c" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar15 + 0x94)" * (cast_expression "(undefined4 *)(puVar15 + 0x94)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x94)" ( (binary_expression "puVar15 + 0x94" identifier + number_literal) ))))) ;) (expression_statement "*(undefined1 **)(puVar15 + -0x30) = puVar15 + 0x28;" (assignment_expression "*(undefined1 **)(puVar15 + -0x30) = puVar15 + 0x28" (pointer_expression "*(undefined1 **)(puVar15 + -0x30)" * (cast_expression "(undefined1 **)(puVar15 + -0x30)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + -0x30)" ( (binary_expression "puVar15 + -0x30" identifier + number_literal) )))) = (binary_expression "puVar15 + 0x28" identifier + number_literal)) ;) (expression_statement "*(undefined **)(puVar15 + -0x34) = &UNK_00201f80;" (assignment_expression "*(undefined **)(puVar15 + -0x34) = &UNK_00201f80" (pointer_expression "*(undefined **)(puVar15 + -0x34)" * (cast_expression "(undefined **)(puVar15 + -0x34)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + -0x34)" ( (binary_expression "puVar15 + -0x34" identifier + number_literal) )))) = (pointer_expression "&UNK_00201f80" & identifier)) ;) (expression_statement "FUN_00201020();" (call_expression "FUN_00201020()" identifier (argument_list "()" ( ))) ;) (expression_statement "*(undefined4 *)(puVar15 + 0x94) = *(undefined4 *)(puVar15 + 0x24);" (assignment_expression "*(undefined4 *)(puVar15 + 0x94) = *(undefined4 *)(puVar15 + 0x24)" (pointer_expression "*(undefined4 *)(puVar15 + 0x94)" * (cast_expression "(undefined4 *)(puVar15 + 0x94)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x94)" ( (binary_expression "puVar15 + 0x94" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar15 + 0x24)" * (cast_expression "(undefined4 *)(puVar15 + 0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x24)" ( (binary_expression "puVar15 + 0x24" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar15 + 0x98) = *(undefined4 *)(puVar15 + 0x28);" (assignment_expression "*(undefined4 *)(puVar15 + 0x98) = *(undefined4 *)(puVar15 + 0x28)" (pointer_expression "*(undefined4 *)(puVar15 + 0x98)" * (cast_expression "(undefined4 *)(puVar15 + 0x98)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x98)" ( (binary_expression "puVar15 + 0x98" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar15 + 0x28)" * (cast_expression "(undefined4 *)(puVar15 + 0x28)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x28)" ( (binary_expression "puVar15 + 0x28" identifier + number_literal) ))))) ;) (expression_statement "puVar16 = puVar15 + -4;" (assignment_expression "puVar16 = puVar15 + -4" identifier = (binary_expression "puVar15 + -4" identifier + number_literal)) ;) (if_statement "if (*(int *)(puVar15 + 0x34) == 0) {\n      *(undefined4 *)(*(int *)(puVar15 + 0xac) + 0x18) = *(undefined4 *)(puVar15 + 0x38);\n      puVar16 = puVar15 + -4;\n    }" if (parenthesized_expression "(*(int *)(puVar15 + 0x34) == 0)" ( (binary_expression "*(int *)(puVar15 + 0x34) == 0" (pointer_expression "*(int *)(puVar15 + 0x34)" * (cast_expression "(int *)(puVar15 + 0x34)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x34)" ( (binary_expression "puVar15 + 0x34" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n      *(undefined4 *)(*(int *)(puVar15 + 0xac) + 0x18) = *(undefined4 *)(puVar15 + 0x38);\n      puVar16 = puVar15 + -4;\n    }" { (expression_statement "*(undefined4 *)(*(int *)(puVar15 + 0xac) + 0x18) = *(undefined4 *)(puVar15 + 0x38);" (assignment_expression "*(undefined4 *)(*(int *)(puVar15 + 0xac) + 0x18) = *(undefined4 *)(puVar15 + 0x38)" (pointer_expression "*(undefined4 *)(*(int *)(puVar15 + 0xac) + 0x18)" * (cast_expression "(undefined4 *)(*(int *)(puVar15 + 0xac) + 0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar15 + 0xac) + 0x18)" ( (binary_expression "*(int *)(puVar15 + 0xac) + 0x18" (pointer_expression "*(int *)(puVar15 + 0xac)" * (cast_expression "(int *)(puVar15 + 0xac)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0xac)" ( (binary_expression "puVar15 + 0xac" identifier + number_literal) )))) + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar15 + 0x38)" * (cast_expression "(undefined4 *)(puVar15 + 0x38)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x38)" ( (binary_expression "puVar15 + 0x38" identifier + number_literal) ))))) ;) (expression_statement "puVar16 = puVar15 + -4;" (assignment_expression "puVar16 = puVar15 + -4" identifier = (binary_expression "puVar15 + -4" identifier + number_literal)) ;) })) (break_statement "break;" break ;)) (case_statement "case 0x62:" case number_literal :) (case_statement "case 0x68:\n    *(undefined1 **)(puVar15 + -0xc) = puVar15 + 0x40;\n    *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0x18);\n    *(undefined **)(puVar15 + -0x14) = &UNK_00202171;\n    FUN_001fb0c0();\ncode_r0x00201fd1:\n    *(undefined1 **)(puVar15 + -8) = puVar15 + 0x38;\n    *(undefined4 *)(puVar15 + -0xc) = *(undefined4 *)(puVar15 + 0xa8);\n    *(undefined4 *)(puVar15 + -0x10) = 0xc;\n    *(undefined1 **)(puVar15 + -0x14) = puVar15 + 0x40;\n    *(undefined1 **)(puVar15 + -0x18) = puVar15 + 0x3c;\n    *(undefined4 *)(puVar15 + -0x1c) = *(undefined4 *)(puVar15 + 0xa4);\n    *(undefined4 *)(puVar15 + -0x20) = *(undefined4 *)(puVar15 + 0xa0);\n    *(undefined4 *)(puVar15 + -0x24) = *(undefined4 *)(puVar15 + 0x9c);\n    *(undefined4 *)(puVar15 + -0x28) = *(undefined4 *)(puVar15 + 0x98);\n    *(undefined4 *)(puVar15 + -0x2c) = *(undefined4 *)(puVar15 + 0x94);\n    *(undefined1 **)(puVar15 + -0x30) = puVar15 + 0x28;\n    *(undefined **)(puVar15 + -0x34) = &UNK_00202015;\n    FUN_00201020();\n    *(undefined4 *)(puVar15 + 0x94) = *(undefined4 *)(puVar15 + 0x24);\n    *(undefined4 *)(puVar15 + 0x98) = *(undefined4 *)(puVar15 + 0x28);\n    puVar16 = puVar15 + -4;\n    if (*(int *)(puVar15 + 0x34) == 0) {\n      *(undefined4 *)(*(int *)(puVar15 + 0xac) + 0x10) = *(undefined4 *)(puVar15 + 0x38);\n      puVar16 = puVar15 + -4;\n    }\n    break;" case number_literal : (expression_statement "*(undefined1 **)(puVar15 + -0xc) = puVar15 + 0x40;" (assignment_expression "*(undefined1 **)(puVar15 + -0xc) = puVar15 + 0x40" (pointer_expression "*(undefined1 **)(puVar15 + -0xc)" * (cast_expression "(undefined1 **)(puVar15 + -0xc)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + -0xc)" ( (binary_expression "puVar15 + -0xc" identifier + number_literal) )))) = (binary_expression "puVar15 + 0x40" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0x18);" (assignment_expression "*(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0x18)" (pointer_expression "*(undefined4 *)(puVar15 + -0x10)" * (cast_expression "(undefined4 *)(puVar15 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x10)" ( (binary_expression "puVar15 + -0x10" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar15 + 0x18)" * (cast_expression "(undefined4 *)(puVar15 + 0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x18)" ( (binary_expression "puVar15 + 0x18" identifier + number_literal) ))))) ;) (expression_statement "*(undefined **)(puVar15 + -0x14) = &UNK_00202171;" (assignment_expression "*(undefined **)(puVar15 + -0x14) = &UNK_00202171" (pointer_expression "*(undefined **)(puVar15 + -0x14)" * (cast_expression "(undefined **)(puVar15 + -0x14)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + -0x14)" ( (binary_expression "puVar15 + -0x14" identifier + number_literal) )))) = (pointer_expression "&UNK_00202171" & identifier)) ;) (expression_statement "FUN_001fb0c0();" (call_expression "FUN_001fb0c0()" identifier (argument_list "()" ( ))) ;) (labeled_statement "code_r0x00201fd1:\n    *(undefined1 **)(puVar15 + -8) = puVar15 + 0x38;" statement_identifier : (expression_statement "*(undefined1 **)(puVar15 + -8) = puVar15 + 0x38;" (assignment_expression "*(undefined1 **)(puVar15 + -8) = puVar15 + 0x38" (pointer_expression "*(undefined1 **)(puVar15 + -8)" * (cast_expression "(undefined1 **)(puVar15 + -8)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + -8)" ( (binary_expression "puVar15 + -8" identifier + number_literal) )))) = (binary_expression "puVar15 + 0x38" identifier + number_literal)) ;)) (expression_statement "*(undefined4 *)(puVar15 + -0xc) = *(undefined4 *)(puVar15 + 0xa8);" (assignment_expression "*(undefined4 *)(puVar15 + -0xc) = *(undefined4 *)(puVar15 + 0xa8)" (pointer_expression "*(undefined4 *)(puVar15 + -0xc)" * (cast_expression "(undefined4 *)(puVar15 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0xc)" ( (binary_expression "puVar15 + -0xc" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar15 + 0xa8)" * (cast_expression "(undefined4 *)(puVar15 + 0xa8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0xa8)" ( (binary_expression "puVar15 + 0xa8" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x10) = 0xc;" (assignment_expression "*(undefined4 *)(puVar15 + -0x10) = 0xc" (pointer_expression "*(undefined4 *)(puVar15 + -0x10)" * (cast_expression "(undefined4 *)(puVar15 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x10)" ( (binary_expression "puVar15 + -0x10" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined1 **)(puVar15 + -0x14) = puVar15 + 0x40;" (assignment_expression "*(undefined1 **)(puVar15 + -0x14) = puVar15 + 0x40" (pointer_expression "*(undefined1 **)(puVar15 + -0x14)" * (cast_expression "(undefined1 **)(puVar15 + -0x14)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + -0x14)" ( (binary_expression "puVar15 + -0x14" identifier + number_literal) )))) = (binary_expression "puVar15 + 0x40" identifier + number_literal)) ;) (expression_statement "*(undefined1 **)(puVar15 + -0x18) = puVar15 + 0x3c;" (assignment_expression "*(undefined1 **)(puVar15 + -0x18) = puVar15 + 0x3c" (pointer_expression "*(undefined1 **)(puVar15 + -0x18)" * (cast_expression "(undefined1 **)(puVar15 + -0x18)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + -0x18)" ( (binary_expression "puVar15 + -0x18" identifier + number_literal) )))) = (binary_expression "puVar15 + 0x3c" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x1c) = *(undefined4 *)(puVar15 + 0xa4);" (assignment_expression "*(undefined4 *)(puVar15 + -0x1c) = *(undefined4 *)(puVar15 + 0xa4)" (pointer_expression "*(undefined4 *)(puVar15 + -0x1c)" * (cast_expression "(undefined4 *)(puVar15 + -0x1c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x1c)" ( (binary_expression "puVar15 + -0x1c" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar15 + 0xa4)" * (cast_expression "(undefined4 *)(puVar15 + 0xa4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0xa4)" ( (binary_expression "puVar15 + 0xa4" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x20) = *(undefined4 *)(puVar15 + 0xa0);" (assignment_expression "*(undefined4 *)(puVar15 + -0x20) = *(undefined4 *)(puVar15 + 0xa0)" (pointer_expression "*(undefined4 *)(puVar15 + -0x20)" * (cast_expression "(undefined4 *)(puVar15 + -0x20)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x20)" ( (binary_expression "puVar15 + -0x20" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar15 + 0xa0)" * (cast_expression "(undefined4 *)(puVar15 + 0xa0)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0xa0)" ( (binary_expression "puVar15 + 0xa0" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x24) = *(undefined4 *)(puVar15 + 0x9c);" (assignment_expression "*(undefined4 *)(puVar15 + -0x24) = *(undefined4 *)(puVar15 + 0x9c)" (pointer_expression "*(undefined4 *)(puVar15 + -0x24)" * (cast_expression "(undefined4 *)(puVar15 + -0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x24)" ( (binary_expression "puVar15 + -0x24" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar15 + 0x9c)" * (cast_expression "(undefined4 *)(puVar15 + 0x9c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x9c)" ( (binary_expression "puVar15 + 0x9c" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x28) = *(undefined4 *)(puVar15 + 0x98);" (assignment_expression "*(undefined4 *)(puVar15 + -0x28) = *(undefined4 *)(puVar15 + 0x98)" (pointer_expression "*(undefined4 *)(puVar15 + -0x28)" * (cast_expression "(undefined4 *)(puVar15 + -0x28)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x28)" ( (binary_expression "puVar15 + -0x28" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar15 + 0x98)" * (cast_expression "(undefined4 *)(puVar15 + 0x98)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x98)" ( (binary_expression "puVar15 + 0x98" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x2c) = *(undefined4 *)(puVar15 + 0x94);" (assignment_expression "*(undefined4 *)(puVar15 + -0x2c) = *(undefined4 *)(puVar15 + 0x94)" (pointer_expression "*(undefined4 *)(puVar15 + -0x2c)" * (cast_expression "(undefined4 *)(puVar15 + -0x2c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x2c)" ( (binary_expression "puVar15 + -0x2c" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar15 + 0x94)" * (cast_expression "(undefined4 *)(puVar15 + 0x94)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x94)" ( (binary_expression "puVar15 + 0x94" identifier + number_literal) ))))) ;) (expression_statement "*(undefined1 **)(puVar15 + -0x30) = puVar15 + 0x28;" (assignment_expression "*(undefined1 **)(puVar15 + -0x30) = puVar15 + 0x28" (pointer_expression "*(undefined1 **)(puVar15 + -0x30)" * (cast_expression "(undefined1 **)(puVar15 + -0x30)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + -0x30)" ( (binary_expression "puVar15 + -0x30" identifier + number_literal) )))) = (binary_expression "puVar15 + 0x28" identifier + number_literal)) ;) (expression_statement "*(undefined **)(puVar15 + -0x34) = &UNK_00202015;" (assignment_expression "*(undefined **)(puVar15 + -0x34) = &UNK_00202015" (pointer_expression "*(undefined **)(puVar15 + -0x34)" * (cast_expression "(undefined **)(puVar15 + -0x34)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + -0x34)" ( (binary_expression "puVar15 + -0x34" identifier + number_literal) )))) = (pointer_expression "&UNK_00202015" & identifier)) ;) (expression_statement "FUN_00201020();" (call_expression "FUN_00201020()" identifier (argument_list "()" ( ))) ;) (expression_statement "*(undefined4 *)(puVar15 + 0x94) = *(undefined4 *)(puVar15 + 0x24);" (assignment_expression "*(undefined4 *)(puVar15 + 0x94) = *(undefined4 *)(puVar15 + 0x24)" (pointer_expression "*(undefined4 *)(puVar15 + 0x94)" * (cast_expression "(undefined4 *)(puVar15 + 0x94)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x94)" ( (binary_expression "puVar15 + 0x94" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar15 + 0x24)" * (cast_expression "(undefined4 *)(puVar15 + 0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x24)" ( (binary_expression "puVar15 + 0x24" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar15 + 0x98) = *(undefined4 *)(puVar15 + 0x28);" (assignment_expression "*(undefined4 *)(puVar15 + 0x98) = *(undefined4 *)(puVar15 + 0x28)" (pointer_expression "*(undefined4 *)(puVar15 + 0x98)" * (cast_expression "(undefined4 *)(puVar15 + 0x98)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x98)" ( (binary_expression "puVar15 + 0x98" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar15 + 0x28)" * (cast_expression "(undefined4 *)(puVar15 + 0x28)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x28)" ( (binary_expression "puVar15 + 0x28" identifier + number_literal) ))))) ;) (expression_statement "puVar16 = puVar15 + -4;" (assignment_expression "puVar16 = puVar15 + -4" identifier = (binary_expression "puVar15 + -4" identifier + number_literal)) ;) (if_statement "if (*(int *)(puVar15 + 0x34) == 0) {\n      *(undefined4 *)(*(int *)(puVar15 + 0xac) + 0x10) = *(undefined4 *)(puVar15 + 0x38);\n      puVar16 = puVar15 + -4;\n    }" if (parenthesized_expression "(*(int *)(puVar15 + 0x34) == 0)" ( (binary_expression "*(int *)(puVar15 + 0x34) == 0" (pointer_expression "*(int *)(puVar15 + 0x34)" * (cast_expression "(int *)(puVar15 + 0x34)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x34)" ( (binary_expression "puVar15 + 0x34" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n      *(undefined4 *)(*(int *)(puVar15 + 0xac) + 0x10) = *(undefined4 *)(puVar15 + 0x38);\n      puVar16 = puVar15 + -4;\n    }" { (expression_statement "*(undefined4 *)(*(int *)(puVar15 + 0xac) + 0x10) = *(undefined4 *)(puVar15 + 0x38);" (assignment_expression "*(undefined4 *)(*(int *)(puVar15 + 0xac) + 0x10) = *(undefined4 *)(puVar15 + 0x38)" (pointer_expression "*(undefined4 *)(*(int *)(puVar15 + 0xac) + 0x10)" * (cast_expression "(undefined4 *)(*(int *)(puVar15 + 0xac) + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar15 + 0xac) + 0x10)" ( (binary_expression "*(int *)(puVar15 + 0xac) + 0x10" (pointer_expression "*(int *)(puVar15 + 0xac)" * (cast_expression "(int *)(puVar15 + 0xac)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0xac)" ( (binary_expression "puVar15 + 0xac" identifier + number_literal) )))) + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar15 + 0x38)" * (cast_expression "(undefined4 *)(puVar15 + 0x38)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x38)" ( (binary_expression "puVar15 + 0x38" identifier + number_literal) ))))) ;) (expression_statement "puVar16 = puVar15 + -4;" (assignment_expression "puVar16 = puVar15 + -4" identifier = (binary_expression "puVar15 + -4" identifier + number_literal)) ;) })) (break_statement "break;" break ;)) (case_statement "case 99:\n    *(undefined4 *)(puVar15 + -0xc) = *(undefined4 *)(*(int *)(*(int *)(puVar15 + 0x18) + 8) + 0x18)\n    ;\n    goto code_r0x00201b30;" case number_literal : (expression_statement "*(undefined4 *)(puVar15 + -0xc) = *(undefined4 *)(*(int *)(*(int *)(puVar15 + 0x18) + 8) + 0x18)\n    ;" (assignment_expression "*(undefined4 *)(puVar15 + -0xc) = *(undefined4 *)(*(int *)(*(int *)(puVar15 + 0x18) + 8) + 0x18)" (pointer_expression "*(undefined4 *)(puVar15 + -0xc)" * (cast_expression "(undefined4 *)(puVar15 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0xc)" ( (binary_expression "puVar15 + -0xc" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(*(int *)(*(int *)(puVar15 + 0x18) + 8) + 0x18)" * (cast_expression "(undefined4 *)(*(int *)(*(int *)(puVar15 + 0x18) + 8) + 0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(*(int *)(puVar15 + 0x18) + 8) + 0x18)" ( (binary_expression "*(int *)(*(int *)(puVar15 + 0x18) + 8) + 0x18" (pointer_expression "*(int *)(*(int *)(puVar15 + 0x18) + 8)" * (cast_expression "(int *)(*(int *)(puVar15 + 0x18) + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar15 + 0x18) + 8)" ( (binary_expression "*(int *)(puVar15 + 0x18) + 8" (pointer_expression "*(int *)(puVar15 + 0x18)" * (cast_expression "(int *)(puVar15 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x18)" ( (binary_expression "puVar15 + 0x18" identifier + number_literal) )))) + number_literal) )))) + number_literal) ))))) ;) (goto_statement "goto code_r0x00201b30;" goto statement_identifier ;)) (case_statement "case 100:\n    *(undefined1 **)(puVar15 + -4) = puVar15 + 0x38;\n    *(undefined4 *)(puVar15 + -8) = *(undefined4 *)(puVar15 + 0xa8);\n    *(undefined4 *)(puVar15 + -0xc) = 2;\n    *(undefined4 *)(puVar15 + -0x10) = 0x1f;\n    *(undefined4 *)(puVar15 + -0x14) = 1;\n    goto code_r0x002021b6;" case number_literal : (expression_statement "*(undefined1 **)(puVar15 + -4) = puVar15 + 0x38;" (assignment_expression "*(undefined1 **)(puVar15 + -4) = puVar15 + 0x38" (pointer_expression "*(undefined1 **)(puVar15 + -4)" * (cast_expression "(undefined1 **)(puVar15 + -4)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + -4)" ( (binary_expression "puVar15 + -4" identifier + number_literal) )))) = (binary_expression "puVar15 + 0x38" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar15 + -8) = *(undefined4 *)(puVar15 + 0xa8);" (assignment_expression "*(undefined4 *)(puVar15 + -8) = *(undefined4 *)(puVar15 + 0xa8)" (pointer_expression "*(undefined4 *)(puVar15 + -8)" * (cast_expression "(undefined4 *)(puVar15 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -8)" ( (binary_expression "puVar15 + -8" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar15 + 0xa8)" * (cast_expression "(undefined4 *)(puVar15 + 0xa8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0xa8)" ( (binary_expression "puVar15 + 0xa8" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar15 + -0xc) = 2;" (assignment_expression "*(undefined4 *)(puVar15 + -0xc) = 2" (pointer_expression "*(undefined4 *)(puVar15 + -0xc)" * (cast_expression "(undefined4 *)(puVar15 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0xc)" ( (binary_expression "puVar15 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x10) = 0x1f;" (assignment_expression "*(undefined4 *)(puVar15 + -0x10) = 0x1f" (pointer_expression "*(undefined4 *)(puVar15 + -0x10)" * (cast_expression "(undefined4 *)(puVar15 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x10)" ( (binary_expression "puVar15 + -0x10" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x14) = 1;" (assignment_expression "*(undefined4 *)(puVar15 + -0x14) = 1" (pointer_expression "*(undefined4 *)(puVar15 + -0x14)" * (cast_expression "(undefined4 *)(puVar15 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x14)" ( (binary_expression "puVar15 + -0x14" identifier + number_literal) )))) = number_literal) ;) (goto_statement "goto code_r0x002021b6;" goto statement_identifier ;)) (case_statement "case 0x65:\n    *(undefined **)(puVar15 + -4) = &UNK_00202230;\n    uVar18 = FUN_001f91d0();\n    if ((*(byte *)(piVar10[6] + 1 + (uVar18 & 0xff) * 2) & 0x20) == 0) {\n      *(undefined1 **)(puVar15 + -4) = puVar15 + 0x38;\n      *(undefined4 *)(puVar15 + -8) = *(undefined4 *)(puVar15 + 0xa8);\n      *(undefined4 *)(puVar15 + -0xc) = 2;\n      *(undefined4 *)(puVar15 + -0x10) = 0x1f;\n      *(undefined4 *)(puVar15 + -0x14) = 10;\n    }\n    else {\n      *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0x98);\n      *(undefined **)(puVar15 + -0x14) = &UNK_00202250;\n      FUN_001f24d0();\n      *(undefined4 *)(puVar15 + 0x9c) = 0xffffffff;\n      *(undefined1 **)(puVar15 + -4) = puVar15 + 0x38;\n      *(undefined4 *)(puVar15 + -8) = *(undefined4 *)(puVar15 + 0xa8);\n      *(undefined4 *)(puVar15 + -0xc) = 1;\n      *(undefined4 *)(puVar15 + -0x10) = 9;\n      *(undefined4 *)(puVar15 + -0x14) = 1;\n    }\ncode_r0x002021b6:\n    *(undefined1 **)(puVar15 + -0x18) = puVar15 + 0x3c;\n    *(undefined4 *)(puVar15 + -0x1c) = *(undefined4 *)(puVar15 + 0xa4);\n    *(undefined4 *)(puVar15 + -0x20) = *(undefined4 *)(puVar15 + 0xa0);\n    *(undefined4 *)(puVar15 + -0x24) = *(undefined4 *)(puVar15 + 0x9c);\n    *(undefined4 *)(puVar15 + -0x28) = *(undefined4 *)(puVar15 + 0x98);\n    *(undefined4 *)(puVar15 + -0x2c) = *(undefined4 *)(puVar15 + 0x94);\n    *(undefined1 **)(puVar15 + -0x30) = puVar15 + 0x28;\n    *(undefined **)(puVar15 + -0x34) = &UNK_002021e4;\n    FUN_001fc0e0();\n    *(undefined4 *)(puVar15 + 0x94) = *(undefined4 *)(puVar15 + 0x24);\n    *(undefined4 *)(puVar15 + 0x98) = *(undefined4 *)(puVar15 + 0x28);\n    puVar16 = puVar15 + -4;\n    if (*(int *)(puVar15 + 0x34) == 0) {\n      *(undefined4 *)(*(int *)(puVar15 + 0xac) + 0xc) = *(undefined4 *)(puVar15 + 0x38);\n      puVar16 = puVar15 + -4;\n    }\n    break;" case number_literal : (expression_statement "*(undefined **)(puVar15 + -4) = &UNK_00202230;" (assignment_expression "*(undefined **)(puVar15 + -4) = &UNK_00202230" (pointer_expression "*(undefined **)(puVar15 + -4)" * (cast_expression "(undefined **)(puVar15 + -4)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + -4)" ( (binary_expression "puVar15 + -4" identifier + number_literal) )))) = (pointer_expression "&UNK_00202230" & identifier)) ;) (expression_statement "uVar18 = FUN_001f91d0();" (assignment_expression "uVar18 = FUN_001f91d0()" identifier = (call_expression "FUN_001f91d0()" identifier (argument_list "()" ( )))) ;) (if_statement "if ((*(byte *)(piVar10[6] + 1 + (uVar18 & 0xff) * 2) & 0x20) == 0) {\n      *(undefined1 **)(puVar15 + -4) = puVar15 + 0x38;\n      *(undefined4 *)(puVar15 + -8) = *(undefined4 *)(puVar15 + 0xa8);\n      *(undefined4 *)(puVar15 + -0xc) = 2;\n      *(undefined4 *)(puVar15 + -0x10) = 0x1f;\n      *(undefined4 *)(puVar15 + -0x14) = 10;\n    }\n    else {\n      *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0x98);\n      *(undefined **)(puVar15 + -0x14) = &UNK_00202250;\n      FUN_001f24d0();\n      *(undefined4 *)(puVar15 + 0x9c) = 0xffffffff;\n      *(undefined1 **)(puVar15 + -4) = puVar15 + 0x38;\n      *(undefined4 *)(puVar15 + -8) = *(undefined4 *)(puVar15 + 0xa8);\n      *(undefined4 *)(puVar15 + -0xc) = 1;\n      *(undefined4 *)(puVar15 + -0x10) = 9;\n      *(undefined4 *)(puVar15 + -0x14) = 1;\n    }" if (parenthesized_expression "((*(byte *)(piVar10[6] + 1 + (uVar18 & 0xff) * 2) & 0x20) == 0)" ( (binary_expression "(*(byte *)(piVar10[6] + 1 + (uVar18 & 0xff) * 2) & 0x20) == 0" (parenthesized_expression "(*(byte *)(piVar10[6] + 1 + (uVar18 & 0xff) * 2) & 0x20)" ( (binary_expression "*(byte *)(piVar10[6] + 1 + (uVar18 & 0xff) * 2) & 0x20" (pointer_expression "*(byte *)(piVar10[6] + 1 + (uVar18 & 0xff) * 2)" * (cast_expression "(byte *)(piVar10[6] + 1 + (uVar18 & 0xff) * 2)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar10[6] + 1 + (uVar18 & 0xff) * 2)" ( (binary_expression "piVar10[6] + 1 + (uVar18 & 0xff) * 2" (binary_expression "piVar10[6] + 1" (subscript_expression "piVar10[6]" identifier [ number_literal ]) + number_literal) + (binary_expression "(uVar18 & 0xff) * 2" (parenthesized_expression "(uVar18 & 0xff)" ( (binary_expression "uVar18 & 0xff" identifier & number_literal) )) * number_literal)) )))) & number_literal) )) == number_literal) )) (compound_statement "{\n      *(undefined1 **)(puVar15 + -4) = puVar15 + 0x38;\n      *(undefined4 *)(puVar15 + -8) = *(undefined4 *)(puVar15 + 0xa8);\n      *(undefined4 *)(puVar15 + -0xc) = 2;\n      *(undefined4 *)(puVar15 + -0x10) = 0x1f;\n      *(undefined4 *)(puVar15 + -0x14) = 10;\n    }" { (expression_statement "*(undefined1 **)(puVar15 + -4) = puVar15 + 0x38;" (assignment_expression "*(undefined1 **)(puVar15 + -4) = puVar15 + 0x38" (pointer_expression "*(undefined1 **)(puVar15 + -4)" * (cast_expression "(undefined1 **)(puVar15 + -4)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + -4)" ( (binary_expression "puVar15 + -4" identifier + number_literal) )))) = (binary_expression "puVar15 + 0x38" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar15 + -8) = *(undefined4 *)(puVar15 + 0xa8);" (assignment_expression "*(undefined4 *)(puVar15 + -8) = *(undefined4 *)(puVar15 + 0xa8)" (pointer_expression "*(undefined4 *)(puVar15 + -8)" * (cast_expression "(undefined4 *)(puVar15 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -8)" ( (binary_expression "puVar15 + -8" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar15 + 0xa8)" * (cast_expression "(undefined4 *)(puVar15 + 0xa8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0xa8)" ( (binary_expression "puVar15 + 0xa8" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar15 + -0xc) = 2;" (assignment_expression "*(undefined4 *)(puVar15 + -0xc) = 2" (pointer_expression "*(undefined4 *)(puVar15 + -0xc)" * (cast_expression "(undefined4 *)(puVar15 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0xc)" ( (binary_expression "puVar15 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x10) = 0x1f;" (assignment_expression "*(undefined4 *)(puVar15 + -0x10) = 0x1f" (pointer_expression "*(undefined4 *)(puVar15 + -0x10)" * (cast_expression "(undefined4 *)(puVar15 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x10)" ( (binary_expression "puVar15 + -0x10" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x14) = 10;" (assignment_expression "*(undefined4 *)(puVar15 + -0x14) = 10" (pointer_expression "*(undefined4 *)(puVar15 + -0x14)" * (cast_expression "(undefined4 *)(puVar15 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x14)" ( (binary_expression "puVar15 + -0x14" identifier + number_literal) )))) = number_literal) ;) }) (else_clause "else {\n      *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0x98);\n      *(undefined **)(puVar15 + -0x14) = &UNK_00202250;\n      FUN_001f24d0();\n      *(undefined4 *)(puVar15 + 0x9c) = 0xffffffff;\n      *(undefined1 **)(puVar15 + -4) = puVar15 + 0x38;\n      *(undefined4 *)(puVar15 + -8) = *(undefined4 *)(puVar15 + 0xa8);\n      *(undefined4 *)(puVar15 + -0xc) = 1;\n      *(undefined4 *)(puVar15 + -0x10) = 9;\n      *(undefined4 *)(puVar15 + -0x14) = 1;\n    }" else (compound_statement "{\n      *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0x98);\n      *(undefined **)(puVar15 + -0x14) = &UNK_00202250;\n      FUN_001f24d0();\n      *(undefined4 *)(puVar15 + 0x9c) = 0xffffffff;\n      *(undefined1 **)(puVar15 + -4) = puVar15 + 0x38;\n      *(undefined4 *)(puVar15 + -8) = *(undefined4 *)(puVar15 + 0xa8);\n      *(undefined4 *)(puVar15 + -0xc) = 1;\n      *(undefined4 *)(puVar15 + -0x10) = 9;\n      *(undefined4 *)(puVar15 + -0x14) = 1;\n    }" { (expression_statement "*(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0x98);" (assignment_expression "*(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0x98)" (pointer_expression "*(undefined4 *)(puVar15 + -0x10)" * (cast_expression "(undefined4 *)(puVar15 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x10)" ( (binary_expression "puVar15 + -0x10" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar15 + 0x98)" * (cast_expression "(undefined4 *)(puVar15 + 0x98)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x98)" ( (binary_expression "puVar15 + 0x98" identifier + number_literal) ))))) ;) (expression_statement "*(undefined **)(puVar15 + -0x14) = &UNK_00202250;" (assignment_expression "*(undefined **)(puVar15 + -0x14) = &UNK_00202250" (pointer_expression "*(undefined **)(puVar15 + -0x14)" * (cast_expression "(undefined **)(puVar15 + -0x14)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + -0x14)" ( (binary_expression "puVar15 + -0x14" identifier + number_literal) )))) = (pointer_expression "&UNK_00202250" & identifier)) ;) (expression_statement "FUN_001f24d0();" (call_expression "FUN_001f24d0()" identifier (argument_list "()" ( ))) ;) (expression_statement "*(undefined4 *)(puVar15 + 0x9c) = 0xffffffff;" (assignment_expression "*(undefined4 *)(puVar15 + 0x9c) = 0xffffffff" (pointer_expression "*(undefined4 *)(puVar15 + 0x9c)" * (cast_expression "(undefined4 *)(puVar15 + 0x9c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x9c)" ( (binary_expression "puVar15 + 0x9c" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined1 **)(puVar15 + -4) = puVar15 + 0x38;" (assignment_expression "*(undefined1 **)(puVar15 + -4) = puVar15 + 0x38" (pointer_expression "*(undefined1 **)(puVar15 + -4)" * (cast_expression "(undefined1 **)(puVar15 + -4)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + -4)" ( (binary_expression "puVar15 + -4" identifier + number_literal) )))) = (binary_expression "puVar15 + 0x38" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar15 + -8) = *(undefined4 *)(puVar15 + 0xa8);" (assignment_expression "*(undefined4 *)(puVar15 + -8) = *(undefined4 *)(puVar15 + 0xa8)" (pointer_expression "*(undefined4 *)(puVar15 + -8)" * (cast_expression "(undefined4 *)(puVar15 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -8)" ( (binary_expression "puVar15 + -8" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar15 + 0xa8)" * (cast_expression "(undefined4 *)(puVar15 + 0xa8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0xa8)" ( (binary_expression "puVar15 + 0xa8" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar15 + -0xc) = 1;" (assignment_expression "*(undefined4 *)(puVar15 + -0xc) = 1" (pointer_expression "*(undefined4 *)(puVar15 + -0xc)" * (cast_expression "(undefined4 *)(puVar15 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0xc)" ( (binary_expression "puVar15 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x10) = 9;" (assignment_expression "*(undefined4 *)(puVar15 + -0x10) = 9" (pointer_expression "*(undefined4 *)(puVar15 + -0x10)" * (cast_expression "(undefined4 *)(puVar15 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x10)" ( (binary_expression "puVar15 + -0x10" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x14) = 1;" (assignment_expression "*(undefined4 *)(puVar15 + -0x14) = 1" (pointer_expression "*(undefined4 *)(puVar15 + -0x14)" * (cast_expression "(undefined4 *)(puVar15 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x14)" ( (binary_expression "puVar15 + -0x14" identifier + number_literal) )))) = number_literal) ;) }))) (labeled_statement "code_r0x002021b6:\n    *(undefined1 **)(puVar15 + -0x18) = puVar15 + 0x3c;" statement_identifier : (expression_statement "*(undefined1 **)(puVar15 + -0x18) = puVar15 + 0x3c;" (assignment_expression "*(undefined1 **)(puVar15 + -0x18) = puVar15 + 0x3c" (pointer_expression "*(undefined1 **)(puVar15 + -0x18)" * (cast_expression "(undefined1 **)(puVar15 + -0x18)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + -0x18)" ( (binary_expression "puVar15 + -0x18" identifier + number_literal) )))) = (binary_expression "puVar15 + 0x3c" identifier + number_literal)) ;)) (expression_statement "*(undefined4 *)(puVar15 + -0x1c) = *(undefined4 *)(puVar15 + 0xa4);" (assignment_expression "*(undefined4 *)(puVar15 + -0x1c) = *(undefined4 *)(puVar15 + 0xa4)" (pointer_expression "*(undefined4 *)(puVar15 + -0x1c)" * (cast_expression "(undefined4 *)(puVar15 + -0x1c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x1c)" ( (binary_expression "puVar15 + -0x1c" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar15 + 0xa4)" * (cast_expression "(undefined4 *)(puVar15 + 0xa4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0xa4)" ( (binary_expression "puVar15 + 0xa4" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x20) = *(undefined4 *)(puVar15 + 0xa0);" (assignment_expression "*(undefined4 *)(puVar15 + -0x20) = *(undefined4 *)(puVar15 + 0xa0)" (pointer_expression "*(undefined4 *)(puVar15 + -0x20)" * (cast_expression "(undefined4 *)(puVar15 + -0x20)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x20)" ( (binary_expression "puVar15 + -0x20" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar15 + 0xa0)" * (cast_expression "(undefined4 *)(puVar15 + 0xa0)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0xa0)" ( (binary_expression "puVar15 + 0xa0" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x24) = *(undefined4 *)(puVar15 + 0x9c);" (assignment_expression "*(undefined4 *)(puVar15 + -0x24) = *(undefined4 *)(puVar15 + 0x9c)" (pointer_expression "*(undefined4 *)(puVar15 + -0x24)" * (cast_expression "(undefined4 *)(puVar15 + -0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x24)" ( (binary_expression "puVar15 + -0x24" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar15 + 0x9c)" * (cast_expression "(undefined4 *)(puVar15 + 0x9c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x9c)" ( (binary_expression "puVar15 + 0x9c" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x28) = *(undefined4 *)(puVar15 + 0x98);" (assignment_expression "*(undefined4 *)(puVar15 + -0x28) = *(undefined4 *)(puVar15 + 0x98)" (pointer_expression "*(undefined4 *)(puVar15 + -0x28)" * (cast_expression "(undefined4 *)(puVar15 + -0x28)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x28)" ( (binary_expression "puVar15 + -0x28" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar15 + 0x98)" * (cast_expression "(undefined4 *)(puVar15 + 0x98)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x98)" ( (binary_expression "puVar15 + 0x98" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x2c) = *(undefined4 *)(puVar15 + 0x94);" (assignment_expression "*(undefined4 *)(puVar15 + -0x2c) = *(undefined4 *)(puVar15 + 0x94)" (pointer_expression "*(undefined4 *)(puVar15 + -0x2c)" * (cast_expression "(undefined4 *)(puVar15 + -0x2c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x2c)" ( (binary_expression "puVar15 + -0x2c" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar15 + 0x94)" * (cast_expression "(undefined4 *)(puVar15 + 0x94)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x94)" ( (binary_expression "puVar15 + 0x94" identifier + number_literal) ))))) ;) (expression_statement "*(undefined1 **)(puVar15 + -0x30) = puVar15 + 0x28;" (assignment_expression "*(undefined1 **)(puVar15 + -0x30) = puVar15 + 0x28" (pointer_expression "*(undefined1 **)(puVar15 + -0x30)" * (cast_expression "(undefined1 **)(puVar15 + -0x30)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + -0x30)" ( (binary_expression "puVar15 + -0x30" identifier + number_literal) )))) = (binary_expression "puVar15 + 0x28" identifier + number_literal)) ;) (expression_statement "*(undefined **)(puVar15 + -0x34) = &UNK_002021e4;" (assignment_expression "*(undefined **)(puVar15 + -0x34) = &UNK_002021e4" (pointer_expression "*(undefined **)(puVar15 + -0x34)" * (cast_expression "(undefined **)(puVar15 + -0x34)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + -0x34)" ( (binary_expression "puVar15 + -0x34" identifier + number_literal) )))) = (pointer_expression "&UNK_002021e4" & identifier)) ;) (expression_statement "FUN_001fc0e0();" (call_expression "FUN_001fc0e0()" identifier (argument_list "()" ( ))) ;) (expression_statement "*(undefined4 *)(puVar15 + 0x94) = *(undefined4 *)(puVar15 + 0x24);" (assignment_expression "*(undefined4 *)(puVar15 + 0x94) = *(undefined4 *)(puVar15 + 0x24)" (pointer_expression "*(undefined4 *)(puVar15 + 0x94)" * (cast_expression "(undefined4 *)(puVar15 + 0x94)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x94)" ( (binary_expression "puVar15 + 0x94" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar15 + 0x24)" * (cast_expression "(undefined4 *)(puVar15 + 0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x24)" ( (binary_expression "puVar15 + 0x24" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar15 + 0x98) = *(undefined4 *)(puVar15 + 0x28);" (assignment_expression "*(undefined4 *)(puVar15 + 0x98) = *(undefined4 *)(puVar15 + 0x28)" (pointer_expression "*(undefined4 *)(puVar15 + 0x98)" * (cast_expression "(undefined4 *)(puVar15 + 0x98)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x98)" ( (binary_expression "puVar15 + 0x98" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar15 + 0x28)" * (cast_expression "(undefined4 *)(puVar15 + 0x28)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x28)" ( (binary_expression "puVar15 + 0x28" identifier + number_literal) ))))) ;) (expression_statement "puVar16 = puVar15 + -4;" (assignment_expression "puVar16 = puVar15 + -4" identifier = (binary_expression "puVar15 + -4" identifier + number_literal)) ;) (if_statement "if (*(int *)(puVar15 + 0x34) == 0) {\n      *(undefined4 *)(*(int *)(puVar15 + 0xac) + 0xc) = *(undefined4 *)(puVar15 + 0x38);\n      puVar16 = puVar15 + -4;\n    }" if (parenthesized_expression "(*(int *)(puVar15 + 0x34) == 0)" ( (binary_expression "*(int *)(puVar15 + 0x34) == 0" (pointer_expression "*(int *)(puVar15 + 0x34)" * (cast_expression "(int *)(puVar15 + 0x34)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x34)" ( (binary_expression "puVar15 + 0x34" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n      *(undefined4 *)(*(int *)(puVar15 + 0xac) + 0xc) = *(undefined4 *)(puVar15 + 0x38);\n      puVar16 = puVar15 + -4;\n    }" { (expression_statement "*(undefined4 *)(*(int *)(puVar15 + 0xac) + 0xc) = *(undefined4 *)(puVar15 + 0x38);" (assignment_expression "*(undefined4 *)(*(int *)(puVar15 + 0xac) + 0xc) = *(undefined4 *)(puVar15 + 0x38)" (pointer_expression "*(undefined4 *)(*(int *)(puVar15 + 0xac) + 0xc)" * (cast_expression "(undefined4 *)(*(int *)(puVar15 + 0xac) + 0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar15 + 0xac) + 0xc)" ( (binary_expression "*(int *)(puVar15 + 0xac) + 0xc" (pointer_expression "*(int *)(puVar15 + 0xac)" * (cast_expression "(int *)(puVar15 + 0xac)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0xac)" ( (binary_expression "puVar15 + 0xac" identifier + number_literal) )))) + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar15 + 0x38)" * (cast_expression "(undefined4 *)(puVar15 + 0x38)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x38)" ( (binary_expression "puVar15 + 0x38" identifier + number_literal) ))))) ;) (expression_statement "puVar16 = puVar15 + -4;" (assignment_expression "puVar16 = puVar15 + -4" identifier = (binary_expression "puVar15 + -4" identifier + number_literal)) ;) })) (break_statement "break;" break ;)) (case_statement "case 0x6d:\n    *(undefined1 **)(puVar15 + -4) = puVar15 + 0x38;\n    *(undefined4 *)(puVar15 + -8) = *(undefined4 *)(puVar15 + 0xa8);\n    *(undefined4 *)(puVar15 + -0xc) = 2;\n    *(undefined4 *)(puVar15 + -0x10) = 0xc;\n    *(undefined4 *)(puVar15 + -0x14) = 1;\n    *(undefined1 **)(puVar15 + -0x18) = puVar15 + 0x3c;\n    *(undefined4 *)(puVar15 + -0x1c) = *(undefined4 *)(puVar15 + 0xa4);\n    *(undefined4 *)(puVar15 + -0x20) = *(undefined4 *)(puVar15 + 0xa0);\n    *(undefined4 *)(puVar15 + -0x24) = *(undefined4 *)(puVar15 + 0x9c);\n    *(undefined4 *)(puVar15 + -0x28) = *(undefined4 *)(puVar15 + 0x98);\n    *(undefined4 *)(puVar15 + -0x2c) = *(undefined4 *)(puVar15 + 0x94);\n    *(undefined1 **)(puVar15 + -0x30) = puVar15 + 0x28;\n    *(undefined **)(puVar15 + -0x34) = &UNK_002022c4;\n    FUN_001fc0e0();\n    *(undefined4 *)(puVar15 + 0x94) = *(undefined4 *)(puVar15 + 0x24);\n    *(undefined4 *)(puVar15 + 0x98) = *(undefined4 *)(puVar15 + 0x28);\n    puVar16 = puVar15 + -4;\n    if (*(int *)(puVar15 + 0x34) == 0) {\n      *(int *)(*(int *)(puVar15 + 0xac) + 0x10) = *(int *)(puVar15 + 0x38) + -1;\n      puVar16 = puVar15 + -4;\n    }\n    break;" case number_literal : (expression_statement "*(undefined1 **)(puVar15 + -4) = puVar15 + 0x38;" (assignment_expression "*(undefined1 **)(puVar15 + -4) = puVar15 + 0x38" (pointer_expression "*(undefined1 **)(puVar15 + -4)" * (cast_expression "(undefined1 **)(puVar15 + -4)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + -4)" ( (binary_expression "puVar15 + -4" identifier + number_literal) )))) = (binary_expression "puVar15 + 0x38" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar15 + -8) = *(undefined4 *)(puVar15 + 0xa8);" (assignment_expression "*(undefined4 *)(puVar15 + -8) = *(undefined4 *)(puVar15 + 0xa8)" (pointer_expression "*(undefined4 *)(puVar15 + -8)" * (cast_expression "(undefined4 *)(puVar15 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -8)" ( (binary_expression "puVar15 + -8" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar15 + 0xa8)" * (cast_expression "(undefined4 *)(puVar15 + 0xa8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0xa8)" ( (binary_expression "puVar15 + 0xa8" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar15 + -0xc) = 2;" (assignment_expression "*(undefined4 *)(puVar15 + -0xc) = 2" (pointer_expression "*(undefined4 *)(puVar15 + -0xc)" * (cast_expression "(undefined4 *)(puVar15 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0xc)" ( (binary_expression "puVar15 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x10) = 0xc;" (assignment_expression "*(undefined4 *)(puVar15 + -0x10) = 0xc" (pointer_expression "*(undefined4 *)(puVar15 + -0x10)" * (cast_expression "(undefined4 *)(puVar15 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x10)" ( (binary_expression "puVar15 + -0x10" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x14) = 1;" (assignment_expression "*(undefined4 *)(puVar15 + -0x14) = 1" (pointer_expression "*(undefined4 *)(puVar15 + -0x14)" * (cast_expression "(undefined4 *)(puVar15 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x14)" ( (binary_expression "puVar15 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined1 **)(puVar15 + -0x18) = puVar15 + 0x3c;" (assignment_expression "*(undefined1 **)(puVar15 + -0x18) = puVar15 + 0x3c" (pointer_expression "*(undefined1 **)(puVar15 + -0x18)" * (cast_expression "(undefined1 **)(puVar15 + -0x18)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + -0x18)" ( (binary_expression "puVar15 + -0x18" identifier + number_literal) )))) = (binary_expression "puVar15 + 0x3c" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x1c) = *(undefined4 *)(puVar15 + 0xa4);" (assignment_expression "*(undefined4 *)(puVar15 + -0x1c) = *(undefined4 *)(puVar15 + 0xa4)" (pointer_expression "*(undefined4 *)(puVar15 + -0x1c)" * (cast_expression "(undefined4 *)(puVar15 + -0x1c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x1c)" ( (binary_expression "puVar15 + -0x1c" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar15 + 0xa4)" * (cast_expression "(undefined4 *)(puVar15 + 0xa4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0xa4)" ( (binary_expression "puVar15 + 0xa4" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x20) = *(undefined4 *)(puVar15 + 0xa0);" (assignment_expression "*(undefined4 *)(puVar15 + -0x20) = *(undefined4 *)(puVar15 + 0xa0)" (pointer_expression "*(undefined4 *)(puVar15 + -0x20)" * (cast_expression "(undefined4 *)(puVar15 + -0x20)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x20)" ( (binary_expression "puVar15 + -0x20" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar15 + 0xa0)" * (cast_expression "(undefined4 *)(puVar15 + 0xa0)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0xa0)" ( (binary_expression "puVar15 + 0xa0" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x24) = *(undefined4 *)(puVar15 + 0x9c);" (assignment_expression "*(undefined4 *)(puVar15 + -0x24) = *(undefined4 *)(puVar15 + 0x9c)" (pointer_expression "*(undefined4 *)(puVar15 + -0x24)" * (cast_expression "(undefined4 *)(puVar15 + -0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x24)" ( (binary_expression "puVar15 + -0x24" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar15 + 0x9c)" * (cast_expression "(undefined4 *)(puVar15 + 0x9c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x9c)" ( (binary_expression "puVar15 + 0x9c" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x28) = *(undefined4 *)(puVar15 + 0x98);" (assignment_expression "*(undefined4 *)(puVar15 + -0x28) = *(undefined4 *)(puVar15 + 0x98)" (pointer_expression "*(undefined4 *)(puVar15 + -0x28)" * (cast_expression "(undefined4 *)(puVar15 + -0x28)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x28)" ( (binary_expression "puVar15 + -0x28" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar15 + 0x98)" * (cast_expression "(undefined4 *)(puVar15 + 0x98)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x98)" ( (binary_expression "puVar15 + 0x98" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x2c) = *(undefined4 *)(puVar15 + 0x94);" (assignment_expression "*(undefined4 *)(puVar15 + -0x2c) = *(undefined4 *)(puVar15 + 0x94)" (pointer_expression "*(undefined4 *)(puVar15 + -0x2c)" * (cast_expression "(undefined4 *)(puVar15 + -0x2c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x2c)" ( (binary_expression "puVar15 + -0x2c" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar15 + 0x94)" * (cast_expression "(undefined4 *)(puVar15 + 0x94)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x94)" ( (binary_expression "puVar15 + 0x94" identifier + number_literal) ))))) ;) (expression_statement "*(undefined1 **)(puVar15 + -0x30) = puVar15 + 0x28;" (assignment_expression "*(undefined1 **)(puVar15 + -0x30) = puVar15 + 0x28" (pointer_expression "*(undefined1 **)(puVar15 + -0x30)" * (cast_expression "(undefined1 **)(puVar15 + -0x30)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + -0x30)" ( (binary_expression "puVar15 + -0x30" identifier + number_literal) )))) = (binary_expression "puVar15 + 0x28" identifier + number_literal)) ;) (expression_statement "*(undefined **)(puVar15 + -0x34) = &UNK_002022c4;" (assignment_expression "*(undefined **)(puVar15 + -0x34) = &UNK_002022c4" (pointer_expression "*(undefined **)(puVar15 + -0x34)" * (cast_expression "(undefined **)(puVar15 + -0x34)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + -0x34)" ( (binary_expression "puVar15 + -0x34" identifier + number_literal) )))) = (pointer_expression "&UNK_002022c4" & identifier)) ;) (expression_statement "FUN_001fc0e0();" (call_expression "FUN_001fc0e0()" identifier (argument_list "()" ( ))) ;) (expression_statement "*(undefined4 *)(puVar15 + 0x94) = *(undefined4 *)(puVar15 + 0x24);" (assignment_expression "*(undefined4 *)(puVar15 + 0x94) = *(undefined4 *)(puVar15 + 0x24)" (pointer_expression "*(undefined4 *)(puVar15 + 0x94)" * (cast_expression "(undefined4 *)(puVar15 + 0x94)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x94)" ( (binary_expression "puVar15 + 0x94" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar15 + 0x24)" * (cast_expression "(undefined4 *)(puVar15 + 0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x24)" ( (binary_expression "puVar15 + 0x24" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar15 + 0x98) = *(undefined4 *)(puVar15 + 0x28);" (assignment_expression "*(undefined4 *)(puVar15 + 0x98) = *(undefined4 *)(puVar15 + 0x28)" (pointer_expression "*(undefined4 *)(puVar15 + 0x98)" * (cast_expression "(undefined4 *)(puVar15 + 0x98)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x98)" ( (binary_expression "puVar15 + 0x98" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar15 + 0x28)" * (cast_expression "(undefined4 *)(puVar15 + 0x28)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x28)" ( (binary_expression "puVar15 + 0x28" identifier + number_literal) ))))) ;) (expression_statement "puVar16 = puVar15 + -4;" (assignment_expression "puVar16 = puVar15 + -4" identifier = (binary_expression "puVar15 + -4" identifier + number_literal)) ;) (if_statement "if (*(int *)(puVar15 + 0x34) == 0) {\n      *(int *)(*(int *)(puVar15 + 0xac) + 0x10) = *(int *)(puVar15 + 0x38) + -1;\n      puVar16 = puVar15 + -4;\n    }" if (parenthesized_expression "(*(int *)(puVar15 + 0x34) == 0)" ( (binary_expression "*(int *)(puVar15 + 0x34) == 0" (pointer_expression "*(int *)(puVar15 + 0x34)" * (cast_expression "(int *)(puVar15 + 0x34)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x34)" ( (binary_expression "puVar15 + 0x34" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n      *(int *)(*(int *)(puVar15 + 0xac) + 0x10) = *(int *)(puVar15 + 0x38) + -1;\n      puVar16 = puVar15 + -4;\n    }" { (expression_statement "*(int *)(*(int *)(puVar15 + 0xac) + 0x10) = *(int *)(puVar15 + 0x38) + -1;" (assignment_expression "*(int *)(*(int *)(puVar15 + 0xac) + 0x10) = *(int *)(puVar15 + 0x38) + -1" (pointer_expression "*(int *)(*(int *)(puVar15 + 0xac) + 0x10)" * (cast_expression "(int *)(*(int *)(puVar15 + 0xac) + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar15 + 0xac) + 0x10)" ( (binary_expression "*(int *)(puVar15 + 0xac) + 0x10" (pointer_expression "*(int *)(puVar15 + 0xac)" * (cast_expression "(int *)(puVar15 + 0xac)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0xac)" ( (binary_expression "puVar15 + 0xac" identifier + number_literal) )))) + number_literal) )))) = (binary_expression "*(int *)(puVar15 + 0x38) + -1" (pointer_expression "*(int *)(puVar15 + 0x38)" * (cast_expression "(int *)(puVar15 + 0x38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x38)" ( (binary_expression "puVar15 + 0x38" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "puVar16 = puVar15 + -4;" (assignment_expression "puVar16 = puVar15 + -4" identifier = (binary_expression "puVar15 + -4" identifier + number_literal)) ;) })) (break_statement "break;" break ;)) (case_statement "case 0x6e:\n    *(undefined **)(puVar15 + -4) = &UNK_00202310;\n    bVar9 = FUN_001f91d0();\n    bVar8 = *(byte *)((int)piVar10 + bVar9 + 0x11d);\n    if (bVar8 == 0) {\n      pcVar4 = *(code **)(*piVar10 + 0x20);\n      bVar8 = bVar9;\n      if (pcVar4 != (code *)PTR_FUN_0038ed98) {\n        *(undefined4 *)(puVar15 + -8) = 0;\n        *(int *)(puVar15 + -0xc) = (int)(char)bVar9;\n        *(int **)(puVar15 + -0x10) = piVar10;\n        *(undefined **)(puVar15 + -0x14) = &UNK_002023ab;\n        bVar8 = (*pcVar4)();\n      }\n      if (bVar8 == 0) goto LAB_00201ab8;\n      *(byte *)((int)piVar10 + bVar9 + 0x11d) = bVar8;\n    }\n    if (bVar8 != 10) goto LAB_00201ab8;\ncode_r0x00202346:\n    *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0x98);\n    *(undefined **)(puVar15 + -0x14) = &UNK_00202355;\n    FUN_001f24d0();\n    *(undefined4 *)(puVar15 + 0x9c) = 0xffffffff;\n    break;" case number_literal : (expression_statement "*(undefined **)(puVar15 + -4) = &UNK_00202310;" (assignment_expression "*(undefined **)(puVar15 + -4) = &UNK_00202310" (pointer_expression "*(undefined **)(puVar15 + -4)" * (cast_expression "(undefined **)(puVar15 + -4)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + -4)" ( (binary_expression "puVar15 + -4" identifier + number_literal) )))) = (pointer_expression "&UNK_00202310" & identifier)) ;) (expression_statement "bVar9 = FUN_001f91d0();" (assignment_expression "bVar9 = FUN_001f91d0()" identifier = (call_expression "FUN_001f91d0()" identifier (argument_list "()" ( )))) ;) (expression_statement "bVar8 = *(byte *)((int)piVar10 + bVar9 + 0x11d);" (assignment_expression "bVar8 = *(byte *)((int)piVar10 + bVar9 + 0x11d)" identifier = (pointer_expression "*(byte *)((int)piVar10 + bVar9 + 0x11d)" * (cast_expression "(byte *)((int)piVar10 + bVar9 + 0x11d)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar10 + bVar9 + 0x11d)" ( (binary_expression "(int)piVar10 + bVar9 + 0x11d" (binary_expression "(int)piVar10 + bVar9" (cast_expression "(int)piVar10" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + number_literal) ))))) ;) (if_statement "if (bVar8 == 0) {\n      pcVar4 = *(code **)(*piVar10 + 0x20);\n      bVar8 = bVar9;\n      if (pcVar4 != (code *)PTR_FUN_0038ed98) {\n        *(undefined4 *)(puVar15 + -8) = 0;\n        *(int *)(puVar15 + -0xc) = (int)(char)bVar9;\n        *(int **)(puVar15 + -0x10) = piVar10;\n        *(undefined **)(puVar15 + -0x14) = &UNK_002023ab;\n        bVar8 = (*pcVar4)();\n      }\n      if (bVar8 == 0) goto LAB_00201ab8;\n      *(byte *)((int)piVar10 + bVar9 + 0x11d) = bVar8;\n    }" if (parenthesized_expression "(bVar8 == 0)" ( (binary_expression "bVar8 == 0" identifier == number_literal) )) (compound_statement "{\n      pcVar4 = *(code **)(*piVar10 + 0x20);\n      bVar8 = bVar9;\n      if (pcVar4 != (code *)PTR_FUN_0038ed98) {\n        *(undefined4 *)(puVar15 + -8) = 0;\n        *(int *)(puVar15 + -0xc) = (int)(char)bVar9;\n        *(int **)(puVar15 + -0x10) = piVar10;\n        *(undefined **)(puVar15 + -0x14) = &UNK_002023ab;\n        bVar8 = (*pcVar4)();\n      }\n      if (bVar8 == 0) goto LAB_00201ab8;\n      *(byte *)((int)piVar10 + bVar9 + 0x11d) = bVar8;\n    }" { (expression_statement "pcVar4 = *(code **)(*piVar10 + 0x20);" (assignment_expression "pcVar4 = *(code **)(*piVar10 + 0x20)" identifier = (pointer_expression "*(code **)(*piVar10 + 0x20)" * (cast_expression "(code **)(*piVar10 + 0x20)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*piVar10 + 0x20)" ( (binary_expression "*piVar10 + 0x20" (pointer_expression "*piVar10" * identifier) + number_literal) ))))) ;) (expression_statement "bVar8 = bVar9;" (assignment_expression "bVar8 = bVar9" identifier = identifier) ;) (if_statement "if (pcVar4 != (code *)PTR_FUN_0038ed98) {\n        *(undefined4 *)(puVar15 + -8) = 0;\n        *(int *)(puVar15 + -0xc) = (int)(char)bVar9;\n        *(int **)(puVar15 + -0x10) = piVar10;\n        *(undefined **)(puVar15 + -0x14) = &UNK_002023ab;\n        bVar8 = (*pcVar4)();\n      }" if (parenthesized_expression "(pcVar4 != (code *)PTR_FUN_0038ed98)" ( (binary_expression "pcVar4 != (code *)PTR_FUN_0038ed98" identifier != (cast_expression "(code *)PTR_FUN_0038ed98" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (compound_statement "{\n        *(undefined4 *)(puVar15 + -8) = 0;\n        *(int *)(puVar15 + -0xc) = (int)(char)bVar9;\n        *(int **)(puVar15 + -0x10) = piVar10;\n        *(undefined **)(puVar15 + -0x14) = &UNK_002023ab;\n        bVar8 = (*pcVar4)();\n      }" { (expression_statement "*(undefined4 *)(puVar15 + -8) = 0;" (assignment_expression "*(undefined4 *)(puVar15 + -8) = 0" (pointer_expression "*(undefined4 *)(puVar15 + -8)" * (cast_expression "(undefined4 *)(puVar15 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -8)" ( (binary_expression "puVar15 + -8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(puVar15 + -0xc) = (int)(char)bVar9;" (assignment_expression "*(int *)(puVar15 + -0xc) = (int)(char)bVar9" (pointer_expression "*(int *)(puVar15 + -0xc)" * (cast_expression "(int *)(puVar15 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0xc)" ( (binary_expression "puVar15 + -0xc" identifier + number_literal) )))) = (cast_expression "(int)(char)bVar9" ( (type_descriptor "int" primitive_type) ) (cast_expression "(char)bVar9" ( (type_descriptor "char" primitive_type) ) identifier))) ;) (expression_statement "*(int **)(puVar15 + -0x10) = piVar10;" (assignment_expression "*(int **)(puVar15 + -0x10) = piVar10" (pointer_expression "*(int **)(puVar15 + -0x10)" * (cast_expression "(int **)(puVar15 + -0x10)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + -0x10)" ( (binary_expression "puVar15 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined **)(puVar15 + -0x14) = &UNK_002023ab;" (assignment_expression "*(undefined **)(puVar15 + -0x14) = &UNK_002023ab" (pointer_expression "*(undefined **)(puVar15 + -0x14)" * (cast_expression "(undefined **)(puVar15 + -0x14)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + -0x14)" ( (binary_expression "puVar15 + -0x14" identifier + number_literal) )))) = (pointer_expression "&UNK_002023ab" & identifier)) ;) (expression_statement "bVar8 = (*pcVar4)();" (assignment_expression "bVar8 = (*pcVar4)()" identifier = (call_expression "(*pcVar4)()" (parenthesized_expression "(*pcVar4)" ( (pointer_expression "*pcVar4" * identifier) )) (argument_list "()" ( )))) ;) })) (if_statement "if (bVar8 == 0) goto LAB_00201ab8;" if (parenthesized_expression "(bVar8 == 0)" ( (binary_expression "bVar8 == 0" identifier == number_literal) )) (goto_statement "goto LAB_00201ab8;" goto statement_identifier ;)) (expression_statement "*(byte *)((int)piVar10 + bVar9 + 0x11d) = bVar8;" (assignment_expression "*(byte *)((int)piVar10 + bVar9 + 0x11d) = bVar8" (pointer_expression "*(byte *)((int)piVar10 + bVar9 + 0x11d)" * (cast_expression "(byte *)((int)piVar10 + bVar9 + 0x11d)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar10 + bVar9 + 0x11d)" ( (binary_expression "(int)piVar10 + bVar9 + 0x11d" (binary_expression "(int)piVar10 + bVar9" (cast_expression "(int)piVar10" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + number_literal) )))) = identifier) ;) })) (if_statement "if (bVar8 != 10) goto LAB_00201ab8;" if (parenthesized_expression "(bVar8 != 10)" ( (binary_expression "bVar8 != 10" identifier != number_literal) )) (goto_statement "goto LAB_00201ab8;" goto statement_identifier ;)) (labeled_statement "code_r0x00202346:\n    *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0x98);" statement_identifier : (expression_statement "*(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0x98);" (assignment_expression "*(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0x98)" (pointer_expression "*(undefined4 *)(puVar15 + -0x10)" * (cast_expression "(undefined4 *)(puVar15 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x10)" ( (binary_expression "puVar15 + -0x10" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar15 + 0x98)" * (cast_expression "(undefined4 *)(puVar15 + 0x98)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x98)" ( (binary_expression "puVar15 + 0x98" identifier + number_literal) ))))) ;)) (expression_statement "*(undefined **)(puVar15 + -0x14) = &UNK_00202355;" (assignment_expression "*(undefined **)(puVar15 + -0x14) = &UNK_00202355" (pointer_expression "*(undefined **)(puVar15 + -0x14)" * (cast_expression "(undefined **)(puVar15 + -0x14)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + -0x14)" ( (binary_expression "puVar15 + -0x14" identifier + number_literal) )))) = (pointer_expression "&UNK_00202355" & identifier)) ;) (expression_statement "FUN_001f24d0();" (call_expression "FUN_001f24d0()" identifier (argument_list "()" ( ))) ;) (expression_statement "*(undefined4 *)(puVar15 + 0x9c) = 0xffffffff;" (assignment_expression "*(undefined4 *)(puVar15 + 0x9c) = 0xffffffff" (pointer_expression "*(undefined4 *)(puVar15 + 0x9c)" * (cast_expression "(undefined4 *)(puVar15 + 0x9c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x9c)" ( (binary_expression "puVar15 + 0x9c" identifier + number_literal) )))) = number_literal) ;) (break_statement "break;" break ;)) (case_statement "case 0x74:\n    *(undefined **)(puVar15 + -4) = &UNK_00201a70;\n    bVar9 = FUN_001f91d0();\n    bVar8 = *(byte *)((int)piVar10 + bVar9 + 0x11d);\n    if (bVar8 == 0) {\n      pcVar4 = *(code **)(*piVar10 + 0x20);\n      bVar8 = bVar9;\n      if (pcVar4 != *(code **)(puVar15 + 0x1c)) {\n        *(undefined4 *)(puVar15 + -8) = 0;\n        *(int *)(puVar15 + -0xc) = (int)(char)bVar9;\n        *(int **)(puVar15 + -0x10) = piVar10;\n        *(undefined **)(puVar15 + -0x14) = &UNK_00201a98;\n        bVar8 = (*pcVar4)();\n      }\n      if (bVar8 == 0) goto LAB_00201ab8;\n      *(byte *)((int)piVar10 + bVar9 + 0x11d) = bVar8;\n    }\n    if (bVar8 == 9) goto code_r0x00202346;\n    goto LAB_00201ab8;" case number_literal : (expression_statement "*(undefined **)(puVar15 + -4) = &UNK_00201a70;" (assignment_expression "*(undefined **)(puVar15 + -4) = &UNK_00201a70" (pointer_expression "*(undefined **)(puVar15 + -4)" * (cast_expression "(undefined **)(puVar15 + -4)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + -4)" ( (binary_expression "puVar15 + -4" identifier + number_literal) )))) = (pointer_expression "&UNK_00201a70" & identifier)) ;) (expression_statement "bVar9 = FUN_001f91d0();" (assignment_expression "bVar9 = FUN_001f91d0()" identifier = (call_expression "FUN_001f91d0()" identifier (argument_list "()" ( )))) ;) (expression_statement "bVar8 = *(byte *)((int)piVar10 + bVar9 + 0x11d);" (assignment_expression "bVar8 = *(byte *)((int)piVar10 + bVar9 + 0x11d)" identifier = (pointer_expression "*(byte *)((int)piVar10 + bVar9 + 0x11d)" * (cast_expression "(byte *)((int)piVar10 + bVar9 + 0x11d)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar10 + bVar9 + 0x11d)" ( (binary_expression "(int)piVar10 + bVar9 + 0x11d" (binary_expression "(int)piVar10 + bVar9" (cast_expression "(int)piVar10" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + number_literal) ))))) ;) (if_statement "if (bVar8 == 0) {\n      pcVar4 = *(code **)(*piVar10 + 0x20);\n      bVar8 = bVar9;\n      if (pcVar4 != *(code **)(puVar15 + 0x1c)) {\n        *(undefined4 *)(puVar15 + -8) = 0;\n        *(int *)(puVar15 + -0xc) = (int)(char)bVar9;\n        *(int **)(puVar15 + -0x10) = piVar10;\n        *(undefined **)(puVar15 + -0x14) = &UNK_00201a98;\n        bVar8 = (*pcVar4)();\n      }\n      if (bVar8 == 0) goto LAB_00201ab8;\n      *(byte *)((int)piVar10 + bVar9 + 0x11d) = bVar8;\n    }" if (parenthesized_expression "(bVar8 == 0)" ( (binary_expression "bVar8 == 0" identifier == number_literal) )) (compound_statement "{\n      pcVar4 = *(code **)(*piVar10 + 0x20);\n      bVar8 = bVar9;\n      if (pcVar4 != *(code **)(puVar15 + 0x1c)) {\n        *(undefined4 *)(puVar15 + -8) = 0;\n        *(int *)(puVar15 + -0xc) = (int)(char)bVar9;\n        *(int **)(puVar15 + -0x10) = piVar10;\n        *(undefined **)(puVar15 + -0x14) = &UNK_00201a98;\n        bVar8 = (*pcVar4)();\n      }\n      if (bVar8 == 0) goto LAB_00201ab8;\n      *(byte *)((int)piVar10 + bVar9 + 0x11d) = bVar8;\n    }" { (expression_statement "pcVar4 = *(code **)(*piVar10 + 0x20);" (assignment_expression "pcVar4 = *(code **)(*piVar10 + 0x20)" identifier = (pointer_expression "*(code **)(*piVar10 + 0x20)" * (cast_expression "(code **)(*piVar10 + 0x20)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*piVar10 + 0x20)" ( (binary_expression "*piVar10 + 0x20" (pointer_expression "*piVar10" * identifier) + number_literal) ))))) ;) (expression_statement "bVar8 = bVar9;" (assignment_expression "bVar8 = bVar9" identifier = identifier) ;) (if_statement "if (pcVar4 != *(code **)(puVar15 + 0x1c)) {\n        *(undefined4 *)(puVar15 + -8) = 0;\n        *(int *)(puVar15 + -0xc) = (int)(char)bVar9;\n        *(int **)(puVar15 + -0x10) = piVar10;\n        *(undefined **)(puVar15 + -0x14) = &UNK_00201a98;\n        bVar8 = (*pcVar4)();\n      }" if (parenthesized_expression "(pcVar4 != *(code **)(puVar15 + 0x1c))" ( (binary_expression "pcVar4 != *(code **)(puVar15 + 0x1c)" identifier != (pointer_expression "*(code **)(puVar15 + 0x1c)" * (cast_expression "(code **)(puVar15 + 0x1c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + 0x1c)" ( (binary_expression "puVar15 + 0x1c" identifier + number_literal) ))))) )) (compound_statement "{\n        *(undefined4 *)(puVar15 + -8) = 0;\n        *(int *)(puVar15 + -0xc) = (int)(char)bVar9;\n        *(int **)(puVar15 + -0x10) = piVar10;\n        *(undefined **)(puVar15 + -0x14) = &UNK_00201a98;\n        bVar8 = (*pcVar4)();\n      }" { (expression_statement "*(undefined4 *)(puVar15 + -8) = 0;" (assignment_expression "*(undefined4 *)(puVar15 + -8) = 0" (pointer_expression "*(undefined4 *)(puVar15 + -8)" * (cast_expression "(undefined4 *)(puVar15 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -8)" ( (binary_expression "puVar15 + -8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(puVar15 + -0xc) = (int)(char)bVar9;" (assignment_expression "*(int *)(puVar15 + -0xc) = (int)(char)bVar9" (pointer_expression "*(int *)(puVar15 + -0xc)" * (cast_expression "(int *)(puVar15 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0xc)" ( (binary_expression "puVar15 + -0xc" identifier + number_literal) )))) = (cast_expression "(int)(char)bVar9" ( (type_descriptor "int" primitive_type) ) (cast_expression "(char)bVar9" ( (type_descriptor "char" primitive_type) ) identifier))) ;) (expression_statement "*(int **)(puVar15 + -0x10) = piVar10;" (assignment_expression "*(int **)(puVar15 + -0x10) = piVar10" (pointer_expression "*(int **)(puVar15 + -0x10)" * (cast_expression "(int **)(puVar15 + -0x10)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + -0x10)" ( (binary_expression "puVar15 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined **)(puVar15 + -0x14) = &UNK_00201a98;" (assignment_expression "*(undefined **)(puVar15 + -0x14) = &UNK_00201a98" (pointer_expression "*(undefined **)(puVar15 + -0x14)" * (cast_expression "(undefined **)(puVar15 + -0x14)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + -0x14)" ( (binary_expression "puVar15 + -0x14" identifier + number_literal) )))) = (pointer_expression "&UNK_00201a98" & identifier)) ;) (expression_statement "bVar8 = (*pcVar4)();" (assignment_expression "bVar8 = (*pcVar4)()" identifier = (call_expression "(*pcVar4)()" (parenthesized_expression "(*pcVar4)" ( (pointer_expression "*pcVar4" * identifier) )) (argument_list "()" ( )))) ;) })) (if_statement "if (bVar8 == 0) goto LAB_00201ab8;" if (parenthesized_expression "(bVar8 == 0)" ( (binary_expression "bVar8 == 0" identifier == number_literal) )) (goto_statement "goto LAB_00201ab8;" goto statement_identifier ;)) (expression_statement "*(byte *)((int)piVar10 + bVar9 + 0x11d) = bVar8;" (assignment_expression "*(byte *)((int)piVar10 + bVar9 + 0x11d) = bVar8" (pointer_expression "*(byte *)((int)piVar10 + bVar9 + 0x11d)" * (cast_expression "(byte *)((int)piVar10 + bVar9 + 0x11d)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar10 + bVar9 + 0x11d)" ( (binary_expression "(int)piVar10 + bVar9 + 0x11d" (binary_expression "(int)piVar10 + bVar9" (cast_expression "(int)piVar10" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + number_literal) )))) = identifier) ;) })) (if_statement "if (bVar8 == 9) goto code_r0x00202346;" if (parenthesized_expression "(bVar8 == 9)" ( (binary_expression "bVar8 == 9" identifier == number_literal) )) (goto_statement "goto code_r0x00202346;" goto statement_identifier ;)) (goto_statement "goto LAB_00201ab8;" goto statement_identifier ;)) (case_statement "case 0x78:\n    *(undefined4 *)(puVar15 + -0xc) = *(undefined4 *)(*(int *)(*(int *)(puVar15 + 0x18) + 8) + 8);\ncode_r0x00201b30:\n    *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0xb0);\n    *(undefined1 **)(puVar15 + -0x14) = puVar15 + 0x38;\n    *(undefined4 *)(puVar15 + -0x18) = *(undefined4 *)(puVar15 + 0xa8);\n    *(undefined4 *)(puVar15 + -0x1c) = *(undefined4 *)(puVar15 + 0xa4);\n    *(undefined4 *)(puVar15 + -0x20) = *(undefined4 *)(puVar15 + 0xa0);\n    *(undefined4 *)(puVar15 + -0x24) = *(undefined4 *)(puVar15 + 0x9c);\n    *(undefined4 *)(puVar15 + -0x28) = *(undefined4 *)(puVar15 + 0x98);\n    *(undefined4 *)(puVar15 + -0x2c) = *(undefined4 *)(puVar15 + 0x94);\n    puVar17 = puVar15 + -0x30;\n    *(undefined1 **)(puVar15 + -0x30) = puVar15 + 0x28;\n    *(undefined **)(puVar15 + -0x34) = &UNK_00201b6c;\n    FUN_00201820();\ncode_r0x00201b6c:\n    *(undefined4 *)(puVar17 + 0xc4) = *(undefined4 *)(puVar17 + 0x54);\n    *(undefined4 *)(puVar17 + 200) = *(undefined4 *)(puVar17 + 0x58);\n    puVar16 = puVar17 + 0x2c;" case number_literal : (expression_statement "*(undefined4 *)(puVar15 + -0xc) = *(undefined4 *)(*(int *)(*(int *)(puVar15 + 0x18) + 8) + 8);" (assignment_expression "*(undefined4 *)(puVar15 + -0xc) = *(undefined4 *)(*(int *)(*(int *)(puVar15 + 0x18) + 8) + 8)" (pointer_expression "*(undefined4 *)(puVar15 + -0xc)" * (cast_expression "(undefined4 *)(puVar15 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0xc)" ( (binary_expression "puVar15 + -0xc" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(*(int *)(*(int *)(puVar15 + 0x18) + 8) + 8)" * (cast_expression "(undefined4 *)(*(int *)(*(int *)(puVar15 + 0x18) + 8) + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(*(int *)(puVar15 + 0x18) + 8) + 8)" ( (binary_expression "*(int *)(*(int *)(puVar15 + 0x18) + 8) + 8" (pointer_expression "*(int *)(*(int *)(puVar15 + 0x18) + 8)" * (cast_expression "(int *)(*(int *)(puVar15 + 0x18) + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar15 + 0x18) + 8)" ( (binary_expression "*(int *)(puVar15 + 0x18) + 8" (pointer_expression "*(int *)(puVar15 + 0x18)" * (cast_expression "(int *)(puVar15 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x18)" ( (binary_expression "puVar15 + 0x18" identifier + number_literal) )))) + number_literal) )))) + number_literal) ))))) ;) (labeled_statement "code_r0x00201b30:\n    *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0xb0);" statement_identifier : (expression_statement "*(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0xb0);" (assignment_expression "*(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0xb0)" (pointer_expression "*(undefined4 *)(puVar15 + -0x10)" * (cast_expression "(undefined4 *)(puVar15 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x10)" ( (binary_expression "puVar15 + -0x10" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar15 + 0xb0)" * (cast_expression "(undefined4 *)(puVar15 + 0xb0)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0xb0)" ( (binary_expression "puVar15 + 0xb0" identifier + number_literal) ))))) ;)) (expression_statement "*(undefined1 **)(puVar15 + -0x14) = puVar15 + 0x38;" (assignment_expression "*(undefined1 **)(puVar15 + -0x14) = puVar15 + 0x38" (pointer_expression "*(undefined1 **)(puVar15 + -0x14)" * (cast_expression "(undefined1 **)(puVar15 + -0x14)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + -0x14)" ( (binary_expression "puVar15 + -0x14" identifier + number_literal) )))) = (binary_expression "puVar15 + 0x38" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x18) = *(undefined4 *)(puVar15 + 0xa8);" (assignment_expression "*(undefined4 *)(puVar15 + -0x18) = *(undefined4 *)(puVar15 + 0xa8)" (pointer_expression "*(undefined4 *)(puVar15 + -0x18)" * (cast_expression "(undefined4 *)(puVar15 + -0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x18)" ( (binary_expression "puVar15 + -0x18" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar15 + 0xa8)" * (cast_expression "(undefined4 *)(puVar15 + 0xa8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0xa8)" ( (binary_expression "puVar15 + 0xa8" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x1c) = *(undefined4 *)(puVar15 + 0xa4);" (assignment_expression "*(undefined4 *)(puVar15 + -0x1c) = *(undefined4 *)(puVar15 + 0xa4)" (pointer_expression "*(undefined4 *)(puVar15 + -0x1c)" * (cast_expression "(undefined4 *)(puVar15 + -0x1c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x1c)" ( (binary_expression "puVar15 + -0x1c" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar15 + 0xa4)" * (cast_expression "(undefined4 *)(puVar15 + 0xa4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0xa4)" ( (binary_expression "puVar15 + 0xa4" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x20) = *(undefined4 *)(puVar15 + 0xa0);" (assignment_expression "*(undefined4 *)(puVar15 + -0x20) = *(undefined4 *)(puVar15 + 0xa0)" (pointer_expression "*(undefined4 *)(puVar15 + -0x20)" * (cast_expression "(undefined4 *)(puVar15 + -0x20)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x20)" ( (binary_expression "puVar15 + -0x20" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar15 + 0xa0)" * (cast_expression "(undefined4 *)(puVar15 + 0xa0)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0xa0)" ( (binary_expression "puVar15 + 0xa0" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x24) = *(undefined4 *)(puVar15 + 0x9c);" (assignment_expression "*(undefined4 *)(puVar15 + -0x24) = *(undefined4 *)(puVar15 + 0x9c)" (pointer_expression "*(undefined4 *)(puVar15 + -0x24)" * (cast_expression "(undefined4 *)(puVar15 + -0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x24)" ( (binary_expression "puVar15 + -0x24" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar15 + 0x9c)" * (cast_expression "(undefined4 *)(puVar15 + 0x9c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x9c)" ( (binary_expression "puVar15 + 0x9c" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x28) = *(undefined4 *)(puVar15 + 0x98);" (assignment_expression "*(undefined4 *)(puVar15 + -0x28) = *(undefined4 *)(puVar15 + 0x98)" (pointer_expression "*(undefined4 *)(puVar15 + -0x28)" * (cast_expression "(undefined4 *)(puVar15 + -0x28)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x28)" ( (binary_expression "puVar15 + -0x28" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar15 + 0x98)" * (cast_expression "(undefined4 *)(puVar15 + 0x98)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x98)" ( (binary_expression "puVar15 + 0x98" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x2c) = *(undefined4 *)(puVar15 + 0x94);" (assignment_expression "*(undefined4 *)(puVar15 + -0x2c) = *(undefined4 *)(puVar15 + 0x94)" (pointer_expression "*(undefined4 *)(puVar15 + -0x2c)" * (cast_expression "(undefined4 *)(puVar15 + -0x2c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x2c)" ( (binary_expression "puVar15 + -0x2c" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar15 + 0x94)" * (cast_expression "(undefined4 *)(puVar15 + 0x94)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x94)" ( (binary_expression "puVar15 + 0x94" identifier + number_literal) ))))) ;) (expression_statement "puVar17 = puVar15 + -0x30;" (assignment_expression "puVar17 = puVar15 + -0x30" identifier = (binary_expression "puVar15 + -0x30" identifier + number_literal)) ;) (expression_statement "*(undefined1 **)(puVar15 + -0x30) = puVar15 + 0x28;" (assignment_expression "*(undefined1 **)(puVar15 + -0x30) = puVar15 + 0x28" (pointer_expression "*(undefined1 **)(puVar15 + -0x30)" * (cast_expression "(undefined1 **)(puVar15 + -0x30)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + -0x30)" ( (binary_expression "puVar15 + -0x30" identifier + number_literal) )))) = (binary_expression "puVar15 + 0x28" identifier + number_literal)) ;) (expression_statement "*(undefined **)(puVar15 + -0x34) = &UNK_00201b6c;" (assignment_expression "*(undefined **)(puVar15 + -0x34) = &UNK_00201b6c" (pointer_expression "*(undefined **)(puVar15 + -0x34)" * (cast_expression "(undefined **)(puVar15 + -0x34)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + -0x34)" ( (binary_expression "puVar15 + -0x34" identifier + number_literal) )))) = (pointer_expression "&UNK_00201b6c" & identifier)) ;) (expression_statement "FUN_00201820();" (call_expression "FUN_00201820()" identifier (argument_list "()" ( ))) ;) (labeled_statement "code_r0x00201b6c:\n    *(undefined4 *)(puVar17 + 0xc4) = *(undefined4 *)(puVar17 + 0x54);" statement_identifier : (expression_statement "*(undefined4 *)(puVar17 + 0xc4) = *(undefined4 *)(puVar17 + 0x54);" (assignment_expression "*(undefined4 *)(puVar17 + 0xc4) = *(undefined4 *)(puVar17 + 0x54)" (pointer_expression "*(undefined4 *)(puVar17 + 0xc4)" * (cast_expression "(undefined4 *)(puVar17 + 0xc4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + 0xc4)" ( (binary_expression "puVar17 + 0xc4" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar17 + 0x54)" * (cast_expression "(undefined4 *)(puVar17 + 0x54)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + 0x54)" ( (binary_expression "puVar17 + 0x54" identifier + number_literal) ))))) ;)) (expression_statement "*(undefined4 *)(puVar17 + 200) = *(undefined4 *)(puVar17 + 0x58);" (assignment_expression "*(undefined4 *)(puVar17 + 200) = *(undefined4 *)(puVar17 + 0x58)" (pointer_expression "*(undefined4 *)(puVar17 + 200)" * (cast_expression "(undefined4 *)(puVar17 + 200)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + 200)" ( (binary_expression "puVar17 + 200" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar17 + 0x58)" * (cast_expression "(undefined4 *)(puVar17 + 0x58)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + 0x58)" ( (binary_expression "puVar17 + 0x58" identifier + number_literal) ))))) ;) (expression_statement "puVar16 = puVar17 + 0x2c;" (assignment_expression "puVar16 = puVar17 + 0x2c" identifier = (binary_expression "puVar17 + 0x2c" identifier + number_literal)) ;)) })) (labeled_statement "code_r0x00201ac0:\n  uVar18 = *(int *)(puVar16 + 4) + 1;" statement_identifier : (expression_statement "uVar18 = *(int *)(puVar16 + 4) + 1;" (assignment_expression "uVar18 = *(int *)(puVar16 + 4) + 1" identifier = (binary_expression "*(int *)(puVar16 + 4) + 1" (pointer_expression "*(int *)(puVar16 + 4)" * (cast_expression "(int *)(puVar16 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + 4)" ( (binary_expression "puVar16 + 4" identifier + number_literal) )))) + number_literal)) ;)) (expression_statement "puVar15 = puVar16;" (assignment_expression "puVar15 = puVar16" identifier = identifier) ;) (goto_statement "goto LAB_0020189b;" goto statement_identifier ;) (labeled_statement "LAB_00201ab8:\n  *(uint *)(puVar15 + 0x38) = *(uint *)(puVar15 + 0x38) | 4;" statement_identifier : (expression_statement "*(uint *)(puVar15 + 0x38) = *(uint *)(puVar15 + 0x38) | 4;" (assignment_expression "*(uint *)(puVar15 + 0x38) = *(uint *)(puVar15 + 0x38) | 4" (pointer_expression "*(uint *)(puVar15 + 0x38)" * (cast_expression "(uint *)(puVar15 + 0x38)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x38)" ( (binary_expression "puVar15 + 0x38" identifier + number_literal) )))) = (binary_expression "*(uint *)(puVar15 + 0x38) | 4" (pointer_expression "*(uint *)(puVar15 + 0x38)" * (cast_expression "(uint *)(puVar15 + 0x38)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x38)" ( (binary_expression "puVar15 + 0x38" identifier + number_literal) )))) | number_literal)) ;)) (goto_statement "goto code_r0x00201ac0;" goto statement_identifier ;) })))
(translation_unit "/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n/* std::time_get<char, std::istreambuf_iterator<char, std::char_traits<char> >\n   >::_M_extract_via_format(std::istreambuf_iterator<char, std::char_traits<char> >,\n   std::istreambuf_iterator<char, std::char_traits<char> >, std::ios_base&, std::_Ios_Iostate&, tm*,\n   char const*) const */\n\nundefined4 *\nstd::time_get<char,std::istreambuf_iterator<char,std::char_traits<char>>>::_M_extract_via_format\n          (undefined4 *param_1,undefined4 param_2,streambuf *param_3,undefined4 param_4,\n          undefined4 param_5,undefined4 param_6,int param_7,uint *param_8,int *param_9,\n          char *param_10)\n\n{\n  locale *plVar1;\n  char cVar2;\n  ctype cVar3;\n  ctype cVar4;\n  __timepunct *this;\n  ctype *this_00;\n  size_t sVar5;\n  char *pcVar6;\n  int iVar7;\n  ctype *pcVar8;\n  uint uVar9;\n  undefined4 uVar10;\n  undefined4 uVar11;\n  char **ppcVar12;\n  undefined4 uVar13;\n  char *pcVar14;\n  ctype<char> *in_stack_ffffff74;\n  uint uVar15;\n  streambuf *local_64;\n  undefined4 uStack_60;\n  uint local_54;\n  int local_50;\n  char *local_4c;\n  undefined4 local_48;\n  undefined4 local_44;\n  undefined4 local_40;\n  undefined4 local_3c;\n  undefined4 local_38;\n  undefined4 local_34;\n  undefined4 uStack_14;\n  \n  uVar9 = 0;\n  uStack_14 = 0x20182b;\n  plVar1 = (locale *)(param_7 + 0x6c);\n  this = use_facet<std::__timepunct<char>>(plVar1);\n  this_00 = use_facet<std::ctype<char>>(plVar1);\n  sVar5 = strlen(param_10);\n  local_54 = 0;\nLAB_0020189b:\n  cVar2 = istreambuf_iterator<char,std::char_traits<char>>::equal\n                    ((istreambuf_iterator<char,std::char_traits<char>> *)&param_3,\n                     (istreambuf_iterator *)&param_5);\n  if ((cVar2 == '\x01') || (sVar5 <= uVar9)) {\n    if ((local_54 != 0) || (uVar9 != sVar5)) {\nLAB_00201a0e:\n      *param_8 = *param_8 | 4;\n    }\n    *param_1 = param_3;\n    param_1[1] = param_4;\n    return param_1;\n  }\n  if (local_54 != 0) goto LAB_00201a0e;\n  pcVar8 = (ctype *)(param_10 + uVar9);\n  cVar3 = *pcVar8;\n  uVar15 = uVar9 + 1;\n  cVar4 = this_00[(byte)cVar3 + 0x11d];\n  if (cVar4 == (ctype)0x0) {\n    cVar4 = cVar3;\n    if (*(code **)(*(int *)this_00 + 0x20) != (code *)PTR_do_narrow_0038ed98) {\n      cVar4 = (ctype)(**(code **)(*(int *)this_00 + 0x20))(this_00,(int)(char)cVar3,0);\n    }\n    if (cVar4 != (ctype)0x0) {\n      this_00[(byte)cVar3 + 0x11d] = cVar4;\n      goto LAB_00201910;\n    }\nLAB_00201980:\n    uVar9 = uVar15;\n    cVar3 = *pcVar8;\n    cVar4 = (ctype)istreambuf_iterator<char,std::char_traits<char>>::_M_get();\n    if (cVar3 == cVar4) {\n      streambuf::sbumpc(param_3);\n      param_4 = 0xffffffff;\n    }\n    else {\n      local_54 = local_54 | 4;\n    }\n    goto LAB_0020189b;\n  }\nLAB_00201910:\n  if (cVar4 != (ctype)0x25) goto LAB_00201980;\n  cVar3 = *(ctype *)(param_10 + uVar9 + 1);\n  cVar4 = this_00[(byte)cVar3 + 0x11d];\n  if (cVar4 == (ctype)0x0) {\n    cVar4 = cVar3;\n    if (*(code **)(*(int *)this_00 + 0x20) != (code *)PTR_do_narrow_0038ed98) {\n      cVar4 = (ctype)(**(code **)(*(int *)this_00 + 0x20))(this_00,(int)(char)cVar3,0);\n    }\n    if (cVar4 != (ctype)0x0) {\n      this_00[(byte)cVar3 + 0x11d] = cVar4;\n      goto LAB_00201951;\n    }\n    goto _L2028;\n  }\nLAB_00201951:\n  local_50 = 0;\n  if ((cVar4 == (ctype)0x45) || (cVar4 == (ctype)0x4f)) {\n    uVar15 = uVar9 + 2;\n    cVar3 = *(ctype *)(param_10 + uVar9 + 2);\n    cVar4 = this_00[(byte)cVar3 + 0x11d];\n    if (cVar4 == (ctype)0x0) {\n      cVar4 = cVar3;\n      if (*(code **)(*(int *)this_00 + 0x20) != (code *)PTR_do_narrow_0038ed98) {\n        cVar4 = (ctype)(**(code **)(*(int *)this_00 + 0x20))(this_00,(int)(char)cVar3,0);\n      }\n      if (cVar4 == (ctype)0x0) goto _L2028;\n      this_00[(byte)cVar3 + 0x11d] = cVar4;\n    }\n  }\n  switch(cVar4) {\n  case (ctype)0x41:\n    iVar7 = *(int *)(this + 8);\n    local_4c = *(char **)(iVar7 + 0x2c);\n    local_48 = *(undefined4 *)(iVar7 + 0x30);\n    local_44 = *(undefined4 *)(iVar7 + 0x34);\n    local_40 = *(undefined4 *)(iVar7 + 0x38);\n    local_3c = *(undefined4 *)(iVar7 + 0x3c);\n    local_38 = *(undefined4 *)(iVar7 + 0x40);\n    local_34 = *(undefined4 *)(iVar7 + 0x44);\n    goto LAB_00201f34;\n  case (ctype)0x42:\n    __timepunct<char>::_M_months((__timepunct<char> *)this,&local_4c);\n    goto LAB_00201fd1;\n  case (ctype)0x43:\n  case (ctype)0x59:\n  case (ctype)0x79:\n    _M_extract_num(&local_64,param_2,param_3,param_4,param_5,param_6,&local_50,0,9999,4,param_7,\n                   &local_54);\n    param_3 = local_64;\n    param_4 = uStack_60;\n    if (local_54 == 0) {\n      iVar7 = local_50 + -0x76c;\n      if (local_50 < 0) {\n        iVar7 = local_50 + 100;\n      }\n      param_9[5] = iVar7;\n    }\n    break;\n  case (ctype)0x44:\n    pcVar14 = "%H:%M";\n    pcVar6 = "%m/%d/%y";\n    goto LAB_00201ca2;\n  default:\n    goto _L2028;\n  case (ctype)0x48:\n    uVar11 = 0x17;\n    uVar10 = 0;\n    goto LAB_00201ba6;\n  case (ctype)0x49:\n    uVar11 = 0xc;\n    uVar10 = 1;\nLAB_00201ba6:\n    _M_extract_num(&local_64,param_2,param_3,param_4,param_5,param_6,&local_50,uVar10,uVar11,2,\n                   param_7,&local_54);\n    param_3 = local_64;\n    param_4 = uStack_60;\n    if (local_54 == 0) {\n      param_9[2] = local_50;\n    }\n    break;\n  case (ctype)0x4d:\n    _M_extract_num(&local_64,param_2,param_3,param_4,param_5,param_6,&local_50,0,0x3b,2,param_7,\n                   &local_54);\n    param_3 = local_64;\n    param_4 = uStack_60;\n    if (local_54 == 0) {\n      param_9[1] = local_50;\n    }\n    break;\n  case (ctype)0x52:\n    pcVar14 = "%H:%M:%S";\n    pcVar6 = "%H:%M";\n    goto LAB_00201ca2;\n  case (ctype)0x53:\n    _M_extract_num(&local_64,param_2,param_3,param_4,param_5,param_6,&local_50,0,0x3c,2,param_7,\n                   &local_54);\n    param_3 = local_64;\n    param_4 = uStack_60;\n    if (local_54 == 0) {\n      *param_9 = local_50;\n    }\n    break;\n  case (ctype)0x54:\n    pcVar14 = "";\n    pcVar6 = "%H:%M:%S";\nLAB_00201ca2:\n    ppcVar12 = &local_4c;\n    ctype<char>::widen((ctype<char> *)this_00,pcVar6,pcVar14,(char *)ppcVar12);\n    goto LAB_00201b30;\n  case (ctype)0x58:\n    ppcVar12 = *(char ***)(*(int *)(this + 8) + 0x10);\n    goto LAB_00201b30;\n  case (ctype)0x5a:\n    uVar9 = istreambuf_iterator<char,std::char_traits<char>>::_M_get();\n    if ((*(byte *)(*(int *)(this_00 + 0x18) + 1 + (uVar9 & 0xff) * 2) & 1) == 0) goto _L2028;\n    _M_extract_name(&local_64,param_2,param_3,param_4,param_5,param_6,&local_4c,\n                    __timepunct_cache<char>::_S_timezones,0xe,param_7,&local_54);\n    param_3 = local_64;\n    param_4 = uStack_60;\n    cVar2 = istreambuf_iterator<char,std::char_traits<char>>::equal\n                      ((istreambuf_iterator<char,std::char_traits<char>> *)&param_3,\n                       (istreambuf_iterator *)&param_5);\n    if ((cVar2 != '\0') || (local_54 != 0 || local_4c != (char *)0x0)) break;\n    cVar3 = (ctype)istreambuf_iterator<char,std::char_traits<char>>::_M_get();\n    if (this_00[0x1c] == (ctype)0x0) {\n      cVar4 = (ctype)ctype<char>::widen(in_stack_ffffff74,(char)uVar15);\n    }\n    else {\n      cVar4 = this_00[0x4a];\n    }\n    if (cVar3 != cVar4) {\n      cVar3 = (ctype)istreambuf_iterator<char,std::char_traits<char>>::_M_get();\n      if (this_00[0x1c] == (ctype)0x0) {\n        cVar4 = (ctype)ctype<char>::widen(in_stack_ffffff74,(char)uVar15);\n      }\n      else {\n        cVar4 = this_00[0x48];\n      }\n      if (cVar3 != cVar4) break;\n    }\n    _M_extract_num(&local_64,param_2,param_3,param_4,param_5,param_6,&local_4c,0,0x17,2,param_7,\n                   &local_54);\n    param_3 = local_64;\n    param_4 = uStack_60;\n    _M_extract_num(&local_64,param_2,local_64,uStack_60,param_5,param_6,&local_4c,0,0x3b,2,param_7,\n                   &local_54);\n    goto LAB_00201b6c;\n  case (ctype)0x61:\n    iVar7 = *(int *)(this + 8);\n    local_4c = *(char **)(iVar7 + 0x48);\n    local_48 = *(undefined4 *)(iVar7 + 0x4c);\n    local_44 = *(undefined4 *)(iVar7 + 0x50);\n    local_40 = *(undefined4 *)(iVar7 + 0x54);\n    local_3c = *(undefined4 *)(iVar7 + 0x58);\n    local_38 = *(undefined4 *)(iVar7 + 0x5c);\n    local_34 = *(undefined4 *)(iVar7 + 0x60);\nLAB_00201f34:\n    _M_extract_name(&local_64,param_2,param_3,param_4,param_5,param_6,&local_50,&local_4c,7,param_7,\n                    &local_54);\n    param_3 = local_64;\n    param_4 = uStack_60;\n    if (local_54 == 0) {\n      param_9[6] = local_50;\n    }\n    break;\n  case (ctype)0x62:\n  case (ctype)0x68:\n    __timepunct<char>::_M_months_abbreviated((__timepunct<char> *)this,&local_4c);\nLAB_00201fd1:\n    _M_extract_name(&local_64,param_2,param_3,param_4,param_5,param_6,&local_50,&local_4c,0xc,\n                    param_7,&local_54);\n    param_3 = local_64;\n    param_4 = uStack_60;\n    if (local_54 == 0) {\n      param_9[4] = local_50;\n    }\n    break;\n  case (ctype)0x63:\n    ppcVar12 = *(char ***)(*(int *)(this + 8) + 0x18);\n    goto LAB_00201b30;\n  case (ctype)0x64:\n    uVar13 = 2;\n    uVar11 = 0x1f;\n    uVar10 = 1;\n    goto LAB_002021b6;\n  case (ctype)0x65:\n    uVar9 = istreambuf_iterator<char,std::char_traits<char>>::_M_get();\n    if ((*(byte *)(*(int *)(this_00 + 0x18) + 1 + (uVar9 & 0xff) * 2) & 0x20) == 0) {\n      uVar13 = 2;\n      uVar11 = 0x1f;\n      uVar10 = 10;\n    }\n    else {\n      streambuf::sbumpc(param_3);\n      param_4 = 0xffffffff;\n      uVar13 = 1;\n      uVar11 = 9;\n      uVar10 = 1;\n    }\nLAB_002021b6:\n    _M_extract_num(&local_64,param_2,param_3,param_4,param_5,param_6,&local_50,uVar10,uVar11,uVar13,\n                   param_7,&local_54);\n    param_3 = local_64;\n    param_4 = uStack_60;\n    if (local_54 == 0) {\n      param_9[3] = local_50;\n    }\n    break;\n  case (ctype)0x6d:\n    _M_extract_num(&local_64,param_2,param_3,param_4,param_5,param_6,&local_50,1,0xc,2,param_7,\n                   &local_54);\n    param_3 = local_64;\n    param_4 = uStack_60;\n    if (local_54 == 0) {\n      param_9[4] = local_50 + -1;\n    }\n    break;\n  case (ctype)0x6e:\n    cVar4 = (ctype)istreambuf_iterator<char,std::char_traits<char>>::_M_get();\n    cVar3 = this_00[(byte)cVar4 + 0x11d];\n    if (cVar3 == (ctype)0x0) {\n      cVar3 = cVar4;\n      if (*(code **)(*(int *)this_00 + 0x20) != (code *)PTR_do_narrow_0038ed98) {\n        cVar3 = (ctype)(**(code **)(*(int *)this_00 + 0x20))(this_00,(int)(char)cVar4,0);\n      }\n      if (cVar3 == (ctype)0x0) goto _L2028;\n      this_00[(byte)cVar4 + 0x11d] = cVar3;\n    }\n    if (cVar3 != (ctype)0xa) goto _L2028;\nLAB_00202346:\n    streambuf::sbumpc(param_3);\n    param_4 = 0xffffffff;\n    break;\n  case (ctype)0x74:\n    cVar4 = (ctype)istreambuf_iterator<char,std::char_traits<char>>::_M_get();\n    cVar3 = this_00[(byte)cVar4 + 0x11d];\n    if (cVar3 == (ctype)0x0) {\n      cVar3 = cVar4;\n      if (*(code **)(*(int *)this_00 + 0x20) != ctype<char>::do_narrow) {\n        cVar3 = (ctype)(**(code **)(*(int *)this_00 + 0x20))(this_00,(int)(char)cVar4,0);\n      }\n      if (cVar3 == (ctype)0x0) goto _L2028;\n      this_00[(byte)cVar4 + 0x11d] = cVar3;\n    }\n    if (cVar3 == (ctype)0x9) goto LAB_00202346;\n    goto _L2028;\n  case (ctype)0x78:\n    ppcVar12 = *(char ***)(*(int *)(this + 8) + 8);\nLAB_00201b30:\n    _M_extract_via_format\n              (&local_64,param_2,param_3,param_4,param_5,param_6,param_7,&local_54,param_9,ppcVar12)\n    ;\nLAB_00201b6c:\n    param_3 = local_64;\n    param_4 = uStack_60;\n  }\nLAB_00201ac0:\n  uVar9 = uVar15 + 1;\n  goto LAB_0020189b;\n_L2028:\n  local_54 = local_54 | 4;\n  goto LAB_00201ac0;\n}\n\n" comment comment (ERROR "undefined4 *\nstd::time_get<char," (binary_expression "undefined4 *\nstd::time_get<char" (binary_expression "undefined4 *\nstd" identifier * identifier) (ERROR "::time_get" : : identifier) < identifier) ,) (labeled_statement "std::istreambuf_iterator<char,std::char_traits<char>>>::_M_extract_via_format\n          (undefined4 *param_1,undefined4 param_2,streambuf *param_3,undefined4 param_4,\n          undefined4 param_5,undefined4 param_6,int param_7,uint *param_8,int *param_9,\n          char *param_10)" statement_identifier (ERROR "::istreambuf_iterator<char,std:" : : (comma_expression "istreambuf_iterator<char,std" (binary_expression "istreambuf_iterator<char" identifier < identifier) , identifier) :) : (expression_statement "char_traits<char>>>::_M_extract_via_format\n          (undefined4 *param_1,undefined4 param_2,streambuf *param_3,undefined4 param_4,\n          undefined4 param_5,undefined4 param_6,int param_7,uint *param_8,int *param_9,\n          char *param_10)" (binary_expression "char_traits<char>>>::_M_extract_via_format\n          (undefined4 *param_1,undefined4 param_2,streambuf *param_3,undefined4 param_4,\n          undefined4 param_5,undefined4 param_6,int param_7,uint *param_8,int *param_9,\n          char *param_10)" identifier < (binary_expression "char>>>::_M_extract_via_format\n          (undefined4 *param_1,undefined4 param_2,streambuf *param_3,undefined4 param_4,\n          undefined4 param_5,undefined4 param_6,int param_7,uint *param_8,int *param_9,\n          char *param_10)" identifier >> (ERROR ">::" > : :) (call_expression "_M_extract_via_format\n          (undefined4 *param_1,undefined4 param_2,streambuf *param_3,undefined4 param_4,\n          undefined4 param_5,undefined4 param_6,int param_7,uint *param_8,int *param_9,\n          char *param_10)" identifier (argument_list "(undefined4 *param_1,undefined4 param_2,streambuf *param_3,undefined4 param_4,\n          undefined4 param_5,undefined4 param_6,int param_7,uint *param_8,int *param_9,\n          char *param_10)" ( (binary_expression "undefined4 *param_1" identifier * identifier) , identifier (ERROR "param_2" identifier) , (binary_expression "streambuf *param_3" identifier * identifier) , identifier (ERROR "param_4" identifier) , identifier (ERROR "param_5" identifier) , identifier (ERROR "param_6" identifier) , (ERROR "int" identifier) identifier , (binary_expression "uint *param_8" identifier * identifier) , (binary_expression "int *param_9" identifier * identifier) , (binary_expression "char *param_10" identifier * identifier) ))))) ;)) (compound_statement "{\n  locale *plVar1;\n  char cVar2;\n  ctype cVar3;\n  ctype cVar4;\n  __timepunct *this;\n  ctype *this_00;\n  size_t sVar5;\n  char *pcVar6;\n  int iVar7;\n  ctype *pcVar8;\n  uint uVar9;\n  undefined4 uVar10;\n  undefined4 uVar11;\n  char **ppcVar12;\n  undefined4 uVar13;\n  char *pcVar14;\n  ctype<char> *in_stack_ffffff74;\n  uint uVar15;\n  streambuf *local_64;\n  undefined4 uStack_60;\n  uint local_54;\n  int local_50;\n  char *local_4c;\n  undefined4 local_48;\n  undefined4 local_44;\n  undefined4 local_40;\n  undefined4 local_3c;\n  undefined4 local_38;\n  undefined4 local_34;\n  undefined4 uStack_14;\n  \n  uVar9 = 0;\n  uStack_14 = 0x20182b;\n  plVar1 = (locale *)(param_7 + 0x6c);\n  this = use_facet<std::__timepunct<char>>(plVar1);\n  this_00 = use_facet<std::ctype<char>>(plVar1);\n  sVar5 = strlen(param_10);\n  local_54 = 0;\nLAB_0020189b:\n  cVar2 = istreambuf_iterator<char,std::char_traits<char>>::equal\n                    ((istreambuf_iterator<char,std::char_traits<char>> *)&param_3,\n                     (istreambuf_iterator *)&param_5);\n  if ((cVar2 == '\x01') || (sVar5 <= uVar9)) {\n    if ((local_54 != 0) || (uVar9 != sVar5)) {\nLAB_00201a0e:\n      *param_8 = *param_8 | 4;\n    }\n    *param_1 = param_3;\n    param_1[1] = param_4;\n    return param_1;\n  }\n  if (local_54 != 0) goto LAB_00201a0e;\n  pcVar8 = (ctype *)(param_10 + uVar9);\n  cVar3 = *pcVar8;\n  uVar15 = uVar9 + 1;\n  cVar4 = this_00[(byte)cVar3 + 0x11d];\n  if (cVar4 == (ctype)0x0) {\n    cVar4 = cVar3;\n    if (*(code **)(*(int *)this_00 + 0x20) != (code *)PTR_do_narrow_0038ed98) {\n      cVar4 = (ctype)(**(code **)(*(int *)this_00 + 0x20))(this_00,(int)(char)cVar3,0);\n    }\n    if (cVar4 != (ctype)0x0) {\n      this_00[(byte)cVar3 + 0x11d] = cVar4;\n      goto LAB_00201910;\n    }\nLAB_00201980:\n    uVar9 = uVar15;\n    cVar3 = *pcVar8;\n    cVar4 = (ctype)istreambuf_iterator<char,std::char_traits<char>>::_M_get();\n    if (cVar3 == cVar4) {\n      streambuf::sbumpc(param_3);\n      param_4 = 0xffffffff;\n    }\n    else {\n      local_54 = local_54 | 4;\n    }\n    goto LAB_0020189b;\n  }\nLAB_00201910:\n  if (cVar4 != (ctype)0x25) goto LAB_00201980;\n  cVar3 = *(ctype *)(param_10 + uVar9 + 1);\n  cVar4 = this_00[(byte)cVar3 + 0x11d];\n  if (cVar4 == (ctype)0x0) {\n    cVar4 = cVar3;\n    if (*(code **)(*(int *)this_00 + 0x20) != (code *)PTR_do_narrow_0038ed98) {\n      cVar4 = (ctype)(**(code **)(*(int *)this_00 + 0x20))(this_00,(int)(char)cVar3,0);\n    }\n    if (cVar4 != (ctype)0x0) {\n      this_00[(byte)cVar3 + 0x11d] = cVar4;\n      goto LAB_00201951;\n    }\n    goto _L2028;\n  }\nLAB_00201951:\n  local_50 = 0;\n  if ((cVar4 == (ctype)0x45) || (cVar4 == (ctype)0x4f)) {\n    uVar15 = uVar9 + 2;\n    cVar3 = *(ctype *)(param_10 + uVar9 + 2);\n    cVar4 = this_00[(byte)cVar3 + 0x11d];\n    if (cVar4 == (ctype)0x0) {\n      cVar4 = cVar3;\n      if (*(code **)(*(int *)this_00 + 0x20) != (code *)PTR_do_narrow_0038ed98) {\n        cVar4 = (ctype)(**(code **)(*(int *)this_00 + 0x20))(this_00,(int)(char)cVar3,0);\n      }\n      if (cVar4 == (ctype)0x0) goto _L2028;\n      this_00[(byte)cVar3 + 0x11d] = cVar4;\n    }\n  }\n  switch(cVar4) {\n  case (ctype)0x41:\n    iVar7 = *(int *)(this + 8);\n    local_4c = *(char **)(iVar7 + 0x2c);\n    local_48 = *(undefined4 *)(iVar7 + 0x30);\n    local_44 = *(undefined4 *)(iVar7 + 0x34);\n    local_40 = *(undefined4 *)(iVar7 + 0x38);\n    local_3c = *(undefined4 *)(iVar7 + 0x3c);\n    local_38 = *(undefined4 *)(iVar7 + 0x40);\n    local_34 = *(undefined4 *)(iVar7 + 0x44);\n    goto LAB_00201f34;\n  case (ctype)0x42:\n    __timepunct<char>::_M_months((__timepunct<char> *)this,&local_4c);\n    goto LAB_00201fd1;\n  case (ctype)0x43:\n  case (ctype)0x59:\n  case (ctype)0x79:\n    _M_extract_num(&local_64,param_2,param_3,param_4,param_5,param_6,&local_50,0,9999,4,param_7,\n                   &local_54);\n    param_3 = local_64;\n    param_4 = uStack_60;\n    if (local_54 == 0) {\n      iVar7 = local_50 + -0x76c;\n      if (local_50 < 0) {\n        iVar7 = local_50 + 100;\n      }\n      param_9[5] = iVar7;\n    }\n    break;\n  case (ctype)0x44:\n    pcVar14 = "%H:%M";\n    pcVar6 = "%m/%d/%y";\n    goto LAB_00201ca2;\n  default:\n    goto _L2028;\n  case (ctype)0x48:\n    uVar11 = 0x17;\n    uVar10 = 0;\n    goto LAB_00201ba6;\n  case (ctype)0x49:\n    uVar11 = 0xc;\n    uVar10 = 1;\nLAB_00201ba6:\n    _M_extract_num(&local_64,param_2,param_3,param_4,param_5,param_6,&local_50,uVar10,uVar11,2,\n                   param_7,&local_54);\n    param_3 = local_64;\n    param_4 = uStack_60;\n    if (local_54 == 0) {\n      param_9[2] = local_50;\n    }\n    break;\n  case (ctype)0x4d:\n    _M_extract_num(&local_64,param_2,param_3,param_4,param_5,param_6,&local_50,0,0x3b,2,param_7,\n                   &local_54);\n    param_3 = local_64;\n    param_4 = uStack_60;\n    if (local_54 == 0) {\n      param_9[1] = local_50;\n    }\n    break;\n  case (ctype)0x52:\n    pcVar14 = "%H:%M:%S";\n    pcVar6 = "%H:%M";\n    goto LAB_00201ca2;\n  case (ctype)0x53:\n    _M_extract_num(&local_64,param_2,param_3,param_4,param_5,param_6,&local_50,0,0x3c,2,param_7,\n                   &local_54);\n    param_3 = local_64;\n    param_4 = uStack_60;\n    if (local_54 == 0) {\n      *param_9 = local_50;\n    }\n    break;\n  case (ctype)0x54:\n    pcVar14 = "";\n    pcVar6 = "%H:%M:%S";\nLAB_00201ca2:\n    ppcVar12 = &local_4c;\n    ctype<char>::widen((ctype<char> *)this_00,pcVar6,pcVar14,(char *)ppcVar12);\n    goto LAB_00201b30;\n  case (ctype)0x58:\n    ppcVar12 = *(char ***)(*(int *)(this + 8) + 0x10);\n    goto LAB_00201b30;\n  case (ctype)0x5a:\n    uVar9 = istreambuf_iterator<char,std::char_traits<char>>::_M_get();\n    if ((*(byte *)(*(int *)(this_00 + 0x18) + 1 + (uVar9 & 0xff) * 2) & 1) == 0) goto _L2028;\n    _M_extract_name(&local_64,param_2,param_3,param_4,param_5,param_6,&local_4c,\n                    __timepunct_cache<char>::_S_timezones,0xe,param_7,&local_54);\n    param_3 = local_64;\n    param_4 = uStack_60;\n    cVar2 = istreambuf_iterator<char,std::char_traits<char>>::equal\n                      ((istreambuf_iterator<char,std::char_traits<char>> *)&param_3,\n                       (istreambuf_iterator *)&param_5);\n    if ((cVar2 != '\0') || (local_54 != 0 || local_4c != (char *)0x0)) break;\n    cVar3 = (ctype)istreambuf_iterator<char,std::char_traits<char>>::_M_get();\n    if (this_00[0x1c] == (ctype)0x0) {\n      cVar4 = (ctype)ctype<char>::widen(in_stack_ffffff74,(char)uVar15);\n    }\n    else {\n      cVar4 = this_00[0x4a];\n    }\n    if (cVar3 != cVar4) {\n      cVar3 = (ctype)istreambuf_iterator<char,std::char_traits<char>>::_M_get();\n      if (this_00[0x1c] == (ctype)0x0) {\n        cVar4 = (ctype)ctype<char>::widen(in_stack_ffffff74,(char)uVar15);\n      }\n      else {\n        cVar4 = this_00[0x48];\n      }\n      if (cVar3 != cVar4) break;\n    }\n    _M_extract_num(&local_64,param_2,param_3,param_4,param_5,param_6,&local_4c,0,0x17,2,param_7,\n                   &local_54);\n    param_3 = local_64;\n    param_4 = uStack_60;\n    _M_extract_num(&local_64,param_2,local_64,uStack_60,param_5,param_6,&local_4c,0,0x3b,2,param_7,\n                   &local_54);\n    goto LAB_00201b6c;\n  case (ctype)0x61:\n    iVar7 = *(int *)(this + 8);\n    local_4c = *(char **)(iVar7 + 0x48);\n    local_48 = *(undefined4 *)(iVar7 + 0x4c);\n    local_44 = *(undefined4 *)(iVar7 + 0x50);\n    local_40 = *(undefined4 *)(iVar7 + 0x54);\n    local_3c = *(undefined4 *)(iVar7 + 0x58);\n    local_38 = *(undefined4 *)(iVar7 + 0x5c);\n    local_34 = *(undefined4 *)(iVar7 + 0x60);\nLAB_00201f34:\n    _M_extract_name(&local_64,param_2,param_3,param_4,param_5,param_6,&local_50,&local_4c,7,param_7,\n                    &local_54);\n    param_3 = local_64;\n    param_4 = uStack_60;\n    if (local_54 == 0) {\n      param_9[6] = local_50;\n    }\n    break;\n  case (ctype)0x62:\n  case (ctype)0x68:\n    __timepunct<char>::_M_months_abbreviated((__timepunct<char> *)this,&local_4c);\nLAB_00201fd1:\n    _M_extract_name(&local_64,param_2,param_3,param_4,param_5,param_6,&local_50,&local_4c,0xc,\n                    param_7,&local_54);\n    param_3 = local_64;\n    param_4 = uStack_60;\n    if (local_54 == 0) {\n      param_9[4] = local_50;\n    }\n    break;\n  case (ctype)0x63:\n    ppcVar12 = *(char ***)(*(int *)(this + 8) + 0x18);\n    goto LAB_00201b30;\n  case (ctype)0x64:\n    uVar13 = 2;\n    uVar11 = 0x1f;\n    uVar10 = 1;\n    goto LAB_002021b6;\n  case (ctype)0x65:\n    uVar9 = istreambuf_iterator<char,std::char_traits<char>>::_M_get();\n    if ((*(byte *)(*(int *)(this_00 + 0x18) + 1 + (uVar9 & 0xff) * 2) & 0x20) == 0) {\n      uVar13 = 2;\n      uVar11 = 0x1f;\n      uVar10 = 10;\n    }\n    else {\n      streambuf::sbumpc(param_3);\n      param_4 = 0xffffffff;\n      uVar13 = 1;\n      uVar11 = 9;\n      uVar10 = 1;\n    }\nLAB_002021b6:\n    _M_extract_num(&local_64,param_2,param_3,param_4,param_5,param_6,&local_50,uVar10,uVar11,uVar13,\n                   param_7,&local_54);\n    param_3 = local_64;\n    param_4 = uStack_60;\n    if (local_54 == 0) {\n      param_9[3] = local_50;\n    }\n    break;\n  case (ctype)0x6d:\n    _M_extract_num(&local_64,param_2,param_3,param_4,param_5,param_6,&local_50,1,0xc,2,param_7,\n                   &local_54);\n    param_3 = local_64;\n    param_4 = uStack_60;\n    if (local_54 == 0) {\n      param_9[4] = local_50 + -1;\n    }\n    break;\n  case (ctype)0x6e:\n    cVar4 = (ctype)istreambuf_iterator<char,std::char_traits<char>>::_M_get();\n    cVar3 = this_00[(byte)cVar4 + 0x11d];\n    if (cVar3 == (ctype)0x0) {\n      cVar3 = cVar4;\n      if (*(code **)(*(int *)this_00 + 0x20) != (code *)PTR_do_narrow_0038ed98) {\n        cVar3 = (ctype)(**(code **)(*(int *)this_00 + 0x20))(this_00,(int)(char)cVar4,0);\n      }\n      if (cVar3 == (ctype)0x0) goto _L2028;\n      this_00[(byte)cVar4 + 0x11d] = cVar3;\n    }\n    if (cVar3 != (ctype)0xa) goto _L2028;\nLAB_00202346:\n    streambuf::sbumpc(param_3);\n    param_4 = 0xffffffff;\n    break;\n  case (ctype)0x74:\n    cVar4 = (ctype)istreambuf_iterator<char,std::char_traits<char>>::_M_get();\n    cVar3 = this_00[(byte)cVar4 + 0x11d];\n    if (cVar3 == (ctype)0x0) {\n      cVar3 = cVar4;\n      if (*(code **)(*(int *)this_00 + 0x20) != ctype<char>::do_narrow) {\n        cVar3 = (ctype)(**(code **)(*(int *)this_00 + 0x20))(this_00,(int)(char)cVar4,0);\n      }\n      if (cVar3 == (ctype)0x0) goto _L2028;\n      this_00[(byte)cVar4 + 0x11d] = cVar3;\n    }\n    if (cVar3 == (ctype)0x9) goto LAB_00202346;\n    goto _L2028;\n  case (ctype)0x78:\n    ppcVar12 = *(char ***)(*(int *)(this + 8) + 8);\nLAB_00201b30:\n    _M_extract_via_format\n              (&local_64,param_2,param_3,param_4,param_5,param_6,param_7,&local_54,param_9,ppcVar12)\n    ;\nLAB_00201b6c:\n    param_3 = local_64;\n    param_4 = uStack_60;\n  }\nLAB_00201ac0:\n  uVar9 = uVar15 + 1;\n  goto LAB_0020189b;\n_L2028:\n  local_54 = local_54 | 4;\n  goto LAB_00201ac0;\n}" { (declaration "locale *plVar1;" type_identifier (pointer_declarator "*plVar1" * identifier) ;) (declaration "char cVar2;" primitive_type identifier ;) (declaration "ctype cVar3;" type_identifier identifier ;) (declaration "ctype cVar4;" type_identifier identifier ;) (declaration "__timepunct *this;" type_identifier (pointer_declarator "*this" * identifier) ;) (declaration "ctype *this_00;" type_identifier (pointer_declarator "*this_00" * identifier) ;) (declaration "size_t sVar5;" primitive_type identifier ;) (declaration "char *pcVar6;" primitive_type (pointer_declarator "*pcVar6" * identifier) ;) (declaration "int iVar7;" primitive_type identifier ;) (declaration "ctype *pcVar8;" type_identifier (pointer_declarator "*pcVar8" * identifier) ;) (declaration "uint uVar9;" type_identifier identifier ;) (declaration "undefined4 uVar10;" type_identifier identifier ;) (declaration "undefined4 uVar11;" type_identifier identifier ;) (declaration "char **ppcVar12;" primitive_type (pointer_declarator "**ppcVar12" * (pointer_declarator "*ppcVar12" * identifier)) ;) (declaration "undefined4 uVar13;" type_identifier identifier ;) (declaration "char *pcVar14;" primitive_type (pointer_declarator "*pcVar14" * identifier) ;) (expression_statement "ctype<char> *in_stack_ffffff74;" (binary_expression "ctype<char> *in_stack_ffffff74" (binary_expression "ctype<char" identifier < identifier) > (pointer_expression "*in_stack_ffffff74" * identifier)) ;) (declaration "uint uVar15;" type_identifier identifier ;) (declaration "streambuf *local_64;" type_identifier (pointer_declarator "*local_64" * identifier) ;) (declaration "undefined4 uStack_60;" type_identifier identifier ;) (declaration "uint local_54;" type_identifier identifier ;) (declaration "int local_50;" primitive_type identifier ;) (declaration "char *local_4c;" primitive_type (pointer_declarator "*local_4c" * identifier) ;) (declaration "undefined4 local_48;" type_identifier identifier ;) (declaration "undefined4 local_44;" type_identifier identifier ;) (declaration "undefined4 local_40;" type_identifier identifier ;) (declaration "undefined4 local_3c;" type_identifier identifier ;) (declaration "undefined4 local_38;" type_identifier identifier ;) (declaration "undefined4 local_34;" type_identifier identifier ;) (declaration "undefined4 uStack_14;" type_identifier identifier ;) (expression_statement "uVar9 = 0;" (assignment_expression "uVar9 = 0" identifier = number_literal) ;) (expression_statement "uStack_14 = 0x20182b;" (assignment_expression "uStack_14 = 0x20182b" identifier = number_literal) ;) (expression_statement "plVar1 = (locale *)(param_7 + 0x6c);" (assignment_expression "plVar1 = (locale *)(param_7 + 0x6c)" identifier = (cast_expression "(locale *)(param_7 + 0x6c)" ( (type_descriptor "locale *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_7 + 0x6c)" ( (binary_expression "param_7 + 0x6c" identifier + number_literal) )))) ;) (expression_statement "this = use_facet<std::__timepunct<char>>(plVar1);" (binary_expression "this = use_facet<std::__timepunct<char>>(plVar1)" (assignment_expression "this = use_facet<std" identifier = (binary_expression "use_facet<std" identifier < identifier)) (ERROR "::__timepunct" : : identifier) < (binary_expression "char>>(plVar1)" identifier >> (parenthesized_expression "(plVar1)" ( identifier )))) ;) (expression_statement "this_00 = use_facet<std::ctype<char>>(plVar1);" (binary_expression "this_00 = use_facet<std::ctype<char>>(plVar1)" (assignment_expression "this_00 = use_facet<std" identifier = (binary_expression "use_facet<std" identifier < identifier)) (ERROR "::ctype" : : identifier) < (binary_expression "char>>(plVar1)" identifier >> (parenthesized_expression "(plVar1)" ( identifier )))) ;) (expression_statement "sVar5 = strlen(param_10);" (assignment_expression "sVar5 = strlen(param_10)" identifier = (call_expression "strlen(param_10)" identifier (argument_list "(param_10)" ( identifier )))) ;) (expression_statement "local_54 = 0;" (assignment_expression "local_54 = 0" identifier = number_literal) ;) (labeled_statement "LAB_0020189b:\n  cVar2 = istreambuf_iterator<char,std::char_traits<char>>::equal\n                    ((istreambuf_iterator<char,std::char_traits<char>> *)&param_3,\n                     (istreambuf_iterator *)&param_5);" statement_identifier : (ERROR "cVar2 = istreambuf_iterator<char,std::" (comma_expression "cVar2 = istreambuf_iterator<char,std" (assignment_expression "cVar2 = istreambuf_iterator<char" identifier = (binary_expression "istreambuf_iterator<char" identifier < identifier)) , identifier) : :) (expression_statement "char_traits<char>>::equal\n                    ((istreambuf_iterator<char,std::char_traits<char>> *)&param_3,\n                     (istreambuf_iterator *)&param_5);" (binary_expression "char_traits<char>>::equal\n                    ((istreambuf_iterator<char,std::char_traits<char>> *)&param_3,\n                     (istreambuf_iterator *)&param_5)" identifier < (binary_expression "char>>::equal\n                    ((istreambuf_iterator<char,std::char_traits<char>> *)&param_3,\n                     (istreambuf_iterator *)&param_5)" identifier >> (ERROR "::" : :) (call_expression "equal\n                    ((istreambuf_iterator<char,std::char_traits<char>> *)&param_3,\n                     (istreambuf_iterator *)&param_5)" identifier (argument_list "((istreambuf_iterator<char,std::char_traits<char>> *)&param_3,\n                     (istreambuf_iterator *)&param_5)" ( (binary_expression "(istreambuf_iterator<char,std::char_traits<char>> *)&param_3" (parenthesized_expression "(istreambuf_iterator<char,std::char_traits<char>> *)" ( (ERROR "istreambuf_iterator<char,std::" (comma_expression "istreambuf_iterator<char,std" (binary_expression "istreambuf_iterator<char" identifier < identifier) , identifier) : :) (binary_expression "char_traits<char>> *" identifier < (binary_expression "char>> *" identifier >> (pointer_expression "*" * identifier))) )) & identifier) , (cast_expression "(istreambuf_iterator *)&param_5" ( (type_descriptor "istreambuf_iterator *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&param_5" & identifier)) ))))) ;)) (if_statement "if ((cVar2 == '\x01') || (sVar5 <= uVar9)) {\n    if ((local_54 != 0) || (uVar9 != sVar5)) {\nLAB_00201a0e:\n      *param_8 = *param_8 | 4;\n    }\n    *param_1 = param_3;\n    param_1[1] = param_4;\n    return param_1;\n  }" if (parenthesized_expression "((cVar2 == '\x01') || (sVar5 <= uVar9))" ( (binary_expression "(cVar2 == '\x01') || (sVar5 <= uVar9)" (parenthesized_expression "(cVar2 == '\x01')" ( (binary_expression "cVar2 == '\x01'" identifier == (char_literal "'\x01'" ' escape_sequence ')) )) || (parenthesized_expression "(sVar5 <= uVar9)" ( (binary_expression "sVar5 <= uVar9" identifier <= identifier) ))) )) (compound_statement "{\n    if ((local_54 != 0) || (uVar9 != sVar5)) {\nLAB_00201a0e:\n      *param_8 = *param_8 | 4;\n    }\n    *param_1 = param_3;\n    param_1[1] = param_4;\n    return param_1;\n  }" { (if_statement "if ((local_54 != 0) || (uVar9 != sVar5)) {\nLAB_00201a0e:\n      *param_8 = *param_8 | 4;\n    }" if (parenthesized_expression "((local_54 != 0) || (uVar9 != sVar5))" ( (binary_expression "(local_54 != 0) || (uVar9 != sVar5)" (parenthesized_expression "(local_54 != 0)" ( (binary_expression "local_54 != 0" identifier != number_literal) )) || (parenthesized_expression "(uVar9 != sVar5)" ( (binary_expression "uVar9 != sVar5" identifier != identifier) ))) )) (compound_statement "{\nLAB_00201a0e:\n      *param_8 = *param_8 | 4;\n    }" { (labeled_statement "LAB_00201a0e:\n      *param_8 = *param_8 | 4;" statement_identifier : (expression_statement "*param_8 = *param_8 | 4;" (assignment_expression "*param_8 = *param_8 | 4" (pointer_expression "*param_8" * identifier) = (binary_expression "*param_8 | 4" (pointer_expression "*param_8" * identifier) | number_literal)) ;)) })) (expression_statement "*param_1 = param_3;" (assignment_expression "*param_1 = param_3" (pointer_expression "*param_1" * identifier) = identifier) ;) (expression_statement "param_1[1] = param_4;" (assignment_expression "param_1[1] = param_4" (subscript_expression "param_1[1]" identifier [ number_literal ]) = identifier) ;) (return_statement "return param_1;" return identifier ;) })) (if_statement "if (local_54 != 0) goto LAB_00201a0e;" if (parenthesized_expression "(local_54 != 0)" ( (binary_expression "local_54 != 0" identifier != number_literal) )) (goto_statement "goto LAB_00201a0e;" goto statement_identifier ;)) (expression_statement "pcVar8 = (ctype *)(param_10 + uVar9);" (assignment_expression "pcVar8 = (ctype *)(param_10 + uVar9)" identifier = (cast_expression "(ctype *)(param_10 + uVar9)" ( (type_descriptor "ctype *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_10 + uVar9)" ( (binary_expression "param_10 + uVar9" identifier + identifier) )))) ;) (expression_statement "cVar3 = *pcVar8;" (assignment_expression "cVar3 = *pcVar8" identifier = (pointer_expression "*pcVar8" * identifier)) ;) (expression_statement "uVar15 = uVar9 + 1;" (assignment_expression "uVar15 = uVar9 + 1" identifier = (binary_expression "uVar9 + 1" identifier + number_literal)) ;) (expression_statement "cVar4 = this_00[(byte)cVar3 + 0x11d];" (assignment_expression "cVar4 = this_00[(byte)cVar3 + 0x11d]" identifier = (subscript_expression "this_00[(byte)cVar3 + 0x11d]" identifier [ (binary_expression "(byte)cVar3 + 0x11d" (cast_expression "(byte)cVar3" ( (type_descriptor "byte" type_identifier) ) identifier) + number_literal) ])) ;) (if_statement "if (cVar4 == (ctype)0x0) {\n    cVar4 = cVar3;\n    if (*(code **)(*(int *)this_00 + 0x20) != (code *)PTR_do_narrow_0038ed98) {\n      cVar4 = (ctype)(**(code **)(*(int *)this_00 + 0x20))(this_00,(int)(char)cVar3,0);\n    }\n    if (cVar4 != (ctype)0x0) {\n      this_00[(byte)cVar3 + 0x11d] = cVar4;\n      goto LAB_00201910;\n    }\nLAB_00201980:\n    uVar9 = uVar15;\n    cVar3 = *pcVar8;\n    cVar4 = (ctype)istreambuf_iterator<char,std::char_traits<char>>::_M_get();\n    if (cVar3 == cVar4) {\n      streambuf::sbumpc(param_3);\n      param_4 = 0xffffffff;\n    }\n    else {\n      local_54 = local_54 | 4;\n    }\n    goto LAB_0020189b;\n  }" if (parenthesized_expression "(cVar4 == (ctype)0x0)" ( (binary_expression "cVar4 == (ctype)0x0" identifier == (cast_expression "(ctype)0x0" ( (type_descriptor "ctype" type_identifier) ) number_literal)) )) (compound_statement "{\n    cVar4 = cVar3;\n    if (*(code **)(*(int *)this_00 + 0x20) != (code *)PTR_do_narrow_0038ed98) {\n      cVar4 = (ctype)(**(code **)(*(int *)this_00 + 0x20))(this_00,(int)(char)cVar3,0);\n    }\n    if (cVar4 != (ctype)0x0) {\n      this_00[(byte)cVar3 + 0x11d] = cVar4;\n      goto LAB_00201910;\n    }\nLAB_00201980:\n    uVar9 = uVar15;\n    cVar3 = *pcVar8;\n    cVar4 = (ctype)istreambuf_iterator<char,std::char_traits<char>>::_M_get();\n    if (cVar3 == cVar4) {\n      streambuf::sbumpc(param_3);\n      param_4 = 0xffffffff;\n    }\n    else {\n      local_54 = local_54 | 4;\n    }\n    goto LAB_0020189b;\n  }" { (expression_statement "cVar4 = cVar3;" (assignment_expression "cVar4 = cVar3" identifier = identifier) ;) (if_statement "if (*(code **)(*(int *)this_00 + 0x20) != (code *)PTR_do_narrow_0038ed98) {\n      cVar4 = (ctype)(**(code **)(*(int *)this_00 + 0x20))(this_00,(int)(char)cVar3,0);\n    }" if (parenthesized_expression "(*(code **)(*(int *)this_00 + 0x20) != (code *)PTR_do_narrow_0038ed98)" ( (binary_expression "*(code **)(*(int *)this_00 + 0x20) != (code *)PTR_do_narrow_0038ed98" (pointer_expression "*(code **)(*(int *)this_00 + 0x20)" * (cast_expression "(code **)(*(int *)this_00 + 0x20)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)this_00 + 0x20)" ( (binary_expression "*(int *)this_00 + 0x20" (pointer_expression "*(int *)this_00" * (cast_expression "(int *)this_00" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) + number_literal) )))) != (cast_expression "(code *)PTR_do_narrow_0038ed98" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (compound_statement "{\n      cVar4 = (ctype)(**(code **)(*(int *)this_00 + 0x20))(this_00,(int)(char)cVar3,0);\n    }" { (expression_statement "cVar4 = (ctype)(**(code **)(*(int *)this_00 + 0x20))(this_00,(int)(char)cVar3,0);" (assignment_expression "cVar4 = (ctype)(**(code **)(*(int *)this_00 + 0x20))(this_00,(int)(char)cVar3,0)" identifier = (call_expression "(ctype)(**(code **)(*(int *)this_00 + 0x20))(this_00,(int)(char)cVar3,0)" (call_expression "(ctype)(**(code **)(*(int *)this_00 + 0x20))" (parenthesized_expression "(ctype)" ( identifier )) (argument_list "(**(code **)(*(int *)this_00 + 0x20))" ( (pointer_expression "**(code **)(*(int *)this_00 + 0x20)" * (pointer_expression "*(code **)(*(int *)this_00 + 0x20)" * (cast_expression "(code **)(*(int *)this_00 + 0x20)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)this_00 + 0x20)" ( (binary_expression "*(int *)this_00 + 0x20" (pointer_expression "*(int *)this_00" * (cast_expression "(int *)this_00" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) + number_literal) ))))) ))) (argument_list "(this_00,(int)(char)cVar3,0)" ( identifier , (cast_expression "(int)(char)cVar3" ( (type_descriptor "int" primitive_type) ) (cast_expression "(char)cVar3" ( (type_descriptor "char" primitive_type) ) identifier)) , number_literal )))) ;) })) (if_statement "if (cVar4 != (ctype)0x0) {\n      this_00[(byte)cVar3 + 0x11d] = cVar4;\n      goto LAB_00201910;\n    }" if (parenthesized_expression "(cVar4 != (ctype)0x0)" ( (binary_expression "cVar4 != (ctype)0x0" identifier != (cast_expression "(ctype)0x0" ( (type_descriptor "ctype" type_identifier) ) number_literal)) )) (compound_statement "{\n      this_00[(byte)cVar3 + 0x11d] = cVar4;\n      goto LAB_00201910;\n    }" { (expression_statement "this_00[(byte)cVar3 + 0x11d] = cVar4;" (assignment_expression "this_00[(byte)cVar3 + 0x11d] = cVar4" (subscript_expression "this_00[(byte)cVar3 + 0x11d]" identifier [ (binary_expression "(byte)cVar3 + 0x11d" (cast_expression "(byte)cVar3" ( (type_descriptor "byte" type_identifier) ) identifier) + number_literal) ]) = identifier) ;) (goto_statement "goto LAB_00201910;" goto statement_identifier ;) })) (labeled_statement "LAB_00201980:\n    uVar9 = uVar15;" statement_identifier : (expression_statement "uVar9 = uVar15;" (assignment_expression "uVar9 = uVar15" identifier = identifier) ;)) (expression_statement "cVar3 = *pcVar8;" (assignment_expression "cVar3 = *pcVar8" identifier = (pointer_expression "*pcVar8" * identifier)) ;) (ERROR "cVar4 = (ctype)istreambuf_iterator<char,std::" (comma_expression "cVar4 = (ctype)istreambuf_iterator<char,std" (assignment_expression "cVar4 = (ctype)istreambuf_iterator<char" identifier = (binary_expression "(ctype)istreambuf_iterator<char" (cast_expression "(ctype)istreambuf_iterator" ( (type_descriptor "ctype" type_identifier) ) identifier) < identifier)) , identifier) : :) (expression_statement "char_traits<char>>::_M_get();" (binary_expression "char_traits<char>>::_M_get()" identifier < (binary_expression "char>>::_M_get()" identifier >> (ERROR "::" : :) (call_expression "_M_get()" identifier (argument_list "()" ( ))))) ;) (if_statement "if (cVar3 == cVar4) {\n      streambuf::sbumpc(param_3);\n      param_4 = 0xffffffff;\n    }\n    else {\n      local_54 = local_54 | 4;\n    }" if (parenthesized_expression "(cVar3 == cVar4)" ( (binary_expression "cVar3 == cVar4" identifier == identifier) )) (compound_statement "{\n      streambuf::sbumpc(param_3);\n      param_4 = 0xffffffff;\n    }" { (labeled_statement "streambuf::sbumpc(param_3);" statement_identifier : (ERROR ":" :) (expression_statement "sbumpc(param_3);" (call_expression "sbumpc(param_3)" identifier (argument_list "(param_3)" ( identifier ))) ;)) (expression_statement "param_4 = 0xffffffff;" (assignment_expression "param_4 = 0xffffffff" identifier = number_literal) ;) }) (else_clause "else {\n      local_54 = local_54 | 4;\n    }" else (compound_statement "{\n      local_54 = local_54 | 4;\n    }" { (expression_statement "local_54 = local_54 | 4;" (assignment_expression "local_54 = local_54 | 4" identifier = (binary_expression "local_54 | 4" identifier | number_literal)) ;) }))) (goto_statement "goto LAB_0020189b;" goto statement_identifier ;) })) (labeled_statement "LAB_00201910:\n  if (cVar4 != (ctype)0x25) goto LAB_00201980;" statement_identifier : (if_statement "if (cVar4 != (ctype)0x25) goto LAB_00201980;" if (parenthesized_expression "(cVar4 != (ctype)0x25)" ( (binary_expression "cVar4 != (ctype)0x25" identifier != (cast_expression "(ctype)0x25" ( (type_descriptor "ctype" type_identifier) ) number_literal)) )) (goto_statement "goto LAB_00201980;" goto statement_identifier ;))) (expression_statement "cVar3 = *(ctype *)(param_10 + uVar9 + 1);" (assignment_expression "cVar3 = *(ctype *)(param_10 + uVar9 + 1)" identifier = (pointer_expression "*(ctype *)(param_10 + uVar9 + 1)" * (cast_expression "(ctype *)(param_10 + uVar9 + 1)" ( (type_descriptor "ctype *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_10 + uVar9 + 1)" ( (binary_expression "param_10 + uVar9 + 1" (binary_expression "param_10 + uVar9" identifier + identifier) + number_literal) ))))) ;) (expression_statement "cVar4 = this_00[(byte)cVar3 + 0x11d];" (assignment_expression "cVar4 = this_00[(byte)cVar3 + 0x11d]" identifier = (subscript_expression "this_00[(byte)cVar3 + 0x11d]" identifier [ (binary_expression "(byte)cVar3 + 0x11d" (cast_expression "(byte)cVar3" ( (type_descriptor "byte" type_identifier) ) identifier) + number_literal) ])) ;) (if_statement "if (cVar4 == (ctype)0x0) {\n    cVar4 = cVar3;\n    if (*(code **)(*(int *)this_00 + 0x20) != (code *)PTR_do_narrow_0038ed98) {\n      cVar4 = (ctype)(**(code **)(*(int *)this_00 + 0x20))(this_00,(int)(char)cVar3,0);\n    }\n    if (cVar4 != (ctype)0x0) {\n      this_00[(byte)cVar3 + 0x11d] = cVar4;\n      goto LAB_00201951;\n    }\n    goto _L2028;\n  }" if (parenthesized_expression "(cVar4 == (ctype)0x0)" ( (binary_expression "cVar4 == (ctype)0x0" identifier == (cast_expression "(ctype)0x0" ( (type_descriptor "ctype" type_identifier) ) number_literal)) )) (compound_statement "{\n    cVar4 = cVar3;\n    if (*(code **)(*(int *)this_00 + 0x20) != (code *)PTR_do_narrow_0038ed98) {\n      cVar4 = (ctype)(**(code **)(*(int *)this_00 + 0x20))(this_00,(int)(char)cVar3,0);\n    }\n    if (cVar4 != (ctype)0x0) {\n      this_00[(byte)cVar3 + 0x11d] = cVar4;\n      goto LAB_00201951;\n    }\n    goto _L2028;\n  }" { (expression_statement "cVar4 = cVar3;" (assignment_expression "cVar4 = cVar3" identifier = identifier) ;) (if_statement "if (*(code **)(*(int *)this_00 + 0x20) != (code *)PTR_do_narrow_0038ed98) {\n      cVar4 = (ctype)(**(code **)(*(int *)this_00 + 0x20))(this_00,(int)(char)cVar3,0);\n    }" if (parenthesized_expression "(*(code **)(*(int *)this_00 + 0x20) != (code *)PTR_do_narrow_0038ed98)" ( (binary_expression "*(code **)(*(int *)this_00 + 0x20) != (code *)PTR_do_narrow_0038ed98" (pointer_expression "*(code **)(*(int *)this_00 + 0x20)" * (cast_expression "(code **)(*(int *)this_00 + 0x20)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)this_00 + 0x20)" ( (binary_expression "*(int *)this_00 + 0x20" (pointer_expression "*(int *)this_00" * (cast_expression "(int *)this_00" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) + number_literal) )))) != (cast_expression "(code *)PTR_do_narrow_0038ed98" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (compound_statement "{\n      cVar4 = (ctype)(**(code **)(*(int *)this_00 + 0x20))(this_00,(int)(char)cVar3,0);\n    }" { (expression_statement "cVar4 = (ctype)(**(code **)(*(int *)this_00 + 0x20))(this_00,(int)(char)cVar3,0);" (assignment_expression "cVar4 = (ctype)(**(code **)(*(int *)this_00 + 0x20))(this_00,(int)(char)cVar3,0)" identifier = (call_expression "(ctype)(**(code **)(*(int *)this_00 + 0x20))(this_00,(int)(char)cVar3,0)" (call_expression "(ctype)(**(code **)(*(int *)this_00 + 0x20))" (parenthesized_expression "(ctype)" ( identifier )) (argument_list "(**(code **)(*(int *)this_00 + 0x20))" ( (pointer_expression "**(code **)(*(int *)this_00 + 0x20)" * (pointer_expression "*(code **)(*(int *)this_00 + 0x20)" * (cast_expression "(code **)(*(int *)this_00 + 0x20)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)this_00 + 0x20)" ( (binary_expression "*(int *)this_00 + 0x20" (pointer_expression "*(int *)this_00" * (cast_expression "(int *)this_00" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) + number_literal) ))))) ))) (argument_list "(this_00,(int)(char)cVar3,0)" ( identifier , (cast_expression "(int)(char)cVar3" ( (type_descriptor "int" primitive_type) ) (cast_expression "(char)cVar3" ( (type_descriptor "char" primitive_type) ) identifier)) , number_literal )))) ;) })) (if_statement "if (cVar4 != (ctype)0x0) {\n      this_00[(byte)cVar3 + 0x11d] = cVar4;\n      goto LAB_00201951;\n    }" if (parenthesized_expression "(cVar4 != (ctype)0x0)" ( (binary_expression "cVar4 != (ctype)0x0" identifier != (cast_expression "(ctype)0x0" ( (type_descriptor "ctype" type_identifier) ) number_literal)) )) (compound_statement "{\n      this_00[(byte)cVar3 + 0x11d] = cVar4;\n      goto LAB_00201951;\n    }" { (expression_statement "this_00[(byte)cVar3 + 0x11d] = cVar4;" (assignment_expression "this_00[(byte)cVar3 + 0x11d] = cVar4" (subscript_expression "this_00[(byte)cVar3 + 0x11d]" identifier [ (binary_expression "(byte)cVar3 + 0x11d" (cast_expression "(byte)cVar3" ( (type_descriptor "byte" type_identifier) ) identifier) + number_literal) ]) = identifier) ;) (goto_statement "goto LAB_00201951;" goto statement_identifier ;) })) (goto_statement "goto _L2028;" goto statement_identifier ;) })) (labeled_statement "LAB_00201951:\n  local_50 = 0;" statement_identifier : (expression_statement "local_50 = 0;" (assignment_expression "local_50 = 0" identifier = number_literal) ;)) (if_statement "if ((cVar4 == (ctype)0x45) || (cVar4 == (ctype)0x4f)) {\n    uVar15 = uVar9 + 2;\n    cVar3 = *(ctype *)(param_10 + uVar9 + 2);\n    cVar4 = this_00[(byte)cVar3 + 0x11d];\n    if (cVar4 == (ctype)0x0) {\n      cVar4 = cVar3;\n      if (*(code **)(*(int *)this_00 + 0x20) != (code *)PTR_do_narrow_0038ed98) {\n        cVar4 = (ctype)(**(code **)(*(int *)this_00 + 0x20))(this_00,(int)(char)cVar3,0);\n      }\n      if (cVar4 == (ctype)0x0) goto _L2028;\n      this_00[(byte)cVar3 + 0x11d] = cVar4;\n    }\n  }" if (parenthesized_expression "((cVar4 == (ctype)0x45) || (cVar4 == (ctype)0x4f))" ( (binary_expression "(cVar4 == (ctype)0x45) || (cVar4 == (ctype)0x4f)" (parenthesized_expression "(cVar4 == (ctype)0x45)" ( (binary_expression "cVar4 == (ctype)0x45" identifier == (cast_expression "(ctype)0x45" ( (type_descriptor "ctype" type_identifier) ) number_literal)) )) || (parenthesized_expression "(cVar4 == (ctype)0x4f)" ( (binary_expression "cVar4 == (ctype)0x4f" identifier == (cast_expression "(ctype)0x4f" ( (type_descriptor "ctype" type_identifier) ) number_literal)) ))) )) (compound_statement "{\n    uVar15 = uVar9 + 2;\n    cVar3 = *(ctype *)(param_10 + uVar9 + 2);\n    cVar4 = this_00[(byte)cVar3 + 0x11d];\n    if (cVar4 == (ctype)0x0) {\n      cVar4 = cVar3;\n      if (*(code **)(*(int *)this_00 + 0x20) != (code *)PTR_do_narrow_0038ed98) {\n        cVar4 = (ctype)(**(code **)(*(int *)this_00 + 0x20))(this_00,(int)(char)cVar3,0);\n      }\n      if (cVar4 == (ctype)0x0) goto _L2028;\n      this_00[(byte)cVar3 + 0x11d] = cVar4;\n    }\n  }" { (expression_statement "uVar15 = uVar9 + 2;" (assignment_expression "uVar15 = uVar9 + 2" identifier = (binary_expression "uVar9 + 2" identifier + number_literal)) ;) (expression_statement "cVar3 = *(ctype *)(param_10 + uVar9 + 2);" (assignment_expression "cVar3 = *(ctype *)(param_10 + uVar9 + 2)" identifier = (pointer_expression "*(ctype *)(param_10 + uVar9 + 2)" * (cast_expression "(ctype *)(param_10 + uVar9 + 2)" ( (type_descriptor "ctype *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_10 + uVar9 + 2)" ( (binary_expression "param_10 + uVar9 + 2" (binary_expression "param_10 + uVar9" identifier + identifier) + number_literal) ))))) ;) (expression_statement "cVar4 = this_00[(byte)cVar3 + 0x11d];" (assignment_expression "cVar4 = this_00[(byte)cVar3 + 0x11d]" identifier = (subscript_expression "this_00[(byte)cVar3 + 0x11d]" identifier [ (binary_expression "(byte)cVar3 + 0x11d" (cast_expression "(byte)cVar3" ( (type_descriptor "byte" type_identifier) ) identifier) + number_literal) ])) ;) (if_statement "if (cVar4 == (ctype)0x0) {\n      cVar4 = cVar3;\n      if (*(code **)(*(int *)this_00 + 0x20) != (code *)PTR_do_narrow_0038ed98) {\n        cVar4 = (ctype)(**(code **)(*(int *)this_00 + 0x20))(this_00,(int)(char)cVar3,0);\n      }\n      if (cVar4 == (ctype)0x0) goto _L2028;\n      this_00[(byte)cVar3 + 0x11d] = cVar4;\n    }" if (parenthesized_expression "(cVar4 == (ctype)0x0)" ( (binary_expression "cVar4 == (ctype)0x0" identifier == (cast_expression "(ctype)0x0" ( (type_descriptor "ctype" type_identifier) ) number_literal)) )) (compound_statement "{\n      cVar4 = cVar3;\n      if (*(code **)(*(int *)this_00 + 0x20) != (code *)PTR_do_narrow_0038ed98) {\n        cVar4 = (ctype)(**(code **)(*(int *)this_00 + 0x20))(this_00,(int)(char)cVar3,0);\n      }\n      if (cVar4 == (ctype)0x0) goto _L2028;\n      this_00[(byte)cVar3 + 0x11d] = cVar4;\n    }" { (expression_statement "cVar4 = cVar3;" (assignment_expression "cVar4 = cVar3" identifier = identifier) ;) (if_statement "if (*(code **)(*(int *)this_00 + 0x20) != (code *)PTR_do_narrow_0038ed98) {\n        cVar4 = (ctype)(**(code **)(*(int *)this_00 + 0x20))(this_00,(int)(char)cVar3,0);\n      }" if (parenthesized_expression "(*(code **)(*(int *)this_00 + 0x20) != (code *)PTR_do_narrow_0038ed98)" ( (binary_expression "*(code **)(*(int *)this_00 + 0x20) != (code *)PTR_do_narrow_0038ed98" (pointer_expression "*(code **)(*(int *)this_00 + 0x20)" * (cast_expression "(code **)(*(int *)this_00 + 0x20)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)this_00 + 0x20)" ( (binary_expression "*(int *)this_00 + 0x20" (pointer_expression "*(int *)this_00" * (cast_expression "(int *)this_00" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) + number_literal) )))) != (cast_expression "(code *)PTR_do_narrow_0038ed98" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (compound_statement "{\n        cVar4 = (ctype)(**(code **)(*(int *)this_00 + 0x20))(this_00,(int)(char)cVar3,0);\n      }" { (expression_statement "cVar4 = (ctype)(**(code **)(*(int *)this_00 + 0x20))(this_00,(int)(char)cVar3,0);" (assignment_expression "cVar4 = (ctype)(**(code **)(*(int *)this_00 + 0x20))(this_00,(int)(char)cVar3,0)" identifier = (call_expression "(ctype)(**(code **)(*(int *)this_00 + 0x20))(this_00,(int)(char)cVar3,0)" (call_expression "(ctype)(**(code **)(*(int *)this_00 + 0x20))" (parenthesized_expression "(ctype)" ( identifier )) (argument_list "(**(code **)(*(int *)this_00 + 0x20))" ( (pointer_expression "**(code **)(*(int *)this_00 + 0x20)" * (pointer_expression "*(code **)(*(int *)this_00 + 0x20)" * (cast_expression "(code **)(*(int *)this_00 + 0x20)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)this_00 + 0x20)" ( (binary_expression "*(int *)this_00 + 0x20" (pointer_expression "*(int *)this_00" * (cast_expression "(int *)this_00" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) + number_literal) ))))) ))) (argument_list "(this_00,(int)(char)cVar3,0)" ( identifier , (cast_expression "(int)(char)cVar3" ( (type_descriptor "int" primitive_type) ) (cast_expression "(char)cVar3" ( (type_descriptor "char" primitive_type) ) identifier)) , number_literal )))) ;) })) (if_statement "if (cVar4 == (ctype)0x0) goto _L2028;" if (parenthesized_expression "(cVar4 == (ctype)0x0)" ( (binary_expression "cVar4 == (ctype)0x0" identifier == (cast_expression "(ctype)0x0" ( (type_descriptor "ctype" type_identifier) ) number_literal)) )) (goto_statement "goto _L2028;" goto statement_identifier ;)) (expression_statement "this_00[(byte)cVar3 + 0x11d] = cVar4;" (assignment_expression "this_00[(byte)cVar3 + 0x11d] = cVar4" (subscript_expression "this_00[(byte)cVar3 + 0x11d]" identifier [ (binary_expression "(byte)cVar3 + 0x11d" (cast_expression "(byte)cVar3" ( (type_descriptor "byte" type_identifier) ) identifier) + number_literal) ]) = identifier) ;) })) })) (switch_statement "switch(cVar4) {\n  case (ctype)0x41:\n    iVar7 = *(int *)(this + 8);\n    local_4c = *(char **)(iVar7 + 0x2c);\n    local_48 = *(undefined4 *)(iVar7 + 0x30);\n    local_44 = *(undefined4 *)(iVar7 + 0x34);\n    local_40 = *(undefined4 *)(iVar7 + 0x38);\n    local_3c = *(undefined4 *)(iVar7 + 0x3c);\n    local_38 = *(undefined4 *)(iVar7 + 0x40);\n    local_34 = *(undefined4 *)(iVar7 + 0x44);\n    goto LAB_00201f34;\n  case (ctype)0x42:\n    __timepunct<char>::_M_months((__timepunct<char> *)this,&local_4c);\n    goto LAB_00201fd1;\n  case (ctype)0x43:\n  case (ctype)0x59:\n  case (ctype)0x79:\n    _M_extract_num(&local_64,param_2,param_3,param_4,param_5,param_6,&local_50,0,9999,4,param_7,\n                   &local_54);\n    param_3 = local_64;\n    param_4 = uStack_60;\n    if (local_54 == 0) {\n      iVar7 = local_50 + -0x76c;\n      if (local_50 < 0) {\n        iVar7 = local_50 + 100;\n      }\n      param_9[5] = iVar7;\n    }\n    break;\n  case (ctype)0x44:\n    pcVar14 = "%H:%M";\n    pcVar6 = "%m/%d/%y";\n    goto LAB_00201ca2;\n  default:\n    goto _L2028;\n  case (ctype)0x48:\n    uVar11 = 0x17;\n    uVar10 = 0;\n    goto LAB_00201ba6;\n  case (ctype)0x49:\n    uVar11 = 0xc;\n    uVar10 = 1;\nLAB_00201ba6:\n    _M_extract_num(&local_64,param_2,param_3,param_4,param_5,param_6,&local_50,uVar10,uVar11,2,\n                   param_7,&local_54);\n    param_3 = local_64;\n    param_4 = uStack_60;\n    if (local_54 == 0) {\n      param_9[2] = local_50;\n    }\n    break;\n  case (ctype)0x4d:\n    _M_extract_num(&local_64,param_2,param_3,param_4,param_5,param_6,&local_50,0,0x3b,2,param_7,\n                   &local_54);\n    param_3 = local_64;\n    param_4 = uStack_60;\n    if (local_54 == 0) {\n      param_9[1] = local_50;\n    }\n    break;\n  case (ctype)0x52:\n    pcVar14 = "%H:%M:%S";\n    pcVar6 = "%H:%M";\n    goto LAB_00201ca2;\n  case (ctype)0x53:\n    _M_extract_num(&local_64,param_2,param_3,param_4,param_5,param_6,&local_50,0,0x3c,2,param_7,\n                   &local_54);\n    param_3 = local_64;\n    param_4 = uStack_60;\n    if (local_54 == 0) {\n      *param_9 = local_50;\n    }\n    break;\n  case (ctype)0x54:\n    pcVar14 = "";\n    pcVar6 = "%H:%M:%S";\nLAB_00201ca2:\n    ppcVar12 = &local_4c;\n    ctype<char>::widen((ctype<char> *)this_00,pcVar6,pcVar14,(char *)ppcVar12);\n    goto LAB_00201b30;\n  case (ctype)0x58:\n    ppcVar12 = *(char ***)(*(int *)(this + 8) + 0x10);\n    goto LAB_00201b30;\n  case (ctype)0x5a:\n    uVar9 = istreambuf_iterator<char,std::char_traits<char>>::_M_get();\n    if ((*(byte *)(*(int *)(this_00 + 0x18) + 1 + (uVar9 & 0xff) * 2) & 1) == 0) goto _L2028;\n    _M_extract_name(&local_64,param_2,param_3,param_4,param_5,param_6,&local_4c,\n                    __timepunct_cache<char>::_S_timezones,0xe,param_7,&local_54);\n    param_3 = local_64;\n    param_4 = uStack_60;\n    cVar2 = istreambuf_iterator<char,std::char_traits<char>>::equal\n                      ((istreambuf_iterator<char,std::char_traits<char>> *)&param_3,\n                       (istreambuf_iterator *)&param_5);\n    if ((cVar2 != '\0') || (local_54 != 0 || local_4c != (char *)0x0)) break;\n    cVar3 = (ctype)istreambuf_iterator<char,std::char_traits<char>>::_M_get();\n    if (this_00[0x1c] == (ctype)0x0) {\n      cVar4 = (ctype)ctype<char>::widen(in_stack_ffffff74,(char)uVar15);\n    }\n    else {\n      cVar4 = this_00[0x4a];\n    }\n    if (cVar3 != cVar4) {\n      cVar3 = (ctype)istreambuf_iterator<char,std::char_traits<char>>::_M_get();\n      if (this_00[0x1c] == (ctype)0x0) {\n        cVar4 = (ctype)ctype<char>::widen(in_stack_ffffff74,(char)uVar15);\n      }\n      else {\n        cVar4 = this_00[0x48];\n      }\n      if (cVar3 != cVar4) break;\n    }\n    _M_extract_num(&local_64,param_2,param_3,param_4,param_5,param_6,&local_4c,0,0x17,2,param_7,\n                   &local_54);\n    param_3 = local_64;\n    param_4 = uStack_60;\n    _M_extract_num(&local_64,param_2,local_64,uStack_60,param_5,param_6,&local_4c,0,0x3b,2,param_7,\n                   &local_54);\n    goto LAB_00201b6c;\n  case (ctype)0x61:\n    iVar7 = *(int *)(this + 8);\n    local_4c = *(char **)(iVar7 + 0x48);\n    local_48 = *(undefined4 *)(iVar7 + 0x4c);\n    local_44 = *(undefined4 *)(iVar7 + 0x50);\n    local_40 = *(undefined4 *)(iVar7 + 0x54);\n    local_3c = *(undefined4 *)(iVar7 + 0x58);\n    local_38 = *(undefined4 *)(iVar7 + 0x5c);\n    local_34 = *(undefined4 *)(iVar7 + 0x60);\nLAB_00201f34:\n    _M_extract_name(&local_64,param_2,param_3,param_4,param_5,param_6,&local_50,&local_4c,7,param_7,\n                    &local_54);\n    param_3 = local_64;\n    param_4 = uStack_60;\n    if (local_54 == 0) {\n      param_9[6] = local_50;\n    }\n    break;\n  case (ctype)0x62:\n  case (ctype)0x68:\n    __timepunct<char>::_M_months_abbreviated((__timepunct<char> *)this,&local_4c);\nLAB_00201fd1:\n    _M_extract_name(&local_64,param_2,param_3,param_4,param_5,param_6,&local_50,&local_4c,0xc,\n                    param_7,&local_54);\n    param_3 = local_64;\n    param_4 = uStack_60;\n    if (local_54 == 0) {\n      param_9[4] = local_50;\n    }\n    break;\n  case (ctype)0x63:\n    ppcVar12 = *(char ***)(*(int *)(this + 8) + 0x18);\n    goto LAB_00201b30;\n  case (ctype)0x64:\n    uVar13 = 2;\n    uVar11 = 0x1f;\n    uVar10 = 1;\n    goto LAB_002021b6;\n  case (ctype)0x65:\n    uVar9 = istreambuf_iterator<char,std::char_traits<char>>::_M_get();\n    if ((*(byte *)(*(int *)(this_00 + 0x18) + 1 + (uVar9 & 0xff) * 2) & 0x20) == 0) {\n      uVar13 = 2;\n      uVar11 = 0x1f;\n      uVar10 = 10;\n    }\n    else {\n      streambuf::sbumpc(param_3);\n      param_4 = 0xffffffff;\n      uVar13 = 1;\n      uVar11 = 9;\n      uVar10 = 1;\n    }\nLAB_002021b6:\n    _M_extract_num(&local_64,param_2,param_3,param_4,param_5,param_6,&local_50,uVar10,uVar11,uVar13,\n                   param_7,&local_54);\n    param_3 = local_64;\n    param_4 = uStack_60;\n    if (local_54 == 0) {\n      param_9[3] = local_50;\n    }\n    break;\n  case (ctype)0x6d:\n    _M_extract_num(&local_64,param_2,param_3,param_4,param_5,param_6,&local_50,1,0xc,2,param_7,\n                   &local_54);\n    param_3 = local_64;\n    param_4 = uStack_60;\n    if (local_54 == 0) {\n      param_9[4] = local_50 + -1;\n    }\n    break;\n  case (ctype)0x6e:\n    cVar4 = (ctype)istreambuf_iterator<char,std::char_traits<char>>::_M_get();\n    cVar3 = this_00[(byte)cVar4 + 0x11d];\n    if (cVar3 == (ctype)0x0) {\n      cVar3 = cVar4;\n      if (*(code **)(*(int *)this_00 + 0x20) != (code *)PTR_do_narrow_0038ed98) {\n        cVar3 = (ctype)(**(code **)(*(int *)this_00 + 0x20))(this_00,(int)(char)cVar4,0);\n      }\n      if (cVar3 == (ctype)0x0) goto _L2028;\n      this_00[(byte)cVar4 + 0x11d] = cVar3;\n    }\n    if (cVar3 != (ctype)0xa) goto _L2028;\nLAB_00202346:\n    streambuf::sbumpc(param_3);\n    param_4 = 0xffffffff;\n    break;\n  case (ctype)0x74:\n    cVar4 = (ctype)istreambuf_iterator<char,std::char_traits<char>>::_M_get();\n    cVar3 = this_00[(byte)cVar4 + 0x11d];\n    if (cVar3 == (ctype)0x0) {\n      cVar3 = cVar4;\n      if (*(code **)(*(int *)this_00 + 0x20) != ctype<char>::do_narrow) {\n        cVar3 = (ctype)(**(code **)(*(int *)this_00 + 0x20))(this_00,(int)(char)cVar4,0);\n      }\n      if (cVar3 == (ctype)0x0) goto _L2028;\n      this_00[(byte)cVar4 + 0x11d] = cVar3;\n    }\n    if (cVar3 == (ctype)0x9) goto LAB_00202346;\n    goto _L2028;\n  case (ctype)0x78:\n    ppcVar12 = *(char ***)(*(int *)(this + 8) + 8);\nLAB_00201b30:\n    _M_extract_via_format\n              (&local_64,param_2,param_3,param_4,param_5,param_6,param_7,&local_54,param_9,ppcVar12)\n    ;\nLAB_00201b6c:\n    param_3 = local_64;\n    param_4 = uStack_60;\n  }" switch (parenthesized_expression "(cVar4)" ( identifier )) (compound_statement "{\n  case (ctype)0x41:\n    iVar7 = *(int *)(this + 8);\n    local_4c = *(char **)(iVar7 + 0x2c);\n    local_48 = *(undefined4 *)(iVar7 + 0x30);\n    local_44 = *(undefined4 *)(iVar7 + 0x34);\n    local_40 = *(undefined4 *)(iVar7 + 0x38);\n    local_3c = *(undefined4 *)(iVar7 + 0x3c);\n    local_38 = *(undefined4 *)(iVar7 + 0x40);\n    local_34 = *(undefined4 *)(iVar7 + 0x44);\n    goto LAB_00201f34;\n  case (ctype)0x42:\n    __timepunct<char>::_M_months((__timepunct<char> *)this,&local_4c);\n    goto LAB_00201fd1;\n  case (ctype)0x43:\n  case (ctype)0x59:\n  case (ctype)0x79:\n    _M_extract_num(&local_64,param_2,param_3,param_4,param_5,param_6,&local_50,0,9999,4,param_7,\n                   &local_54);\n    param_3 = local_64;\n    param_4 = uStack_60;\n    if (local_54 == 0) {\n      iVar7 = local_50 + -0x76c;\n      if (local_50 < 0) {\n        iVar7 = local_50 + 100;\n      }\n      param_9[5] = iVar7;\n    }\n    break;\n  case (ctype)0x44:\n    pcVar14 = "%H:%M";\n    pcVar6 = "%m/%d/%y";\n    goto LAB_00201ca2;\n  default:\n    goto _L2028;\n  case (ctype)0x48:\n    uVar11 = 0x17;\n    uVar10 = 0;\n    goto LAB_00201ba6;\n  case (ctype)0x49:\n    uVar11 = 0xc;\n    uVar10 = 1;\nLAB_00201ba6:\n    _M_extract_num(&local_64,param_2,param_3,param_4,param_5,param_6,&local_50,uVar10,uVar11,2,\n                   param_7,&local_54);\n    param_3 = local_64;\n    param_4 = uStack_60;\n    if (local_54 == 0) {\n      param_9[2] = local_50;\n    }\n    break;\n  case (ctype)0x4d:\n    _M_extract_num(&local_64,param_2,param_3,param_4,param_5,param_6,&local_50,0,0x3b,2,param_7,\n                   &local_54);\n    param_3 = local_64;\n    param_4 = uStack_60;\n    if (local_54 == 0) {\n      param_9[1] = local_50;\n    }\n    break;\n  case (ctype)0x52:\n    pcVar14 = "%H:%M:%S";\n    pcVar6 = "%H:%M";\n    goto LAB_00201ca2;\n  case (ctype)0x53:\n    _M_extract_num(&local_64,param_2,param_3,param_4,param_5,param_6,&local_50,0,0x3c,2,param_7,\n                   &local_54);\n    param_3 = local_64;\n    param_4 = uStack_60;\n    if (local_54 == 0) {\n      *param_9 = local_50;\n    }\n    break;\n  case (ctype)0x54:\n    pcVar14 = "";\n    pcVar6 = "%H:%M:%S";\nLAB_00201ca2:\n    ppcVar12 = &local_4c;\n    ctype<char>::widen((ctype<char> *)this_00,pcVar6,pcVar14,(char *)ppcVar12);\n    goto LAB_00201b30;\n  case (ctype)0x58:\n    ppcVar12 = *(char ***)(*(int *)(this + 8) + 0x10);\n    goto LAB_00201b30;\n  case (ctype)0x5a:\n    uVar9 = istreambuf_iterator<char,std::char_traits<char>>::_M_get();\n    if ((*(byte *)(*(int *)(this_00 + 0x18) + 1 + (uVar9 & 0xff) * 2) & 1) == 0) goto _L2028;\n    _M_extract_name(&local_64,param_2,param_3,param_4,param_5,param_6,&local_4c,\n                    __timepunct_cache<char>::_S_timezones,0xe,param_7,&local_54);\n    param_3 = local_64;\n    param_4 = uStack_60;\n    cVar2 = istreambuf_iterator<char,std::char_traits<char>>::equal\n                      ((istreambuf_iterator<char,std::char_traits<char>> *)&param_3,\n                       (istreambuf_iterator *)&param_5);\n    if ((cVar2 != '\0') || (local_54 != 0 || local_4c != (char *)0x0)) break;\n    cVar3 = (ctype)istreambuf_iterator<char,std::char_traits<char>>::_M_get();\n    if (this_00[0x1c] == (ctype)0x0) {\n      cVar4 = (ctype)ctype<char>::widen(in_stack_ffffff74,(char)uVar15);\n    }\n    else {\n      cVar4 = this_00[0x4a];\n    }\n    if (cVar3 != cVar4) {\n      cVar3 = (ctype)istreambuf_iterator<char,std::char_traits<char>>::_M_get();\n      if (this_00[0x1c] == (ctype)0x0) {\n        cVar4 = (ctype)ctype<char>::widen(in_stack_ffffff74,(char)uVar15);\n      }\n      else {\n        cVar4 = this_00[0x48];\n      }\n      if (cVar3 != cVar4) break;\n    }\n    _M_extract_num(&local_64,param_2,param_3,param_4,param_5,param_6,&local_4c,0,0x17,2,param_7,\n                   &local_54);\n    param_3 = local_64;\n    param_4 = uStack_60;\n    _M_extract_num(&local_64,param_2,local_64,uStack_60,param_5,param_6,&local_4c,0,0x3b,2,param_7,\n                   &local_54);\n    goto LAB_00201b6c;\n  case (ctype)0x61:\n    iVar7 = *(int *)(this + 8);\n    local_4c = *(char **)(iVar7 + 0x48);\n    local_48 = *(undefined4 *)(iVar7 + 0x4c);\n    local_44 = *(undefined4 *)(iVar7 + 0x50);\n    local_40 = *(undefined4 *)(iVar7 + 0x54);\n    local_3c = *(undefined4 *)(iVar7 + 0x58);\n    local_38 = *(undefined4 *)(iVar7 + 0x5c);\n    local_34 = *(undefined4 *)(iVar7 + 0x60);\nLAB_00201f34:\n    _M_extract_name(&local_64,param_2,param_3,param_4,param_5,param_6,&local_50,&local_4c,7,param_7,\n                    &local_54);\n    param_3 = local_64;\n    param_4 = uStack_60;\n    if (local_54 == 0) {\n      param_9[6] = local_50;\n    }\n    break;\n  case (ctype)0x62:\n  case (ctype)0x68:\n    __timepunct<char>::_M_months_abbreviated((__timepunct<char> *)this,&local_4c);\nLAB_00201fd1:\n    _M_extract_name(&local_64,param_2,param_3,param_4,param_5,param_6,&local_50,&local_4c,0xc,\n                    param_7,&local_54);\n    param_3 = local_64;\n    param_4 = uStack_60;\n    if (local_54 == 0) {\n      param_9[4] = local_50;\n    }\n    break;\n  case (ctype)0x63:\n    ppcVar12 = *(char ***)(*(int *)(this + 8) + 0x18);\n    goto LAB_00201b30;\n  case (ctype)0x64:\n    uVar13 = 2;\n    uVar11 = 0x1f;\n    uVar10 = 1;\n    goto LAB_002021b6;\n  case (ctype)0x65:\n    uVar9 = istreambuf_iterator<char,std::char_traits<char>>::_M_get();\n    if ((*(byte *)(*(int *)(this_00 + 0x18) + 1 + (uVar9 & 0xff) * 2) & 0x20) == 0) {\n      uVar13 = 2;\n      uVar11 = 0x1f;\n      uVar10 = 10;\n    }\n    else {\n      streambuf::sbumpc(param_3);\n      param_4 = 0xffffffff;\n      uVar13 = 1;\n      uVar11 = 9;\n      uVar10 = 1;\n    }\nLAB_002021b6:\n    _M_extract_num(&local_64,param_2,param_3,param_4,param_5,param_6,&local_50,uVar10,uVar11,uVar13,\n                   param_7,&local_54);\n    param_3 = local_64;\n    param_4 = uStack_60;\n    if (local_54 == 0) {\n      param_9[3] = local_50;\n    }\n    break;\n  case (ctype)0x6d:\n    _M_extract_num(&local_64,param_2,param_3,param_4,param_5,param_6,&local_50,1,0xc,2,param_7,\n                   &local_54);\n    param_3 = local_64;\n    param_4 = uStack_60;\n    if (local_54 == 0) {\n      param_9[4] = local_50 + -1;\n    }\n    break;\n  case (ctype)0x6e:\n    cVar4 = (ctype)istreambuf_iterator<char,std::char_traits<char>>::_M_get();\n    cVar3 = this_00[(byte)cVar4 + 0x11d];\n    if (cVar3 == (ctype)0x0) {\n      cVar3 = cVar4;\n      if (*(code **)(*(int *)this_00 + 0x20) != (code *)PTR_do_narrow_0038ed98) {\n        cVar3 = (ctype)(**(code **)(*(int *)this_00 + 0x20))(this_00,(int)(char)cVar4,0);\n      }\n      if (cVar3 == (ctype)0x0) goto _L2028;\n      this_00[(byte)cVar4 + 0x11d] = cVar3;\n    }\n    if (cVar3 != (ctype)0xa) goto _L2028;\nLAB_00202346:\n    streambuf::sbumpc(param_3);\n    param_4 = 0xffffffff;\n    break;\n  case (ctype)0x74:\n    cVar4 = (ctype)istreambuf_iterator<char,std::char_traits<char>>::_M_get();\n    cVar3 = this_00[(byte)cVar4 + 0x11d];\n    if (cVar3 == (ctype)0x0) {\n      cVar3 = cVar4;\n      if (*(code **)(*(int *)this_00 + 0x20) != ctype<char>::do_narrow) {\n        cVar3 = (ctype)(**(code **)(*(int *)this_00 + 0x20))(this_00,(int)(char)cVar4,0);\n      }\n      if (cVar3 == (ctype)0x0) goto _L2028;\n      this_00[(byte)cVar4 + 0x11d] = cVar3;\n    }\n    if (cVar3 == (ctype)0x9) goto LAB_00202346;\n    goto _L2028;\n  case (ctype)0x78:\n    ppcVar12 = *(char ***)(*(int *)(this + 8) + 8);\nLAB_00201b30:\n    _M_extract_via_format\n              (&local_64,param_2,param_3,param_4,param_5,param_6,param_7,&local_54,param_9,ppcVar12)\n    ;\nLAB_00201b6c:\n    param_3 = local_64;\n    param_4 = uStack_60;\n  }" { (case_statement "case (ctype)0x41:\n    iVar7 = *(int *)(this + 8);\n    local_4c = *(char **)(iVar7 + 0x2c);\n    local_48 = *(undefined4 *)(iVar7 + 0x30);\n    local_44 = *(undefined4 *)(iVar7 + 0x34);\n    local_40 = *(undefined4 *)(iVar7 + 0x38);\n    local_3c = *(undefined4 *)(iVar7 + 0x3c);\n    local_38 = *(undefined4 *)(iVar7 + 0x40);\n    local_34 = *(undefined4 *)(iVar7 + 0x44);\n    goto LAB_00201f34;" case (cast_expression "(ctype)0x41" ( (type_descriptor "ctype" type_identifier) ) number_literal) : (expression_statement "iVar7 = *(int *)(this + 8);" (assignment_expression "iVar7 = *(int *)(this + 8)" identifier = (pointer_expression "*(int *)(this + 8)" * (cast_expression "(int *)(this + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(this + 8)" ( (binary_expression "this + 8" identifier + number_literal) ))))) ;) (expression_statement "local_4c = *(char **)(iVar7 + 0x2c);" (assignment_expression "local_4c = *(char **)(iVar7 + 0x2c)" identifier = (pointer_expression "*(char **)(iVar7 + 0x2c)" * (cast_expression "(char **)(iVar7 + 0x2c)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar7 + 0x2c)" ( (binary_expression "iVar7 + 0x2c" identifier + number_literal) ))))) ;) (expression_statement "local_48 = *(undefined4 *)(iVar7 + 0x30);" (assignment_expression "local_48 = *(undefined4 *)(iVar7 + 0x30)" identifier = (pointer_expression "*(undefined4 *)(iVar7 + 0x30)" * (cast_expression "(undefined4 *)(iVar7 + 0x30)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0x30)" ( (binary_expression "iVar7 + 0x30" identifier + number_literal) ))))) ;) (expression_statement "local_44 = *(undefined4 *)(iVar7 + 0x34);" (assignment_expression "local_44 = *(undefined4 *)(iVar7 + 0x34)" identifier = (pointer_expression "*(undefined4 *)(iVar7 + 0x34)" * (cast_expression "(undefined4 *)(iVar7 + 0x34)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0x34)" ( (binary_expression "iVar7 + 0x34" identifier + number_literal) ))))) ;) (expression_statement "local_40 = *(undefined4 *)(iVar7 + 0x38);" (assignment_expression "local_40 = *(undefined4 *)(iVar7 + 0x38)" identifier = (pointer_expression "*(undefined4 *)(iVar7 + 0x38)" * (cast_expression "(undefined4 *)(iVar7 + 0x38)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0x38)" ( (binary_expression "iVar7 + 0x38" identifier + number_literal) ))))) ;) (expression_statement "local_3c = *(undefined4 *)(iVar7 + 0x3c);" (assignment_expression "local_3c = *(undefined4 *)(iVar7 + 0x3c)" identifier = (pointer_expression "*(undefined4 *)(iVar7 + 0x3c)" * (cast_expression "(undefined4 *)(iVar7 + 0x3c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0x3c)" ( (binary_expression "iVar7 + 0x3c" identifier + number_literal) ))))) ;) (expression_statement "local_38 = *(undefined4 *)(iVar7 + 0x40);" (assignment_expression "local_38 = *(undefined4 *)(iVar7 + 0x40)" identifier = (pointer_expression "*(undefined4 *)(iVar7 + 0x40)" * (cast_expression "(undefined4 *)(iVar7 + 0x40)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0x40)" ( (binary_expression "iVar7 + 0x40" identifier + number_literal) ))))) ;) (expression_statement "local_34 = *(undefined4 *)(iVar7 + 0x44);" (assignment_expression "local_34 = *(undefined4 *)(iVar7 + 0x44)" identifier = (pointer_expression "*(undefined4 *)(iVar7 + 0x44)" * (cast_expression "(undefined4 *)(iVar7 + 0x44)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0x44)" ( (binary_expression "iVar7 + 0x44" identifier + number_literal) ))))) ;) (goto_statement "goto LAB_00201f34;" goto statement_identifier ;)) (case_statement "case (ctype)0x42:\n    __timepunct<char>::_M_months((__timepunct<char> *)this,&local_4c);\n    goto LAB_00201fd1;" case (cast_expression "(ctype)0x42" ( (type_descriptor "ctype" type_identifier) ) number_literal) : (expression_statement "__timepunct<char>::_M_months((__timepunct<char> *)this,&local_4c);" (binary_expression "__timepunct<char>::_M_months((__timepunct<char> *)this,&local_4c)" (binary_expression "__timepunct<char" identifier < identifier) > (ERROR "::" : :) (call_expression "_M_months((__timepunct<char> *)this,&local_4c)" identifier (argument_list "((__timepunct<char> *)this,&local_4c)" ( (parenthesized_expression "(__timepunct<char> *)this,&local_4c)" ( (comma_expression "__timepunct<char> *)this,&local_4c" (binary_expression "__timepunct<char> *)this" (binary_expression "__timepunct<char" identifier < identifier) > (pointer_expression "*)this" * (ERROR ")" )) identifier)) , (pointer_expression "&local_4c" & identifier)) )) )))) ;) (goto_statement "goto LAB_00201fd1;" goto statement_identifier ;)) (case_statement "case (ctype)0x43:" case (cast_expression "(ctype)0x43" ( (type_descriptor "ctype" type_identifier) ) number_literal) :) (case_statement "case (ctype)0x59:" case (cast_expression "(ctype)0x59" ( (type_descriptor "ctype" type_identifier) ) number_literal) :) (case_statement "case (ctype)0x79:\n    _M_extract_num(&local_64,param_2,param_3,param_4,param_5,param_6,&local_50,0,9999,4,param_7,\n                   &local_54);\n    param_3 = local_64;\n    param_4 = uStack_60;\n    if (local_54 == 0) {\n      iVar7 = local_50 + -0x76c;\n      if (local_50 < 0) {\n        iVar7 = local_50 + 100;\n      }\n      param_9[5] = iVar7;\n    }\n    break;" case (cast_expression "(ctype)0x79" ( (type_descriptor "ctype" type_identifier) ) number_literal) : (expression_statement "_M_extract_num(&local_64,param_2,param_3,param_4,param_5,param_6,&local_50,0,9999,4,param_7,\n                   &local_54);" (call_expression "_M_extract_num(&local_64,param_2,param_3,param_4,param_5,param_6,&local_50,0,9999,4,param_7,\n                   &local_54)" identifier (argument_list "(&local_64,param_2,param_3,param_4,param_5,param_6,&local_50,0,9999,4,param_7,\n                   &local_54)" ( (pointer_expression "&local_64" & identifier) , identifier , identifier , identifier , identifier , identifier , (pointer_expression "&local_50" & identifier) , number_literal , number_literal , number_literal , identifier , (pointer_expression "&local_54" & identifier) ))) ;) (expression_statement "param_3 = local_64;" (assignment_expression "param_3 = local_64" identifier = identifier) ;) (expression_statement "param_4 = uStack_60;" (assignment_expression "param_4 = uStack_60" identifier = identifier) ;) (if_statement "if (local_54 == 0) {\n      iVar7 = local_50 + -0x76c;\n      if (local_50 < 0) {\n        iVar7 = local_50 + 100;\n      }\n      param_9[5] = iVar7;\n    }" if (parenthesized_expression "(local_54 == 0)" ( (binary_expression "local_54 == 0" identifier == number_literal) )) (compound_statement "{\n      iVar7 = local_50 + -0x76c;\n      if (local_50 < 0) {\n        iVar7 = local_50 + 100;\n      }\n      param_9[5] = iVar7;\n    }" { (expression_statement "iVar7 = local_50 + -0x76c;" (assignment_expression "iVar7 = local_50 + -0x76c" identifier = (binary_expression "local_50 + -0x76c" identifier + number_literal)) ;) (if_statement "if (local_50 < 0) {\n        iVar7 = local_50 + 100;\n      }" if (parenthesized_expression "(local_50 < 0)" ( (binary_expression "local_50 < 0" identifier < number_literal) )) (compound_statement "{\n        iVar7 = local_50 + 100;\n      }" { (expression_statement "iVar7 = local_50 + 100;" (assignment_expression "iVar7 = local_50 + 100" identifier = (binary_expression "local_50 + 100" identifier + number_literal)) ;) })) (expression_statement "param_9[5] = iVar7;" (assignment_expression "param_9[5] = iVar7" (subscript_expression "param_9[5]" identifier [ number_literal ]) = identifier) ;) })) (break_statement "break;" break ;)) (case_statement "case (ctype)0x44:\n    pcVar14 = "%H:%M";\n    pcVar6 = "%m/%d/%y";\n    goto LAB_00201ca2;" case (cast_expression "(ctype)0x44" ( (type_descriptor "ctype" type_identifier) ) number_literal) : (expression_statement "pcVar14 = "%H:%M";" (assignment_expression "pcVar14 = "%H:%M"" identifier = (string_literal ""%H:%M"" " string_content ")) ;) (expression_statement "pcVar6 = "%m/%d/%y";" (assignment_expression "pcVar6 = "%m/%d/%y"" identifier = (string_literal ""%m/%d/%y"" " string_content ")) ;) (goto_statement "goto LAB_00201ca2;" goto statement_identifier ;)) (case_statement "default:\n    goto _L2028;" default : (goto_statement "goto _L2028;" goto statement_identifier ;)) (case_statement "case (ctype)0x48:\n    uVar11 = 0x17;\n    uVar10 = 0;\n    goto LAB_00201ba6;" case (cast_expression "(ctype)0x48" ( (type_descriptor "ctype" type_identifier) ) number_literal) : (expression_statement "uVar11 = 0x17;" (assignment_expression "uVar11 = 0x17" identifier = number_literal) ;) (expression_statement "uVar10 = 0;" (assignment_expression "uVar10 = 0" identifier = number_literal) ;) (goto_statement "goto LAB_00201ba6;" goto statement_identifier ;)) (case_statement "case (ctype)0x49:\n    uVar11 = 0xc;\n    uVar10 = 1;\nLAB_00201ba6:\n    _M_extract_num(&local_64,param_2,param_3,param_4,param_5,param_6,&local_50,uVar10,uVar11,2,\n                   param_7,&local_54);\n    param_3 = local_64;\n    param_4 = uStack_60;\n    if (local_54 == 0) {\n      param_9[2] = local_50;\n    }\n    break;" case (cast_expression "(ctype)0x49" ( (type_descriptor "ctype" type_identifier) ) number_literal) : (expression_statement "uVar11 = 0xc;" (assignment_expression "uVar11 = 0xc" identifier = number_literal) ;) (expression_statement "uVar10 = 1;" (assignment_expression "uVar10 = 1" identifier = number_literal) ;) (labeled_statement "LAB_00201ba6:\n    _M_extract_num(&local_64,param_2,param_3,param_4,param_5,param_6,&local_50,uVar10,uVar11,2,\n                   param_7,&local_54);" statement_identifier : (expression_statement "_M_extract_num(&local_64,param_2,param_3,param_4,param_5,param_6,&local_50,uVar10,uVar11,2,\n                   param_7,&local_54);" (call_expression "_M_extract_num(&local_64,param_2,param_3,param_4,param_5,param_6,&local_50,uVar10,uVar11,2,\n                   param_7,&local_54)" identifier (argument_list "(&local_64,param_2,param_3,param_4,param_5,param_6,&local_50,uVar10,uVar11,2,\n                   param_7,&local_54)" ( (pointer_expression "&local_64" & identifier) , identifier , identifier , identifier , identifier , identifier , (pointer_expression "&local_50" & identifier) , identifier , identifier , number_literal , identifier , (pointer_expression "&local_54" & identifier) ))) ;)) (expression_statement "param_3 = local_64;" (assignment_expression "param_3 = local_64" identifier = identifier) ;) (expression_statement "param_4 = uStack_60;" (assignment_expression "param_4 = uStack_60" identifier = identifier) ;) (if_statement "if (local_54 == 0) {\n      param_9[2] = local_50;\n    }" if (parenthesized_expression "(local_54 == 0)" ( (binary_expression "local_54 == 0" identifier == number_literal) )) (compound_statement "{\n      param_9[2] = local_50;\n    }" { (expression_statement "param_9[2] = local_50;" (assignment_expression "param_9[2] = local_50" (subscript_expression "param_9[2]" identifier [ number_literal ]) = identifier) ;) })) (break_statement "break;" break ;)) (case_statement "case (ctype)0x4d:\n    _M_extract_num(&local_64,param_2,param_3,param_4,param_5,param_6,&local_50,0,0x3b,2,param_7,\n                   &local_54);\n    param_3 = local_64;\n    param_4 = uStack_60;\n    if (local_54 == 0) {\n      param_9[1] = local_50;\n    }\n    break;" case (cast_expression "(ctype)0x4d" ( (type_descriptor "ctype" type_identifier) ) number_literal) : (expression_statement "_M_extract_num(&local_64,param_2,param_3,param_4,param_5,param_6,&local_50,0,0x3b,2,param_7,\n                   &local_54);" (call_expression "_M_extract_num(&local_64,param_2,param_3,param_4,param_5,param_6,&local_50,0,0x3b,2,param_7,\n                   &local_54)" identifier (argument_list "(&local_64,param_2,param_3,param_4,param_5,param_6,&local_50,0,0x3b,2,param_7,\n                   &local_54)" ( (pointer_expression "&local_64" & identifier) , identifier , identifier , identifier , identifier , identifier , (pointer_expression "&local_50" & identifier) , number_literal , number_literal , number_literal , identifier , (pointer_expression "&local_54" & identifier) ))) ;) (expression_statement "param_3 = local_64;" (assignment_expression "param_3 = local_64" identifier = identifier) ;) (expression_statement "param_4 = uStack_60;" (assignment_expression "param_4 = uStack_60" identifier = identifier) ;) (if_statement "if (local_54 == 0) {\n      param_9[1] = local_50;\n    }" if (parenthesized_expression "(local_54 == 0)" ( (binary_expression "local_54 == 0" identifier == number_literal) )) (compound_statement "{\n      param_9[1] = local_50;\n    }" { (expression_statement "param_9[1] = local_50;" (assignment_expression "param_9[1] = local_50" (subscript_expression "param_9[1]" identifier [ number_literal ]) = identifier) ;) })) (break_statement "break;" break ;)) (case_statement "case (ctype)0x52:\n    pcVar14 = "%H:%M:%S";\n    pcVar6 = "%H:%M";\n    goto LAB_00201ca2;" case (cast_expression "(ctype)0x52" ( (type_descriptor "ctype" type_identifier) ) number_literal) : (expression_statement "pcVar14 = "%H:%M:%S";" (assignment_expression "pcVar14 = "%H:%M:%S"" identifier = (string_literal ""%H:%M:%S"" " string_content ")) ;) (expression_statement "pcVar6 = "%H:%M";" (assignment_expression "pcVar6 = "%H:%M"" identifier = (string_literal ""%H:%M"" " string_content ")) ;) (goto_statement "goto LAB_00201ca2;" goto statement_identifier ;)) (case_statement "case (ctype)0x53:\n    _M_extract_num(&local_64,param_2,param_3,param_4,param_5,param_6,&local_50,0,0x3c,2,param_7,\n                   &local_54);\n    param_3 = local_64;\n    param_4 = uStack_60;\n    if (local_54 == 0) {\n      *param_9 = local_50;\n    }\n    break;" case (cast_expression "(ctype)0x53" ( (type_descriptor "ctype" type_identifier) ) number_literal) : (expression_statement "_M_extract_num(&local_64,param_2,param_3,param_4,param_5,param_6,&local_50,0,0x3c,2,param_7,\n                   &local_54);" (call_expression "_M_extract_num(&local_64,param_2,param_3,param_4,param_5,param_6,&local_50,0,0x3c,2,param_7,\n                   &local_54)" identifier (argument_list "(&local_64,param_2,param_3,param_4,param_5,param_6,&local_50,0,0x3c,2,param_7,\n                   &local_54)" ( (pointer_expression "&local_64" & identifier) , identifier , identifier , identifier , identifier , identifier , (pointer_expression "&local_50" & identifier) , number_literal , number_literal , number_literal , identifier , (pointer_expression "&local_54" & identifier) ))) ;) (expression_statement "param_3 = local_64;" (assignment_expression "param_3 = local_64" identifier = identifier) ;) (expression_statement "param_4 = uStack_60;" (assignment_expression "param_4 = uStack_60" identifier = identifier) ;) (if_statement "if (local_54 == 0) {\n      *param_9 = local_50;\n    }" if (parenthesized_expression "(local_54 == 0)" ( (binary_expression "local_54 == 0" identifier == number_literal) )) (compound_statement "{\n      *param_9 = local_50;\n    }" { (expression_statement "*param_9 = local_50;" (assignment_expression "*param_9 = local_50" (pointer_expression "*param_9" * identifier) = identifier) ;) })) (break_statement "break;" break ;)) (case_statement "case (ctype)0x54:\n    pcVar14 = "";\n    pcVar6 = "%H:%M:%S";\nLAB_00201ca2:\n    ppcVar12 = &local_4c;\n    ctype<char>::widen((ctype<char> *)this_00,pcVar6,pcVar14,(char *)ppcVar12);\n    goto LAB_00201b30;" case (cast_expression "(ctype)0x54" ( (type_descriptor "ctype" type_identifier) ) number_literal) : (expression_statement "pcVar14 = "";" (assignment_expression "pcVar14 = """ identifier = (string_literal """" " ")) ;) (expression_statement "pcVar6 = "%H:%M:%S";" (assignment_expression "pcVar6 = "%H:%M:%S"" identifier = (string_literal ""%H:%M:%S"" " string_content ")) ;) (labeled_statement "LAB_00201ca2:\n    ppcVar12 = &local_4c;" statement_identifier : (expression_statement "ppcVar12 = &local_4c;" (assignment_expression "ppcVar12 = &local_4c" identifier = (pointer_expression "&local_4c" & identifier)) ;)) (expression_statement "ctype<char>::widen((ctype<char> *)this_00,pcVar6,pcVar14,(char *)ppcVar12);" (binary_expression "ctype<char>::widen((ctype<char> *)this_00,pcVar6,pcVar14,(char *)ppcVar12)" (binary_expression "ctype<char" identifier < identifier) > (ERROR "::" : :) (call_expression "widen((ctype<char> *)this_00,pcVar6,pcVar14,(char *)ppcVar12)" identifier (argument_list "((ctype<char> *)this_00,pcVar6,pcVar14,(char *)ppcVar12)" ( (parenthesized_expression "(ctype<char> *)this_00,pcVar6,pcVar14,(char *)ppcVar12)" ( (comma_expression "ctype<char> *)this_00,pcVar6,pcVar14,(char *)ppcVar12" (binary_expression "ctype<char> *)this_00" (binary_expression "ctype<char" identifier < identifier) > (pointer_expression "*)this_00" * (ERROR ")" )) identifier)) , (comma_expression "pcVar6,pcVar14,(char *)ppcVar12" identifier , (comma_expression "pcVar14,(char *)ppcVar12" identifier , (cast_expression "(char *)ppcVar12" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)))) )) )))) ;) (goto_statement "goto LAB_00201b30;" goto statement_identifier ;)) (case_statement "case (ctype)0x58:\n    ppcVar12 = *(char ***)(*(int *)(this + 8) + 0x10);\n    goto LAB_00201b30;" case (cast_expression "(ctype)0x58" ( (type_descriptor "ctype" type_identifier) ) number_literal) : (expression_statement "ppcVar12 = *(char ***)(*(int *)(this + 8) + 0x10);" (assignment_expression "ppcVar12 = *(char ***)(*(int *)(this + 8) + 0x10)" identifier = (pointer_expression "*(char ***)(*(int *)(this + 8) + 0x10)" * (cast_expression "(char ***)(*(int *)(this + 8) + 0x10)" ( (type_descriptor "char ***" primitive_type (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(*(int *)(this + 8) + 0x10)" ( (binary_expression "*(int *)(this + 8) + 0x10" (pointer_expression "*(int *)(this + 8)" * (cast_expression "(int *)(this + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(this + 8)" ( (binary_expression "this + 8" identifier + number_literal) )))) + number_literal) ))))) ;) (goto_statement "goto LAB_00201b30;" goto statement_identifier ;)) (case_statement "case (ctype)0x5a:\n    uVar9 = istreambuf_iterator<char,std::char_traits<char>>::_M_get();\n    if ((*(byte *)(*(int *)(this_00 + 0x18) + 1 + (uVar9 & 0xff) * 2) & 1) == 0) goto _L2028;\n    _M_extract_name(&local_64,param_2,param_3,param_4,param_5,param_6,&local_4c,\n                    __timepunct_cache<char>::_S_timezones,0xe,param_7,&local_54);\n    param_3 = local_64;\n    param_4 = uStack_60;\n    cVar2 = istreambuf_iterator<char,std::char_traits<char>>::equal\n                      ((istreambuf_iterator<char,std::char_traits<char>> *)&param_3,\n                       (istreambuf_iterator *)&param_5);\n    if ((cVar2 != '\0') || (local_54 != 0 || local_4c != (char *)0x0)) break;\n    cVar3 = (ctype)istreambuf_iterator<char,std::char_traits<char>>::_M_get();\n    if (this_00[0x1c] == (ctype)0x0) {\n      cVar4 = (ctype)ctype<char>::widen(in_stack_ffffff74,(char)uVar15);\n    }\n    else {\n      cVar4 = this_00[0x4a];\n    }\n    if (cVar3 != cVar4) {\n      cVar3 = (ctype)istreambuf_iterator<char,std::char_traits<char>>::_M_get();\n      if (this_00[0x1c] == (ctype)0x0) {\n        cVar4 = (ctype)ctype<char>::widen(in_stack_ffffff74,(char)uVar15);\n      }\n      else {\n        cVar4 = this_00[0x48];\n      }\n      if (cVar3 != cVar4) break;\n    }\n    _M_extract_num(&local_64,param_2,param_3,param_4,param_5,param_6,&local_4c,0,0x17,2,param_7,\n                   &local_54);\n    param_3 = local_64;\n    param_4 = uStack_60;\n    _M_extract_num(&local_64,param_2,local_64,uStack_60,param_5,param_6,&local_4c,0,0x3b,2,param_7,\n                   &local_54);\n    goto LAB_00201b6c;" case (cast_expression "(ctype)0x5a" ( (type_descriptor "ctype" type_identifier) ) number_literal) : (ERROR "uVar9 = istreambuf_iterator<char,std::" (comma_expression "uVar9 = istreambuf_iterator<char,std" (assignment_expression "uVar9 = istreambuf_iterator<char" identifier = (binary_expression "istreambuf_iterator<char" identifier < identifier)) , identifier) : :) (expression_statement "char_traits<char>>::_M_get();" (binary_expression "char_traits<char>>::_M_get()" identifier < (binary_expression "char>>::_M_get()" identifier >> (ERROR "::" : :) (call_expression "_M_get()" identifier (argument_list "()" ( ))))) ;) (if_statement "if ((*(byte *)(*(int *)(this_00 + 0x18) + 1 + (uVar9 & 0xff) * 2) & 1) == 0) goto _L2028;" if (parenthesized_expression "((*(byte *)(*(int *)(this_00 + 0x18) + 1 + (uVar9 & 0xff) * 2) & 1) == 0)" ( (binary_expression "(*(byte *)(*(int *)(this_00 + 0x18) + 1 + (uVar9 & 0xff) * 2) & 1) == 0" (parenthesized_expression "(*(byte *)(*(int *)(this_00 + 0x18) + 1 + (uVar9 & 0xff) * 2) & 1)" ( (binary_expression "*(byte *)(*(int *)(this_00 + 0x18) + 1 + (uVar9 & 0xff) * 2) & 1" (pointer_expression "*(byte *)(*(int *)(this_00 + 0x18) + 1 + (uVar9 & 0xff) * 2)" * (cast_expression "(byte *)(*(int *)(this_00 + 0x18) + 1 + (uVar9 & 0xff) * 2)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(this_00 + 0x18) + 1 + (uVar9 & 0xff) * 2)" ( (binary_expression "*(int *)(this_00 + 0x18) + 1 + (uVar9 & 0xff) * 2" (binary_expression "*(int *)(this_00 + 0x18) + 1" (pointer_expression "*(int *)(this_00 + 0x18)" * (cast_expression "(int *)(this_00 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(this_00 + 0x18)" ( (binary_expression "this_00 + 0x18" identifier + number_literal) )))) + number_literal) + (binary_expression "(uVar9 & 0xff) * 2" (parenthesized_expression "(uVar9 & 0xff)" ( (binary_expression "uVar9 & 0xff" identifier & number_literal) )) * number_literal)) )))) & number_literal) )) == number_literal) )) (goto_statement "goto _L2028;" goto statement_identifier ;)) (expression_statement "_M_extract_name(&local_64,param_2,param_3,param_4,param_5,param_6,&local_4c,\n                    __timepunct_cache<char>::_S_timezones,0xe,param_7,&local_54);" (call_expression "_M_extract_name(&local_64,param_2,param_3,param_4,param_5,param_6,&local_4c,\n                    __timepunct_cache<char>::_S_timezones,0xe,param_7,&local_54)" identifier (argument_list "(&local_64,param_2,param_3,param_4,param_5,param_6,&local_4c,\n                    __timepunct_cache<char>::_S_timezones,0xe,param_7,&local_54)" ( (pointer_expression "&local_64" & identifier) , identifier , identifier , identifier , identifier , identifier , (pointer_expression "&local_4c" & identifier) , (binary_expression "__timepunct_cache<char>::_S_timezones" (binary_expression "__timepunct_cache<char" identifier < identifier) > (ERROR "::" : :) identifier) , number_literal , identifier , (pointer_expression "&local_54" & identifier) ))) ;) (expression_statement "param_3 = local_64;" (assignment_expression "param_3 = local_64" identifier = identifier) ;) (expression_statement "param_4 = uStack_60;" (assignment_expression "param_4 = uStack_60" identifier = identifier) ;) (ERROR "cVar2 = istreambuf_iterator<char,std::" (comma_expression "cVar2 = istreambuf_iterator<char,std" (assignment_expression "cVar2 = istreambuf_iterator<char" identifier = (binary_expression "istreambuf_iterator<char" identifier < identifier)) , identifier) : :) (expression_statement "char_traits<char>>::equal\n                      ((istreambuf_iterator<char,std::char_traits<char>> *)&param_3,\n                       (istreambuf_iterator *)&param_5);" (binary_expression "char_traits<char>>::equal\n                      ((istreambuf_iterator<char,std::char_traits<char>> *)&param_3,\n                       (istreambuf_iterator *)&param_5)" identifier < (binary_expression "char>>::equal\n                      ((istreambuf_iterator<char,std::char_traits<char>> *)&param_3,\n                       (istreambuf_iterator *)&param_5)" identifier >> (ERROR "::" : :) (call_expression "equal\n                      ((istreambuf_iterator<char,std::char_traits<char>> *)&param_3,\n                       (istreambuf_iterator *)&param_5)" identifier (argument_list "((istreambuf_iterator<char,std::char_traits<char>> *)&param_3,\n                       (istreambuf_iterator *)&param_5)" ( (binary_expression "(istreambuf_iterator<char,std::char_traits<char>> *)&param_3" (parenthesized_expression "(istreambuf_iterator<char,std::char_traits<char>> *)" ( (ERROR "istreambuf_iterator<char,std::" (comma_expression "istreambuf_iterator<char,std" (binary_expression "istreambuf_iterator<char" identifier < identifier) , identifier) : :) (binary_expression "char_traits<char>> *" identifier < (binary_expression "char>> *" identifier >> (pointer_expression "*" * identifier))) )) & identifier) , (cast_expression "(istreambuf_iterator *)&param_5" ( (type_descriptor "istreambuf_iterator *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&param_5" & identifier)) ))))) ;) (if_statement "if ((cVar2 != '\0') || (local_54 != 0 || local_4c != (char *)0x0)) break;" if (parenthesized_expression "((cVar2 != '\0') || (local_54 != 0 || local_4c != (char *)0x0))" ( (binary_expression "(cVar2 != '\0') || (local_54 != 0 || local_4c != (char *)0x0)" (parenthesized_expression "(cVar2 != '\0')" ( (binary_expression "cVar2 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) || (parenthesized_expression "(local_54 != 0 || local_4c != (char *)0x0)" ( (binary_expression "local_54 != 0 || local_4c != (char *)0x0" (binary_expression "local_54 != 0" identifier != number_literal) || (binary_expression "local_4c != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal))) ))) )) (break_statement "break;" break ;)) (ERROR "cVar3 = (ctype)istreambuf_iterator<char,std::" (comma_expression "cVar3 = (ctype)istreambuf_iterator<char,std" (assignment_expression "cVar3 = (ctype)istreambuf_iterator<char" identifier = (binary_expression "(ctype)istreambuf_iterator<char" (cast_expression "(ctype)istreambuf_iterator" ( (type_descriptor "ctype" type_identifier) ) identifier) < identifier)) , identifier) : :) (expression_statement "char_traits<char>>::_M_get();" (binary_expression "char_traits<char>>::_M_get()" identifier < (binary_expression "char>>::_M_get()" identifier >> (ERROR "::" : :) (call_expression "_M_get()" identifier (argument_list "()" ( ))))) ;) (if_statement "if (this_00[0x1c] == (ctype)0x0) {\n      cVar4 = (ctype)ctype<char>::widen(in_stack_ffffff74,(char)uVar15);\n    }\n    else {\n      cVar4 = this_00[0x4a];\n    }" if (parenthesized_expression "(this_00[0x1c] == (ctype)0x0)" ( (binary_expression "this_00[0x1c] == (ctype)0x0" (subscript_expression "this_00[0x1c]" identifier [ number_literal ]) == (cast_expression "(ctype)0x0" ( (type_descriptor "ctype" type_identifier) ) number_literal)) )) (compound_statement "{\n      cVar4 = (ctype)ctype<char>::widen(in_stack_ffffff74,(char)uVar15);\n    }" { (expression_statement "cVar4 = (ctype)ctype<char>::widen(in_stack_ffffff74,(char)uVar15);" (assignment_expression "cVar4 = (ctype)ctype<char>::widen(in_stack_ffffff74,(char)uVar15)" identifier = (binary_expression "(ctype)ctype<char>::widen(in_stack_ffffff74,(char)uVar15)" (binary_expression "(ctype)ctype<char" (cast_expression "(ctype)ctype" ( (type_descriptor "ctype" type_identifier) ) identifier) < identifier) > (ERROR "::" : :) (call_expression "widen(in_stack_ffffff74,(char)uVar15)" identifier (argument_list "(in_stack_ffffff74,(char)uVar15)" ( identifier , (cast_expression "(char)uVar15" ( (type_descriptor "char" primitive_type) ) identifier) ))))) ;) }) (else_clause "else {\n      cVar4 = this_00[0x4a];\n    }" else (compound_statement "{\n      cVar4 = this_00[0x4a];\n    }" { (expression_statement "cVar4 = this_00[0x4a];" (assignment_expression "cVar4 = this_00[0x4a]" identifier = (subscript_expression "this_00[0x4a]" identifier [ number_literal ])) ;) }))) (if_statement "if (cVar3 != cVar4) {\n      cVar3 = (ctype)istreambuf_iterator<char,std::char_traits<char>>::_M_get();\n      if (this_00[0x1c] == (ctype)0x0) {\n        cVar4 = (ctype)ctype<char>::widen(in_stack_ffffff74,(char)uVar15);\n      }\n      else {\n        cVar4 = this_00[0x48];\n      }\n      if (cVar3 != cVar4) break;\n    }" if (parenthesized_expression "(cVar3 != cVar4)" ( (binary_expression "cVar3 != cVar4" identifier != identifier) )) (compound_statement "{\n      cVar3 = (ctype)istreambuf_iterator<char,std::char_traits<char>>::_M_get();\n      if (this_00[0x1c] == (ctype)0x0) {\n        cVar4 = (ctype)ctype<char>::widen(in_stack_ffffff74,(char)uVar15);\n      }\n      else {\n        cVar4 = this_00[0x48];\n      }\n      if (cVar3 != cVar4) break;\n    }" { (ERROR "cVar3 = (ctype)istreambuf_iterator<char,std::" (comma_expression "cVar3 = (ctype)istreambuf_iterator<char,std" (assignment_expression "cVar3 = (ctype)istreambuf_iterator<char" identifier = (binary_expression "(ctype)istreambuf_iterator<char" (cast_expression "(ctype)istreambuf_iterator" ( (type_descriptor "ctype" type_identifier) ) identifier) < identifier)) , identifier) : :) (expression_statement "char_traits<char>>::_M_get();" (binary_expression "char_traits<char>>::_M_get()" identifier < (binary_expression "char>>::_M_get()" identifier >> (ERROR "::" : :) (call_expression "_M_get()" identifier (argument_list "()" ( ))))) ;) (if_statement "if (this_00[0x1c] == (ctype)0x0) {\n        cVar4 = (ctype)ctype<char>::widen(in_stack_ffffff74,(char)uVar15);\n      }\n      else {\n        cVar4 = this_00[0x48];\n      }" if (parenthesized_expression "(this_00[0x1c] == (ctype)0x0)" ( (binary_expression "this_00[0x1c] == (ctype)0x0" (subscript_expression "this_00[0x1c]" identifier [ number_literal ]) == (cast_expression "(ctype)0x0" ( (type_descriptor "ctype" type_identifier) ) number_literal)) )) (compound_statement "{\n        cVar4 = (ctype)ctype<char>::widen(in_stack_ffffff74,(char)uVar15);\n      }" { (expression_statement "cVar4 = (ctype)ctype<char>::widen(in_stack_ffffff74,(char)uVar15);" (assignment_expression "cVar4 = (ctype)ctype<char>::widen(in_stack_ffffff74,(char)uVar15)" identifier = (binary_expression "(ctype)ctype<char>::widen(in_stack_ffffff74,(char)uVar15)" (binary_expression "(ctype)ctype<char" (cast_expression "(ctype)ctype" ( (type_descriptor "ctype" type_identifier) ) identifier) < identifier) > (ERROR "::" : :) (call_expression "widen(in_stack_ffffff74,(char)uVar15)" identifier (argument_list "(in_stack_ffffff74,(char)uVar15)" ( identifier , (cast_expression "(char)uVar15" ( (type_descriptor "char" primitive_type) ) identifier) ))))) ;) }) (else_clause "else {\n        cVar4 = this_00[0x48];\n      }" else (compound_statement "{\n        cVar4 = this_00[0x48];\n      }" { (expression_statement "cVar4 = this_00[0x48];" (assignment_expression "cVar4 = this_00[0x48]" identifier = (subscript_expression "this_00[0x48]" identifier [ number_literal ])) ;) }))) (if_statement "if (cVar3 != cVar4) break;" if (parenthesized_expression "(cVar3 != cVar4)" ( (binary_expression "cVar3 != cVar4" identifier != identifier) )) (break_statement "break;" break ;)) })) (expression_statement "_M_extract_num(&local_64,param_2,param_3,param_4,param_5,param_6,&local_4c,0,0x17,2,param_7,\n                   &local_54);" (call_expression "_M_extract_num(&local_64,param_2,param_3,param_4,param_5,param_6,&local_4c,0,0x17,2,param_7,\n                   &local_54)" identifier (argument_list "(&local_64,param_2,param_3,param_4,param_5,param_6,&local_4c,0,0x17,2,param_7,\n                   &local_54)" ( (pointer_expression "&local_64" & identifier) , identifier , identifier , identifier , identifier , identifier , (pointer_expression "&local_4c" & identifier) , number_literal , number_literal , number_literal , identifier , (pointer_expression "&local_54" & identifier) ))) ;) (expression_statement "param_3 = local_64;" (assignment_expression "param_3 = local_64" identifier = identifier) ;) (expression_statement "param_4 = uStack_60;" (assignment_expression "param_4 = uStack_60" identifier = identifier) ;) (expression_statement "_M_extract_num(&local_64,param_2,local_64,uStack_60,param_5,param_6,&local_4c,0,0x3b,2,param_7,\n                   &local_54);" (call_expression "_M_extract_num(&local_64,param_2,local_64,uStack_60,param_5,param_6,&local_4c,0,0x3b,2,param_7,\n                   &local_54)" identifier (argument_list "(&local_64,param_2,local_64,uStack_60,param_5,param_6,&local_4c,0,0x3b,2,param_7,\n                   &local_54)" ( (pointer_expression "&local_64" & identifier) , identifier , identifier , identifier , identifier , identifier , (pointer_expression "&local_4c" & identifier) , number_literal , number_literal , number_literal , identifier , (pointer_expression "&local_54" & identifier) ))) ;) (goto_statement "goto LAB_00201b6c;" goto statement_identifier ;)) (case_statement "case (ctype)0x61:\n    iVar7 = *(int *)(this + 8);\n    local_4c = *(char **)(iVar7 + 0x48);\n    local_48 = *(undefined4 *)(iVar7 + 0x4c);\n    local_44 = *(undefined4 *)(iVar7 + 0x50);\n    local_40 = *(undefined4 *)(iVar7 + 0x54);\n    local_3c = *(undefined4 *)(iVar7 + 0x58);\n    local_38 = *(undefined4 *)(iVar7 + 0x5c);\n    local_34 = *(undefined4 *)(iVar7 + 0x60);\nLAB_00201f34:\n    _M_extract_name(&local_64,param_2,param_3,param_4,param_5,param_6,&local_50,&local_4c,7,param_7,\n                    &local_54);\n    param_3 = local_64;\n    param_4 = uStack_60;\n    if (local_54 == 0) {\n      param_9[6] = local_50;\n    }\n    break;" case (cast_expression "(ctype)0x61" ( (type_descriptor "ctype" type_identifier) ) number_literal) : (expression_statement "iVar7 = *(int *)(this + 8);" (assignment_expression "iVar7 = *(int *)(this + 8)" identifier = (pointer_expression "*(int *)(this + 8)" * (cast_expression "(int *)(this + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(this + 8)" ( (binary_expression "this + 8" identifier + number_literal) ))))) ;) (expression_statement "local_4c = *(char **)(iVar7 + 0x48);" (assignment_expression "local_4c = *(char **)(iVar7 + 0x48)" identifier = (pointer_expression "*(char **)(iVar7 + 0x48)" * (cast_expression "(char **)(iVar7 + 0x48)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar7 + 0x48)" ( (binary_expression "iVar7 + 0x48" identifier + number_literal) ))))) ;) (expression_statement "local_48 = *(undefined4 *)(iVar7 + 0x4c);" (assignment_expression "local_48 = *(undefined4 *)(iVar7 + 0x4c)" identifier = (pointer_expression "*(undefined4 *)(iVar7 + 0x4c)" * (cast_expression "(undefined4 *)(iVar7 + 0x4c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0x4c)" ( (binary_expression "iVar7 + 0x4c" identifier + number_literal) ))))) ;) (expression_statement "local_44 = *(undefined4 *)(iVar7 + 0x50);" (assignment_expression "local_44 = *(undefined4 *)(iVar7 + 0x50)" identifier = (pointer_expression "*(undefined4 *)(iVar7 + 0x50)" * (cast_expression "(undefined4 *)(iVar7 + 0x50)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0x50)" ( (binary_expression "iVar7 + 0x50" identifier + number_literal) ))))) ;) (expression_statement "local_40 = *(undefined4 *)(iVar7 + 0x54);" (assignment_expression "local_40 = *(undefined4 *)(iVar7 + 0x54)" identifier = (pointer_expression "*(undefined4 *)(iVar7 + 0x54)" * (cast_expression "(undefined4 *)(iVar7 + 0x54)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0x54)" ( (binary_expression "iVar7 + 0x54" identifier + number_literal) ))))) ;) (expression_statement "local_3c = *(undefined4 *)(iVar7 + 0x58);" (assignment_expression "local_3c = *(undefined4 *)(iVar7 + 0x58)" identifier = (pointer_expression "*(undefined4 *)(iVar7 + 0x58)" * (cast_expression "(undefined4 *)(iVar7 + 0x58)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0x58)" ( (binary_expression "iVar7 + 0x58" identifier + number_literal) ))))) ;) (expression_statement "local_38 = *(undefined4 *)(iVar7 + 0x5c);" (assignment_expression "local_38 = *(undefined4 *)(iVar7 + 0x5c)" identifier = (pointer_expression "*(undefined4 *)(iVar7 + 0x5c)" * (cast_expression "(undefined4 *)(iVar7 + 0x5c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0x5c)" ( (binary_expression "iVar7 + 0x5c" identifier + number_literal) ))))) ;) (expression_statement "local_34 = *(undefined4 *)(iVar7 + 0x60);" (assignment_expression "local_34 = *(undefined4 *)(iVar7 + 0x60)" identifier = (pointer_expression "*(undefined4 *)(iVar7 + 0x60)" * (cast_expression "(undefined4 *)(iVar7 + 0x60)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0x60)" ( (binary_expression "iVar7 + 0x60" identifier + number_literal) ))))) ;) (labeled_statement "LAB_00201f34:\n    _M_extract_name(&local_64,param_2,param_3,param_4,param_5,param_6,&local_50,&local_4c,7,param_7,\n                    &local_54);" statement_identifier : (expression_statement "_M_extract_name(&local_64,param_2,param_3,param_4,param_5,param_6,&local_50,&local_4c,7,param_7,\n                    &local_54);" (call_expression "_M_extract_name(&local_64,param_2,param_3,param_4,param_5,param_6,&local_50,&local_4c,7,param_7,\n                    &local_54)" identifier (argument_list "(&local_64,param_2,param_3,param_4,param_5,param_6,&local_50,&local_4c,7,param_7,\n                    &local_54)" ( (pointer_expression "&local_64" & identifier) , identifier , identifier , identifier , identifier , identifier , (pointer_expression "&local_50" & identifier) , (pointer_expression "&local_4c" & identifier) , number_literal , identifier , (pointer_expression "&local_54" & identifier) ))) ;)) (expression_statement "param_3 = local_64;" (assignment_expression "param_3 = local_64" identifier = identifier) ;) (expression_statement "param_4 = uStack_60;" (assignment_expression "param_4 = uStack_60" identifier = identifier) ;) (if_statement "if (local_54 == 0) {\n      param_9[6] = local_50;\n    }" if (parenthesized_expression "(local_54 == 0)" ( (binary_expression "local_54 == 0" identifier == number_literal) )) (compound_statement "{\n      param_9[6] = local_50;\n    }" { (expression_statement "param_9[6] = local_50;" (assignment_expression "param_9[6] = local_50" (subscript_expression "param_9[6]" identifier [ number_literal ]) = identifier) ;) })) (break_statement "break;" break ;)) (case_statement "case (ctype)0x62:" case (cast_expression "(ctype)0x62" ( (type_descriptor "ctype" type_identifier) ) number_literal) :) (case_statement "case (ctype)0x68:\n    __timepunct<char>::_M_months_abbreviated((__timepunct<char> *)this,&local_4c);\nLAB_00201fd1:\n    _M_extract_name(&local_64,param_2,param_3,param_4,param_5,param_6,&local_50,&local_4c,0xc,\n                    param_7,&local_54);\n    param_3 = local_64;\n    param_4 = uStack_60;\n    if (local_54 == 0) {\n      param_9[4] = local_50;\n    }\n    break;" case (cast_expression "(ctype)0x68" ( (type_descriptor "ctype" type_identifier) ) number_literal) : (expression_statement "__timepunct<char>::_M_months_abbreviated((__timepunct<char> *)this,&local_4c);" (binary_expression "__timepunct<char>::_M_months_abbreviated((__timepunct<char> *)this,&local_4c)" (binary_expression "__timepunct<char" identifier < identifier) > (ERROR "::" : :) (call_expression "_M_months_abbreviated((__timepunct<char> *)this,&local_4c)" identifier (argument_list "((__timepunct<char> *)this,&local_4c)" ( (parenthesized_expression "(__timepunct<char> *)this,&local_4c)" ( (comma_expression "__timepunct<char> *)this,&local_4c" (binary_expression "__timepunct<char> *)this" (binary_expression "__timepunct<char" identifier < identifier) > (pointer_expression "*)this" * (ERROR ")" )) identifier)) , (pointer_expression "&local_4c" & identifier)) )) )))) ;) (labeled_statement "LAB_00201fd1:\n    _M_extract_name(&local_64,param_2,param_3,param_4,param_5,param_6,&local_50,&local_4c,0xc,\n                    param_7,&local_54);" statement_identifier : (expression_statement "_M_extract_name(&local_64,param_2,param_3,param_4,param_5,param_6,&local_50,&local_4c,0xc,\n                    param_7,&local_54);" (call_expression "_M_extract_name(&local_64,param_2,param_3,param_4,param_5,param_6,&local_50,&local_4c,0xc,\n                    param_7,&local_54)" identifier (argument_list "(&local_64,param_2,param_3,param_4,param_5,param_6,&local_50,&local_4c,0xc,\n                    param_7,&local_54)" ( (pointer_expression "&local_64" & identifier) , identifier , identifier , identifier , identifier , identifier , (pointer_expression "&local_50" & identifier) , (pointer_expression "&local_4c" & identifier) , number_literal , identifier , (pointer_expression "&local_54" & identifier) ))) ;)) (expression_statement "param_3 = local_64;" (assignment_expression "param_3 = local_64" identifier = identifier) ;) (expression_statement "param_4 = uStack_60;" (assignment_expression "param_4 = uStack_60" identifier = identifier) ;) (if_statement "if (local_54 == 0) {\n      param_9[4] = local_50;\n    }" if (parenthesized_expression "(local_54 == 0)" ( (binary_expression "local_54 == 0" identifier == number_literal) )) (compound_statement "{\n      param_9[4] = local_50;\n    }" { (expression_statement "param_9[4] = local_50;" (assignment_expression "param_9[4] = local_50" (subscript_expression "param_9[4]" identifier [ number_literal ]) = identifier) ;) })) (break_statement "break;" break ;)) (case_statement "case (ctype)0x63:\n    ppcVar12 = *(char ***)(*(int *)(this + 8) + 0x18);\n    goto LAB_00201b30;" case (cast_expression "(ctype)0x63" ( (type_descriptor "ctype" type_identifier) ) number_literal) : (expression_statement "ppcVar12 = *(char ***)(*(int *)(this + 8) + 0x18);" (assignment_expression "ppcVar12 = *(char ***)(*(int *)(this + 8) + 0x18)" identifier = (pointer_expression "*(char ***)(*(int *)(this + 8) + 0x18)" * (cast_expression "(char ***)(*(int *)(this + 8) + 0x18)" ( (type_descriptor "char ***" primitive_type (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(*(int *)(this + 8) + 0x18)" ( (binary_expression "*(int *)(this + 8) + 0x18" (pointer_expression "*(int *)(this + 8)" * (cast_expression "(int *)(this + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(this + 8)" ( (binary_expression "this + 8" identifier + number_literal) )))) + number_literal) ))))) ;) (goto_statement "goto LAB_00201b30;" goto statement_identifier ;)) (case_statement "case (ctype)0x64:\n    uVar13 = 2;\n    uVar11 = 0x1f;\n    uVar10 = 1;\n    goto LAB_002021b6;" case (cast_expression "(ctype)0x64" ( (type_descriptor "ctype" type_identifier) ) number_literal) : (expression_statement "uVar13 = 2;" (assignment_expression "uVar13 = 2" identifier = number_literal) ;) (expression_statement "uVar11 = 0x1f;" (assignment_expression "uVar11 = 0x1f" identifier = number_literal) ;) (expression_statement "uVar10 = 1;" (assignment_expression "uVar10 = 1" identifier = number_literal) ;) (goto_statement "goto LAB_002021b6;" goto statement_identifier ;)) (case_statement "case (ctype)0x65:\n    uVar9 = istreambuf_iterator<char,std::char_traits<char>>::_M_get();\n    if ((*(byte *)(*(int *)(this_00 + 0x18) + 1 + (uVar9 & 0xff) * 2) & 0x20) == 0) {\n      uVar13 = 2;\n      uVar11 = 0x1f;\n      uVar10 = 10;\n    }\n    else {\n      streambuf::sbumpc(param_3);\n      param_4 = 0xffffffff;\n      uVar13 = 1;\n      uVar11 = 9;\n      uVar10 = 1;\n    }\nLAB_002021b6:\n    _M_extract_num(&local_64,param_2,param_3,param_4,param_5,param_6,&local_50,uVar10,uVar11,uVar13,\n                   param_7,&local_54);\n    param_3 = local_64;\n    param_4 = uStack_60;\n    if (local_54 == 0) {\n      param_9[3] = local_50;\n    }\n    break;" case (cast_expression "(ctype)0x65" ( (type_descriptor "ctype" type_identifier) ) number_literal) : (ERROR "uVar9 = istreambuf_iterator<char,std::" (comma_expression "uVar9 = istreambuf_iterator<char,std" (assignment_expression "uVar9 = istreambuf_iterator<char" identifier = (binary_expression "istreambuf_iterator<char" identifier < identifier)) , identifier) : :) (expression_statement "char_traits<char>>::_M_get();" (binary_expression "char_traits<char>>::_M_get()" identifier < (binary_expression "char>>::_M_get()" identifier >> (ERROR "::" : :) (call_expression "_M_get()" identifier (argument_list "()" ( ))))) ;) (if_statement "if ((*(byte *)(*(int *)(this_00 + 0x18) + 1 + (uVar9 & 0xff) * 2) & 0x20) == 0) {\n      uVar13 = 2;\n      uVar11 = 0x1f;\n      uVar10 = 10;\n    }\n    else {\n      streambuf::sbumpc(param_3);\n      param_4 = 0xffffffff;\n      uVar13 = 1;\n      uVar11 = 9;\n      uVar10 = 1;\n    }" if (parenthesized_expression "((*(byte *)(*(int *)(this_00 + 0x18) + 1 + (uVar9 & 0xff) * 2) & 0x20) == 0)" ( (binary_expression "(*(byte *)(*(int *)(this_00 + 0x18) + 1 + (uVar9 & 0xff) * 2) & 0x20) == 0" (parenthesized_expression "(*(byte *)(*(int *)(this_00 + 0x18) + 1 + (uVar9 & 0xff) * 2) & 0x20)" ( (binary_expression "*(byte *)(*(int *)(this_00 + 0x18) + 1 + (uVar9 & 0xff) * 2) & 0x20" (pointer_expression "*(byte *)(*(int *)(this_00 + 0x18) + 1 + (uVar9 & 0xff) * 2)" * (cast_expression "(byte *)(*(int *)(this_00 + 0x18) + 1 + (uVar9 & 0xff) * 2)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(this_00 + 0x18) + 1 + (uVar9 & 0xff) * 2)" ( (binary_expression "*(int *)(this_00 + 0x18) + 1 + (uVar9 & 0xff) * 2" (binary_expression "*(int *)(this_00 + 0x18) + 1" (pointer_expression "*(int *)(this_00 + 0x18)" * (cast_expression "(int *)(this_00 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(this_00 + 0x18)" ( (binary_expression "this_00 + 0x18" identifier + number_literal) )))) + number_literal) + (binary_expression "(uVar9 & 0xff) * 2" (parenthesized_expression "(uVar9 & 0xff)" ( (binary_expression "uVar9 & 0xff" identifier & number_literal) )) * number_literal)) )))) & number_literal) )) == number_literal) )) (compound_statement "{\n      uVar13 = 2;\n      uVar11 = 0x1f;\n      uVar10 = 10;\n    }" { (expression_statement "uVar13 = 2;" (assignment_expression "uVar13 = 2" identifier = number_literal) ;) (expression_statement "uVar11 = 0x1f;" (assignment_expression "uVar11 = 0x1f" identifier = number_literal) ;) (expression_statement "uVar10 = 10;" (assignment_expression "uVar10 = 10" identifier = number_literal) ;) }) (else_clause "else {\n      streambuf::sbumpc(param_3);\n      param_4 = 0xffffffff;\n      uVar13 = 1;\n      uVar11 = 9;\n      uVar10 = 1;\n    }" else (compound_statement "{\n      streambuf::sbumpc(param_3);\n      param_4 = 0xffffffff;\n      uVar13 = 1;\n      uVar11 = 9;\n      uVar10 = 1;\n    }" { (labeled_statement "streambuf::sbumpc(param_3);" statement_identifier : (ERROR ":" :) (expression_statement "sbumpc(param_3);" (call_expression "sbumpc(param_3)" identifier (argument_list "(param_3)" ( identifier ))) ;)) (expression_statement "param_4 = 0xffffffff;" (assignment_expression "param_4 = 0xffffffff" identifier = number_literal) ;) (expression_statement "uVar13 = 1;" (assignment_expression "uVar13 = 1" identifier = number_literal) ;) (expression_statement "uVar11 = 9;" (assignment_expression "uVar11 = 9" identifier = number_literal) ;) (expression_statement "uVar10 = 1;" (assignment_expression "uVar10 = 1" identifier = number_literal) ;) }))) (labeled_statement "LAB_002021b6:\n    _M_extract_num(&local_64,param_2,param_3,param_4,param_5,param_6,&local_50,uVar10,uVar11,uVar13,\n                   param_7,&local_54);" statement_identifier : (expression_statement "_M_extract_num(&local_64,param_2,param_3,param_4,param_5,param_6,&local_50,uVar10,uVar11,uVar13,\n                   param_7,&local_54);" (call_expression "_M_extract_num(&local_64,param_2,param_3,param_4,param_5,param_6,&local_50,uVar10,uVar11,uVar13,\n                   param_7,&local_54)" identifier (argument_list "(&local_64,param_2,param_3,param_4,param_5,param_6,&local_50,uVar10,uVar11,uVar13,\n                   param_7,&local_54)" ( (pointer_expression "&local_64" & identifier) , identifier , identifier , identifier , identifier , identifier , (pointer_expression "&local_50" & identifier) , identifier , identifier , identifier , identifier , (pointer_expression "&local_54" & identifier) ))) ;)) (expression_statement "param_3 = local_64;" (assignment_expression "param_3 = local_64" identifier = identifier) ;) (expression_statement "param_4 = uStack_60;" (assignment_expression "param_4 = uStack_60" identifier = identifier) ;) (if_statement "if (local_54 == 0) {\n      param_9[3] = local_50;\n    }" if (parenthesized_expression "(local_54 == 0)" ( (binary_expression "local_54 == 0" identifier == number_literal) )) (compound_statement "{\n      param_9[3] = local_50;\n    }" { (expression_statement "param_9[3] = local_50;" (assignment_expression "param_9[3] = local_50" (subscript_expression "param_9[3]" identifier [ number_literal ]) = identifier) ;) })) (break_statement "break;" break ;)) (case_statement "case (ctype)0x6d:\n    _M_extract_num(&local_64,param_2,param_3,param_4,param_5,param_6,&local_50,1,0xc,2,param_7,\n                   &local_54);\n    param_3 = local_64;\n    param_4 = uStack_60;\n    if (local_54 == 0) {\n      param_9[4] = local_50 + -1;\n    }\n    break;" case (cast_expression "(ctype)0x6d" ( (type_descriptor "ctype" type_identifier) ) number_literal) : (expression_statement "_M_extract_num(&local_64,param_2,param_3,param_4,param_5,param_6,&local_50,1,0xc,2,param_7,\n                   &local_54);" (call_expression "_M_extract_num(&local_64,param_2,param_3,param_4,param_5,param_6,&local_50,1,0xc,2,param_7,\n                   &local_54)" identifier (argument_list "(&local_64,param_2,param_3,param_4,param_5,param_6,&local_50,1,0xc,2,param_7,\n                   &local_54)" ( (pointer_expression "&local_64" & identifier) , identifier , identifier , identifier , identifier , identifier , (pointer_expression "&local_50" & identifier) , number_literal , number_literal , number_literal , identifier , (pointer_expression "&local_54" & identifier) ))) ;) (expression_statement "param_3 = local_64;" (assignment_expression "param_3 = local_64" identifier = identifier) ;) (expression_statement "param_4 = uStack_60;" (assignment_expression "param_4 = uStack_60" identifier = identifier) ;) (if_statement "if (local_54 == 0) {\n      param_9[4] = local_50 + -1;\n    }" if (parenthesized_expression "(local_54 == 0)" ( (binary_expression "local_54 == 0" identifier == number_literal) )) (compound_statement "{\n      param_9[4] = local_50 + -1;\n    }" { (expression_statement "param_9[4] = local_50 + -1;" (assignment_expression "param_9[4] = local_50 + -1" (subscript_expression "param_9[4]" identifier [ number_literal ]) = (binary_expression "local_50 + -1" identifier + number_literal)) ;) })) (break_statement "break;" break ;)) (case_statement "case (ctype)0x6e:\n    cVar4 = (ctype)istreambuf_iterator<char,std::char_traits<char>>::_M_get();\n    cVar3 = this_00[(byte)cVar4 + 0x11d];\n    if (cVar3 == (ctype)0x0) {\n      cVar3 = cVar4;\n      if (*(code **)(*(int *)this_00 + 0x20) != (code *)PTR_do_narrow_0038ed98) {\n        cVar3 = (ctype)(**(code **)(*(int *)this_00 + 0x20))(this_00,(int)(char)cVar4,0);\n      }\n      if (cVar3 == (ctype)0x0) goto _L2028;\n      this_00[(byte)cVar4 + 0x11d] = cVar3;\n    }\n    if (cVar3 != (ctype)0xa) goto _L2028;\nLAB_00202346:\n    streambuf::sbumpc(param_3);\n    param_4 = 0xffffffff;\n    break;" case (cast_expression "(ctype)0x6e" ( (type_descriptor "ctype" type_identifier) ) number_literal) : (ERROR "cVar4 = (ctype)istreambuf_iterator<char,std::" (comma_expression "cVar4 = (ctype)istreambuf_iterator<char,std" (assignment_expression "cVar4 = (ctype)istreambuf_iterator<char" identifier = (binary_expression "(ctype)istreambuf_iterator<char" (cast_expression "(ctype)istreambuf_iterator" ( (type_descriptor "ctype" type_identifier) ) identifier) < identifier)) , identifier) : :) (expression_statement "char_traits<char>>::_M_get();" (binary_expression "char_traits<char>>::_M_get()" identifier < (binary_expression "char>>::_M_get()" identifier >> (ERROR "::" : :) (call_expression "_M_get()" identifier (argument_list "()" ( ))))) ;) (expression_statement "cVar3 = this_00[(byte)cVar4 + 0x11d];" (assignment_expression "cVar3 = this_00[(byte)cVar4 + 0x11d]" identifier = (subscript_expression "this_00[(byte)cVar4 + 0x11d]" identifier [ (binary_expression "(byte)cVar4 + 0x11d" (cast_expression "(byte)cVar4" ( (type_descriptor "byte" type_identifier) ) identifier) + number_literal) ])) ;) (if_statement "if (cVar3 == (ctype)0x0) {\n      cVar3 = cVar4;\n      if (*(code **)(*(int *)this_00 + 0x20) != (code *)PTR_do_narrow_0038ed98) {\n        cVar3 = (ctype)(**(code **)(*(int *)this_00 + 0x20))(this_00,(int)(char)cVar4,0);\n      }\n      if (cVar3 == (ctype)0x0) goto _L2028;\n      this_00[(byte)cVar4 + 0x11d] = cVar3;\n    }" if (parenthesized_expression "(cVar3 == (ctype)0x0)" ( (binary_expression "cVar3 == (ctype)0x0" identifier == (cast_expression "(ctype)0x0" ( (type_descriptor "ctype" type_identifier) ) number_literal)) )) (compound_statement "{\n      cVar3 = cVar4;\n      if (*(code **)(*(int *)this_00 + 0x20) != (code *)PTR_do_narrow_0038ed98) {\n        cVar3 = (ctype)(**(code **)(*(int *)this_00 + 0x20))(this_00,(int)(char)cVar4,0);\n      }\n      if (cVar3 == (ctype)0x0) goto _L2028;\n      this_00[(byte)cVar4 + 0x11d] = cVar3;\n    }" { (expression_statement "cVar3 = cVar4;" (assignment_expression "cVar3 = cVar4" identifier = identifier) ;) (if_statement "if (*(code **)(*(int *)this_00 + 0x20) != (code *)PTR_do_narrow_0038ed98) {\n        cVar3 = (ctype)(**(code **)(*(int *)this_00 + 0x20))(this_00,(int)(char)cVar4,0);\n      }" if (parenthesized_expression "(*(code **)(*(int *)this_00 + 0x20) != (code *)PTR_do_narrow_0038ed98)" ( (binary_expression "*(code **)(*(int *)this_00 + 0x20) != (code *)PTR_do_narrow_0038ed98" (pointer_expression "*(code **)(*(int *)this_00 + 0x20)" * (cast_expression "(code **)(*(int *)this_00 + 0x20)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)this_00 + 0x20)" ( (binary_expression "*(int *)this_00 + 0x20" (pointer_expression "*(int *)this_00" * (cast_expression "(int *)this_00" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) + number_literal) )))) != (cast_expression "(code *)PTR_do_narrow_0038ed98" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (compound_statement "{\n        cVar3 = (ctype)(**(code **)(*(int *)this_00 + 0x20))(this_00,(int)(char)cVar4,0);\n      }" { (expression_statement "cVar3 = (ctype)(**(code **)(*(int *)this_00 + 0x20))(this_00,(int)(char)cVar4,0);" (assignment_expression "cVar3 = (ctype)(**(code **)(*(int *)this_00 + 0x20))(this_00,(int)(char)cVar4,0)" identifier = (call_expression "(ctype)(**(code **)(*(int *)this_00 + 0x20))(this_00,(int)(char)cVar4,0)" (call_expression "(ctype)(**(code **)(*(int *)this_00 + 0x20))" (parenthesized_expression "(ctype)" ( identifier )) (argument_list "(**(code **)(*(int *)this_00 + 0x20))" ( (pointer_expression "**(code **)(*(int *)this_00 + 0x20)" * (pointer_expression "*(code **)(*(int *)this_00 + 0x20)" * (cast_expression "(code **)(*(int *)this_00 + 0x20)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)this_00 + 0x20)" ( (binary_expression "*(int *)this_00 + 0x20" (pointer_expression "*(int *)this_00" * (cast_expression "(int *)this_00" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) + number_literal) ))))) ))) (argument_list "(this_00,(int)(char)cVar4,0)" ( identifier , (cast_expression "(int)(char)cVar4" ( (type_descriptor "int" primitive_type) ) (cast_expression "(char)cVar4" ( (type_descriptor "char" primitive_type) ) identifier)) , number_literal )))) ;) })) (if_statement "if (cVar3 == (ctype)0x0) goto _L2028;" if (parenthesized_expression "(cVar3 == (ctype)0x0)" ( (binary_expression "cVar3 == (ctype)0x0" identifier == (cast_expression "(ctype)0x0" ( (type_descriptor "ctype" type_identifier) ) number_literal)) )) (goto_statement "goto _L2028;" goto statement_identifier ;)) (expression_statement "this_00[(byte)cVar4 + 0x11d] = cVar3;" (assignment_expression "this_00[(byte)cVar4 + 0x11d] = cVar3" (subscript_expression "this_00[(byte)cVar4 + 0x11d]" identifier [ (binary_expression "(byte)cVar4 + 0x11d" (cast_expression "(byte)cVar4" ( (type_descriptor "byte" type_identifier) ) identifier) + number_literal) ]) = identifier) ;) })) (if_statement "if (cVar3 != (ctype)0xa) goto _L2028;" if (parenthesized_expression "(cVar3 != (ctype)0xa)" ( (binary_expression "cVar3 != (ctype)0xa" identifier != (cast_expression "(ctype)0xa" ( (type_descriptor "ctype" type_identifier) ) number_literal)) )) (goto_statement "goto _L2028;" goto statement_identifier ;)) (labeled_statement "LAB_00202346:\n    streambuf::sbumpc(param_3);" statement_identifier : (labeled_statement "streambuf::sbumpc(param_3);" statement_identifier : (ERROR ":" :) (expression_statement "sbumpc(param_3);" (call_expression "sbumpc(param_3)" identifier (argument_list "(param_3)" ( identifier ))) ;))) (expression_statement "param_4 = 0xffffffff;" (assignment_expression "param_4 = 0xffffffff" identifier = number_literal) ;) (break_statement "break;" break ;)) (case_statement "case (ctype)0x74:\n    cVar4 = (ctype)istreambuf_iterator<char,std::char_traits<char>>::_M_get();\n    cVar3 = this_00[(byte)cVar4 + 0x11d];\n    if (cVar3 == (ctype)0x0) {\n      cVar3 = cVar4;\n      if (*(code **)(*(int *)this_00 + 0x20) != ctype<char>::do_narrow) {\n        cVar3 = (ctype)(**(code **)(*(int *)this_00 + 0x20))(this_00,(int)(char)cVar4,0);\n      }\n      if (cVar3 == (ctype)0x0) goto _L2028;\n      this_00[(byte)cVar4 + 0x11d] = cVar3;\n    }\n    if (cVar3 == (ctype)0x9) goto LAB_00202346;\n    goto _L2028;" case (cast_expression "(ctype)0x74" ( (type_descriptor "ctype" type_identifier) ) number_literal) : (ERROR "cVar4 = (ctype)istreambuf_iterator<char,std::" (comma_expression "cVar4 = (ctype)istreambuf_iterator<char,std" (assignment_expression "cVar4 = (ctype)istreambuf_iterator<char" identifier = (binary_expression "(ctype)istreambuf_iterator<char" (cast_expression "(ctype)istreambuf_iterator" ( (type_descriptor "ctype" type_identifier) ) identifier) < identifier)) , identifier) : :) (expression_statement "char_traits<char>>::_M_get();" (binary_expression "char_traits<char>>::_M_get()" identifier < (binary_expression "char>>::_M_get()" identifier >> (ERROR "::" : :) (call_expression "_M_get()" identifier (argument_list "()" ( ))))) ;) (expression_statement "cVar3 = this_00[(byte)cVar4 + 0x11d];" (assignment_expression "cVar3 = this_00[(byte)cVar4 + 0x11d]" identifier = (subscript_expression "this_00[(byte)cVar4 + 0x11d]" identifier [ (binary_expression "(byte)cVar4 + 0x11d" (cast_expression "(byte)cVar4" ( (type_descriptor "byte" type_identifier) ) identifier) + number_literal) ])) ;) (if_statement "if (cVar3 == (ctype)0x0) {\n      cVar3 = cVar4;\n      if (*(code **)(*(int *)this_00 + 0x20) != ctype<char>::do_narrow) {\n        cVar3 = (ctype)(**(code **)(*(int *)this_00 + 0x20))(this_00,(int)(char)cVar4,0);\n      }\n      if (cVar3 == (ctype)0x0) goto _L2028;\n      this_00[(byte)cVar4 + 0x11d] = cVar3;\n    }" if (parenthesized_expression "(cVar3 == (ctype)0x0)" ( (binary_expression "cVar3 == (ctype)0x0" identifier == (cast_expression "(ctype)0x0" ( (type_descriptor "ctype" type_identifier) ) number_literal)) )) (compound_statement "{\n      cVar3 = cVar4;\n      if (*(code **)(*(int *)this_00 + 0x20) != ctype<char>::do_narrow) {\n        cVar3 = (ctype)(**(code **)(*(int *)this_00 + 0x20))(this_00,(int)(char)cVar4,0);\n      }\n      if (cVar3 == (ctype)0x0) goto _L2028;\n      this_00[(byte)cVar4 + 0x11d] = cVar3;\n    }" { (expression_statement "cVar3 = cVar4;" (assignment_expression "cVar3 = cVar4" identifier = identifier) ;) (if_statement "if (*(code **)(*(int *)this_00 + 0x20) != ctype<char>::do_narrow) {\n        cVar3 = (ctype)(**(code **)(*(int *)this_00 + 0x20))(this_00,(int)(char)cVar4,0);\n      }" if (parenthesized_expression "(*(code **)(*(int *)this_00 + 0x20) != ctype<char>::do_narrow)" ( (binary_expression "*(code **)(*(int *)this_00 + 0x20) != ctype<char>::do_narrow" (pointer_expression "*(code **)(*(int *)this_00 + 0x20)" * (cast_expression "(code **)(*(int *)this_00 + 0x20)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)this_00 + 0x20)" ( (binary_expression "*(int *)this_00 + 0x20" (pointer_expression "*(int *)this_00" * (cast_expression "(int *)this_00" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) + number_literal) )))) != (binary_expression "ctype<char>::do_narrow" (binary_expression "ctype<char" identifier < identifier) > (ERROR "::" : :) identifier)) )) (compound_statement "{\n        cVar3 = (ctype)(**(code **)(*(int *)this_00 + 0x20))(this_00,(int)(char)cVar4,0);\n      }" { (expression_statement "cVar3 = (ctype)(**(code **)(*(int *)this_00 + 0x20))(this_00,(int)(char)cVar4,0);" (assignment_expression "cVar3 = (ctype)(**(code **)(*(int *)this_00 + 0x20))(this_00,(int)(char)cVar4,0)" identifier = (call_expression "(ctype)(**(code **)(*(int *)this_00 + 0x20))(this_00,(int)(char)cVar4,0)" (call_expression "(ctype)(**(code **)(*(int *)this_00 + 0x20))" (parenthesized_expression "(ctype)" ( identifier )) (argument_list "(**(code **)(*(int *)this_00 + 0x20))" ( (pointer_expression "**(code **)(*(int *)this_00 + 0x20)" * (pointer_expression "*(code **)(*(int *)this_00 + 0x20)" * (cast_expression "(code **)(*(int *)this_00 + 0x20)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)this_00 + 0x20)" ( (binary_expression "*(int *)this_00 + 0x20" (pointer_expression "*(int *)this_00" * (cast_expression "(int *)this_00" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) + number_literal) ))))) ))) (argument_list "(this_00,(int)(char)cVar4,0)" ( identifier , (cast_expression "(int)(char)cVar4" ( (type_descriptor "int" primitive_type) ) (cast_expression "(char)cVar4" ( (type_descriptor "char" primitive_type) ) identifier)) , number_literal )))) ;) })) (if_statement "if (cVar3 == (ctype)0x0) goto _L2028;" if (parenthesized_expression "(cVar3 == (ctype)0x0)" ( (binary_expression "cVar3 == (ctype)0x0" identifier == (cast_expression "(ctype)0x0" ( (type_descriptor "ctype" type_identifier) ) number_literal)) )) (goto_statement "goto _L2028;" goto statement_identifier ;)) (expression_statement "this_00[(byte)cVar4 + 0x11d] = cVar3;" (assignment_expression "this_00[(byte)cVar4 + 0x11d] = cVar3" (subscript_expression "this_00[(byte)cVar4 + 0x11d]" identifier [ (binary_expression "(byte)cVar4 + 0x11d" (cast_expression "(byte)cVar4" ( (type_descriptor "byte" type_identifier) ) identifier) + number_literal) ]) = identifier) ;) })) (if_statement "if (cVar3 == (ctype)0x9) goto LAB_00202346;" if (parenthesized_expression "(cVar3 == (ctype)0x9)" ( (binary_expression "cVar3 == (ctype)0x9" identifier == (cast_expression "(ctype)0x9" ( (type_descriptor "ctype" type_identifier) ) number_literal)) )) (goto_statement "goto LAB_00202346;" goto statement_identifier ;)) (goto_statement "goto _L2028;" goto statement_identifier ;)) (case_statement "case (ctype)0x78:\n    ppcVar12 = *(char ***)(*(int *)(this + 8) + 8);\nLAB_00201b30:\n    _M_extract_via_format\n              (&local_64,param_2,param_3,param_4,param_5,param_6,param_7,&local_54,param_9,ppcVar12)\n    ;\nLAB_00201b6c:\n    param_3 = local_64;\n    param_4 = uStack_60;" case (cast_expression "(ctype)0x78" ( (type_descriptor "ctype" type_identifier) ) number_literal) : (expression_statement "ppcVar12 = *(char ***)(*(int *)(this + 8) + 8);" (assignment_expression "ppcVar12 = *(char ***)(*(int *)(this + 8) + 8)" identifier = (pointer_expression "*(char ***)(*(int *)(this + 8) + 8)" * (cast_expression "(char ***)(*(int *)(this + 8) + 8)" ( (type_descriptor "char ***" primitive_type (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(*(int *)(this + 8) + 8)" ( (binary_expression "*(int *)(this + 8) + 8" (pointer_expression "*(int *)(this + 8)" * (cast_expression "(int *)(this + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(this + 8)" ( (binary_expression "this + 8" identifier + number_literal) )))) + number_literal) ))))) ;) (labeled_statement "LAB_00201b30:\n    _M_extract_via_format\n              (&local_64,param_2,param_3,param_4,param_5,param_6,param_7,&local_54,param_9,ppcVar12)\n    ;" statement_identifier : (expression_statement "_M_extract_via_format\n              (&local_64,param_2,param_3,param_4,param_5,param_6,param_7,&local_54,param_9,ppcVar12)\n    ;" (call_expression "_M_extract_via_format\n              (&local_64,param_2,param_3,param_4,param_5,param_6,param_7,&local_54,param_9,ppcVar12)" identifier (argument_list "(&local_64,param_2,param_3,param_4,param_5,param_6,param_7,&local_54,param_9,ppcVar12)" ( (pointer_expression "&local_64" & identifier) , identifier , identifier , identifier , identifier , identifier , identifier , (pointer_expression "&local_54" & identifier) , identifier , identifier ))) ;)) (labeled_statement "LAB_00201b6c:\n    param_3 = local_64;" statement_identifier : (expression_statement "param_3 = local_64;" (assignment_expression "param_3 = local_64" identifier = identifier) ;)) (expression_statement "param_4 = uStack_60;" (assignment_expression "param_4 = uStack_60" identifier = identifier) ;)) })) (labeled_statement "LAB_00201ac0:\n  uVar9 = uVar15 + 1;" statement_identifier : (expression_statement "uVar9 = uVar15 + 1;" (assignment_expression "uVar9 = uVar15 + 1" identifier = (binary_expression "uVar15 + 1" identifier + number_literal)) ;)) (goto_statement "goto LAB_0020189b;" goto statement_identifier ;) (labeled_statement "_L2028:\n  local_54 = local_54 | 4;" statement_identifier : (expression_statement "local_54 = local_54 | 4;" (assignment_expression "local_54 = local_54 | 4" identifier = (binary_expression "local_54 | 4" identifier | number_literal)) ;)) (goto_statement "goto LAB_00201ac0;" goto statement_identifier ;) }))
(translation_unit "undefined4 * FUN_00201820(void)\n\n{\n  int iVar1;\n  undefined1 *puVar2;\n  undefined1 *puVar3;\n  code *pcVar4;\n  undefined4 *puVar5;\n  char cVar6;\n  char cVar7;\n  byte bVar8;\n  byte bVar9;\n  int *piVar10;\n  char *pcVar11;\n  undefined4 uVar12;\n  int iVar13;\n  uint uVar14;\n  undefined1 *puVar15;\n  undefined1 *puVar16;\n  undefined1 *puVar17;\n  uint uVar18;\n  int in_stack_0000001c;\n  char *in_stack_00000028;\n  undefined1 auStack_8c [8];\n  undefined1 *local_84;\n  size_t local_80;\n  undefined1 *local_7c;\n  undefined4 local_74;\n  code *local_70;\n  undefined **local_68;\n  undefined4 local_54;\n  undefined4 uStack_14;\n  \n  uVar18 = 0;\n  uStack_14 = 0x20182b;\n  iVar1 = in_stack_0000001c + 0x6c;\n  local_74 = FUN_001fd780(iVar1);\n  piVar10 = (int *)FUN_001fbde0(iVar1);\n  local_80 = strlen(in_stack_00000028);\n  local_7c = &stack0x00000014;\n  local_84 = &stack0x0000000c;\n  local_54 = 0;\n  local_68 = &PTR_DAT_0038f400;\n  local_70 = FUN_001f81a0;\n  puVar15 = auStack_8c;\nLAB_0020189b:\n  *(undefined4 *)(puVar15 + -0xc) = *(undefined4 *)(puVar15 + 0x10);\n  *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 8);\n  *(undefined4 *)(puVar15 + -0x14) = 0x2018ab;\n  cVar6 = FUN_00200f70();\n  if ((cVar6 == '\x01') || (*(uint *)(puVar15 + 0xc) <= uVar18)) {\n    if ((*(int *)(puVar15 + 0x38) != 0) || (uVar18 != *(uint *)(puVar15 + 0xc))) {\nLAB_00201a0e:\n      **(uint **)(puVar15 + 0xac) = **(uint **)(puVar15 + 0xac) | 4;\n    }\n    puVar5 = *(undefined4 **)(puVar15 + 0x90);\n    uVar12 = *(undefined4 *)(puVar15 + 0x9c);\n    *puVar5 = *(undefined4 *)(puVar15 + 0x98);\n    puVar5[1] = uVar12;\n    return puVar5;\n  }\n  if (*(int *)(puVar15 + 0x38) != 0) goto LAB_00201a0e;\n  bVar8 = *(byte *)(*(int *)(puVar15 + 0xb4) + uVar18);\n  uVar14 = (uint)bVar8;\n  *(byte **)(puVar15 + 0x14) = (byte *)(*(int *)(puVar15 + 0xb4) + uVar18);\n  *(uint *)(puVar15 + 4) = uVar18 + 1;\n  bVar9 = *(byte *)((int)piVar10 + uVar14 + 0x11d);\n  if (bVar9 == 0) {\n    pcVar4 = *(code **)(*piVar10 + 0x20);\n    bVar9 = bVar8;\n    if (pcVar4 != (code *)PTR_FUN_0038ed98) {\n      *(uint *)(puVar15 + 0x20) = uVar14;\n      *(undefined4 *)(puVar15 + -8) = 0;\n      *(int *)(puVar15 + -0xc) = (int)(char)bVar8;\n      *(int **)(puVar15 + -0x10) = piVar10;\n      *(undefined4 *)(puVar15 + -0x14) = 0x201a50;\n      bVar9 = (*pcVar4)();\n      uVar14 = *(uint *)(puVar15 + 0x20);\n    }\n    if (bVar9 != 0) {\n      *(byte *)((int)piVar10 + uVar14 + 0x11d) = bVar9;\n      goto LAB_00201910;\n    }\nLAB_00201980:\n    cVar6 = **(char **)(puVar15 + 0x14);\n    *(undefined4 *)(puVar15 + -4) = 0x201997;\n    cVar7 = FUN_001f91d0();\n    if (cVar6 == cVar7) {\n      *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0x98);\n      *(undefined4 *)(puVar15 + -0x14) = 0x201adf;\n      FUN_001f24d0();\n      *(undefined4 *)(puVar15 + 0x9c) = 0xffffffff;\n      uVar18 = *(uint *)(puVar15 + 4);\n    }\n    else {\n      *(uint *)(puVar15 + 0x38) = *(uint *)(puVar15 + 0x38) | 4;\n      uVar18 = *(uint *)(puVar15 + 4);\n    }\n    goto LAB_0020189b;\n  }\nLAB_00201910:\n  if (bVar9 != 0x25) goto LAB_00201980;\n  bVar8 = *(byte *)(*(int *)(puVar15 + 0xb4) + 1 + uVar18);\n  bVar9 = *(byte *)((int)piVar10 + bVar8 + 0x11d);\n  puVar16 = puVar15;\n  if (bVar9 == 0) {\n    pcVar4 = *(code **)(*piVar10 + 0x20);\n    bVar9 = bVar8;\n    if (pcVar4 != (code *)PTR_FUN_0038ed98) {\n      *(undefined4 *)(puVar15 + -8) = 0;\n      *(int *)(puVar15 + -0xc) = (int)(char)bVar8;\n      *(int **)(puVar15 + -0x10) = piVar10;\n      *(undefined4 *)(puVar15 + -0x14) = 0x201b0c;\n      bVar9 = (*pcVar4)();\n    }\n    if (bVar9 != 0) {\n      *(byte *)((int)piVar10 + bVar8 + 0x11d) = bVar9;\n      goto LAB_00201951;\n    }\n    goto LAB_00201ab8;\n  }\nLAB_00201951:\n  *(undefined4 *)(puVar15 + 0x3c) = 0;\n  if ((bVar9 == 0x45) || (bVar9 == 0x4f)) {\n    *(uint *)(puVar15 + 4) = uVar18 + 2;\n    bVar8 = *(byte *)(*(int *)(puVar15 + 0xb4) + 2 + uVar18);\n    bVar9 = *(byte *)((int)piVar10 + bVar8 + 0x11d);\n    if (bVar9 == 0) {\n      pcVar4 = *(code **)(*piVar10 + 0x20);\n      bVar9 = bVar8;\n      if (pcVar4 != (code *)PTR_FUN_0038ed98) {\n        *(undefined4 *)(puVar15 + -8) = 0;\n        *(int *)(puVar15 + -0xc) = (int)(char)bVar8;\n        *(int **)(puVar15 + -0x10) = piVar10;\n        *(undefined4 *)(puVar15 + -0x14) = 0x20237c;\n        bVar9 = (*pcVar4)();\n      }\n      if (bVar9 == 0) goto LAB_00201ab8;\n      *(byte *)((int)piVar10 + bVar8 + 0x11d) = bVar9;\n    }\n  }\n  switch(bVar9) {\n  case 0x41:\n    iVar1 = *(int *)(*(int *)(puVar15 + 0x18) + 8);\n    *(undefined4 *)(puVar15 + 0x40) = *(undefined4 *)(iVar1 + 0x2c);\n    *(undefined4 *)(puVar15 + 0x44) = *(undefined4 *)(iVar1 + 0x30);\n    *(undefined4 *)(puVar15 + 0x48) = *(undefined4 *)(iVar1 + 0x34);\n    *(undefined4 *)(puVar15 + 0x4c) = *(undefined4 *)(iVar1 + 0x38);\n    *(undefined4 *)(puVar15 + 0x50) = *(undefined4 *)(iVar1 + 0x3c);\n    *(undefined4 *)(puVar15 + 0x54) = *(undefined4 *)(iVar1 + 0x40);\n    uVar12 = *(undefined4 *)(iVar1 + 0x44);\n    goto code_r0x00201f34;\n  case 0x42:\n    *(undefined1 **)(puVar15 + -0xc) = puVar15 + 0x40;\n    *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0x18);\n    *(undefined **)(puVar15 + -0x14) = &UNK_00201fd1;\n    FUN_001fb050();\n    goto code_r0x00201fd1;\n  case 0x43:\n  case 0x59:\n  case 0x79:\n    *(undefined1 **)(puVar15 + -4) = puVar15 + 0x38;\n    *(undefined4 *)(puVar15 + -8) = *(undefined4 *)(puVar15 + 0xa8);\n    *(undefined4 *)(puVar15 + -0xc) = 4;\n    *(undefined4 *)(puVar15 + -0x10) = 9999;\n    *(undefined4 *)(puVar15 + -0x14) = 0;\n    *(undefined1 **)(puVar15 + -0x18) = puVar15 + 0x3c;\n    *(undefined4 *)(puVar15 + -0x1c) = *(undefined4 *)(puVar15 + 0xa4);\n    *(undefined4 *)(puVar15 + -0x20) = *(undefined4 *)(puVar15 + 0xa0);\n    *(undefined4 *)(puVar15 + -0x24) = *(undefined4 *)(puVar15 + 0x9c);\n    *(undefined4 *)(puVar15 + -0x28) = *(undefined4 *)(puVar15 + 0x98);\n    *(undefined4 *)(puVar15 + -0x2c) = *(undefined4 *)(puVar15 + 0x94);\n    *(undefined1 **)(puVar15 + -0x30) = puVar15 + 0x28;\n    *(undefined **)(puVar15 + -0x34) = &UNK_00202097;\n    FUN_001fc0e0();\n    *(undefined4 *)(puVar15 + 0x94) = *(undefined4 *)(puVar15 + 0x24);\n    *(undefined4 *)(puVar15 + 0x98) = *(undefined4 *)(puVar15 + 0x28);\n    puVar16 = puVar15 + -4;\n    if (*(int *)(puVar15 + 0x34) == 0) {\n      iVar1 = *(int *)(puVar15 + 0x38);\n      iVar13 = iVar1 + -0x76c;\n      if (iVar1 < 0) {\n        iVar13 = iVar1 + 100;\n      }\n      *(int *)(*(int *)(puVar15 + 0xac) + 0x14) = iVar13;\n      puVar16 = puVar15 + -4;\n    }\n    break;\n  case 0x44:\n    *(undefined1 **)(puVar15 + -4) = puVar15 + 0x40;\n    *(undefined **)(puVar15 + -8) = &UNK_002a3ee7;\n    pcVar11 = "%m/%d/%y";\n    goto code_r0x00201ca2;\n  default:\n    goto LAB_00201ab8;\n  case 0x48:\n    *(undefined1 **)(puVar15 + -4) = puVar15 + 0x38;\n    *(undefined4 *)(puVar15 + -8) = *(undefined4 *)(puVar15 + 0xa8);\n    *(undefined4 *)(puVar15 + -0xc) = 2;\n    *(undefined4 *)(puVar15 + -0x10) = 0x17;\n    *(undefined4 *)(puVar15 + -0x14) = 0;\n    goto code_r0x00201ba6;\n  case 0x49:\n    *(undefined1 **)(puVar15 + -4) = puVar15 + 0x38;\n    *(undefined4 *)(puVar15 + -8) = *(undefined4 *)(puVar15 + 0xa8);\n    *(undefined4 *)(puVar15 + -0xc) = 2;\n    *(undefined4 *)(puVar15 + -0x10) = 0xc;\n    *(undefined4 *)(puVar15 + -0x14) = 1;\ncode_r0x00201ba6:\n    *(undefined1 **)(puVar15 + -0x18) = puVar15 + 0x3c;\n    *(undefined4 *)(puVar15 + -0x1c) = *(undefined4 *)(puVar15 + 0xa4);\n    *(undefined4 *)(puVar15 + -0x20) = *(undefined4 *)(puVar15 + 0xa0);\n    *(undefined4 *)(puVar15 + -0x24) = *(undefined4 *)(puVar15 + 0x9c);\n    *(undefined4 *)(puVar15 + -0x28) = *(undefined4 *)(puVar15 + 0x98);\n    *(undefined4 *)(puVar15 + -0x2c) = *(undefined4 *)(puVar15 + 0x94);\n    *(undefined1 **)(puVar15 + -0x30) = puVar15 + 0x28;\n    *(undefined **)(puVar15 + -0x34) = &UNK_00201bd4;\n    FUN_001fc0e0();\n    *(undefined4 *)(puVar15 + 0x94) = *(undefined4 *)(puVar15 + 0x24);\n    *(undefined4 *)(puVar15 + 0x98) = *(undefined4 *)(puVar15 + 0x28);\n    puVar16 = puVar15 + -4;\n    if (*(int *)(puVar15 + 0x34) == 0) {\n      *(undefined4 *)(*(int *)(puVar15 + 0xac) + 8) = *(undefined4 *)(puVar15 + 0x38);\n      puVar16 = puVar15 + -4;\n    }\n    break;\n  case 0x4d:\n    *(undefined1 **)(puVar15 + -4) = puVar15 + 0x38;\n    *(undefined4 *)(puVar15 + -8) = *(undefined4 *)(puVar15 + 0xa8);\n    *(undefined4 *)(puVar15 + -0xc) = 2;\n    *(undefined4 *)(puVar15 + -0x10) = 0x3b;\n    *(undefined4 *)(puVar15 + -0x14) = 0;\n    *(undefined1 **)(puVar15 + -0x18) = puVar15 + 0x3c;\n    *(undefined4 *)(puVar15 + -0x1c) = *(undefined4 *)(puVar15 + 0xa4);\n    *(undefined4 *)(puVar15 + -0x20) = *(undefined4 *)(puVar15 + 0xa0);\n    *(undefined4 *)(puVar15 + -0x24) = *(undefined4 *)(puVar15 + 0x9c);\n    *(undefined4 *)(puVar15 + -0x28) = *(undefined4 *)(puVar15 + 0x98);\n    *(undefined4 *)(puVar15 + -0x2c) = *(undefined4 *)(puVar15 + 0x94);\n    *(undefined1 **)(puVar15 + -0x30) = puVar15 + 0x28;\n    *(undefined **)(puVar15 + -0x34) = &UNK_00201c54;\n    FUN_001fc0e0();\n    *(undefined4 *)(puVar15 + 0x94) = *(undefined4 *)(puVar15 + 0x24);\n    *(undefined4 *)(puVar15 + 0x98) = *(undefined4 *)(puVar15 + 0x28);\n    puVar16 = puVar15 + -4;\n    if (*(int *)(puVar15 + 0x34) == 0) {\n      *(undefined4 *)(*(int *)(puVar15 + 0xac) + 4) = *(undefined4 *)(puVar15 + 0x38);\n      puVar16 = puVar15 + -4;\n    }\n    break;\n  case 0x52:\n    *(undefined1 **)(puVar15 + -4) = puVar15 + 0x40;\n    *(char **)(puVar15 + -8) = "%H:%M:%S";\n    pcVar11 = "%H:%M";\n    goto code_r0x00201ca2;\n  case 0x53:\n    *(undefined1 **)(puVar15 + -4) = puVar15 + 0x38;\n    *(undefined4 *)(puVar15 + -8) = *(undefined4 *)(puVar15 + 0xa8);\n    *(undefined4 *)(puVar15 + -0xc) = 2;\n    *(undefined4 *)(puVar15 + -0x10) = 0x3c;\n    *(undefined4 *)(puVar15 + -0x14) = 0;\n    *(undefined1 **)(puVar15 + -0x18) = puVar15 + 0x3c;\n    *(undefined4 *)(puVar15 + -0x1c) = *(undefined4 *)(puVar15 + 0xa4);\n    *(undefined4 *)(puVar15 + -0x20) = *(undefined4 *)(puVar15 + 0xa0);\n    *(undefined4 *)(puVar15 + -0x24) = *(undefined4 *)(puVar15 + 0x9c);\n    *(undefined4 *)(puVar15 + -0x28) = *(undefined4 *)(puVar15 + 0x98);\n    *(undefined4 *)(puVar15 + -0x2c) = *(undefined4 *)(puVar15 + 0x94);\n    *(undefined1 **)(puVar15 + -0x30) = puVar15 + 0x28;\n    *(undefined **)(puVar15 + -0x34) = &UNK_00201cfc;\n    FUN_001fc0e0();\n    *(undefined4 *)(puVar15 + 0x94) = *(undefined4 *)(puVar15 + 0x24);\n    *(undefined4 *)(puVar15 + 0x98) = *(undefined4 *)(puVar15 + 0x28);\n    puVar16 = puVar15 + -4;\n    if (*(int *)(puVar15 + 0x34) == 0) {\n      **(undefined4 **)(puVar15 + 0xac) = *(undefined4 *)(puVar15 + 0x38);\n      puVar16 = puVar15 + -4;\n    }\n    break;\n  case 0x54:\n    *(undefined1 **)(puVar15 + -4) = puVar15 + 0x40;\n    *(undefined **)(puVar15 + -8) = &UNK_002a3ef6;\n    pcVar11 = "%H:%M:%S";\ncode_r0x00201ca2:\n    *(char **)(puVar15 + -0xc) = pcVar11;\n    *(int **)(puVar15 + -0x10) = piVar10;\n    *(undefined **)(puVar15 + -0x14) = &UNK_00201ca9;\n    FUN_001f94d0();\n    *(undefined1 **)(puVar15 + -0xc) = puVar15 + 0x40;\n    goto code_r0x00201b30;\n  case 0x58:\n    *(undefined4 *)(puVar15 + -0xc) = *(undefined4 *)(*(int *)(*(int *)(puVar15 + 0x18) + 8) + 0x10)\n    ;\n    goto code_r0x00201b30;\n  case 0x5a:\n    *(undefined **)(puVar15 + -4) = &UNK_00201d80;\n    uVar18 = FUN_001f91d0();\n    if ((*(byte *)(piVar10[6] + 1 + (uVar18 & 0xff) * 2) & 1) == 0) goto LAB_00201ab8;\n    *(undefined1 **)(puVar15 + 0x14) = puVar15 + 0x28;\n    puVar2 = puVar15 + 0x38;\n    *(undefined1 **)(puVar15 + -8) = puVar2;\n    *(undefined4 *)(puVar15 + -0xc) = *(undefined4 *)(puVar15 + 0xa8);\n    *(undefined4 *)(puVar15 + -0x10) = 0xe;\n    *(undefined4 *)(puVar15 + -0x14) = *(undefined4 *)(puVar15 + 0x24);\n    puVar3 = puVar15 + 0x40;\n    *(undefined1 **)(puVar15 + -0x18) = puVar3;\n    *(undefined4 *)(puVar15 + -0x1c) = *(undefined4 *)(puVar15 + 0xa4);\n    *(undefined4 *)(puVar15 + -0x20) = *(undefined4 *)(puVar15 + 0xa0);\n    *(undefined4 *)(puVar15 + -0x24) = *(undefined4 *)(puVar15 + 0x9c);\n    *(undefined4 *)(puVar15 + -0x28) = *(undefined4 *)(puVar15 + 0x98);\n    *(undefined4 *)(puVar15 + -0x2c) = *(undefined4 *)(puVar15 + 0x94);\n    *(undefined1 **)(puVar15 + -0x30) = puVar15 + 0x28;\n    *(undefined **)(puVar15 + -0x34) = &UNK_00201ddc;\n    FUN_00201020();\n    *(undefined4 *)(puVar15 + 0x94) = *(undefined4 *)(puVar15 + 0x24);\n    *(undefined4 *)(puVar15 + 0x98) = *(undefined4 *)(puVar15 + 0x28);\n    *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0xc);\n    *(undefined4 *)(puVar15 + -0x14) = *(undefined4 *)(puVar15 + 4);\n    *(undefined **)(puVar15 + -0x18) = &UNK_00201e02;\n    cVar6 = FUN_00200f70();\n    puVar16 = puVar15 + -4;\n    if ((cVar6 != '\0') ||\n       (puVar16 = puVar15 + -4, *(int *)(puVar15 + 0x34) != 0 || *(int *)(puVar15 + 0x3c) != 0))\n    break;\n    *(undefined **)(puVar15 + -8) = &UNK_00201e2b;\n    uVar12 = FUN_001f91d0();\n    iVar1 = piVar10[7];\n    *(undefined4 *)(puVar15 + 0x1c) = uVar12;\n    if ((char)iVar1 == '\0') {\n      *(undefined **)(puVar15 + -8) = &UNK_002023c1;\n      cVar6 = FUN_001f9220();\n    }\n    else {\n      cVar6 = *(char *)((int)piVar10 + 0x4a);\n    }\n    if (puVar15[0x1c] != cVar6) {\n      *(undefined **)(puVar15 + -8) = &UNK_00201e53;\n      uVar12 = FUN_001f91d0();\n      iVar1 = piVar10[7];\n      *(undefined4 *)(puVar15 + 0x1c) = uVar12;\n      if ((char)iVar1 == '\0') {\n        *(undefined **)(puVar15 + -8) = &UNK_002023d2;\n        cVar6 = FUN_001f9220();\n      }\n      else {\n        cVar6 = (char)piVar10[0x12];\n      }\n      puVar16 = puVar15 + -4;\n      if (puVar15[0x1c] != cVar6) break;\n    }\n    *(undefined1 **)(puVar15 + -8) = puVar2;\n    *(undefined4 *)(puVar15 + -0xc) = *(undefined4 *)(puVar15 + 0xa4);\n    *(undefined4 *)(puVar15 + -0x10) = 2;\n    *(undefined4 *)(puVar15 + -0x14) = 0x17;\n    *(undefined4 *)(puVar15 + -0x18) = 0;\n    *(undefined1 **)(puVar15 + -0x1c) = puVar3;\n    *(undefined4 *)(puVar15 + -0x20) = *(undefined4 *)(puVar15 + 0xa0);\n    *(undefined4 *)(puVar15 + -0x24) = *(undefined4 *)(puVar15 + 0x9c);\n    *(undefined4 *)(puVar15 + -0x28) = *(undefined4 *)(puVar15 + 0x98);\n    *(undefined4 *)(puVar15 + -0x2c) = *(undefined4 *)(puVar15 + 0x94);\n    *(undefined4 *)(puVar15 + -0x30) = *(undefined4 *)(puVar15 + 0x90);\n    *(undefined4 *)(puVar15 + -0x34) = *(undefined4 *)(puVar15 + 0x10);\n    *(undefined **)(puVar15 + -0x38) = &UNK_00201eaa;\n    FUN_001fc0e0();\n    *(undefined4 *)(puVar15 + 0x90) = *(undefined4 *)(puVar15 + 0x20);\n    *(undefined4 *)(puVar15 + 0x94) = *(undefined4 *)(puVar15 + 0x24);\n    *(undefined1 **)(puVar15 + -0xc) = puVar2;\n    *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0xa0);\n    *(undefined4 *)(puVar15 + -0x14) = 2;\n    *(undefined4 *)(puVar15 + -0x18) = 0x3b;\n    *(undefined4 *)(puVar15 + -0x1c) = 0;\n    *(undefined1 **)(puVar15 + -0x20) = puVar3;\n    *(undefined4 *)(puVar15 + -0x24) = *(undefined4 *)(puVar15 + 0x9c);\n    *(undefined4 *)(puVar15 + -0x28) = *(undefined4 *)(puVar15 + 0x98);\n    *(undefined4 *)(puVar15 + -0x2c) = *(undefined4 *)(puVar15 + 0x24);\n    *(undefined4 *)(puVar15 + -0x30) = *(undefined4 *)(puVar15 + 0x20);\n    *(undefined4 *)(puVar15 + -0x34) = *(undefined4 *)(puVar15 + 0x8c);\n    puVar17 = puVar15 + -0x38;\n    *(undefined4 *)(puVar15 + -0x38) = *(undefined4 *)(puVar15 + 0xc);\n    *(undefined **)(puVar15 + -0x3c) = &UNK_00201ef2;\n    FUN_001fc0e0();\n    goto code_r0x00201b6c;\n  case 0x61:\n    iVar1 = *(int *)(*(int *)(puVar15 + 0x18) + 8);\n    *(undefined4 *)(puVar15 + 0x40) = *(undefined4 *)(iVar1 + 0x48);\n    *(undefined4 *)(puVar15 + 0x44) = *(undefined4 *)(iVar1 + 0x4c);\n    *(undefined4 *)(puVar15 + 0x48) = *(undefined4 *)(iVar1 + 0x50);\n    *(undefined4 *)(puVar15 + 0x4c) = *(undefined4 *)(iVar1 + 0x54);\n    *(undefined4 *)(puVar15 + 0x50) = *(undefined4 *)(iVar1 + 0x58);\n    *(undefined4 *)(puVar15 + 0x54) = *(undefined4 *)(iVar1 + 0x5c);\n    uVar12 = *(undefined4 *)(iVar1 + 0x60);\ncode_r0x00201f34:\n    *(undefined4 *)(puVar15 + 0x58) = uVar12;\n    *(undefined1 **)(puVar15 + -8) = puVar15 + 0x38;\n    *(undefined4 *)(puVar15 + -0xc) = *(undefined4 *)(puVar15 + 0xa8);\n    *(undefined4 *)(puVar15 + -0x10) = 7;\n    *(undefined1 **)(puVar15 + -0x14) = puVar15 + 0x40;\n    *(undefined1 **)(puVar15 + -0x18) = puVar15 + 0x3c;\n    *(undefined4 *)(puVar15 + -0x1c) = *(undefined4 *)(puVar15 + 0xa4);\n    *(undefined4 *)(puVar15 + -0x20) = *(undefined4 *)(puVar15 + 0xa0);\n    *(undefined4 *)(puVar15 + -0x24) = *(undefined4 *)(puVar15 + 0x9c);\n    *(undefined4 *)(puVar15 + -0x28) = *(undefined4 *)(puVar15 + 0x98);\n    *(undefined4 *)(puVar15 + -0x2c) = *(undefined4 *)(puVar15 + 0x94);\n    *(undefined1 **)(puVar15 + -0x30) = puVar15 + 0x28;\n    *(undefined **)(puVar15 + -0x34) = &UNK_00201f80;\n    FUN_00201020();\n    *(undefined4 *)(puVar15 + 0x94) = *(undefined4 *)(puVar15 + 0x24);\n    *(undefined4 *)(puVar15 + 0x98) = *(undefined4 *)(puVar15 + 0x28);\n    puVar16 = puVar15 + -4;\n    if (*(int *)(puVar15 + 0x34) == 0) {\n      *(undefined4 *)(*(int *)(puVar15 + 0xac) + 0x18) = *(undefined4 *)(puVar15 + 0x38);\n      puVar16 = puVar15 + -4;\n    }\n    break;\n  case 0x62:\n  case 0x68:\n    *(undefined1 **)(puVar15 + -0xc) = puVar15 + 0x40;\n    *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0x18);\n    *(undefined **)(puVar15 + -0x14) = &UNK_00202171;\n    FUN_001fb0c0();\ncode_r0x00201fd1:\n    *(undefined1 **)(puVar15 + -8) = puVar15 + 0x38;\n    *(undefined4 *)(puVar15 + -0xc) = *(undefined4 *)(puVar15 + 0xa8);\n    *(undefined4 *)(puVar15 + -0x10) = 0xc;\n    *(undefined1 **)(puVar15 + -0x14) = puVar15 + 0x40;\n    *(undefined1 **)(puVar15 + -0x18) = puVar15 + 0x3c;\n    *(undefined4 *)(puVar15 + -0x1c) = *(undefined4 *)(puVar15 + 0xa4);\n    *(undefined4 *)(puVar15 + -0x20) = *(undefined4 *)(puVar15 + 0xa0);\n    *(undefined4 *)(puVar15 + -0x24) = *(undefined4 *)(puVar15 + 0x9c);\n    *(undefined4 *)(puVar15 + -0x28) = *(undefined4 *)(puVar15 + 0x98);\n    *(undefined4 *)(puVar15 + -0x2c) = *(undefined4 *)(puVar15 + 0x94);\n    *(undefined1 **)(puVar15 + -0x30) = puVar15 + 0x28;\n    *(undefined **)(puVar15 + -0x34) = &UNK_00202015;\n    FUN_00201020();\n    *(undefined4 *)(puVar15 + 0x94) = *(undefined4 *)(puVar15 + 0x24);\n    *(undefined4 *)(puVar15 + 0x98) = *(undefined4 *)(puVar15 + 0x28);\n    puVar16 = puVar15 + -4;\n    if (*(int *)(puVar15 + 0x34) == 0) {\n      *(undefined4 *)(*(int *)(puVar15 + 0xac) + 0x10) = *(undefined4 *)(puVar15 + 0x38);\n      puVar16 = puVar15 + -4;\n    }\n    break;\n  case 99:\n    *(undefined4 *)(puVar15 + -0xc) = *(undefined4 *)(*(int *)(*(int *)(puVar15 + 0x18) + 8) + 0x18)\n    ;\n    goto code_r0x00201b30;\n  case 100:\n    *(undefined1 **)(puVar15 + -4) = puVar15 + 0x38;\n    *(undefined4 *)(puVar15 + -8) = *(undefined4 *)(puVar15 + 0xa8);\n    *(undefined4 *)(puVar15 + -0xc) = 2;\n    *(undefined4 *)(puVar15 + -0x10) = 0x1f;\n    *(undefined4 *)(puVar15 + -0x14) = 1;\n    goto code_r0x002021b6;\n  case 0x65:\n    *(undefined **)(puVar15 + -4) = &UNK_00202230;\n    uVar18 = FUN_001f91d0();\n    if ((*(byte *)(piVar10[6] + 1 + (uVar18 & 0xff) * 2) & 0x20) == 0) {\n      *(undefined1 **)(puVar15 + -4) = puVar15 + 0x38;\n      *(undefined4 *)(puVar15 + -8) = *(undefined4 *)(puVar15 + 0xa8);\n      *(undefined4 *)(puVar15 + -0xc) = 2;\n      *(undefined4 *)(puVar15 + -0x10) = 0x1f;\n      *(undefined4 *)(puVar15 + -0x14) = 10;\n    }\n    else {\n      *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0x98);\n      *(undefined **)(puVar15 + -0x14) = &UNK_00202250;\n      FUN_001f24d0();\n      *(undefined4 *)(puVar15 + 0x9c) = 0xffffffff;\n      *(undefined1 **)(puVar15 + -4) = puVar15 + 0x38;\n      *(undefined4 *)(puVar15 + -8) = *(undefined4 *)(puVar15 + 0xa8);\n      *(undefined4 *)(puVar15 + -0xc) = 1;\n      *(undefined4 *)(puVar15 + -0x10) = 9;\n      *(undefined4 *)(puVar15 + -0x14) = 1;\n    }\ncode_r0x002021b6:\n    *(undefined1 **)(puVar15 + -0x18) = puVar15 + 0x3c;\n    *(undefined4 *)(puVar15 + -0x1c) = *(undefined4 *)(puVar15 + 0xa4);\n    *(undefined4 *)(puVar15 + -0x20) = *(undefined4 *)(puVar15 + 0xa0);\n    *(undefined4 *)(puVar15 + -0x24) = *(undefined4 *)(puVar15 + 0x9c);\n    *(undefined4 *)(puVar15 + -0x28) = *(undefined4 *)(puVar15 + 0x98);\n    *(undefined4 *)(puVar15 + -0x2c) = *(undefined4 *)(puVar15 + 0x94);\n    *(undefined1 **)(puVar15 + -0x30) = puVar15 + 0x28;\n    *(undefined **)(puVar15 + -0x34) = &UNK_002021e4;\n    FUN_001fc0e0();\n    *(undefined4 *)(puVar15 + 0x94) = *(undefined4 *)(puVar15 + 0x24);\n    *(undefined4 *)(puVar15 + 0x98) = *(undefined4 *)(puVar15 + 0x28);\n    puVar16 = puVar15 + -4;\n    if (*(int *)(puVar15 + 0x34) == 0) {\n      *(undefined4 *)(*(int *)(puVar15 + 0xac) + 0xc) = *(undefined4 *)(puVar15 + 0x38);\n      puVar16 = puVar15 + -4;\n    }\n    break;\n  case 0x6d:\n    *(undefined1 **)(puVar15 + -4) = puVar15 + 0x38;\n    *(undefined4 *)(puVar15 + -8) = *(undefined4 *)(puVar15 + 0xa8);\n    *(undefined4 *)(puVar15 + -0xc) = 2;\n    *(undefined4 *)(puVar15 + -0x10) = 0xc;\n    *(undefined4 *)(puVar15 + -0x14) = 1;\n    *(undefined1 **)(puVar15 + -0x18) = puVar15 + 0x3c;\n    *(undefined4 *)(puVar15 + -0x1c) = *(undefined4 *)(puVar15 + 0xa4);\n    *(undefined4 *)(puVar15 + -0x20) = *(undefined4 *)(puVar15 + 0xa0);\n    *(undefined4 *)(puVar15 + -0x24) = *(undefined4 *)(puVar15 + 0x9c);\n    *(undefined4 *)(puVar15 + -0x28) = *(undefined4 *)(puVar15 + 0x98);\n    *(undefined4 *)(puVar15 + -0x2c) = *(undefined4 *)(puVar15 + 0x94);\n    *(undefined1 **)(puVar15 + -0x30) = puVar15 + 0x28;\n    *(undefined **)(puVar15 + -0x34) = &UNK_002022c4;\n    FUN_001fc0e0();\n    *(undefined4 *)(puVar15 + 0x94) = *(undefined4 *)(puVar15 + 0x24);\n    *(undefined4 *)(puVar15 + 0x98) = *(undefined4 *)(puVar15 + 0x28);\n    puVar16 = puVar15 + -4;\n    if (*(int *)(puVar15 + 0x34) == 0) {\n      *(int *)(*(int *)(puVar15 + 0xac) + 0x10) = *(int *)(puVar15 + 0x38) + -1;\n      puVar16 = puVar15 + -4;\n    }\n    break;\n  case 0x6e:\n    *(undefined **)(puVar15 + -4) = &UNK_00202310;\n    bVar9 = FUN_001f91d0();\n    bVar8 = *(byte *)((int)piVar10 + bVar9 + 0x11d);\n    if (bVar8 == 0) {\n      pcVar4 = *(code **)(*piVar10 + 0x20);\n      bVar8 = bVar9;\n      if (pcVar4 != (code *)PTR_FUN_0038ed98) {\n        *(undefined4 *)(puVar15 + -8) = 0;\n        *(int *)(puVar15 + -0xc) = (int)(char)bVar9;\n        *(int **)(puVar15 + -0x10) = piVar10;\n        *(undefined **)(puVar15 + -0x14) = &UNK_002023ab;\n        bVar8 = (*pcVar4)();\n      }\n      if (bVar8 == 0) goto LAB_00201ab8;\n      *(byte *)((int)piVar10 + bVar9 + 0x11d) = bVar8;\n    }\n    if (bVar8 != 10) goto LAB_00201ab8;\ncode_r0x00202346:\n    *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0x98);\n    *(undefined **)(puVar15 + -0x14) = &UNK_00202355;\n    FUN_001f24d0();\n    *(undefined4 *)(puVar15 + 0x9c) = 0xffffffff;\n    break;\n  case 0x74:\n    *(undefined **)(puVar15 + -4) = &UNK_00201a70;\n    bVar9 = FUN_001f91d0();\n    bVar8 = *(byte *)((int)piVar10 + bVar9 + 0x11d);\n    if (bVar8 == 0) {\n      pcVar4 = *(code **)(*piVar10 + 0x20);\n      bVar8 = bVar9;\n      if (pcVar4 != *(code **)(puVar15 + 0x1c)) {\n        *(undefined4 *)(puVar15 + -8) = 0;\n        *(int *)(puVar15 + -0xc) = (int)(char)bVar9;\n        *(int **)(puVar15 + -0x10) = piVar10;\n        *(undefined **)(puVar15 + -0x14) = &UNK_00201a98;\n        bVar8 = (*pcVar4)();\n      }\n      if (bVar8 == 0) goto LAB_00201ab8;\n      *(byte *)((int)piVar10 + bVar9 + 0x11d) = bVar8;\n    }\n    if (bVar8 == 9) goto code_r0x00202346;\n    goto LAB_00201ab8;\n  case 0x78:\n    *(undefined4 *)(puVar15 + -0xc) = *(undefined4 *)(*(int *)(*(int *)(puVar15 + 0x18) + 8) + 8);\ncode_r0x00201b30:\n    *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0xb0);\n    *(undefined1 **)(puVar15 + -0x14) = puVar15 + 0x38;\n    *(undefined4 *)(puVar15 + -0x18) = *(undefined4 *)(puVar15 + 0xa8);\n    *(undefined4 *)(puVar15 + -0x1c) = *(undefined4 *)(puVar15 + 0xa4);\n    *(undefined4 *)(puVar15 + -0x20) = *(undefined4 *)(puVar15 + 0xa0);\n    *(undefined4 *)(puVar15 + -0x24) = *(undefined4 *)(puVar15 + 0x9c);\n    *(undefined4 *)(puVar15 + -0x28) = *(undefined4 *)(puVar15 + 0x98);\n    *(undefined4 *)(puVar15 + -0x2c) = *(undefined4 *)(puVar15 + 0x94);\n    puVar17 = puVar15 + -0x30;\n    *(undefined1 **)(puVar15 + -0x30) = puVar15 + 0x28;\n    *(undefined **)(puVar15 + -0x34) = &UNK_00201b6c;\n    FUN_00201820();\ncode_r0x00201b6c:\n    *(undefined4 *)(puVar17 + 0xc4) = *(undefined4 *)(puVar17 + 0x54);\n    *(undefined4 *)(puVar17 + 200) = *(undefined4 *)(puVar17 + 0x58);\n    puVar16 = puVar17 + 0x2c;\n  }\ncode_r0x00201ac0:\n  uVar18 = *(int *)(puVar16 + 4) + 1;\n  puVar15 = puVar16;\n  goto LAB_0020189b;\nLAB_00201ab8:\n  *(uint *)(puVar15 + 0x38) = *(uint *)(puVar15 + 0x38) | 4;\n  goto code_r0x00201ac0;\n}\n\n" (function_definition "undefined4 * FUN_00201820(void)\n\n{\n  int iVar1;\n  undefined1 *puVar2;\n  undefined1 *puVar3;\n  code *pcVar4;\n  undefined4 *puVar5;\n  char cVar6;\n  char cVar7;\n  byte bVar8;\n  byte bVar9;\n  int *piVar10;\n  char *pcVar11;\n  undefined4 uVar12;\n  int iVar13;\n  uint uVar14;\n  undefined1 *puVar15;\n  undefined1 *puVar16;\n  undefined1 *puVar17;\n  uint uVar18;\n  int in_stack_0000001c;\n  char *in_stack_00000028;\n  undefined1 auStack_8c [8];\n  undefined1 *local_84;\n  size_t local_80;\n  undefined1 *local_7c;\n  undefined4 local_74;\n  code *local_70;\n  undefined **local_68;\n  undefined4 local_54;\n  undefined4 uStack_14;\n  \n  uVar18 = 0;\n  uStack_14 = 0x20182b;\n  iVar1 = in_stack_0000001c + 0x6c;\n  local_74 = FUN_001fd780(iVar1);\n  piVar10 = (int *)FUN_001fbde0(iVar1);\n  local_80 = strlen(in_stack_00000028);\n  local_7c = &stack0x00000014;\n  local_84 = &stack0x0000000c;\n  local_54 = 0;\n  local_68 = &PTR_DAT_0038f400;\n  local_70 = FUN_001f81a0;\n  puVar15 = auStack_8c;\nLAB_0020189b:\n  *(undefined4 *)(puVar15 + -0xc) = *(undefined4 *)(puVar15 + 0x10);\n  *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 8);\n  *(undefined4 *)(puVar15 + -0x14) = 0x2018ab;\n  cVar6 = FUN_00200f70();\n  if ((cVar6 == '\x01') || (*(uint *)(puVar15 + 0xc) <= uVar18)) {\n    if ((*(int *)(puVar15 + 0x38) != 0) || (uVar18 != *(uint *)(puVar15 + 0xc))) {\nLAB_00201a0e:\n      **(uint **)(puVar15 + 0xac) = **(uint **)(puVar15 + 0xac) | 4;\n    }\n    puVar5 = *(undefined4 **)(puVar15 + 0x90);\n    uVar12 = *(undefined4 *)(puVar15 + 0x9c);\n    *puVar5 = *(undefined4 *)(puVar15 + 0x98);\n    puVar5[1] = uVar12;\n    return puVar5;\n  }\n  if (*(int *)(puVar15 + 0x38) != 0) goto LAB_00201a0e;\n  bVar8 = *(byte *)(*(int *)(puVar15 + 0xb4) + uVar18);\n  uVar14 = (uint)bVar8;\n  *(byte **)(puVar15 + 0x14) = (byte *)(*(int *)(puVar15 + 0xb4) + uVar18);\n  *(uint *)(puVar15 + 4) = uVar18 + 1;\n  bVar9 = *(byte *)((int)piVar10 + uVar14 + 0x11d);\n  if (bVar9 == 0) {\n    pcVar4 = *(code **)(*piVar10 + 0x20);\n    bVar9 = bVar8;\n    if (pcVar4 != (code *)PTR_FUN_0038ed98) {\n      *(uint *)(puVar15 + 0x20) = uVar14;\n      *(undefined4 *)(puVar15 + -8) = 0;\n      *(int *)(puVar15 + -0xc) = (int)(char)bVar8;\n      *(int **)(puVar15 + -0x10) = piVar10;\n      *(undefined4 *)(puVar15 + -0x14) = 0x201a50;\n      bVar9 = (*pcVar4)();\n      uVar14 = *(uint *)(puVar15 + 0x20);\n    }\n    if (bVar9 != 0) {\n      *(byte *)((int)piVar10 + uVar14 + 0x11d) = bVar9;\n      goto LAB_00201910;\n    }\nLAB_00201980:\n    cVar6 = **(char **)(puVar15 + 0x14);\n    *(undefined4 *)(puVar15 + -4) = 0x201997;\n    cVar7 = FUN_001f91d0();\n    if (cVar6 == cVar7) {\n      *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0x98);\n      *(undefined4 *)(puVar15 + -0x14) = 0x201adf;\n      FUN_001f24d0();\n      *(undefined4 *)(puVar15 + 0x9c) = 0xffffffff;\n      uVar18 = *(uint *)(puVar15 + 4);\n    }\n    else {\n      *(uint *)(puVar15 + 0x38) = *(uint *)(puVar15 + 0x38) | 4;\n      uVar18 = *(uint *)(puVar15 + 4);\n    }\n    goto LAB_0020189b;\n  }\nLAB_00201910:\n  if (bVar9 != 0x25) goto LAB_00201980;\n  bVar8 = *(byte *)(*(int *)(puVar15 + 0xb4) + 1 + uVar18);\n  bVar9 = *(byte *)((int)piVar10 + bVar8 + 0x11d);\n  puVar16 = puVar15;\n  if (bVar9 == 0) {\n    pcVar4 = *(code **)(*piVar10 + 0x20);\n    bVar9 = bVar8;\n    if (pcVar4 != (code *)PTR_FUN_0038ed98) {\n      *(undefined4 *)(puVar15 + -8) = 0;\n      *(int *)(puVar15 + -0xc) = (int)(char)bVar8;\n      *(int **)(puVar15 + -0x10) = piVar10;\n      *(undefined4 *)(puVar15 + -0x14) = 0x201b0c;\n      bVar9 = (*pcVar4)();\n    }\n    if (bVar9 != 0) {\n      *(byte *)((int)piVar10 + bVar8 + 0x11d) = bVar9;\n      goto LAB_00201951;\n    }\n    goto LAB_00201ab8;\n  }\nLAB_00201951:\n  *(undefined4 *)(puVar15 + 0x3c) = 0;\n  if ((bVar9 == 0x45) || (bVar9 == 0x4f)) {\n    *(uint *)(puVar15 + 4) = uVar18 + 2;\n    bVar8 = *(byte *)(*(int *)(puVar15 + 0xb4) + 2 + uVar18);\n    bVar9 = *(byte *)((int)piVar10 + bVar8 + 0x11d);\n    if (bVar9 == 0) {\n      pcVar4 = *(code **)(*piVar10 + 0x20);\n      bVar9 = bVar8;\n      if (pcVar4 != (code *)PTR_FUN_0038ed98) {\n        *(undefined4 *)(puVar15 + -8) = 0;\n        *(int *)(puVar15 + -0xc) = (int)(char)bVar8;\n        *(int **)(puVar15 + -0x10) = piVar10;\n        *(undefined4 *)(puVar15 + -0x14) = 0x20237c;\n        bVar9 = (*pcVar4)();\n      }\n      if (bVar9 == 0) goto LAB_00201ab8;\n      *(byte *)((int)piVar10 + bVar8 + 0x11d) = bVar9;\n    }\n  }\n  switch(bVar9) {\n  case 0x41:\n    iVar1 = *(int *)(*(int *)(puVar15 + 0x18) + 8);\n    *(undefined4 *)(puVar15 + 0x40) = *(undefined4 *)(iVar1 + 0x2c);\n    *(undefined4 *)(puVar15 + 0x44) = *(undefined4 *)(iVar1 + 0x30);\n    *(undefined4 *)(puVar15 + 0x48) = *(undefined4 *)(iVar1 + 0x34);\n    *(undefined4 *)(puVar15 + 0x4c) = *(undefined4 *)(iVar1 + 0x38);\n    *(undefined4 *)(puVar15 + 0x50) = *(undefined4 *)(iVar1 + 0x3c);\n    *(undefined4 *)(puVar15 + 0x54) = *(undefined4 *)(iVar1 + 0x40);\n    uVar12 = *(undefined4 *)(iVar1 + 0x44);\n    goto code_r0x00201f34;\n  case 0x42:\n    *(undefined1 **)(puVar15 + -0xc) = puVar15 + 0x40;\n    *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0x18);\n    *(undefined **)(puVar15 + -0x14) = &UNK_00201fd1;\n    FUN_001fb050();\n    goto code_r0x00201fd1;\n  case 0x43:\n  case 0x59:\n  case 0x79:\n    *(undefined1 **)(puVar15 + -4) = puVar15 + 0x38;\n    *(undefined4 *)(puVar15 + -8) = *(undefined4 *)(puVar15 + 0xa8);\n    *(undefined4 *)(puVar15 + -0xc) = 4;\n    *(undefined4 *)(puVar15 + -0x10) = 9999;\n    *(undefined4 *)(puVar15 + -0x14) = 0;\n    *(undefined1 **)(puVar15 + -0x18) = puVar15 + 0x3c;\n    *(undefined4 *)(puVar15 + -0x1c) = *(undefined4 *)(puVar15 + 0xa4);\n    *(undefined4 *)(puVar15 + -0x20) = *(undefined4 *)(puVar15 + 0xa0);\n    *(undefined4 *)(puVar15 + -0x24) = *(undefined4 *)(puVar15 + 0x9c);\n    *(undefined4 *)(puVar15 + -0x28) = *(undefined4 *)(puVar15 + 0x98);\n    *(undefined4 *)(puVar15 + -0x2c) = *(undefined4 *)(puVar15 + 0x94);\n    *(undefined1 **)(puVar15 + -0x30) = puVar15 + 0x28;\n    *(undefined **)(puVar15 + -0x34) = &UNK_00202097;\n    FUN_001fc0e0();\n    *(undefined4 *)(puVar15 + 0x94) = *(undefined4 *)(puVar15 + 0x24);\n    *(undefined4 *)(puVar15 + 0x98) = *(undefined4 *)(puVar15 + 0x28);\n    puVar16 = puVar15 + -4;\n    if (*(int *)(puVar15 + 0x34) == 0) {\n      iVar1 = *(int *)(puVar15 + 0x38);\n      iVar13 = iVar1 + -0x76c;\n      if (iVar1 < 0) {\n        iVar13 = iVar1 + 100;\n      }\n      *(int *)(*(int *)(puVar15 + 0xac) + 0x14) = iVar13;\n      puVar16 = puVar15 + -4;\n    }\n    break;\n  case 0x44:\n    *(undefined1 **)(puVar15 + -4) = puVar15 + 0x40;\n    *(undefined **)(puVar15 + -8) = &UNK_002a3ee7;\n    pcVar11 = "%m/%d/%y";\n    goto code_r0x00201ca2;\n  default:\n    goto LAB_00201ab8;\n  case 0x48:\n    *(undefined1 **)(puVar15 + -4) = puVar15 + 0x38;\n    *(undefined4 *)(puVar15 + -8) = *(undefined4 *)(puVar15 + 0xa8);\n    *(undefined4 *)(puVar15 + -0xc) = 2;\n    *(undefined4 *)(puVar15 + -0x10) = 0x17;\n    *(undefined4 *)(puVar15 + -0x14) = 0;\n    goto code_r0x00201ba6;\n  case 0x49:\n    *(undefined1 **)(puVar15 + -4) = puVar15 + 0x38;\n    *(undefined4 *)(puVar15 + -8) = *(undefined4 *)(puVar15 + 0xa8);\n    *(undefined4 *)(puVar15 + -0xc) = 2;\n    *(undefined4 *)(puVar15 + -0x10) = 0xc;\n    *(undefined4 *)(puVar15 + -0x14) = 1;\ncode_r0x00201ba6:\n    *(undefined1 **)(puVar15 + -0x18) = puVar15 + 0x3c;\n    *(undefined4 *)(puVar15 + -0x1c) = *(undefined4 *)(puVar15 + 0xa4);\n    *(undefined4 *)(puVar15 + -0x20) = *(undefined4 *)(puVar15 + 0xa0);\n    *(undefined4 *)(puVar15 + -0x24) = *(undefined4 *)(puVar15 + 0x9c);\n    *(undefined4 *)(puVar15 + -0x28) = *(undefined4 *)(puVar15 + 0x98);\n    *(undefined4 *)(puVar15 + -0x2c) = *(undefined4 *)(puVar15 + 0x94);\n    *(undefined1 **)(puVar15 + -0x30) = puVar15 + 0x28;\n    *(undefined **)(puVar15 + -0x34) = &UNK_00201bd4;\n    FUN_001fc0e0();\n    *(undefined4 *)(puVar15 + 0x94) = *(undefined4 *)(puVar15 + 0x24);\n    *(undefined4 *)(puVar15 + 0x98) = *(undefined4 *)(puVar15 + 0x28);\n    puVar16 = puVar15 + -4;\n    if (*(int *)(puVar15 + 0x34) == 0) {\n      *(undefined4 *)(*(int *)(puVar15 + 0xac) + 8) = *(undefined4 *)(puVar15 + 0x38);\n      puVar16 = puVar15 + -4;\n    }\n    break;\n  case 0x4d:\n    *(undefined1 **)(puVar15 + -4) = puVar15 + 0x38;\n    *(undefined4 *)(puVar15 + -8) = *(undefined4 *)(puVar15 + 0xa8);\n    *(undefined4 *)(puVar15 + -0xc) = 2;\n    *(undefined4 *)(puVar15 + -0x10) = 0x3b;\n    *(undefined4 *)(puVar15 + -0x14) = 0;\n    *(undefined1 **)(puVar15 + -0x18) = puVar15 + 0x3c;\n    *(undefined4 *)(puVar15 + -0x1c) = *(undefined4 *)(puVar15 + 0xa4);\n    *(undefined4 *)(puVar15 + -0x20) = *(undefined4 *)(puVar15 + 0xa0);\n    *(undefined4 *)(puVar15 + -0x24) = *(undefined4 *)(puVar15 + 0x9c);\n    *(undefined4 *)(puVar15 + -0x28) = *(undefined4 *)(puVar15 + 0x98);\n    *(undefined4 *)(puVar15 + -0x2c) = *(undefined4 *)(puVar15 + 0x94);\n    *(undefined1 **)(puVar15 + -0x30) = puVar15 + 0x28;\n    *(undefined **)(puVar15 + -0x34) = &UNK_00201c54;\n    FUN_001fc0e0();\n    *(undefined4 *)(puVar15 + 0x94) = *(undefined4 *)(puVar15 + 0x24);\n    *(undefined4 *)(puVar15 + 0x98) = *(undefined4 *)(puVar15 + 0x28);\n    puVar16 = puVar15 + -4;\n    if (*(int *)(puVar15 + 0x34) == 0) {\n      *(undefined4 *)(*(int *)(puVar15 + 0xac) + 4) = *(undefined4 *)(puVar15 + 0x38);\n      puVar16 = puVar15 + -4;\n    }\n    break;\n  case 0x52:\n    *(undefined1 **)(puVar15 + -4) = puVar15 + 0x40;\n    *(char **)(puVar15 + -8) = "%H:%M:%S";\n    pcVar11 = "%H:%M";\n    goto code_r0x00201ca2;\n  case 0x53:\n    *(undefined1 **)(puVar15 + -4) = puVar15 + 0x38;\n    *(undefined4 *)(puVar15 + -8) = *(undefined4 *)(puVar15 + 0xa8);\n    *(undefined4 *)(puVar15 + -0xc) = 2;\n    *(undefined4 *)(puVar15 + -0x10) = 0x3c;\n    *(undefined4 *)(puVar15 + -0x14) = 0;\n    *(undefined1 **)(puVar15 + -0x18) = puVar15 + 0x3c;\n    *(undefined4 *)(puVar15 + -0x1c) = *(undefined4 *)(puVar15 + 0xa4);\n    *(undefined4 *)(puVar15 + -0x20) = *(undefined4 *)(puVar15 + 0xa0);\n    *(undefined4 *)(puVar15 + -0x24) = *(undefined4 *)(puVar15 + 0x9c);\n    *(undefined4 *)(puVar15 + -0x28) = *(undefined4 *)(puVar15 + 0x98);\n    *(undefined4 *)(puVar15 + -0x2c) = *(undefined4 *)(puVar15 + 0x94);\n    *(undefined1 **)(puVar15 + -0x30) = puVar15 + 0x28;\n    *(undefined **)(puVar15 + -0x34) = &UNK_00201cfc;\n    FUN_001fc0e0();\n    *(undefined4 *)(puVar15 + 0x94) = *(undefined4 *)(puVar15 + 0x24);\n    *(undefined4 *)(puVar15 + 0x98) = *(undefined4 *)(puVar15 + 0x28);\n    puVar16 = puVar15 + -4;\n    if (*(int *)(puVar15 + 0x34) == 0) {\n      **(undefined4 **)(puVar15 + 0xac) = *(undefined4 *)(puVar15 + 0x38);\n      puVar16 = puVar15 + -4;\n    }\n    break;\n  case 0x54:\n    *(undefined1 **)(puVar15 + -4) = puVar15 + 0x40;\n    *(undefined **)(puVar15 + -8) = &UNK_002a3ef6;\n    pcVar11 = "%H:%M:%S";\ncode_r0x00201ca2:\n    *(char **)(puVar15 + -0xc) = pcVar11;\n    *(int **)(puVar15 + -0x10) = piVar10;\n    *(undefined **)(puVar15 + -0x14) = &UNK_00201ca9;\n    FUN_001f94d0();\n    *(undefined1 **)(puVar15 + -0xc) = puVar15 + 0x40;\n    goto code_r0x00201b30;\n  case 0x58:\n    *(undefined4 *)(puVar15 + -0xc) = *(undefined4 *)(*(int *)(*(int *)(puVar15 + 0x18) + 8) + 0x10)\n    ;\n    goto code_r0x00201b30;\n  case 0x5a:\n    *(undefined **)(puVar15 + -4) = &UNK_00201d80;\n    uVar18 = FUN_001f91d0();\n    if ((*(byte *)(piVar10[6] + 1 + (uVar18 & 0xff) * 2) & 1) == 0) goto LAB_00201ab8;\n    *(undefined1 **)(puVar15 + 0x14) = puVar15 + 0x28;\n    puVar2 = puVar15 + 0x38;\n    *(undefined1 **)(puVar15 + -8) = puVar2;\n    *(undefined4 *)(puVar15 + -0xc) = *(undefined4 *)(puVar15 + 0xa8);\n    *(undefined4 *)(puVar15 + -0x10) = 0xe;\n    *(undefined4 *)(puVar15 + -0x14) = *(undefined4 *)(puVar15 + 0x24);\n    puVar3 = puVar15 + 0x40;\n    *(undefined1 **)(puVar15 + -0x18) = puVar3;\n    *(undefined4 *)(puVar15 + -0x1c) = *(undefined4 *)(puVar15 + 0xa4);\n    *(undefined4 *)(puVar15 + -0x20) = *(undefined4 *)(puVar15 + 0xa0);\n    *(undefined4 *)(puVar15 + -0x24) = *(undefined4 *)(puVar15 + 0x9c);\n    *(undefined4 *)(puVar15 + -0x28) = *(undefined4 *)(puVar15 + 0x98);\n    *(undefined4 *)(puVar15 + -0x2c) = *(undefined4 *)(puVar15 + 0x94);\n    *(undefined1 **)(puVar15 + -0x30) = puVar15 + 0x28;\n    *(undefined **)(puVar15 + -0x34) = &UNK_00201ddc;\n    FUN_00201020();\n    *(undefined4 *)(puVar15 + 0x94) = *(undefined4 *)(puVar15 + 0x24);\n    *(undefined4 *)(puVar15 + 0x98) = *(undefined4 *)(puVar15 + 0x28);\n    *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0xc);\n    *(undefined4 *)(puVar15 + -0x14) = *(undefined4 *)(puVar15 + 4);\n    *(undefined **)(puVar15 + -0x18) = &UNK_00201e02;\n    cVar6 = FUN_00200f70();\n    puVar16 = puVar15 + -4;\n    if ((cVar6 != '\0') ||\n       (puVar16 = puVar15 + -4, *(int *)(puVar15 + 0x34) != 0 || *(int *)(puVar15 + 0x3c) != 0))\n    break;\n    *(undefined **)(puVar15 + -8) = &UNK_00201e2b;\n    uVar12 = FUN_001f91d0();\n    iVar1 = piVar10[7];\n    *(undefined4 *)(puVar15 + 0x1c) = uVar12;\n    if ((char)iVar1 == '\0') {\n      *(undefined **)(puVar15 + -8) = &UNK_002023c1;\n      cVar6 = FUN_001f9220();\n    }\n    else {\n      cVar6 = *(char *)((int)piVar10 + 0x4a);\n    }\n    if (puVar15[0x1c] != cVar6) {\n      *(undefined **)(puVar15 + -8) = &UNK_00201e53;\n      uVar12 = FUN_001f91d0();\n      iVar1 = piVar10[7];\n      *(undefined4 *)(puVar15 + 0x1c) = uVar12;\n      if ((char)iVar1 == '\0') {\n        *(undefined **)(puVar15 + -8) = &UNK_002023d2;\n        cVar6 = FUN_001f9220();\n      }\n      else {\n        cVar6 = (char)piVar10[0x12];\n      }\n      puVar16 = puVar15 + -4;\n      if (puVar15[0x1c] != cVar6) break;\n    }\n    *(undefined1 **)(puVar15 + -8) = puVar2;\n    *(undefined4 *)(puVar15 + -0xc) = *(undefined4 *)(puVar15 + 0xa4);\n    *(undefined4 *)(puVar15 + -0x10) = 2;\n    *(undefined4 *)(puVar15 + -0x14) = 0x17;\n    *(undefined4 *)(puVar15 + -0x18) = 0;\n    *(undefined1 **)(puVar15 + -0x1c) = puVar3;\n    *(undefined4 *)(puVar15 + -0x20) = *(undefined4 *)(puVar15 + 0xa0);\n    *(undefined4 *)(puVar15 + -0x24) = *(undefined4 *)(puVar15 + 0x9c);\n    *(undefined4 *)(puVar15 + -0x28) = *(undefined4 *)(puVar15 + 0x98);\n    *(undefined4 *)(puVar15 + -0x2c) = *(undefined4 *)(puVar15 + 0x94);\n    *(undefined4 *)(puVar15 + -0x30) = *(undefined4 *)(puVar15 + 0x90);\n    *(undefined4 *)(puVar15 + -0x34) = *(undefined4 *)(puVar15 + 0x10);\n    *(undefined **)(puVar15 + -0x38) = &UNK_00201eaa;\n    FUN_001fc0e0();\n    *(undefined4 *)(puVar15 + 0x90) = *(undefined4 *)(puVar15 + 0x20);\n    *(undefined4 *)(puVar15 + 0x94) = *(undefined4 *)(puVar15 + 0x24);\n    *(undefined1 **)(puVar15 + -0xc) = puVar2;\n    *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0xa0);\n    *(undefined4 *)(puVar15 + -0x14) = 2;\n    *(undefined4 *)(puVar15 + -0x18) = 0x3b;\n    *(undefined4 *)(puVar15 + -0x1c) = 0;\n    *(undefined1 **)(puVar15 + -0x20) = puVar3;\n    *(undefined4 *)(puVar15 + -0x24) = *(undefined4 *)(puVar15 + 0x9c);\n    *(undefined4 *)(puVar15 + -0x28) = *(undefined4 *)(puVar15 + 0x98);\n    *(undefined4 *)(puVar15 + -0x2c) = *(undefined4 *)(puVar15 + 0x24);\n    *(undefined4 *)(puVar15 + -0x30) = *(undefined4 *)(puVar15 + 0x20);\n    *(undefined4 *)(puVar15 + -0x34) = *(undefined4 *)(puVar15 + 0x8c);\n    puVar17 = puVar15 + -0x38;\n    *(undefined4 *)(puVar15 + -0x38) = *(undefined4 *)(puVar15 + 0xc);\n    *(undefined **)(puVar15 + -0x3c) = &UNK_00201ef2;\n    FUN_001fc0e0();\n    goto code_r0x00201b6c;\n  case 0x61:\n    iVar1 = *(int *)(*(int *)(puVar15 + 0x18) + 8);\n    *(undefined4 *)(puVar15 + 0x40) = *(undefined4 *)(iVar1 + 0x48);\n    *(undefined4 *)(puVar15 + 0x44) = *(undefined4 *)(iVar1 + 0x4c);\n    *(undefined4 *)(puVar15 + 0x48) = *(undefined4 *)(iVar1 + 0x50);\n    *(undefined4 *)(puVar15 + 0x4c) = *(undefined4 *)(iVar1 + 0x54);\n    *(undefined4 *)(puVar15 + 0x50) = *(undefined4 *)(iVar1 + 0x58);\n    *(undefined4 *)(puVar15 + 0x54) = *(undefined4 *)(iVar1 + 0x5c);\n    uVar12 = *(undefined4 *)(iVar1 + 0x60);\ncode_r0x00201f34:\n    *(undefined4 *)(puVar15 + 0x58) = uVar12;\n    *(undefined1 **)(puVar15 + -8) = puVar15 + 0x38;\n    *(undefined4 *)(puVar15 + -0xc) = *(undefined4 *)(puVar15 + 0xa8);\n    *(undefined4 *)(puVar15 + -0x10) = 7;\n    *(undefined1 **)(puVar15 + -0x14) = puVar15 + 0x40;\n    *(undefined1 **)(puVar15 + -0x18) = puVar15 + 0x3c;\n    *(undefined4 *)(puVar15 + -0x1c) = *(undefined4 *)(puVar15 + 0xa4);\n    *(undefined4 *)(puVar15 + -0x20) = *(undefined4 *)(puVar15 + 0xa0);\n    *(undefined4 *)(puVar15 + -0x24) = *(undefined4 *)(puVar15 + 0x9c);\n    *(undefined4 *)(puVar15 + -0x28) = *(undefined4 *)(puVar15 + 0x98);\n    *(undefined4 *)(puVar15 + -0x2c) = *(undefined4 *)(puVar15 + 0x94);\n    *(undefined1 **)(puVar15 + -0x30) = puVar15 + 0x28;\n    *(undefined **)(puVar15 + -0x34) = &UNK_00201f80;\n    FUN_00201020();\n    *(undefined4 *)(puVar15 + 0x94) = *(undefined4 *)(puVar15 + 0x24);\n    *(undefined4 *)(puVar15 + 0x98) = *(undefined4 *)(puVar15 + 0x28);\n    puVar16 = puVar15 + -4;\n    if (*(int *)(puVar15 + 0x34) == 0) {\n      *(undefined4 *)(*(int *)(puVar15 + 0xac) + 0x18) = *(undefined4 *)(puVar15 + 0x38);\n      puVar16 = puVar15 + -4;\n    }\n    break;\n  case 0x62:\n  case 0x68:\n    *(undefined1 **)(puVar15 + -0xc) = puVar15 + 0x40;\n    *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0x18);\n    *(undefined **)(puVar15 + -0x14) = &UNK_00202171;\n    FUN_001fb0c0();\ncode_r0x00201fd1:\n    *(undefined1 **)(puVar15 + -8) = puVar15 + 0x38;\n    *(undefined4 *)(puVar15 + -0xc) = *(undefined4 *)(puVar15 + 0xa8);\n    *(undefined4 *)(puVar15 + -0x10) = 0xc;\n    *(undefined1 **)(puVar15 + -0x14) = puVar15 + 0x40;\n    *(undefined1 **)(puVar15 + -0x18) = puVar15 + 0x3c;\n    *(undefined4 *)(puVar15 + -0x1c) = *(undefined4 *)(puVar15 + 0xa4);\n    *(undefined4 *)(puVar15 + -0x20) = *(undefined4 *)(puVar15 + 0xa0);\n    *(undefined4 *)(puVar15 + -0x24) = *(undefined4 *)(puVar15 + 0x9c);\n    *(undefined4 *)(puVar15 + -0x28) = *(undefined4 *)(puVar15 + 0x98);\n    *(undefined4 *)(puVar15 + -0x2c) = *(undefined4 *)(puVar15 + 0x94);\n    *(undefined1 **)(puVar15 + -0x30) = puVar15 + 0x28;\n    *(undefined **)(puVar15 + -0x34) = &UNK_00202015;\n    FUN_00201020();\n    *(undefined4 *)(puVar15 + 0x94) = *(undefined4 *)(puVar15 + 0x24);\n    *(undefined4 *)(puVar15 + 0x98) = *(undefined4 *)(puVar15 + 0x28);\n    puVar16 = puVar15 + -4;\n    if (*(int *)(puVar15 + 0x34) == 0) {\n      *(undefined4 *)(*(int *)(puVar15 + 0xac) + 0x10) = *(undefined4 *)(puVar15 + 0x38);\n      puVar16 = puVar15 + -4;\n    }\n    break;\n  case 99:\n    *(undefined4 *)(puVar15 + -0xc) = *(undefined4 *)(*(int *)(*(int *)(puVar15 + 0x18) + 8) + 0x18)\n    ;\n    goto code_r0x00201b30;\n  case 100:\n    *(undefined1 **)(puVar15 + -4) = puVar15 + 0x38;\n    *(undefined4 *)(puVar15 + -8) = *(undefined4 *)(puVar15 + 0xa8);\n    *(undefined4 *)(puVar15 + -0xc) = 2;\n    *(undefined4 *)(puVar15 + -0x10) = 0x1f;\n    *(undefined4 *)(puVar15 + -0x14) = 1;\n    goto code_r0x002021b6;\n  case 0x65:\n    *(undefined **)(puVar15 + -4) = &UNK_00202230;\n    uVar18 = FUN_001f91d0();\n    if ((*(byte *)(piVar10[6] + 1 + (uVar18 & 0xff) * 2) & 0x20) == 0) {\n      *(undefined1 **)(puVar15 + -4) = puVar15 + 0x38;\n      *(undefined4 *)(puVar15 + -8) = *(undefined4 *)(puVar15 + 0xa8);\n      *(undefined4 *)(puVar15 + -0xc) = 2;\n      *(undefined4 *)(puVar15 + -0x10) = 0x1f;\n      *(undefined4 *)(puVar15 + -0x14) = 10;\n    }\n    else {\n      *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0x98);\n      *(undefined **)(puVar15 + -0x14) = &UNK_00202250;\n      FUN_001f24d0();\n      *(undefined4 *)(puVar15 + 0x9c) = 0xffffffff;\n      *(undefined1 **)(puVar15 + -4) = puVar15 + 0x38;\n      *(undefined4 *)(puVar15 + -8) = *(undefined4 *)(puVar15 + 0xa8);\n      *(undefined4 *)(puVar15 + -0xc) = 1;\n      *(undefined4 *)(puVar15 + -0x10) = 9;\n      *(undefined4 *)(puVar15 + -0x14) = 1;\n    }\ncode_r0x002021b6:\n    *(undefined1 **)(puVar15 + -0x18) = puVar15 + 0x3c;\n    *(undefined4 *)(puVar15 + -0x1c) = *(undefined4 *)(puVar15 + 0xa4);\n    *(undefined4 *)(puVar15 + -0x20) = *(undefined4 *)(puVar15 + 0xa0);\n    *(undefined4 *)(puVar15 + -0x24) = *(undefined4 *)(puVar15 + 0x9c);\n    *(undefined4 *)(puVar15 + -0x28) = *(undefined4 *)(puVar15 + 0x98);\n    *(undefined4 *)(puVar15 + -0x2c) = *(undefined4 *)(puVar15 + 0x94);\n    *(undefined1 **)(puVar15 + -0x30) = puVar15 + 0x28;\n    *(undefined **)(puVar15 + -0x34) = &UNK_002021e4;\n    FUN_001fc0e0();\n    *(undefined4 *)(puVar15 + 0x94) = *(undefined4 *)(puVar15 + 0x24);\n    *(undefined4 *)(puVar15 + 0x98) = *(undefined4 *)(puVar15 + 0x28);\n    puVar16 = puVar15 + -4;\n    if (*(int *)(puVar15 + 0x34) == 0) {\n      *(undefined4 *)(*(int *)(puVar15 + 0xac) + 0xc) = *(undefined4 *)(puVar15 + 0x38);\n      puVar16 = puVar15 + -4;\n    }\n    break;\n  case 0x6d:\n    *(undefined1 **)(puVar15 + -4) = puVar15 + 0x38;\n    *(undefined4 *)(puVar15 + -8) = *(undefined4 *)(puVar15 + 0xa8);\n    *(undefined4 *)(puVar15 + -0xc) = 2;\n    *(undefined4 *)(puVar15 + -0x10) = 0xc;\n    *(undefined4 *)(puVar15 + -0x14) = 1;\n    *(undefined1 **)(puVar15 + -0x18) = puVar15 + 0x3c;\n    *(undefined4 *)(puVar15 + -0x1c) = *(undefined4 *)(puVar15 + 0xa4);\n    *(undefined4 *)(puVar15 + -0x20) = *(undefined4 *)(puVar15 + 0xa0);\n    *(undefined4 *)(puVar15 + -0x24) = *(undefined4 *)(puVar15 + 0x9c);\n    *(undefined4 *)(puVar15 + -0x28) = *(undefined4 *)(puVar15 + 0x98);\n    *(undefined4 *)(puVar15 + -0x2c) = *(undefined4 *)(puVar15 + 0x94);\n    *(undefined1 **)(puVar15 + -0x30) = puVar15 + 0x28;\n    *(undefined **)(puVar15 + -0x34) = &UNK_002022c4;\n    FUN_001fc0e0();\n    *(undefined4 *)(puVar15 + 0x94) = *(undefined4 *)(puVar15 + 0x24);\n    *(undefined4 *)(puVar15 + 0x98) = *(undefined4 *)(puVar15 + 0x28);\n    puVar16 = puVar15 + -4;\n    if (*(int *)(puVar15 + 0x34) == 0) {\n      *(int *)(*(int *)(puVar15 + 0xac) + 0x10) = *(int *)(puVar15 + 0x38) + -1;\n      puVar16 = puVar15 + -4;\n    }\n    break;\n  case 0x6e:\n    *(undefined **)(puVar15 + -4) = &UNK_00202310;\n    bVar9 = FUN_001f91d0();\n    bVar8 = *(byte *)((int)piVar10 + bVar9 + 0x11d);\n    if (bVar8 == 0) {\n      pcVar4 = *(code **)(*piVar10 + 0x20);\n      bVar8 = bVar9;\n      if (pcVar4 != (code *)PTR_FUN_0038ed98) {\n        *(undefined4 *)(puVar15 + -8) = 0;\n        *(int *)(puVar15 + -0xc) = (int)(char)bVar9;\n        *(int **)(puVar15 + -0x10) = piVar10;\n        *(undefined **)(puVar15 + -0x14) = &UNK_002023ab;\n        bVar8 = (*pcVar4)();\n      }\n      if (bVar8 == 0) goto LAB_00201ab8;\n      *(byte *)((int)piVar10 + bVar9 + 0x11d) = bVar8;\n    }\n    if (bVar8 != 10) goto LAB_00201ab8;\ncode_r0x00202346:\n    *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0x98);\n    *(undefined **)(puVar15 + -0x14) = &UNK_00202355;\n    FUN_001f24d0();\n    *(undefined4 *)(puVar15 + 0x9c) = 0xffffffff;\n    break;\n  case 0x74:\n    *(undefined **)(puVar15 + -4) = &UNK_00201a70;\n    bVar9 = FUN_001f91d0();\n    bVar8 = *(byte *)((int)piVar10 + bVar9 + 0x11d);\n    if (bVar8 == 0) {\n      pcVar4 = *(code **)(*piVar10 + 0x20);\n      bVar8 = bVar9;\n      if (pcVar4 != *(code **)(puVar15 + 0x1c)) {\n        *(undefined4 *)(puVar15 + -8) = 0;\n        *(int *)(puVar15 + -0xc) = (int)(char)bVar9;\n        *(int **)(puVar15 + -0x10) = piVar10;\n        *(undefined **)(puVar15 + -0x14) = &UNK_00201a98;\n        bVar8 = (*pcVar4)();\n      }\n      if (bVar8 == 0) goto LAB_00201ab8;\n      *(byte *)((int)piVar10 + bVar9 + 0x11d) = bVar8;\n    }\n    if (bVar8 == 9) goto code_r0x00202346;\n    goto LAB_00201ab8;\n  case 0x78:\n    *(undefined4 *)(puVar15 + -0xc) = *(undefined4 *)(*(int *)(*(int *)(puVar15 + 0x18) + 8) + 8);\ncode_r0x00201b30:\n    *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0xb0);\n    *(undefined1 **)(puVar15 + -0x14) = puVar15 + 0x38;\n    *(undefined4 *)(puVar15 + -0x18) = *(undefined4 *)(puVar15 + 0xa8);\n    *(undefined4 *)(puVar15 + -0x1c) = *(undefined4 *)(puVar15 + 0xa4);\n    *(undefined4 *)(puVar15 + -0x20) = *(undefined4 *)(puVar15 + 0xa0);\n    *(undefined4 *)(puVar15 + -0x24) = *(undefined4 *)(puVar15 + 0x9c);\n    *(undefined4 *)(puVar15 + -0x28) = *(undefined4 *)(puVar15 + 0x98);\n    *(undefined4 *)(puVar15 + -0x2c) = *(undefined4 *)(puVar15 + 0x94);\n    puVar17 = puVar15 + -0x30;\n    *(undefined1 **)(puVar15 + -0x30) = puVar15 + 0x28;\n    *(undefined **)(puVar15 + -0x34) = &UNK_00201b6c;\n    FUN_00201820();\ncode_r0x00201b6c:\n    *(undefined4 *)(puVar17 + 0xc4) = *(undefined4 *)(puVar17 + 0x54);\n    *(undefined4 *)(puVar17 + 200) = *(undefined4 *)(puVar17 + 0x58);\n    puVar16 = puVar17 + 0x2c;\n  }\ncode_r0x00201ac0:\n  uVar18 = *(int *)(puVar16 + 4) + 1;\n  puVar15 = puVar16;\n  goto LAB_0020189b;\nLAB_00201ab8:\n  *(uint *)(puVar15 + 0x38) = *(uint *)(puVar15 + 0x38) | 4;\n  goto code_r0x00201ac0;\n}" type_identifier (pointer_declarator "* FUN_00201820(void)" * (function_declarator "FUN_00201820(void)" identifier (parameter_list "(void)" ( (parameter_declaration "void" primitive_type) )))) (compound_statement "{\n  int iVar1;\n  undefined1 *puVar2;\n  undefined1 *puVar3;\n  code *pcVar4;\n  undefined4 *puVar5;\n  char cVar6;\n  char cVar7;\n  byte bVar8;\n  byte bVar9;\n  int *piVar10;\n  char *pcVar11;\n  undefined4 uVar12;\n  int iVar13;\n  uint uVar14;\n  undefined1 *puVar15;\n  undefined1 *puVar16;\n  undefined1 *puVar17;\n  uint uVar18;\n  int in_stack_0000001c;\n  char *in_stack_00000028;\n  undefined1 auStack_8c [8];\n  undefined1 *local_84;\n  size_t local_80;\n  undefined1 *local_7c;\n  undefined4 local_74;\n  code *local_70;\n  undefined **local_68;\n  undefined4 local_54;\n  undefined4 uStack_14;\n  \n  uVar18 = 0;\n  uStack_14 = 0x20182b;\n  iVar1 = in_stack_0000001c + 0x6c;\n  local_74 = FUN_001fd780(iVar1);\n  piVar10 = (int *)FUN_001fbde0(iVar1);\n  local_80 = strlen(in_stack_00000028);\n  local_7c = &stack0x00000014;\n  local_84 = &stack0x0000000c;\n  local_54 = 0;\n  local_68 = &PTR_DAT_0038f400;\n  local_70 = FUN_001f81a0;\n  puVar15 = auStack_8c;\nLAB_0020189b:\n  *(undefined4 *)(puVar15 + -0xc) = *(undefined4 *)(puVar15 + 0x10);\n  *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 8);\n  *(undefined4 *)(puVar15 + -0x14) = 0x2018ab;\n  cVar6 = FUN_00200f70();\n  if ((cVar6 == '\x01') || (*(uint *)(puVar15 + 0xc) <= uVar18)) {\n    if ((*(int *)(puVar15 + 0x38) != 0) || (uVar18 != *(uint *)(puVar15 + 0xc))) {\nLAB_00201a0e:\n      **(uint **)(puVar15 + 0xac) = **(uint **)(puVar15 + 0xac) | 4;\n    }\n    puVar5 = *(undefined4 **)(puVar15 + 0x90);\n    uVar12 = *(undefined4 *)(puVar15 + 0x9c);\n    *puVar5 = *(undefined4 *)(puVar15 + 0x98);\n    puVar5[1] = uVar12;\n    return puVar5;\n  }\n  if (*(int *)(puVar15 + 0x38) != 0) goto LAB_00201a0e;\n  bVar8 = *(byte *)(*(int *)(puVar15 + 0xb4) + uVar18);\n  uVar14 = (uint)bVar8;\n  *(byte **)(puVar15 + 0x14) = (byte *)(*(int *)(puVar15 + 0xb4) + uVar18);\n  *(uint *)(puVar15 + 4) = uVar18 + 1;\n  bVar9 = *(byte *)((int)piVar10 + uVar14 + 0x11d);\n  if (bVar9 == 0) {\n    pcVar4 = *(code **)(*piVar10 + 0x20);\n    bVar9 = bVar8;\n    if (pcVar4 != (code *)PTR_FUN_0038ed98) {\n      *(uint *)(puVar15 + 0x20) = uVar14;\n      *(undefined4 *)(puVar15 + -8) = 0;\n      *(int *)(puVar15 + -0xc) = (int)(char)bVar8;\n      *(int **)(puVar15 + -0x10) = piVar10;\n      *(undefined4 *)(puVar15 + -0x14) = 0x201a50;\n      bVar9 = (*pcVar4)();\n      uVar14 = *(uint *)(puVar15 + 0x20);\n    }\n    if (bVar9 != 0) {\n      *(byte *)((int)piVar10 + uVar14 + 0x11d) = bVar9;\n      goto LAB_00201910;\n    }\nLAB_00201980:\n    cVar6 = **(char **)(puVar15 + 0x14);\n    *(undefined4 *)(puVar15 + -4) = 0x201997;\n    cVar7 = FUN_001f91d0();\n    if (cVar6 == cVar7) {\n      *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0x98);\n      *(undefined4 *)(puVar15 + -0x14) = 0x201adf;\n      FUN_001f24d0();\n      *(undefined4 *)(puVar15 + 0x9c) = 0xffffffff;\n      uVar18 = *(uint *)(puVar15 + 4);\n    }\n    else {\n      *(uint *)(puVar15 + 0x38) = *(uint *)(puVar15 + 0x38) | 4;\n      uVar18 = *(uint *)(puVar15 + 4);\n    }\n    goto LAB_0020189b;\n  }\nLAB_00201910:\n  if (bVar9 != 0x25) goto LAB_00201980;\n  bVar8 = *(byte *)(*(int *)(puVar15 + 0xb4) + 1 + uVar18);\n  bVar9 = *(byte *)((int)piVar10 + bVar8 + 0x11d);\n  puVar16 = puVar15;\n  if (bVar9 == 0) {\n    pcVar4 = *(code **)(*piVar10 + 0x20);\n    bVar9 = bVar8;\n    if (pcVar4 != (code *)PTR_FUN_0038ed98) {\n      *(undefined4 *)(puVar15 + -8) = 0;\n      *(int *)(puVar15 + -0xc) = (int)(char)bVar8;\n      *(int **)(puVar15 + -0x10) = piVar10;\n      *(undefined4 *)(puVar15 + -0x14) = 0x201b0c;\n      bVar9 = (*pcVar4)();\n    }\n    if (bVar9 != 0) {\n      *(byte *)((int)piVar10 + bVar8 + 0x11d) = bVar9;\n      goto LAB_00201951;\n    }\n    goto LAB_00201ab8;\n  }\nLAB_00201951:\n  *(undefined4 *)(puVar15 + 0x3c) = 0;\n  if ((bVar9 == 0x45) || (bVar9 == 0x4f)) {\n    *(uint *)(puVar15 + 4) = uVar18 + 2;\n    bVar8 = *(byte *)(*(int *)(puVar15 + 0xb4) + 2 + uVar18);\n    bVar9 = *(byte *)((int)piVar10 + bVar8 + 0x11d);\n    if (bVar9 == 0) {\n      pcVar4 = *(code **)(*piVar10 + 0x20);\n      bVar9 = bVar8;\n      if (pcVar4 != (code *)PTR_FUN_0038ed98) {\n        *(undefined4 *)(puVar15 + -8) = 0;\n        *(int *)(puVar15 + -0xc) = (int)(char)bVar8;\n        *(int **)(puVar15 + -0x10) = piVar10;\n        *(undefined4 *)(puVar15 + -0x14) = 0x20237c;\n        bVar9 = (*pcVar4)();\n      }\n      if (bVar9 == 0) goto LAB_00201ab8;\n      *(byte *)((int)piVar10 + bVar8 + 0x11d) = bVar9;\n    }\n  }\n  switch(bVar9) {\n  case 0x41:\n    iVar1 = *(int *)(*(int *)(puVar15 + 0x18) + 8);\n    *(undefined4 *)(puVar15 + 0x40) = *(undefined4 *)(iVar1 + 0x2c);\n    *(undefined4 *)(puVar15 + 0x44) = *(undefined4 *)(iVar1 + 0x30);\n    *(undefined4 *)(puVar15 + 0x48) = *(undefined4 *)(iVar1 + 0x34);\n    *(undefined4 *)(puVar15 + 0x4c) = *(undefined4 *)(iVar1 + 0x38);\n    *(undefined4 *)(puVar15 + 0x50) = *(undefined4 *)(iVar1 + 0x3c);\n    *(undefined4 *)(puVar15 + 0x54) = *(undefined4 *)(iVar1 + 0x40);\n    uVar12 = *(undefined4 *)(iVar1 + 0x44);\n    goto code_r0x00201f34;\n  case 0x42:\n    *(undefined1 **)(puVar15 + -0xc) = puVar15 + 0x40;\n    *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0x18);\n    *(undefined **)(puVar15 + -0x14) = &UNK_00201fd1;\n    FUN_001fb050();\n    goto code_r0x00201fd1;\n  case 0x43:\n  case 0x59:\n  case 0x79:\n    *(undefined1 **)(puVar15 + -4) = puVar15 + 0x38;\n    *(undefined4 *)(puVar15 + -8) = *(undefined4 *)(puVar15 + 0xa8);\n    *(undefined4 *)(puVar15 + -0xc) = 4;\n    *(undefined4 *)(puVar15 + -0x10) = 9999;\n    *(undefined4 *)(puVar15 + -0x14) = 0;\n    *(undefined1 **)(puVar15 + -0x18) = puVar15 + 0x3c;\n    *(undefined4 *)(puVar15 + -0x1c) = *(undefined4 *)(puVar15 + 0xa4);\n    *(undefined4 *)(puVar15 + -0x20) = *(undefined4 *)(puVar15 + 0xa0);\n    *(undefined4 *)(puVar15 + -0x24) = *(undefined4 *)(puVar15 + 0x9c);\n    *(undefined4 *)(puVar15 + -0x28) = *(undefined4 *)(puVar15 + 0x98);\n    *(undefined4 *)(puVar15 + -0x2c) = *(undefined4 *)(puVar15 + 0x94);\n    *(undefined1 **)(puVar15 + -0x30) = puVar15 + 0x28;\n    *(undefined **)(puVar15 + -0x34) = &UNK_00202097;\n    FUN_001fc0e0();\n    *(undefined4 *)(puVar15 + 0x94) = *(undefined4 *)(puVar15 + 0x24);\n    *(undefined4 *)(puVar15 + 0x98) = *(undefined4 *)(puVar15 + 0x28);\n    puVar16 = puVar15 + -4;\n    if (*(int *)(puVar15 + 0x34) == 0) {\n      iVar1 = *(int *)(puVar15 + 0x38);\n      iVar13 = iVar1 + -0x76c;\n      if (iVar1 < 0) {\n        iVar13 = iVar1 + 100;\n      }\n      *(int *)(*(int *)(puVar15 + 0xac) + 0x14) = iVar13;\n      puVar16 = puVar15 + -4;\n    }\n    break;\n  case 0x44:\n    *(undefined1 **)(puVar15 + -4) = puVar15 + 0x40;\n    *(undefined **)(puVar15 + -8) = &UNK_002a3ee7;\n    pcVar11 = "%m/%d/%y";\n    goto code_r0x00201ca2;\n  default:\n    goto LAB_00201ab8;\n  case 0x48:\n    *(undefined1 **)(puVar15 + -4) = puVar15 + 0x38;\n    *(undefined4 *)(puVar15 + -8) = *(undefined4 *)(puVar15 + 0xa8);\n    *(undefined4 *)(puVar15 + -0xc) = 2;\n    *(undefined4 *)(puVar15 + -0x10) = 0x17;\n    *(undefined4 *)(puVar15 + -0x14) = 0;\n    goto code_r0x00201ba6;\n  case 0x49:\n    *(undefined1 **)(puVar15 + -4) = puVar15 + 0x38;\n    *(undefined4 *)(puVar15 + -8) = *(undefined4 *)(puVar15 + 0xa8);\n    *(undefined4 *)(puVar15 + -0xc) = 2;\n    *(undefined4 *)(puVar15 + -0x10) = 0xc;\n    *(undefined4 *)(puVar15 + -0x14) = 1;\ncode_r0x00201ba6:\n    *(undefined1 **)(puVar15 + -0x18) = puVar15 + 0x3c;\n    *(undefined4 *)(puVar15 + -0x1c) = *(undefined4 *)(puVar15 + 0xa4);\n    *(undefined4 *)(puVar15 + -0x20) = *(undefined4 *)(puVar15 + 0xa0);\n    *(undefined4 *)(puVar15 + -0x24) = *(undefined4 *)(puVar15 + 0x9c);\n    *(undefined4 *)(puVar15 + -0x28) = *(undefined4 *)(puVar15 + 0x98);\n    *(undefined4 *)(puVar15 + -0x2c) = *(undefined4 *)(puVar15 + 0x94);\n    *(undefined1 **)(puVar15 + -0x30) = puVar15 + 0x28;\n    *(undefined **)(puVar15 + -0x34) = &UNK_00201bd4;\n    FUN_001fc0e0();\n    *(undefined4 *)(puVar15 + 0x94) = *(undefined4 *)(puVar15 + 0x24);\n    *(undefined4 *)(puVar15 + 0x98) = *(undefined4 *)(puVar15 + 0x28);\n    puVar16 = puVar15 + -4;\n    if (*(int *)(puVar15 + 0x34) == 0) {\n      *(undefined4 *)(*(int *)(puVar15 + 0xac) + 8) = *(undefined4 *)(puVar15 + 0x38);\n      puVar16 = puVar15 + -4;\n    }\n    break;\n  case 0x4d:\n    *(undefined1 **)(puVar15 + -4) = puVar15 + 0x38;\n    *(undefined4 *)(puVar15 + -8) = *(undefined4 *)(puVar15 + 0xa8);\n    *(undefined4 *)(puVar15 + -0xc) = 2;\n    *(undefined4 *)(puVar15 + -0x10) = 0x3b;\n    *(undefined4 *)(puVar15 + -0x14) = 0;\n    *(undefined1 **)(puVar15 + -0x18) = puVar15 + 0x3c;\n    *(undefined4 *)(puVar15 + -0x1c) = *(undefined4 *)(puVar15 + 0xa4);\n    *(undefined4 *)(puVar15 + -0x20) = *(undefined4 *)(puVar15 + 0xa0);\n    *(undefined4 *)(puVar15 + -0x24) = *(undefined4 *)(puVar15 + 0x9c);\n    *(undefined4 *)(puVar15 + -0x28) = *(undefined4 *)(puVar15 + 0x98);\n    *(undefined4 *)(puVar15 + -0x2c) = *(undefined4 *)(puVar15 + 0x94);\n    *(undefined1 **)(puVar15 + -0x30) = puVar15 + 0x28;\n    *(undefined **)(puVar15 + -0x34) = &UNK_00201c54;\n    FUN_001fc0e0();\n    *(undefined4 *)(puVar15 + 0x94) = *(undefined4 *)(puVar15 + 0x24);\n    *(undefined4 *)(puVar15 + 0x98) = *(undefined4 *)(puVar15 + 0x28);\n    puVar16 = puVar15 + -4;\n    if (*(int *)(puVar15 + 0x34) == 0) {\n      *(undefined4 *)(*(int *)(puVar15 + 0xac) + 4) = *(undefined4 *)(puVar15 + 0x38);\n      puVar16 = puVar15 + -4;\n    }\n    break;\n  case 0x52:\n    *(undefined1 **)(puVar15 + -4) = puVar15 + 0x40;\n    *(char **)(puVar15 + -8) = "%H:%M:%S";\n    pcVar11 = "%H:%M";\n    goto code_r0x00201ca2;\n  case 0x53:\n    *(undefined1 **)(puVar15 + -4) = puVar15 + 0x38;\n    *(undefined4 *)(puVar15 + -8) = *(undefined4 *)(puVar15 + 0xa8);\n    *(undefined4 *)(puVar15 + -0xc) = 2;\n    *(undefined4 *)(puVar15 + -0x10) = 0x3c;\n    *(undefined4 *)(puVar15 + -0x14) = 0;\n    *(undefined1 **)(puVar15 + -0x18) = puVar15 + 0x3c;\n    *(undefined4 *)(puVar15 + -0x1c) = *(undefined4 *)(puVar15 + 0xa4);\n    *(undefined4 *)(puVar15 + -0x20) = *(undefined4 *)(puVar15 + 0xa0);\n    *(undefined4 *)(puVar15 + -0x24) = *(undefined4 *)(puVar15 + 0x9c);\n    *(undefined4 *)(puVar15 + -0x28) = *(undefined4 *)(puVar15 + 0x98);\n    *(undefined4 *)(puVar15 + -0x2c) = *(undefined4 *)(puVar15 + 0x94);\n    *(undefined1 **)(puVar15 + -0x30) = puVar15 + 0x28;\n    *(undefined **)(puVar15 + -0x34) = &UNK_00201cfc;\n    FUN_001fc0e0();\n    *(undefined4 *)(puVar15 + 0x94) = *(undefined4 *)(puVar15 + 0x24);\n    *(undefined4 *)(puVar15 + 0x98) = *(undefined4 *)(puVar15 + 0x28);\n    puVar16 = puVar15 + -4;\n    if (*(int *)(puVar15 + 0x34) == 0) {\n      **(undefined4 **)(puVar15 + 0xac) = *(undefined4 *)(puVar15 + 0x38);\n      puVar16 = puVar15 + -4;\n    }\n    break;\n  case 0x54:\n    *(undefined1 **)(puVar15 + -4) = puVar15 + 0x40;\n    *(undefined **)(puVar15 + -8) = &UNK_002a3ef6;\n    pcVar11 = "%H:%M:%S";\ncode_r0x00201ca2:\n    *(char **)(puVar15 + -0xc) = pcVar11;\n    *(int **)(puVar15 + -0x10) = piVar10;\n    *(undefined **)(puVar15 + -0x14) = &UNK_00201ca9;\n    FUN_001f94d0();\n    *(undefined1 **)(puVar15 + -0xc) = puVar15 + 0x40;\n    goto code_r0x00201b30;\n  case 0x58:\n    *(undefined4 *)(puVar15 + -0xc) = *(undefined4 *)(*(int *)(*(int *)(puVar15 + 0x18) + 8) + 0x10)\n    ;\n    goto code_r0x00201b30;\n  case 0x5a:\n    *(undefined **)(puVar15 + -4) = &UNK_00201d80;\n    uVar18 = FUN_001f91d0();\n    if ((*(byte *)(piVar10[6] + 1 + (uVar18 & 0xff) * 2) & 1) == 0) goto LAB_00201ab8;\n    *(undefined1 **)(puVar15 + 0x14) = puVar15 + 0x28;\n    puVar2 = puVar15 + 0x38;\n    *(undefined1 **)(puVar15 + -8) = puVar2;\n    *(undefined4 *)(puVar15 + -0xc) = *(undefined4 *)(puVar15 + 0xa8);\n    *(undefined4 *)(puVar15 + -0x10) = 0xe;\n    *(undefined4 *)(puVar15 + -0x14) = *(undefined4 *)(puVar15 + 0x24);\n    puVar3 = puVar15 + 0x40;\n    *(undefined1 **)(puVar15 + -0x18) = puVar3;\n    *(undefined4 *)(puVar15 + -0x1c) = *(undefined4 *)(puVar15 + 0xa4);\n    *(undefined4 *)(puVar15 + -0x20) = *(undefined4 *)(puVar15 + 0xa0);\n    *(undefined4 *)(puVar15 + -0x24) = *(undefined4 *)(puVar15 + 0x9c);\n    *(undefined4 *)(puVar15 + -0x28) = *(undefined4 *)(puVar15 + 0x98);\n    *(undefined4 *)(puVar15 + -0x2c) = *(undefined4 *)(puVar15 + 0x94);\n    *(undefined1 **)(puVar15 + -0x30) = puVar15 + 0x28;\n    *(undefined **)(puVar15 + -0x34) = &UNK_00201ddc;\n    FUN_00201020();\n    *(undefined4 *)(puVar15 + 0x94) = *(undefined4 *)(puVar15 + 0x24);\n    *(undefined4 *)(puVar15 + 0x98) = *(undefined4 *)(puVar15 + 0x28);\n    *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0xc);\n    *(undefined4 *)(puVar15 + -0x14) = *(undefined4 *)(puVar15 + 4);\n    *(undefined **)(puVar15 + -0x18) = &UNK_00201e02;\n    cVar6 = FUN_00200f70();\n    puVar16 = puVar15 + -4;\n    if ((cVar6 != '\0') ||\n       (puVar16 = puVar15 + -4, *(int *)(puVar15 + 0x34) != 0 || *(int *)(puVar15 + 0x3c) != 0))\n    break;\n    *(undefined **)(puVar15 + -8) = &UNK_00201e2b;\n    uVar12 = FUN_001f91d0();\n    iVar1 = piVar10[7];\n    *(undefined4 *)(puVar15 + 0x1c) = uVar12;\n    if ((char)iVar1 == '\0') {\n      *(undefined **)(puVar15 + -8) = &UNK_002023c1;\n      cVar6 = FUN_001f9220();\n    }\n    else {\n      cVar6 = *(char *)((int)piVar10 + 0x4a);\n    }\n    if (puVar15[0x1c] != cVar6) {\n      *(undefined **)(puVar15 + -8) = &UNK_00201e53;\n      uVar12 = FUN_001f91d0();\n      iVar1 = piVar10[7];\n      *(undefined4 *)(puVar15 + 0x1c) = uVar12;\n      if ((char)iVar1 == '\0') {\n        *(undefined **)(puVar15 + -8) = &UNK_002023d2;\n        cVar6 = FUN_001f9220();\n      }\n      else {\n        cVar6 = (char)piVar10[0x12];\n      }\n      puVar16 = puVar15 + -4;\n      if (puVar15[0x1c] != cVar6) break;\n    }\n    *(undefined1 **)(puVar15 + -8) = puVar2;\n    *(undefined4 *)(puVar15 + -0xc) = *(undefined4 *)(puVar15 + 0xa4);\n    *(undefined4 *)(puVar15 + -0x10) = 2;\n    *(undefined4 *)(puVar15 + -0x14) = 0x17;\n    *(undefined4 *)(puVar15 + -0x18) = 0;\n    *(undefined1 **)(puVar15 + -0x1c) = puVar3;\n    *(undefined4 *)(puVar15 + -0x20) = *(undefined4 *)(puVar15 + 0xa0);\n    *(undefined4 *)(puVar15 + -0x24) = *(undefined4 *)(puVar15 + 0x9c);\n    *(undefined4 *)(puVar15 + -0x28) = *(undefined4 *)(puVar15 + 0x98);\n    *(undefined4 *)(puVar15 + -0x2c) = *(undefined4 *)(puVar15 + 0x94);\n    *(undefined4 *)(puVar15 + -0x30) = *(undefined4 *)(puVar15 + 0x90);\n    *(undefined4 *)(puVar15 + -0x34) = *(undefined4 *)(puVar15 + 0x10);\n    *(undefined **)(puVar15 + -0x38) = &UNK_00201eaa;\n    FUN_001fc0e0();\n    *(undefined4 *)(puVar15 + 0x90) = *(undefined4 *)(puVar15 + 0x20);\n    *(undefined4 *)(puVar15 + 0x94) = *(undefined4 *)(puVar15 + 0x24);\n    *(undefined1 **)(puVar15 + -0xc) = puVar2;\n    *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0xa0);\n    *(undefined4 *)(puVar15 + -0x14) = 2;\n    *(undefined4 *)(puVar15 + -0x18) = 0x3b;\n    *(undefined4 *)(puVar15 + -0x1c) = 0;\n    *(undefined1 **)(puVar15 + -0x20) = puVar3;\n    *(undefined4 *)(puVar15 + -0x24) = *(undefined4 *)(puVar15 + 0x9c);\n    *(undefined4 *)(puVar15 + -0x28) = *(undefined4 *)(puVar15 + 0x98);\n    *(undefined4 *)(puVar15 + -0x2c) = *(undefined4 *)(puVar15 + 0x24);\n    *(undefined4 *)(puVar15 + -0x30) = *(undefined4 *)(puVar15 + 0x20);\n    *(undefined4 *)(puVar15 + -0x34) = *(undefined4 *)(puVar15 + 0x8c);\n    puVar17 = puVar15 + -0x38;\n    *(undefined4 *)(puVar15 + -0x38) = *(undefined4 *)(puVar15 + 0xc);\n    *(undefined **)(puVar15 + -0x3c) = &UNK_00201ef2;\n    FUN_001fc0e0();\n    goto code_r0x00201b6c;\n  case 0x61:\n    iVar1 = *(int *)(*(int *)(puVar15 + 0x18) + 8);\n    *(undefined4 *)(puVar15 + 0x40) = *(undefined4 *)(iVar1 + 0x48);\n    *(undefined4 *)(puVar15 + 0x44) = *(undefined4 *)(iVar1 + 0x4c);\n    *(undefined4 *)(puVar15 + 0x48) = *(undefined4 *)(iVar1 + 0x50);\n    *(undefined4 *)(puVar15 + 0x4c) = *(undefined4 *)(iVar1 + 0x54);\n    *(undefined4 *)(puVar15 + 0x50) = *(undefined4 *)(iVar1 + 0x58);\n    *(undefined4 *)(puVar15 + 0x54) = *(undefined4 *)(iVar1 + 0x5c);\n    uVar12 = *(undefined4 *)(iVar1 + 0x60);\ncode_r0x00201f34:\n    *(undefined4 *)(puVar15 + 0x58) = uVar12;\n    *(undefined1 **)(puVar15 + -8) = puVar15 + 0x38;\n    *(undefined4 *)(puVar15 + -0xc) = *(undefined4 *)(puVar15 + 0xa8);\n    *(undefined4 *)(puVar15 + -0x10) = 7;\n    *(undefined1 **)(puVar15 + -0x14) = puVar15 + 0x40;\n    *(undefined1 **)(puVar15 + -0x18) = puVar15 + 0x3c;\n    *(undefined4 *)(puVar15 + -0x1c) = *(undefined4 *)(puVar15 + 0xa4);\n    *(undefined4 *)(puVar15 + -0x20) = *(undefined4 *)(puVar15 + 0xa0);\n    *(undefined4 *)(puVar15 + -0x24) = *(undefined4 *)(puVar15 + 0x9c);\n    *(undefined4 *)(puVar15 + -0x28) = *(undefined4 *)(puVar15 + 0x98);\n    *(undefined4 *)(puVar15 + -0x2c) = *(undefined4 *)(puVar15 + 0x94);\n    *(undefined1 **)(puVar15 + -0x30) = puVar15 + 0x28;\n    *(undefined **)(puVar15 + -0x34) = &UNK_00201f80;\n    FUN_00201020();\n    *(undefined4 *)(puVar15 + 0x94) = *(undefined4 *)(puVar15 + 0x24);\n    *(undefined4 *)(puVar15 + 0x98) = *(undefined4 *)(puVar15 + 0x28);\n    puVar16 = puVar15 + -4;\n    if (*(int *)(puVar15 + 0x34) == 0) {\n      *(undefined4 *)(*(int *)(puVar15 + 0xac) + 0x18) = *(undefined4 *)(puVar15 + 0x38);\n      puVar16 = puVar15 + -4;\n    }\n    break;\n  case 0x62:\n  case 0x68:\n    *(undefined1 **)(puVar15 + -0xc) = puVar15 + 0x40;\n    *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0x18);\n    *(undefined **)(puVar15 + -0x14) = &UNK_00202171;\n    FUN_001fb0c0();\ncode_r0x00201fd1:\n    *(undefined1 **)(puVar15 + -8) = puVar15 + 0x38;\n    *(undefined4 *)(puVar15 + -0xc) = *(undefined4 *)(puVar15 + 0xa8);\n    *(undefined4 *)(puVar15 + -0x10) = 0xc;\n    *(undefined1 **)(puVar15 + -0x14) = puVar15 + 0x40;\n    *(undefined1 **)(puVar15 + -0x18) = puVar15 + 0x3c;\n    *(undefined4 *)(puVar15 + -0x1c) = *(undefined4 *)(puVar15 + 0xa4);\n    *(undefined4 *)(puVar15 + -0x20) = *(undefined4 *)(puVar15 + 0xa0);\n    *(undefined4 *)(puVar15 + -0x24) = *(undefined4 *)(puVar15 + 0x9c);\n    *(undefined4 *)(puVar15 + -0x28) = *(undefined4 *)(puVar15 + 0x98);\n    *(undefined4 *)(puVar15 + -0x2c) = *(undefined4 *)(puVar15 + 0x94);\n    *(undefined1 **)(puVar15 + -0x30) = puVar15 + 0x28;\n    *(undefined **)(puVar15 + -0x34) = &UNK_00202015;\n    FUN_00201020();\n    *(undefined4 *)(puVar15 + 0x94) = *(undefined4 *)(puVar15 + 0x24);\n    *(undefined4 *)(puVar15 + 0x98) = *(undefined4 *)(puVar15 + 0x28);\n    puVar16 = puVar15 + -4;\n    if (*(int *)(puVar15 + 0x34) == 0) {\n      *(undefined4 *)(*(int *)(puVar15 + 0xac) + 0x10) = *(undefined4 *)(puVar15 + 0x38);\n      puVar16 = puVar15 + -4;\n    }\n    break;\n  case 99:\n    *(undefined4 *)(puVar15 + -0xc) = *(undefined4 *)(*(int *)(*(int *)(puVar15 + 0x18) + 8) + 0x18)\n    ;\n    goto code_r0x00201b30;\n  case 100:\n    *(undefined1 **)(puVar15 + -4) = puVar15 + 0x38;\n    *(undefined4 *)(puVar15 + -8) = *(undefined4 *)(puVar15 + 0xa8);\n    *(undefined4 *)(puVar15 + -0xc) = 2;\n    *(undefined4 *)(puVar15 + -0x10) = 0x1f;\n    *(undefined4 *)(puVar15 + -0x14) = 1;\n    goto code_r0x002021b6;\n  case 0x65:\n    *(undefined **)(puVar15 + -4) = &UNK_00202230;\n    uVar18 = FUN_001f91d0();\n    if ((*(byte *)(piVar10[6] + 1 + (uVar18 & 0xff) * 2) & 0x20) == 0) {\n      *(undefined1 **)(puVar15 + -4) = puVar15 + 0x38;\n      *(undefined4 *)(puVar15 + -8) = *(undefined4 *)(puVar15 + 0xa8);\n      *(undefined4 *)(puVar15 + -0xc) = 2;\n      *(undefined4 *)(puVar15 + -0x10) = 0x1f;\n      *(undefined4 *)(puVar15 + -0x14) = 10;\n    }\n    else {\n      *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0x98);\n      *(undefined **)(puVar15 + -0x14) = &UNK_00202250;\n      FUN_001f24d0();\n      *(undefined4 *)(puVar15 + 0x9c) = 0xffffffff;\n      *(undefined1 **)(puVar15 + -4) = puVar15 + 0x38;\n      *(undefined4 *)(puVar15 + -8) = *(undefined4 *)(puVar15 + 0xa8);\n      *(undefined4 *)(puVar15 + -0xc) = 1;\n      *(undefined4 *)(puVar15 + -0x10) = 9;\n      *(undefined4 *)(puVar15 + -0x14) = 1;\n    }\ncode_r0x002021b6:\n    *(undefined1 **)(puVar15 + -0x18) = puVar15 + 0x3c;\n    *(undefined4 *)(puVar15 + -0x1c) = *(undefined4 *)(puVar15 + 0xa4);\n    *(undefined4 *)(puVar15 + -0x20) = *(undefined4 *)(puVar15 + 0xa0);\n    *(undefined4 *)(puVar15 + -0x24) = *(undefined4 *)(puVar15 + 0x9c);\n    *(undefined4 *)(puVar15 + -0x28) = *(undefined4 *)(puVar15 + 0x98);\n    *(undefined4 *)(puVar15 + -0x2c) = *(undefined4 *)(puVar15 + 0x94);\n    *(undefined1 **)(puVar15 + -0x30) = puVar15 + 0x28;\n    *(undefined **)(puVar15 + -0x34) = &UNK_002021e4;\n    FUN_001fc0e0();\n    *(undefined4 *)(puVar15 + 0x94) = *(undefined4 *)(puVar15 + 0x24);\n    *(undefined4 *)(puVar15 + 0x98) = *(undefined4 *)(puVar15 + 0x28);\n    puVar16 = puVar15 + -4;\n    if (*(int *)(puVar15 + 0x34) == 0) {\n      *(undefined4 *)(*(int *)(puVar15 + 0xac) + 0xc) = *(undefined4 *)(puVar15 + 0x38);\n      puVar16 = puVar15 + -4;\n    }\n    break;\n  case 0x6d:\n    *(undefined1 **)(puVar15 + -4) = puVar15 + 0x38;\n    *(undefined4 *)(puVar15 + -8) = *(undefined4 *)(puVar15 + 0xa8);\n    *(undefined4 *)(puVar15 + -0xc) = 2;\n    *(undefined4 *)(puVar15 + -0x10) = 0xc;\n    *(undefined4 *)(puVar15 + -0x14) = 1;\n    *(undefined1 **)(puVar15 + -0x18) = puVar15 + 0x3c;\n    *(undefined4 *)(puVar15 + -0x1c) = *(undefined4 *)(puVar15 + 0xa4);\n    *(undefined4 *)(puVar15 + -0x20) = *(undefined4 *)(puVar15 + 0xa0);\n    *(undefined4 *)(puVar15 + -0x24) = *(undefined4 *)(puVar15 + 0x9c);\n    *(undefined4 *)(puVar15 + -0x28) = *(undefined4 *)(puVar15 + 0x98);\n    *(undefined4 *)(puVar15 + -0x2c) = *(undefined4 *)(puVar15 + 0x94);\n    *(undefined1 **)(puVar15 + -0x30) = puVar15 + 0x28;\n    *(undefined **)(puVar15 + -0x34) = &UNK_002022c4;\n    FUN_001fc0e0();\n    *(undefined4 *)(puVar15 + 0x94) = *(undefined4 *)(puVar15 + 0x24);\n    *(undefined4 *)(puVar15 + 0x98) = *(undefined4 *)(puVar15 + 0x28);\n    puVar16 = puVar15 + -4;\n    if (*(int *)(puVar15 + 0x34) == 0) {\n      *(int *)(*(int *)(puVar15 + 0xac) + 0x10) = *(int *)(puVar15 + 0x38) + -1;\n      puVar16 = puVar15 + -4;\n    }\n    break;\n  case 0x6e:\n    *(undefined **)(puVar15 + -4) = &UNK_00202310;\n    bVar9 = FUN_001f91d0();\n    bVar8 = *(byte *)((int)piVar10 + bVar9 + 0x11d);\n    if (bVar8 == 0) {\n      pcVar4 = *(code **)(*piVar10 + 0x20);\n      bVar8 = bVar9;\n      if (pcVar4 != (code *)PTR_FUN_0038ed98) {\n        *(undefined4 *)(puVar15 + -8) = 0;\n        *(int *)(puVar15 + -0xc) = (int)(char)bVar9;\n        *(int **)(puVar15 + -0x10) = piVar10;\n        *(undefined **)(puVar15 + -0x14) = &UNK_002023ab;\n        bVar8 = (*pcVar4)();\n      }\n      if (bVar8 == 0) goto LAB_00201ab8;\n      *(byte *)((int)piVar10 + bVar9 + 0x11d) = bVar8;\n    }\n    if (bVar8 != 10) goto LAB_00201ab8;\ncode_r0x00202346:\n    *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0x98);\n    *(undefined **)(puVar15 + -0x14) = &UNK_00202355;\n    FUN_001f24d0();\n    *(undefined4 *)(puVar15 + 0x9c) = 0xffffffff;\n    break;\n  case 0x74:\n    *(undefined **)(puVar15 + -4) = &UNK_00201a70;\n    bVar9 = FUN_001f91d0();\n    bVar8 = *(byte *)((int)piVar10 + bVar9 + 0x11d);\n    if (bVar8 == 0) {\n      pcVar4 = *(code **)(*piVar10 + 0x20);\n      bVar8 = bVar9;\n      if (pcVar4 != *(code **)(puVar15 + 0x1c)) {\n        *(undefined4 *)(puVar15 + -8) = 0;\n        *(int *)(puVar15 + -0xc) = (int)(char)bVar9;\n        *(int **)(puVar15 + -0x10) = piVar10;\n        *(undefined **)(puVar15 + -0x14) = &UNK_00201a98;\n        bVar8 = (*pcVar4)();\n      }\n      if (bVar8 == 0) goto LAB_00201ab8;\n      *(byte *)((int)piVar10 + bVar9 + 0x11d) = bVar8;\n    }\n    if (bVar8 == 9) goto code_r0x00202346;\n    goto LAB_00201ab8;\n  case 0x78:\n    *(undefined4 *)(puVar15 + -0xc) = *(undefined4 *)(*(int *)(*(int *)(puVar15 + 0x18) + 8) + 8);\ncode_r0x00201b30:\n    *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0xb0);\n    *(undefined1 **)(puVar15 + -0x14) = puVar15 + 0x38;\n    *(undefined4 *)(puVar15 + -0x18) = *(undefined4 *)(puVar15 + 0xa8);\n    *(undefined4 *)(puVar15 + -0x1c) = *(undefined4 *)(puVar15 + 0xa4);\n    *(undefined4 *)(puVar15 + -0x20) = *(undefined4 *)(puVar15 + 0xa0);\n    *(undefined4 *)(puVar15 + -0x24) = *(undefined4 *)(puVar15 + 0x9c);\n    *(undefined4 *)(puVar15 + -0x28) = *(undefined4 *)(puVar15 + 0x98);\n    *(undefined4 *)(puVar15 + -0x2c) = *(undefined4 *)(puVar15 + 0x94);\n    puVar17 = puVar15 + -0x30;\n    *(undefined1 **)(puVar15 + -0x30) = puVar15 + 0x28;\n    *(undefined **)(puVar15 + -0x34) = &UNK_00201b6c;\n    FUN_00201820();\ncode_r0x00201b6c:\n    *(undefined4 *)(puVar17 + 0xc4) = *(undefined4 *)(puVar17 + 0x54);\n    *(undefined4 *)(puVar17 + 200) = *(undefined4 *)(puVar17 + 0x58);\n    puVar16 = puVar17 + 0x2c;\n  }\ncode_r0x00201ac0:\n  uVar18 = *(int *)(puVar16 + 4) + 1;\n  puVar15 = puVar16;\n  goto LAB_0020189b;\nLAB_00201ab8:\n  *(uint *)(puVar15 + 0x38) = *(uint *)(puVar15 + 0x38) | 4;\n  goto code_r0x00201ac0;\n}" { (declaration "int iVar1;" primitive_type identifier ;) (declaration "undefined1 *puVar2;" type_identifier (pointer_declarator "*puVar2" * identifier) ;) (declaration "undefined1 *puVar3;" type_identifier (pointer_declarator "*puVar3" * identifier) ;) (declaration "code *pcVar4;" type_identifier (pointer_declarator "*pcVar4" * identifier) ;) (declaration "undefined4 *puVar5;" type_identifier (pointer_declarator "*puVar5" * identifier) ;) (declaration "char cVar6;" primitive_type identifier ;) (declaration "char cVar7;" primitive_type identifier ;) (declaration "byte bVar8;" type_identifier identifier ;) (declaration "byte bVar9;" type_identifier identifier ;) (declaration "int *piVar10;" primitive_type (pointer_declarator "*piVar10" * identifier) ;) (declaration "char *pcVar11;" primitive_type (pointer_declarator "*pcVar11" * identifier) ;) (declaration "undefined4 uVar12;" type_identifier identifier ;) (declaration "int iVar13;" primitive_type identifier ;) (declaration "uint uVar14;" type_identifier identifier ;) (declaration "undefined1 *puVar15;" type_identifier (pointer_declarator "*puVar15" * identifier) ;) (declaration "undefined1 *puVar16;" type_identifier (pointer_declarator "*puVar16" * identifier) ;) (declaration "undefined1 *puVar17;" type_identifier (pointer_declarator "*puVar17" * identifier) ;) (declaration "uint uVar18;" type_identifier identifier ;) (declaration "int in_stack_0000001c;" primitive_type identifier ;) (declaration "char *in_stack_00000028;" primitive_type (pointer_declarator "*in_stack_00000028" * identifier) ;) (declaration "undefined1 auStack_8c [8];" type_identifier (array_declarator "auStack_8c [8]" identifier [ number_literal ]) ;) (declaration "undefined1 *local_84;" type_identifier (pointer_declarator "*local_84" * identifier) ;) (declaration "size_t local_80;" primitive_type identifier ;) (declaration "undefined1 *local_7c;" type_identifier (pointer_declarator "*local_7c" * identifier) ;) (declaration "undefined4 local_74;" type_identifier identifier ;) (declaration "code *local_70;" type_identifier (pointer_declarator "*local_70" * identifier) ;) (declaration "undefined **local_68;" type_identifier (pointer_declarator "**local_68" * (pointer_declarator "*local_68" * identifier)) ;) (declaration "undefined4 local_54;" type_identifier identifier ;) (declaration "undefined4 uStack_14;" type_identifier identifier ;) (expression_statement "uVar18 = 0;" (assignment_expression "uVar18 = 0" identifier = number_literal) ;) (expression_statement "uStack_14 = 0x20182b;" (assignment_expression "uStack_14 = 0x20182b" identifier = number_literal) ;) (expression_statement "iVar1 = in_stack_0000001c + 0x6c;" (assignment_expression "iVar1 = in_stack_0000001c + 0x6c" identifier = (binary_expression "in_stack_0000001c + 0x6c" identifier + number_literal)) ;) (expression_statement "local_74 = FUN_001fd780(iVar1);" (assignment_expression "local_74 = FUN_001fd780(iVar1)" identifier = (call_expression "FUN_001fd780(iVar1)" identifier (argument_list "(iVar1)" ( identifier )))) ;) (expression_statement "piVar10 = (int *)FUN_001fbde0(iVar1);" (assignment_expression "piVar10 = (int *)FUN_001fbde0(iVar1)" identifier = (cast_expression "(int *)FUN_001fbde0(iVar1)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_001fbde0(iVar1)" identifier (argument_list "(iVar1)" ( identifier ))))) ;) (expression_statement "local_80 = strlen(in_stack_00000028);" (assignment_expression "local_80 = strlen(in_stack_00000028)" identifier = (call_expression "strlen(in_stack_00000028)" identifier (argument_list "(in_stack_00000028)" ( identifier )))) ;) (expression_statement "local_7c = &stack0x00000014;" (assignment_expression "local_7c = &stack0x00000014" identifier = (pointer_expression "&stack0x00000014" & identifier)) ;) (expression_statement "local_84 = &stack0x0000000c;" (assignment_expression "local_84 = &stack0x0000000c" identifier = (pointer_expression "&stack0x0000000c" & identifier)) ;) (expression_statement "local_54 = 0;" (assignment_expression "local_54 = 0" identifier = number_literal) ;) (expression_statement "local_68 = &PTR_DAT_0038f400;" (assignment_expression "local_68 = &PTR_DAT_0038f400" identifier = (pointer_expression "&PTR_DAT_0038f400" & identifier)) ;) (expression_statement "local_70 = FUN_001f81a0;" (assignment_expression "local_70 = FUN_001f81a0" identifier = identifier) ;) (expression_statement "puVar15 = auStack_8c;" (assignment_expression "puVar15 = auStack_8c" identifier = identifier) ;) (labeled_statement "LAB_0020189b:\n  *(undefined4 *)(puVar15 + -0xc) = *(undefined4 *)(puVar15 + 0x10);" statement_identifier : (expression_statement "*(undefined4 *)(puVar15 + -0xc) = *(undefined4 *)(puVar15 + 0x10);" (assignment_expression "*(undefined4 *)(puVar15 + -0xc) = *(undefined4 *)(puVar15 + 0x10)" (pointer_expression "*(undefined4 *)(puVar15 + -0xc)" * (cast_expression "(undefined4 *)(puVar15 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0xc)" ( (binary_expression "puVar15 + -0xc" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar15 + 0x10)" * (cast_expression "(undefined4 *)(puVar15 + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x10)" ( (binary_expression "puVar15 + 0x10" identifier + number_literal) ))))) ;)) (expression_statement "*(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 8);" (assignment_expression "*(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 8)" (pointer_expression "*(undefined4 *)(puVar15 + -0x10)" * (cast_expression "(undefined4 *)(puVar15 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x10)" ( (binary_expression "puVar15 + -0x10" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar15 + 8)" * (cast_expression "(undefined4 *)(puVar15 + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 8)" ( (binary_expression "puVar15 + 8" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x14) = 0x2018ab;" (assignment_expression "*(undefined4 *)(puVar15 + -0x14) = 0x2018ab" (pointer_expression "*(undefined4 *)(puVar15 + -0x14)" * (cast_expression "(undefined4 *)(puVar15 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x14)" ( (binary_expression "puVar15 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "cVar6 = FUN_00200f70();" (assignment_expression "cVar6 = FUN_00200f70()" identifier = (call_expression "FUN_00200f70()" identifier (argument_list "()" ( )))) ;) (if_statement "if ((cVar6 == '\x01') || (*(uint *)(puVar15 + 0xc) <= uVar18)) {\n    if ((*(int *)(puVar15 + 0x38) != 0) || (uVar18 != *(uint *)(puVar15 + 0xc))) {\nLAB_00201a0e:\n      **(uint **)(puVar15 + 0xac) = **(uint **)(puVar15 + 0xac) | 4;\n    }\n    puVar5 = *(undefined4 **)(puVar15 + 0x90);\n    uVar12 = *(undefined4 *)(puVar15 + 0x9c);\n    *puVar5 = *(undefined4 *)(puVar15 + 0x98);\n    puVar5[1] = uVar12;\n    return puVar5;\n  }" if (parenthesized_expression "((cVar6 == '\x01') || (*(uint *)(puVar15 + 0xc) <= uVar18))" ( (binary_expression "(cVar6 == '\x01') || (*(uint *)(puVar15 + 0xc) <= uVar18)" (parenthesized_expression "(cVar6 == '\x01')" ( (binary_expression "cVar6 == '\x01'" identifier == (char_literal "'\x01'" ' escape_sequence ')) )) || (parenthesized_expression "(*(uint *)(puVar15 + 0xc) <= uVar18)" ( (binary_expression "*(uint *)(puVar15 + 0xc) <= uVar18" (pointer_expression "*(uint *)(puVar15 + 0xc)" * (cast_expression "(uint *)(puVar15 + 0xc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0xc)" ( (binary_expression "puVar15 + 0xc" identifier + number_literal) )))) <= identifier) ))) )) (compound_statement "{\n    if ((*(int *)(puVar15 + 0x38) != 0) || (uVar18 != *(uint *)(puVar15 + 0xc))) {\nLAB_00201a0e:\n      **(uint **)(puVar15 + 0xac) = **(uint **)(puVar15 + 0xac) | 4;\n    }\n    puVar5 = *(undefined4 **)(puVar15 + 0x90);\n    uVar12 = *(undefined4 *)(puVar15 + 0x9c);\n    *puVar5 = *(undefined4 *)(puVar15 + 0x98);\n    puVar5[1] = uVar12;\n    return puVar5;\n  }" { (if_statement "if ((*(int *)(puVar15 + 0x38) != 0) || (uVar18 != *(uint *)(puVar15 + 0xc))) {\nLAB_00201a0e:\n      **(uint **)(puVar15 + 0xac) = **(uint **)(puVar15 + 0xac) | 4;\n    }" if (parenthesized_expression "((*(int *)(puVar15 + 0x38) != 0) || (uVar18 != *(uint *)(puVar15 + 0xc)))" ( (binary_expression "(*(int *)(puVar15 + 0x38) != 0) || (uVar18 != *(uint *)(puVar15 + 0xc))" (parenthesized_expression "(*(int *)(puVar15 + 0x38) != 0)" ( (binary_expression "*(int *)(puVar15 + 0x38) != 0" (pointer_expression "*(int *)(puVar15 + 0x38)" * (cast_expression "(int *)(puVar15 + 0x38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x38)" ( (binary_expression "puVar15 + 0x38" identifier + number_literal) )))) != number_literal) )) || (parenthesized_expression "(uVar18 != *(uint *)(puVar15 + 0xc))" ( (binary_expression "uVar18 != *(uint *)(puVar15 + 0xc)" identifier != (pointer_expression "*(uint *)(puVar15 + 0xc)" * (cast_expression "(uint *)(puVar15 + 0xc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0xc)" ( (binary_expression "puVar15 + 0xc" identifier + number_literal) ))))) ))) )) (compound_statement "{\nLAB_00201a0e:\n      **(uint **)(puVar15 + 0xac) = **(uint **)(puVar15 + 0xac) | 4;\n    }" { (labeled_statement "LAB_00201a0e:\n      **(uint **)(puVar15 + 0xac) = **(uint **)(puVar15 + 0xac) | 4;" statement_identifier : (expression_statement "**(uint **)(puVar15 + 0xac) = **(uint **)(puVar15 + 0xac) | 4;" (assignment_expression "**(uint **)(puVar15 + 0xac) = **(uint **)(puVar15 + 0xac) | 4" (pointer_expression "**(uint **)(puVar15 + 0xac)" * (pointer_expression "*(uint **)(puVar15 + 0xac)" * (cast_expression "(uint **)(puVar15 + 0xac)" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + 0xac)" ( (binary_expression "puVar15 + 0xac" identifier + number_literal) ))))) = (binary_expression "**(uint **)(puVar15 + 0xac) | 4" (pointer_expression "**(uint **)(puVar15 + 0xac)" * (pointer_expression "*(uint **)(puVar15 + 0xac)" * (cast_expression "(uint **)(puVar15 + 0xac)" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + 0xac)" ( (binary_expression "puVar15 + 0xac" identifier + number_literal) ))))) | number_literal)) ;)) })) (expression_statement "puVar5 = *(undefined4 **)(puVar15 + 0x90);" (assignment_expression "puVar5 = *(undefined4 **)(puVar15 + 0x90)" identifier = (pointer_expression "*(undefined4 **)(puVar15 + 0x90)" * (cast_expression "(undefined4 **)(puVar15 + 0x90)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + 0x90)" ( (binary_expression "puVar15 + 0x90" identifier + number_literal) ))))) ;) (expression_statement "uVar12 = *(undefined4 *)(puVar15 + 0x9c);" (assignment_expression "uVar12 = *(undefined4 *)(puVar15 + 0x9c)" identifier = (pointer_expression "*(undefined4 *)(puVar15 + 0x9c)" * (cast_expression "(undefined4 *)(puVar15 + 0x9c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x9c)" ( (binary_expression "puVar15 + 0x9c" identifier + number_literal) ))))) ;) (expression_statement "*puVar5 = *(undefined4 *)(puVar15 + 0x98);" (assignment_expression "*puVar5 = *(undefined4 *)(puVar15 + 0x98)" (pointer_expression "*puVar5" * identifier) = (pointer_expression "*(undefined4 *)(puVar15 + 0x98)" * (cast_expression "(undefined4 *)(puVar15 + 0x98)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x98)" ( (binary_expression "puVar15 + 0x98" identifier + number_literal) ))))) ;) (expression_statement "puVar5[1] = uVar12;" (assignment_expression "puVar5[1] = uVar12" (subscript_expression "puVar5[1]" identifier [ number_literal ]) = identifier) ;) (return_statement "return puVar5;" return identifier ;) })) (if_statement "if (*(int *)(puVar15 + 0x38) != 0) goto LAB_00201a0e;" if (parenthesized_expression "(*(int *)(puVar15 + 0x38) != 0)" ( (binary_expression "*(int *)(puVar15 + 0x38) != 0" (pointer_expression "*(int *)(puVar15 + 0x38)" * (cast_expression "(int *)(puVar15 + 0x38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x38)" ( (binary_expression "puVar15 + 0x38" identifier + number_literal) )))) != number_literal) )) (goto_statement "goto LAB_00201a0e;" goto statement_identifier ;)) (expression_statement "bVar8 = *(byte *)(*(int *)(puVar15 + 0xb4) + uVar18);" (assignment_expression "bVar8 = *(byte *)(*(int *)(puVar15 + 0xb4) + uVar18)" identifier = (pointer_expression "*(byte *)(*(int *)(puVar15 + 0xb4) + uVar18)" * (cast_expression "(byte *)(*(int *)(puVar15 + 0xb4) + uVar18)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar15 + 0xb4) + uVar18)" ( (binary_expression "*(int *)(puVar15 + 0xb4) + uVar18" (pointer_expression "*(int *)(puVar15 + 0xb4)" * (cast_expression "(int *)(puVar15 + 0xb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0xb4)" ( (binary_expression "puVar15 + 0xb4" identifier + number_literal) )))) + identifier) ))))) ;) (expression_statement "uVar14 = (uint)bVar8;" (assignment_expression "uVar14 = (uint)bVar8" identifier = (cast_expression "(uint)bVar8" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "*(byte **)(puVar15 + 0x14) = (byte *)(*(int *)(puVar15 + 0xb4) + uVar18);" (assignment_expression "*(byte **)(puVar15 + 0x14) = (byte *)(*(int *)(puVar15 + 0xb4) + uVar18)" (pointer_expression "*(byte **)(puVar15 + 0x14)" * (cast_expression "(byte **)(puVar15 + 0x14)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + 0x14)" ( (binary_expression "puVar15 + 0x14" identifier + number_literal) )))) = (cast_expression "(byte *)(*(int *)(puVar15 + 0xb4) + uVar18)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar15 + 0xb4) + uVar18)" ( (binary_expression "*(int *)(puVar15 + 0xb4) + uVar18" (pointer_expression "*(int *)(puVar15 + 0xb4)" * (cast_expression "(int *)(puVar15 + 0xb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0xb4)" ( (binary_expression "puVar15 + 0xb4" identifier + number_literal) )))) + identifier) )))) ;) (expression_statement "*(uint *)(puVar15 + 4) = uVar18 + 1;" (assignment_expression "*(uint *)(puVar15 + 4) = uVar18 + 1" (pointer_expression "*(uint *)(puVar15 + 4)" * (cast_expression "(uint *)(puVar15 + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 4)" ( (binary_expression "puVar15 + 4" identifier + number_literal) )))) = (binary_expression "uVar18 + 1" identifier + number_literal)) ;) (expression_statement "bVar9 = *(byte *)((int)piVar10 + uVar14 + 0x11d);" (assignment_expression "bVar9 = *(byte *)((int)piVar10 + uVar14 + 0x11d)" identifier = (pointer_expression "*(byte *)((int)piVar10 + uVar14 + 0x11d)" * (cast_expression "(byte *)((int)piVar10 + uVar14 + 0x11d)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar10 + uVar14 + 0x11d)" ( (binary_expression "(int)piVar10 + uVar14 + 0x11d" (binary_expression "(int)piVar10 + uVar14" (cast_expression "(int)piVar10" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + number_literal) ))))) ;) (if_statement "if (bVar9 == 0) {\n    pcVar4 = *(code **)(*piVar10 + 0x20);\n    bVar9 = bVar8;\n    if (pcVar4 != (code *)PTR_FUN_0038ed98) {\n      *(uint *)(puVar15 + 0x20) = uVar14;\n      *(undefined4 *)(puVar15 + -8) = 0;\n      *(int *)(puVar15 + -0xc) = (int)(char)bVar8;\n      *(int **)(puVar15 + -0x10) = piVar10;\n      *(undefined4 *)(puVar15 + -0x14) = 0x201a50;\n      bVar9 = (*pcVar4)();\n      uVar14 = *(uint *)(puVar15 + 0x20);\n    }\n    if (bVar9 != 0) {\n      *(byte *)((int)piVar10 + uVar14 + 0x11d) = bVar9;\n      goto LAB_00201910;\n    }\nLAB_00201980:\n    cVar6 = **(char **)(puVar15 + 0x14);\n    *(undefined4 *)(puVar15 + -4) = 0x201997;\n    cVar7 = FUN_001f91d0();\n    if (cVar6 == cVar7) {\n      *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0x98);\n      *(undefined4 *)(puVar15 + -0x14) = 0x201adf;\n      FUN_001f24d0();\n      *(undefined4 *)(puVar15 + 0x9c) = 0xffffffff;\n      uVar18 = *(uint *)(puVar15 + 4);\n    }\n    else {\n      *(uint *)(puVar15 + 0x38) = *(uint *)(puVar15 + 0x38) | 4;\n      uVar18 = *(uint *)(puVar15 + 4);\n    }\n    goto LAB_0020189b;\n  }" if (parenthesized_expression "(bVar9 == 0)" ( (binary_expression "bVar9 == 0" identifier == number_literal) )) (compound_statement "{\n    pcVar4 = *(code **)(*piVar10 + 0x20);\n    bVar9 = bVar8;\n    if (pcVar4 != (code *)PTR_FUN_0038ed98) {\n      *(uint *)(puVar15 + 0x20) = uVar14;\n      *(undefined4 *)(puVar15 + -8) = 0;\n      *(int *)(puVar15 + -0xc) = (int)(char)bVar8;\n      *(int **)(puVar15 + -0x10) = piVar10;\n      *(undefined4 *)(puVar15 + -0x14) = 0x201a50;\n      bVar9 = (*pcVar4)();\n      uVar14 = *(uint *)(puVar15 + 0x20);\n    }\n    if (bVar9 != 0) {\n      *(byte *)((int)piVar10 + uVar14 + 0x11d) = bVar9;\n      goto LAB_00201910;\n    }\nLAB_00201980:\n    cVar6 = **(char **)(puVar15 + 0x14);\n    *(undefined4 *)(puVar15 + -4) = 0x201997;\n    cVar7 = FUN_001f91d0();\n    if (cVar6 == cVar7) {\n      *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0x98);\n      *(undefined4 *)(puVar15 + -0x14) = 0x201adf;\n      FUN_001f24d0();\n      *(undefined4 *)(puVar15 + 0x9c) = 0xffffffff;\n      uVar18 = *(uint *)(puVar15 + 4);\n    }\n    else {\n      *(uint *)(puVar15 + 0x38) = *(uint *)(puVar15 + 0x38) | 4;\n      uVar18 = *(uint *)(puVar15 + 4);\n    }\n    goto LAB_0020189b;\n  }" { (expression_statement "pcVar4 = *(code **)(*piVar10 + 0x20);" (assignment_expression "pcVar4 = *(code **)(*piVar10 + 0x20)" identifier = (pointer_expression "*(code **)(*piVar10 + 0x20)" * (cast_expression "(code **)(*piVar10 + 0x20)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*piVar10 + 0x20)" ( (binary_expression "*piVar10 + 0x20" (pointer_expression "*piVar10" * identifier) + number_literal) ))))) ;) (expression_statement "bVar9 = bVar8;" (assignment_expression "bVar9 = bVar8" identifier = identifier) ;) (if_statement "if (pcVar4 != (code *)PTR_FUN_0038ed98) {\n      *(uint *)(puVar15 + 0x20) = uVar14;\n      *(undefined4 *)(puVar15 + -8) = 0;\n      *(int *)(puVar15 + -0xc) = (int)(char)bVar8;\n      *(int **)(puVar15 + -0x10) = piVar10;\n      *(undefined4 *)(puVar15 + -0x14) = 0x201a50;\n      bVar9 = (*pcVar4)();\n      uVar14 = *(uint *)(puVar15 + 0x20);\n    }" if (parenthesized_expression "(pcVar4 != (code *)PTR_FUN_0038ed98)" ( (binary_expression "pcVar4 != (code *)PTR_FUN_0038ed98" identifier != (cast_expression "(code *)PTR_FUN_0038ed98" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (compound_statement "{\n      *(uint *)(puVar15 + 0x20) = uVar14;\n      *(undefined4 *)(puVar15 + -8) = 0;\n      *(int *)(puVar15 + -0xc) = (int)(char)bVar8;\n      *(int **)(puVar15 + -0x10) = piVar10;\n      *(undefined4 *)(puVar15 + -0x14) = 0x201a50;\n      bVar9 = (*pcVar4)();\n      uVar14 = *(uint *)(puVar15 + 0x20);\n    }" { (expression_statement "*(uint *)(puVar15 + 0x20) = uVar14;" (assignment_expression "*(uint *)(puVar15 + 0x20) = uVar14" (pointer_expression "*(uint *)(puVar15 + 0x20)" * (cast_expression "(uint *)(puVar15 + 0x20)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x20)" ( (binary_expression "puVar15 + 0x20" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar15 + -8) = 0;" (assignment_expression "*(undefined4 *)(puVar15 + -8) = 0" (pointer_expression "*(undefined4 *)(puVar15 + -8)" * (cast_expression "(undefined4 *)(puVar15 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -8)" ( (binary_expression "puVar15 + -8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(puVar15 + -0xc) = (int)(char)bVar8;" (assignment_expression "*(int *)(puVar15 + -0xc) = (int)(char)bVar8" (pointer_expression "*(int *)(puVar15 + -0xc)" * (cast_expression "(int *)(puVar15 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0xc)" ( (binary_expression "puVar15 + -0xc" identifier + number_literal) )))) = (cast_expression "(int)(char)bVar8" ( (type_descriptor "int" primitive_type) ) (cast_expression "(char)bVar8" ( (type_descriptor "char" primitive_type) ) identifier))) ;) (expression_statement "*(int **)(puVar15 + -0x10) = piVar10;" (assignment_expression "*(int **)(puVar15 + -0x10) = piVar10" (pointer_expression "*(int **)(puVar15 + -0x10)" * (cast_expression "(int **)(puVar15 + -0x10)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + -0x10)" ( (binary_expression "puVar15 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x14) = 0x201a50;" (assignment_expression "*(undefined4 *)(puVar15 + -0x14) = 0x201a50" (pointer_expression "*(undefined4 *)(puVar15 + -0x14)" * (cast_expression "(undefined4 *)(puVar15 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x14)" ( (binary_expression "puVar15 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "bVar9 = (*pcVar4)();" (assignment_expression "bVar9 = (*pcVar4)()" identifier = (call_expression "(*pcVar4)()" (parenthesized_expression "(*pcVar4)" ( (pointer_expression "*pcVar4" * identifier) )) (argument_list "()" ( )))) ;) (expression_statement "uVar14 = *(uint *)(puVar15 + 0x20);" (assignment_expression "uVar14 = *(uint *)(puVar15 + 0x20)" identifier = (pointer_expression "*(uint *)(puVar15 + 0x20)" * (cast_expression "(uint *)(puVar15 + 0x20)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x20)" ( (binary_expression "puVar15 + 0x20" identifier + number_literal) ))))) ;) })) (if_statement "if (bVar9 != 0) {\n      *(byte *)((int)piVar10 + uVar14 + 0x11d) = bVar9;\n      goto LAB_00201910;\n    }" if (parenthesized_expression "(bVar9 != 0)" ( (binary_expression "bVar9 != 0" identifier != number_literal) )) (compound_statement "{\n      *(byte *)((int)piVar10 + uVar14 + 0x11d) = bVar9;\n      goto LAB_00201910;\n    }" { (expression_statement "*(byte *)((int)piVar10 + uVar14 + 0x11d) = bVar9;" (assignment_expression "*(byte *)((int)piVar10 + uVar14 + 0x11d) = bVar9" (pointer_expression "*(byte *)((int)piVar10 + uVar14 + 0x11d)" * (cast_expression "(byte *)((int)piVar10 + uVar14 + 0x11d)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar10 + uVar14 + 0x11d)" ( (binary_expression "(int)piVar10 + uVar14 + 0x11d" (binary_expression "(int)piVar10 + uVar14" (cast_expression "(int)piVar10" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + number_literal) )))) = identifier) ;) (goto_statement "goto LAB_00201910;" goto statement_identifier ;) })) (labeled_statement "LAB_00201980:\n    cVar6 = **(char **)(puVar15 + 0x14);" statement_identifier : (expression_statement "cVar6 = **(char **)(puVar15 + 0x14);" (assignment_expression "cVar6 = **(char **)(puVar15 + 0x14)" identifier = (pointer_expression "**(char **)(puVar15 + 0x14)" * (pointer_expression "*(char **)(puVar15 + 0x14)" * (cast_expression "(char **)(puVar15 + 0x14)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + 0x14)" ( (binary_expression "puVar15 + 0x14" identifier + number_literal) )))))) ;)) (expression_statement "*(undefined4 *)(puVar15 + -4) = 0x201997;" (assignment_expression "*(undefined4 *)(puVar15 + -4) = 0x201997" (pointer_expression "*(undefined4 *)(puVar15 + -4)" * (cast_expression "(undefined4 *)(puVar15 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -4)" ( (binary_expression "puVar15 + -4" identifier + number_literal) )))) = number_literal) ;) (expression_statement "cVar7 = FUN_001f91d0();" (assignment_expression "cVar7 = FUN_001f91d0()" identifier = (call_expression "FUN_001f91d0()" identifier (argument_list "()" ( )))) ;) (if_statement "if (cVar6 == cVar7) {\n      *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0x98);\n      *(undefined4 *)(puVar15 + -0x14) = 0x201adf;\n      FUN_001f24d0();\n      *(undefined4 *)(puVar15 + 0x9c) = 0xffffffff;\n      uVar18 = *(uint *)(puVar15 + 4);\n    }\n    else {\n      *(uint *)(puVar15 + 0x38) = *(uint *)(puVar15 + 0x38) | 4;\n      uVar18 = *(uint *)(puVar15 + 4);\n    }" if (parenthesized_expression "(cVar6 == cVar7)" ( (binary_expression "cVar6 == cVar7" identifier == identifier) )) (compound_statement "{\n      *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0x98);\n      *(undefined4 *)(puVar15 + -0x14) = 0x201adf;\n      FUN_001f24d0();\n      *(undefined4 *)(puVar15 + 0x9c) = 0xffffffff;\n      uVar18 = *(uint *)(puVar15 + 4);\n    }" { (expression_statement "*(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0x98);" (assignment_expression "*(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0x98)" (pointer_expression "*(undefined4 *)(puVar15 + -0x10)" * (cast_expression "(undefined4 *)(puVar15 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x10)" ( (binary_expression "puVar15 + -0x10" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar15 + 0x98)" * (cast_expression "(undefined4 *)(puVar15 + 0x98)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x98)" ( (binary_expression "puVar15 + 0x98" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x14) = 0x201adf;" (assignment_expression "*(undefined4 *)(puVar15 + -0x14) = 0x201adf" (pointer_expression "*(undefined4 *)(puVar15 + -0x14)" * (cast_expression "(undefined4 *)(puVar15 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x14)" ( (binary_expression "puVar15 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_001f24d0();" (call_expression "FUN_001f24d0()" identifier (argument_list "()" ( ))) ;) (expression_statement "*(undefined4 *)(puVar15 + 0x9c) = 0xffffffff;" (assignment_expression "*(undefined4 *)(puVar15 + 0x9c) = 0xffffffff" (pointer_expression "*(undefined4 *)(puVar15 + 0x9c)" * (cast_expression "(undefined4 *)(puVar15 + 0x9c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x9c)" ( (binary_expression "puVar15 + 0x9c" identifier + number_literal) )))) = number_literal) ;) (expression_statement "uVar18 = *(uint *)(puVar15 + 4);" (assignment_expression "uVar18 = *(uint *)(puVar15 + 4)" identifier = (pointer_expression "*(uint *)(puVar15 + 4)" * (cast_expression "(uint *)(puVar15 + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 4)" ( (binary_expression "puVar15 + 4" identifier + number_literal) ))))) ;) }) (else_clause "else {\n      *(uint *)(puVar15 + 0x38) = *(uint *)(puVar15 + 0x38) | 4;\n      uVar18 = *(uint *)(puVar15 + 4);\n    }" else (compound_statement "{\n      *(uint *)(puVar15 + 0x38) = *(uint *)(puVar15 + 0x38) | 4;\n      uVar18 = *(uint *)(puVar15 + 4);\n    }" { (expression_statement "*(uint *)(puVar15 + 0x38) = *(uint *)(puVar15 + 0x38) | 4;" (assignment_expression "*(uint *)(puVar15 + 0x38) = *(uint *)(puVar15 + 0x38) | 4" (pointer_expression "*(uint *)(puVar15 + 0x38)" * (cast_expression "(uint *)(puVar15 + 0x38)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x38)" ( (binary_expression "puVar15 + 0x38" identifier + number_literal) )))) = (binary_expression "*(uint *)(puVar15 + 0x38) | 4" (pointer_expression "*(uint *)(puVar15 + 0x38)" * (cast_expression "(uint *)(puVar15 + 0x38)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x38)" ( (binary_expression "puVar15 + 0x38" identifier + number_literal) )))) | number_literal)) ;) (expression_statement "uVar18 = *(uint *)(puVar15 + 4);" (assignment_expression "uVar18 = *(uint *)(puVar15 + 4)" identifier = (pointer_expression "*(uint *)(puVar15 + 4)" * (cast_expression "(uint *)(puVar15 + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 4)" ( (binary_expression "puVar15 + 4" identifier + number_literal) ))))) ;) }))) (goto_statement "goto LAB_0020189b;" goto statement_identifier ;) })) (labeled_statement "LAB_00201910:\n  if (bVar9 != 0x25) goto LAB_00201980;" statement_identifier : (if_statement "if (bVar9 != 0x25) goto LAB_00201980;" if (parenthesized_expression "(bVar9 != 0x25)" ( (binary_expression "bVar9 != 0x25" identifier != number_literal) )) (goto_statement "goto LAB_00201980;" goto statement_identifier ;))) (expression_statement "bVar8 = *(byte *)(*(int *)(puVar15 + 0xb4) + 1 + uVar18);" (assignment_expression "bVar8 = *(byte *)(*(int *)(puVar15 + 0xb4) + 1 + uVar18)" identifier = (pointer_expression "*(byte *)(*(int *)(puVar15 + 0xb4) + 1 + uVar18)" * (cast_expression "(byte *)(*(int *)(puVar15 + 0xb4) + 1 + uVar18)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar15 + 0xb4) + 1 + uVar18)" ( (binary_expression "*(int *)(puVar15 + 0xb4) + 1 + uVar18" (binary_expression "*(int *)(puVar15 + 0xb4) + 1" (pointer_expression "*(int *)(puVar15 + 0xb4)" * (cast_expression "(int *)(puVar15 + 0xb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0xb4)" ( (binary_expression "puVar15 + 0xb4" identifier + number_literal) )))) + number_literal) + identifier) ))))) ;) (expression_statement "bVar9 = *(byte *)((int)piVar10 + bVar8 + 0x11d);" (assignment_expression "bVar9 = *(byte *)((int)piVar10 + bVar8 + 0x11d)" identifier = (pointer_expression "*(byte *)((int)piVar10 + bVar8 + 0x11d)" * (cast_expression "(byte *)((int)piVar10 + bVar8 + 0x11d)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar10 + bVar8 + 0x11d)" ( (binary_expression "(int)piVar10 + bVar8 + 0x11d" (binary_expression "(int)piVar10 + bVar8" (cast_expression "(int)piVar10" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + number_literal) ))))) ;) (expression_statement "puVar16 = puVar15;" (assignment_expression "puVar16 = puVar15" identifier = identifier) ;) (if_statement "if (bVar9 == 0) {\n    pcVar4 = *(code **)(*piVar10 + 0x20);\n    bVar9 = bVar8;\n    if (pcVar4 != (code *)PTR_FUN_0038ed98) {\n      *(undefined4 *)(puVar15 + -8) = 0;\n      *(int *)(puVar15 + -0xc) = (int)(char)bVar8;\n      *(int **)(puVar15 + -0x10) = piVar10;\n      *(undefined4 *)(puVar15 + -0x14) = 0x201b0c;\n      bVar9 = (*pcVar4)();\n    }\n    if (bVar9 != 0) {\n      *(byte *)((int)piVar10 + bVar8 + 0x11d) = bVar9;\n      goto LAB_00201951;\n    }\n    goto LAB_00201ab8;\n  }" if (parenthesized_expression "(bVar9 == 0)" ( (binary_expression "bVar9 == 0" identifier == number_literal) )) (compound_statement "{\n    pcVar4 = *(code **)(*piVar10 + 0x20);\n    bVar9 = bVar8;\n    if (pcVar4 != (code *)PTR_FUN_0038ed98) {\n      *(undefined4 *)(puVar15 + -8) = 0;\n      *(int *)(puVar15 + -0xc) = (int)(char)bVar8;\n      *(int **)(puVar15 + -0x10) = piVar10;\n      *(undefined4 *)(puVar15 + -0x14) = 0x201b0c;\n      bVar9 = (*pcVar4)();\n    }\n    if (bVar9 != 0) {\n      *(byte *)((int)piVar10 + bVar8 + 0x11d) = bVar9;\n      goto LAB_00201951;\n    }\n    goto LAB_00201ab8;\n  }" { (expression_statement "pcVar4 = *(code **)(*piVar10 + 0x20);" (assignment_expression "pcVar4 = *(code **)(*piVar10 + 0x20)" identifier = (pointer_expression "*(code **)(*piVar10 + 0x20)" * (cast_expression "(code **)(*piVar10 + 0x20)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*piVar10 + 0x20)" ( (binary_expression "*piVar10 + 0x20" (pointer_expression "*piVar10" * identifier) + number_literal) ))))) ;) (expression_statement "bVar9 = bVar8;" (assignment_expression "bVar9 = bVar8" identifier = identifier) ;) (if_statement "if (pcVar4 != (code *)PTR_FUN_0038ed98) {\n      *(undefined4 *)(puVar15 + -8) = 0;\n      *(int *)(puVar15 + -0xc) = (int)(char)bVar8;\n      *(int **)(puVar15 + -0x10) = piVar10;\n      *(undefined4 *)(puVar15 + -0x14) = 0x201b0c;\n      bVar9 = (*pcVar4)();\n    }" if (parenthesized_expression "(pcVar4 != (code *)PTR_FUN_0038ed98)" ( (binary_expression "pcVar4 != (code *)PTR_FUN_0038ed98" identifier != (cast_expression "(code *)PTR_FUN_0038ed98" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (compound_statement "{\n      *(undefined4 *)(puVar15 + -8) = 0;\n      *(int *)(puVar15 + -0xc) = (int)(char)bVar8;\n      *(int **)(puVar15 + -0x10) = piVar10;\n      *(undefined4 *)(puVar15 + -0x14) = 0x201b0c;\n      bVar9 = (*pcVar4)();\n    }" { (expression_statement "*(undefined4 *)(puVar15 + -8) = 0;" (assignment_expression "*(undefined4 *)(puVar15 + -8) = 0" (pointer_expression "*(undefined4 *)(puVar15 + -8)" * (cast_expression "(undefined4 *)(puVar15 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -8)" ( (binary_expression "puVar15 + -8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(puVar15 + -0xc) = (int)(char)bVar8;" (assignment_expression "*(int *)(puVar15 + -0xc) = (int)(char)bVar8" (pointer_expression "*(int *)(puVar15 + -0xc)" * (cast_expression "(int *)(puVar15 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0xc)" ( (binary_expression "puVar15 + -0xc" identifier + number_literal) )))) = (cast_expression "(int)(char)bVar8" ( (type_descriptor "int" primitive_type) ) (cast_expression "(char)bVar8" ( (type_descriptor "char" primitive_type) ) identifier))) ;) (expression_statement "*(int **)(puVar15 + -0x10) = piVar10;" (assignment_expression "*(int **)(puVar15 + -0x10) = piVar10" (pointer_expression "*(int **)(puVar15 + -0x10)" * (cast_expression "(int **)(puVar15 + -0x10)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + -0x10)" ( (binary_expression "puVar15 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x14) = 0x201b0c;" (assignment_expression "*(undefined4 *)(puVar15 + -0x14) = 0x201b0c" (pointer_expression "*(undefined4 *)(puVar15 + -0x14)" * (cast_expression "(undefined4 *)(puVar15 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x14)" ( (binary_expression "puVar15 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "bVar9 = (*pcVar4)();" (assignment_expression "bVar9 = (*pcVar4)()" identifier = (call_expression "(*pcVar4)()" (parenthesized_expression "(*pcVar4)" ( (pointer_expression "*pcVar4" * identifier) )) (argument_list "()" ( )))) ;) })) (if_statement "if (bVar9 != 0) {\n      *(byte *)((int)piVar10 + bVar8 + 0x11d) = bVar9;\n      goto LAB_00201951;\n    }" if (parenthesized_expression "(bVar9 != 0)" ( (binary_expression "bVar9 != 0" identifier != number_literal) )) (compound_statement "{\n      *(byte *)((int)piVar10 + bVar8 + 0x11d) = bVar9;\n      goto LAB_00201951;\n    }" { (expression_statement "*(byte *)((int)piVar10 + bVar8 + 0x11d) = bVar9;" (assignment_expression "*(byte *)((int)piVar10 + bVar8 + 0x11d) = bVar9" (pointer_expression "*(byte *)((int)piVar10 + bVar8 + 0x11d)" * (cast_expression "(byte *)((int)piVar10 + bVar8 + 0x11d)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar10 + bVar8 + 0x11d)" ( (binary_expression "(int)piVar10 + bVar8 + 0x11d" (binary_expression "(int)piVar10 + bVar8" (cast_expression "(int)piVar10" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + number_literal) )))) = identifier) ;) (goto_statement "goto LAB_00201951;" goto statement_identifier ;) })) (goto_statement "goto LAB_00201ab8;" goto statement_identifier ;) })) (labeled_statement "LAB_00201951:\n  *(undefined4 *)(puVar15 + 0x3c) = 0;" statement_identifier : (expression_statement "*(undefined4 *)(puVar15 + 0x3c) = 0;" (assignment_expression "*(undefined4 *)(puVar15 + 0x3c) = 0" (pointer_expression "*(undefined4 *)(puVar15 + 0x3c)" * (cast_expression "(undefined4 *)(puVar15 + 0x3c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x3c)" ( (binary_expression "puVar15 + 0x3c" identifier + number_literal) )))) = number_literal) ;)) (if_statement "if ((bVar9 == 0x45) || (bVar9 == 0x4f)) {\n    *(uint *)(puVar15 + 4) = uVar18 + 2;\n    bVar8 = *(byte *)(*(int *)(puVar15 + 0xb4) + 2 + uVar18);\n    bVar9 = *(byte *)((int)piVar10 + bVar8 + 0x11d);\n    if (bVar9 == 0) {\n      pcVar4 = *(code **)(*piVar10 + 0x20);\n      bVar9 = bVar8;\n      if (pcVar4 != (code *)PTR_FUN_0038ed98) {\n        *(undefined4 *)(puVar15 + -8) = 0;\n        *(int *)(puVar15 + -0xc) = (int)(char)bVar8;\n        *(int **)(puVar15 + -0x10) = piVar10;\n        *(undefined4 *)(puVar15 + -0x14) = 0x20237c;\n        bVar9 = (*pcVar4)();\n      }\n      if (bVar9 == 0) goto LAB_00201ab8;\n      *(byte *)((int)piVar10 + bVar8 + 0x11d) = bVar9;\n    }\n  }" if (parenthesized_expression "((bVar9 == 0x45) || (bVar9 == 0x4f))" ( (binary_expression "(bVar9 == 0x45) || (bVar9 == 0x4f)" (parenthesized_expression "(bVar9 == 0x45)" ( (binary_expression "bVar9 == 0x45" identifier == number_literal) )) || (parenthesized_expression "(bVar9 == 0x4f)" ( (binary_expression "bVar9 == 0x4f" identifier == number_literal) ))) )) (compound_statement "{\n    *(uint *)(puVar15 + 4) = uVar18 + 2;\n    bVar8 = *(byte *)(*(int *)(puVar15 + 0xb4) + 2 + uVar18);\n    bVar9 = *(byte *)((int)piVar10 + bVar8 + 0x11d);\n    if (bVar9 == 0) {\n      pcVar4 = *(code **)(*piVar10 + 0x20);\n      bVar9 = bVar8;\n      if (pcVar4 != (code *)PTR_FUN_0038ed98) {\n        *(undefined4 *)(puVar15 + -8) = 0;\n        *(int *)(puVar15 + -0xc) = (int)(char)bVar8;\n        *(int **)(puVar15 + -0x10) = piVar10;\n        *(undefined4 *)(puVar15 + -0x14) = 0x20237c;\n        bVar9 = (*pcVar4)();\n      }\n      if (bVar9 == 0) goto LAB_00201ab8;\n      *(byte *)((int)piVar10 + bVar8 + 0x11d) = bVar9;\n    }\n  }" { (expression_statement "*(uint *)(puVar15 + 4) = uVar18 + 2;" (assignment_expression "*(uint *)(puVar15 + 4) = uVar18 + 2" (pointer_expression "*(uint *)(puVar15 + 4)" * (cast_expression "(uint *)(puVar15 + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 4)" ( (binary_expression "puVar15 + 4" identifier + number_literal) )))) = (binary_expression "uVar18 + 2" identifier + number_literal)) ;) (expression_statement "bVar8 = *(byte *)(*(int *)(puVar15 + 0xb4) + 2 + uVar18);" (assignment_expression "bVar8 = *(byte *)(*(int *)(puVar15 + 0xb4) + 2 + uVar18)" identifier = (pointer_expression "*(byte *)(*(int *)(puVar15 + 0xb4) + 2 + uVar18)" * (cast_expression "(byte *)(*(int *)(puVar15 + 0xb4) + 2 + uVar18)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar15 + 0xb4) + 2 + uVar18)" ( (binary_expression "*(int *)(puVar15 + 0xb4) + 2 + uVar18" (binary_expression "*(int *)(puVar15 + 0xb4) + 2" (pointer_expression "*(int *)(puVar15 + 0xb4)" * (cast_expression "(int *)(puVar15 + 0xb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0xb4)" ( (binary_expression "puVar15 + 0xb4" identifier + number_literal) )))) + number_literal) + identifier) ))))) ;) (expression_statement "bVar9 = *(byte *)((int)piVar10 + bVar8 + 0x11d);" (assignment_expression "bVar9 = *(byte *)((int)piVar10 + bVar8 + 0x11d)" identifier = (pointer_expression "*(byte *)((int)piVar10 + bVar8 + 0x11d)" * (cast_expression "(byte *)((int)piVar10 + bVar8 + 0x11d)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar10 + bVar8 + 0x11d)" ( (binary_expression "(int)piVar10 + bVar8 + 0x11d" (binary_expression "(int)piVar10 + bVar8" (cast_expression "(int)piVar10" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + number_literal) ))))) ;) (if_statement "if (bVar9 == 0) {\n      pcVar4 = *(code **)(*piVar10 + 0x20);\n      bVar9 = bVar8;\n      if (pcVar4 != (code *)PTR_FUN_0038ed98) {\n        *(undefined4 *)(puVar15 + -8) = 0;\n        *(int *)(puVar15 + -0xc) = (int)(char)bVar8;\n        *(int **)(puVar15 + -0x10) = piVar10;\n        *(undefined4 *)(puVar15 + -0x14) = 0x20237c;\n        bVar9 = (*pcVar4)();\n      }\n      if (bVar9 == 0) goto LAB_00201ab8;\n      *(byte *)((int)piVar10 + bVar8 + 0x11d) = bVar9;\n    }" if (parenthesized_expression "(bVar9 == 0)" ( (binary_expression "bVar9 == 0" identifier == number_literal) )) (compound_statement "{\n      pcVar4 = *(code **)(*piVar10 + 0x20);\n      bVar9 = bVar8;\n      if (pcVar4 != (code *)PTR_FUN_0038ed98) {\n        *(undefined4 *)(puVar15 + -8) = 0;\n        *(int *)(puVar15 + -0xc) = (int)(char)bVar8;\n        *(int **)(puVar15 + -0x10) = piVar10;\n        *(undefined4 *)(puVar15 + -0x14) = 0x20237c;\n        bVar9 = (*pcVar4)();\n      }\n      if (bVar9 == 0) goto LAB_00201ab8;\n      *(byte *)((int)piVar10 + bVar8 + 0x11d) = bVar9;\n    }" { (expression_statement "pcVar4 = *(code **)(*piVar10 + 0x20);" (assignment_expression "pcVar4 = *(code **)(*piVar10 + 0x20)" identifier = (pointer_expression "*(code **)(*piVar10 + 0x20)" * (cast_expression "(code **)(*piVar10 + 0x20)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*piVar10 + 0x20)" ( (binary_expression "*piVar10 + 0x20" (pointer_expression "*piVar10" * identifier) + number_literal) ))))) ;) (expression_statement "bVar9 = bVar8;" (assignment_expression "bVar9 = bVar8" identifier = identifier) ;) (if_statement "if (pcVar4 != (code *)PTR_FUN_0038ed98) {\n        *(undefined4 *)(puVar15 + -8) = 0;\n        *(int *)(puVar15 + -0xc) = (int)(char)bVar8;\n        *(int **)(puVar15 + -0x10) = piVar10;\n        *(undefined4 *)(puVar15 + -0x14) = 0x20237c;\n        bVar9 = (*pcVar4)();\n      }" if (parenthesized_expression "(pcVar4 != (code *)PTR_FUN_0038ed98)" ( (binary_expression "pcVar4 != (code *)PTR_FUN_0038ed98" identifier != (cast_expression "(code *)PTR_FUN_0038ed98" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (compound_statement "{\n        *(undefined4 *)(puVar15 + -8) = 0;\n        *(int *)(puVar15 + -0xc) = (int)(char)bVar8;\n        *(int **)(puVar15 + -0x10) = piVar10;\n        *(undefined4 *)(puVar15 + -0x14) = 0x20237c;\n        bVar9 = (*pcVar4)();\n      }" { (expression_statement "*(undefined4 *)(puVar15 + -8) = 0;" (assignment_expression "*(undefined4 *)(puVar15 + -8) = 0" (pointer_expression "*(undefined4 *)(puVar15 + -8)" * (cast_expression "(undefined4 *)(puVar15 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -8)" ( (binary_expression "puVar15 + -8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(puVar15 + -0xc) = (int)(char)bVar8;" (assignment_expression "*(int *)(puVar15 + -0xc) = (int)(char)bVar8" (pointer_expression "*(int *)(puVar15 + -0xc)" * (cast_expression "(int *)(puVar15 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0xc)" ( (binary_expression "puVar15 + -0xc" identifier + number_literal) )))) = (cast_expression "(int)(char)bVar8" ( (type_descriptor "int" primitive_type) ) (cast_expression "(char)bVar8" ( (type_descriptor "char" primitive_type) ) identifier))) ;) (expression_statement "*(int **)(puVar15 + -0x10) = piVar10;" (assignment_expression "*(int **)(puVar15 + -0x10) = piVar10" (pointer_expression "*(int **)(puVar15 + -0x10)" * (cast_expression "(int **)(puVar15 + -0x10)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + -0x10)" ( (binary_expression "puVar15 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x14) = 0x20237c;" (assignment_expression "*(undefined4 *)(puVar15 + -0x14) = 0x20237c" (pointer_expression "*(undefined4 *)(puVar15 + -0x14)" * (cast_expression "(undefined4 *)(puVar15 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x14)" ( (binary_expression "puVar15 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "bVar9 = (*pcVar4)();" (assignment_expression "bVar9 = (*pcVar4)()" identifier = (call_expression "(*pcVar4)()" (parenthesized_expression "(*pcVar4)" ( (pointer_expression "*pcVar4" * identifier) )) (argument_list "()" ( )))) ;) })) (if_statement "if (bVar9 == 0) goto LAB_00201ab8;" if (parenthesized_expression "(bVar9 == 0)" ( (binary_expression "bVar9 == 0" identifier == number_literal) )) (goto_statement "goto LAB_00201ab8;" goto statement_identifier ;)) (expression_statement "*(byte *)((int)piVar10 + bVar8 + 0x11d) = bVar9;" (assignment_expression "*(byte *)((int)piVar10 + bVar8 + 0x11d) = bVar9" (pointer_expression "*(byte *)((int)piVar10 + bVar8 + 0x11d)" * (cast_expression "(byte *)((int)piVar10 + bVar8 + 0x11d)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar10 + bVar8 + 0x11d)" ( (binary_expression "(int)piVar10 + bVar8 + 0x11d" (binary_expression "(int)piVar10 + bVar8" (cast_expression "(int)piVar10" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + number_literal) )))) = identifier) ;) })) })) (switch_statement "switch(bVar9) {\n  case 0x41:\n    iVar1 = *(int *)(*(int *)(puVar15 + 0x18) + 8);\n    *(undefined4 *)(puVar15 + 0x40) = *(undefined4 *)(iVar1 + 0x2c);\n    *(undefined4 *)(puVar15 + 0x44) = *(undefined4 *)(iVar1 + 0x30);\n    *(undefined4 *)(puVar15 + 0x48) = *(undefined4 *)(iVar1 + 0x34);\n    *(undefined4 *)(puVar15 + 0x4c) = *(undefined4 *)(iVar1 + 0x38);\n    *(undefined4 *)(puVar15 + 0x50) = *(undefined4 *)(iVar1 + 0x3c);\n    *(undefined4 *)(puVar15 + 0x54) = *(undefined4 *)(iVar1 + 0x40);\n    uVar12 = *(undefined4 *)(iVar1 + 0x44);\n    goto code_r0x00201f34;\n  case 0x42:\n    *(undefined1 **)(puVar15 + -0xc) = puVar15 + 0x40;\n    *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0x18);\n    *(undefined **)(puVar15 + -0x14) = &UNK_00201fd1;\n    FUN_001fb050();\n    goto code_r0x00201fd1;\n  case 0x43:\n  case 0x59:\n  case 0x79:\n    *(undefined1 **)(puVar15 + -4) = puVar15 + 0x38;\n    *(undefined4 *)(puVar15 + -8) = *(undefined4 *)(puVar15 + 0xa8);\n    *(undefined4 *)(puVar15 + -0xc) = 4;\n    *(undefined4 *)(puVar15 + -0x10) = 9999;\n    *(undefined4 *)(puVar15 + -0x14) = 0;\n    *(undefined1 **)(puVar15 + -0x18) = puVar15 + 0x3c;\n    *(undefined4 *)(puVar15 + -0x1c) = *(undefined4 *)(puVar15 + 0xa4);\n    *(undefined4 *)(puVar15 + -0x20) = *(undefined4 *)(puVar15 + 0xa0);\n    *(undefined4 *)(puVar15 + -0x24) = *(undefined4 *)(puVar15 + 0x9c);\n    *(undefined4 *)(puVar15 + -0x28) = *(undefined4 *)(puVar15 + 0x98);\n    *(undefined4 *)(puVar15 + -0x2c) = *(undefined4 *)(puVar15 + 0x94);\n    *(undefined1 **)(puVar15 + -0x30) = puVar15 + 0x28;\n    *(undefined **)(puVar15 + -0x34) = &UNK_00202097;\n    FUN_001fc0e0();\n    *(undefined4 *)(puVar15 + 0x94) = *(undefined4 *)(puVar15 + 0x24);\n    *(undefined4 *)(puVar15 + 0x98) = *(undefined4 *)(puVar15 + 0x28);\n    puVar16 = puVar15 + -4;\n    if (*(int *)(puVar15 + 0x34) == 0) {\n      iVar1 = *(int *)(puVar15 + 0x38);\n      iVar13 = iVar1 + -0x76c;\n      if (iVar1 < 0) {\n        iVar13 = iVar1 + 100;\n      }\n      *(int *)(*(int *)(puVar15 + 0xac) + 0x14) = iVar13;\n      puVar16 = puVar15 + -4;\n    }\n    break;\n  case 0x44:\n    *(undefined1 **)(puVar15 + -4) = puVar15 + 0x40;\n    *(undefined **)(puVar15 + -8) = &UNK_002a3ee7;\n    pcVar11 = "%m/%d/%y";\n    goto code_r0x00201ca2;\n  default:\n    goto LAB_00201ab8;\n  case 0x48:\n    *(undefined1 **)(puVar15 + -4) = puVar15 + 0x38;\n    *(undefined4 *)(puVar15 + -8) = *(undefined4 *)(puVar15 + 0xa8);\n    *(undefined4 *)(puVar15 + -0xc) = 2;\n    *(undefined4 *)(puVar15 + -0x10) = 0x17;\n    *(undefined4 *)(puVar15 + -0x14) = 0;\n    goto code_r0x00201ba6;\n  case 0x49:\n    *(undefined1 **)(puVar15 + -4) = puVar15 + 0x38;\n    *(undefined4 *)(puVar15 + -8) = *(undefined4 *)(puVar15 + 0xa8);\n    *(undefined4 *)(puVar15 + -0xc) = 2;\n    *(undefined4 *)(puVar15 + -0x10) = 0xc;\n    *(undefined4 *)(puVar15 + -0x14) = 1;\ncode_r0x00201ba6:\n    *(undefined1 **)(puVar15 + -0x18) = puVar15 + 0x3c;\n    *(undefined4 *)(puVar15 + -0x1c) = *(undefined4 *)(puVar15 + 0xa4);\n    *(undefined4 *)(puVar15 + -0x20) = *(undefined4 *)(puVar15 + 0xa0);\n    *(undefined4 *)(puVar15 + -0x24) = *(undefined4 *)(puVar15 + 0x9c);\n    *(undefined4 *)(puVar15 + -0x28) = *(undefined4 *)(puVar15 + 0x98);\n    *(undefined4 *)(puVar15 + -0x2c) = *(undefined4 *)(puVar15 + 0x94);\n    *(undefined1 **)(puVar15 + -0x30) = puVar15 + 0x28;\n    *(undefined **)(puVar15 + -0x34) = &UNK_00201bd4;\n    FUN_001fc0e0();\n    *(undefined4 *)(puVar15 + 0x94) = *(undefined4 *)(puVar15 + 0x24);\n    *(undefined4 *)(puVar15 + 0x98) = *(undefined4 *)(puVar15 + 0x28);\n    puVar16 = puVar15 + -4;\n    if (*(int *)(puVar15 + 0x34) == 0) {\n      *(undefined4 *)(*(int *)(puVar15 + 0xac) + 8) = *(undefined4 *)(puVar15 + 0x38);\n      puVar16 = puVar15 + -4;\n    }\n    break;\n  case 0x4d:\n    *(undefined1 **)(puVar15 + -4) = puVar15 + 0x38;\n    *(undefined4 *)(puVar15 + -8) = *(undefined4 *)(puVar15 + 0xa8);\n    *(undefined4 *)(puVar15 + -0xc) = 2;\n    *(undefined4 *)(puVar15 + -0x10) = 0x3b;\n    *(undefined4 *)(puVar15 + -0x14) = 0;\n    *(undefined1 **)(puVar15 + -0x18) = puVar15 + 0x3c;\n    *(undefined4 *)(puVar15 + -0x1c) = *(undefined4 *)(puVar15 + 0xa4);\n    *(undefined4 *)(puVar15 + -0x20) = *(undefined4 *)(puVar15 + 0xa0);\n    *(undefined4 *)(puVar15 + -0x24) = *(undefined4 *)(puVar15 + 0x9c);\n    *(undefined4 *)(puVar15 + -0x28) = *(undefined4 *)(puVar15 + 0x98);\n    *(undefined4 *)(puVar15 + -0x2c) = *(undefined4 *)(puVar15 + 0x94);\n    *(undefined1 **)(puVar15 + -0x30) = puVar15 + 0x28;\n    *(undefined **)(puVar15 + -0x34) = &UNK_00201c54;\n    FUN_001fc0e0();\n    *(undefined4 *)(puVar15 + 0x94) = *(undefined4 *)(puVar15 + 0x24);\n    *(undefined4 *)(puVar15 + 0x98) = *(undefined4 *)(puVar15 + 0x28);\n    puVar16 = puVar15 + -4;\n    if (*(int *)(puVar15 + 0x34) == 0) {\n      *(undefined4 *)(*(int *)(puVar15 + 0xac) + 4) = *(undefined4 *)(puVar15 + 0x38);\n      puVar16 = puVar15 + -4;\n    }\n    break;\n  case 0x52:\n    *(undefined1 **)(puVar15 + -4) = puVar15 + 0x40;\n    *(char **)(puVar15 + -8) = "%H:%M:%S";\n    pcVar11 = "%H:%M";\n    goto code_r0x00201ca2;\n  case 0x53:\n    *(undefined1 **)(puVar15 + -4) = puVar15 + 0x38;\n    *(undefined4 *)(puVar15 + -8) = *(undefined4 *)(puVar15 + 0xa8);\n    *(undefined4 *)(puVar15 + -0xc) = 2;\n    *(undefined4 *)(puVar15 + -0x10) = 0x3c;\n    *(undefined4 *)(puVar15 + -0x14) = 0;\n    *(undefined1 **)(puVar15 + -0x18) = puVar15 + 0x3c;\n    *(undefined4 *)(puVar15 + -0x1c) = *(undefined4 *)(puVar15 + 0xa4);\n    *(undefined4 *)(puVar15 + -0x20) = *(undefined4 *)(puVar15 + 0xa0);\n    *(undefined4 *)(puVar15 + -0x24) = *(undefined4 *)(puVar15 + 0x9c);\n    *(undefined4 *)(puVar15 + -0x28) = *(undefined4 *)(puVar15 + 0x98);\n    *(undefined4 *)(puVar15 + -0x2c) = *(undefined4 *)(puVar15 + 0x94);\n    *(undefined1 **)(puVar15 + -0x30) = puVar15 + 0x28;\n    *(undefined **)(puVar15 + -0x34) = &UNK_00201cfc;\n    FUN_001fc0e0();\n    *(undefined4 *)(puVar15 + 0x94) = *(undefined4 *)(puVar15 + 0x24);\n    *(undefined4 *)(puVar15 + 0x98) = *(undefined4 *)(puVar15 + 0x28);\n    puVar16 = puVar15 + -4;\n    if (*(int *)(puVar15 + 0x34) == 0) {\n      **(undefined4 **)(puVar15 + 0xac) = *(undefined4 *)(puVar15 + 0x38);\n      puVar16 = puVar15 + -4;\n    }\n    break;\n  case 0x54:\n    *(undefined1 **)(puVar15 + -4) = puVar15 + 0x40;\n    *(undefined **)(puVar15 + -8) = &UNK_002a3ef6;\n    pcVar11 = "%H:%M:%S";\ncode_r0x00201ca2:\n    *(char **)(puVar15 + -0xc) = pcVar11;\n    *(int **)(puVar15 + -0x10) = piVar10;\n    *(undefined **)(puVar15 + -0x14) = &UNK_00201ca9;\n    FUN_001f94d0();\n    *(undefined1 **)(puVar15 + -0xc) = puVar15 + 0x40;\n    goto code_r0x00201b30;\n  case 0x58:\n    *(undefined4 *)(puVar15 + -0xc) = *(undefined4 *)(*(int *)(*(int *)(puVar15 + 0x18) + 8) + 0x10)\n    ;\n    goto code_r0x00201b30;\n  case 0x5a:\n    *(undefined **)(puVar15 + -4) = &UNK_00201d80;\n    uVar18 = FUN_001f91d0();\n    if ((*(byte *)(piVar10[6] + 1 + (uVar18 & 0xff) * 2) & 1) == 0) goto LAB_00201ab8;\n    *(undefined1 **)(puVar15 + 0x14) = puVar15 + 0x28;\n    puVar2 = puVar15 + 0x38;\n    *(undefined1 **)(puVar15 + -8) = puVar2;\n    *(undefined4 *)(puVar15 + -0xc) = *(undefined4 *)(puVar15 + 0xa8);\n    *(undefined4 *)(puVar15 + -0x10) = 0xe;\n    *(undefined4 *)(puVar15 + -0x14) = *(undefined4 *)(puVar15 + 0x24);\n    puVar3 = puVar15 + 0x40;\n    *(undefined1 **)(puVar15 + -0x18) = puVar3;\n    *(undefined4 *)(puVar15 + -0x1c) = *(undefined4 *)(puVar15 + 0xa4);\n    *(undefined4 *)(puVar15 + -0x20) = *(undefined4 *)(puVar15 + 0xa0);\n    *(undefined4 *)(puVar15 + -0x24) = *(undefined4 *)(puVar15 + 0x9c);\n    *(undefined4 *)(puVar15 + -0x28) = *(undefined4 *)(puVar15 + 0x98);\n    *(undefined4 *)(puVar15 + -0x2c) = *(undefined4 *)(puVar15 + 0x94);\n    *(undefined1 **)(puVar15 + -0x30) = puVar15 + 0x28;\n    *(undefined **)(puVar15 + -0x34) = &UNK_00201ddc;\n    FUN_00201020();\n    *(undefined4 *)(puVar15 + 0x94) = *(undefined4 *)(puVar15 + 0x24);\n    *(undefined4 *)(puVar15 + 0x98) = *(undefined4 *)(puVar15 + 0x28);\n    *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0xc);\n    *(undefined4 *)(puVar15 + -0x14) = *(undefined4 *)(puVar15 + 4);\n    *(undefined **)(puVar15 + -0x18) = &UNK_00201e02;\n    cVar6 = FUN_00200f70();\n    puVar16 = puVar15 + -4;\n    if ((cVar6 != '\0') ||\n       (puVar16 = puVar15 + -4, *(int *)(puVar15 + 0x34) != 0 || *(int *)(puVar15 + 0x3c) != 0))\n    break;\n    *(undefined **)(puVar15 + -8) = &UNK_00201e2b;\n    uVar12 = FUN_001f91d0();\n    iVar1 = piVar10[7];\n    *(undefined4 *)(puVar15 + 0x1c) = uVar12;\n    if ((char)iVar1 == '\0') {\n      *(undefined **)(puVar15 + -8) = &UNK_002023c1;\n      cVar6 = FUN_001f9220();\n    }\n    else {\n      cVar6 = *(char *)((int)piVar10 + 0x4a);\n    }\n    if (puVar15[0x1c] != cVar6) {\n      *(undefined **)(puVar15 + -8) = &UNK_00201e53;\n      uVar12 = FUN_001f91d0();\n      iVar1 = piVar10[7];\n      *(undefined4 *)(puVar15 + 0x1c) = uVar12;\n      if ((char)iVar1 == '\0') {\n        *(undefined **)(puVar15 + -8) = &UNK_002023d2;\n        cVar6 = FUN_001f9220();\n      }\n      else {\n        cVar6 = (char)piVar10[0x12];\n      }\n      puVar16 = puVar15 + -4;\n      if (puVar15[0x1c] != cVar6) break;\n    }\n    *(undefined1 **)(puVar15 + -8) = puVar2;\n    *(undefined4 *)(puVar15 + -0xc) = *(undefined4 *)(puVar15 + 0xa4);\n    *(undefined4 *)(puVar15 + -0x10) = 2;\n    *(undefined4 *)(puVar15 + -0x14) = 0x17;\n    *(undefined4 *)(puVar15 + -0x18) = 0;\n    *(undefined1 **)(puVar15 + -0x1c) = puVar3;\n    *(undefined4 *)(puVar15 + -0x20) = *(undefined4 *)(puVar15 + 0xa0);\n    *(undefined4 *)(puVar15 + -0x24) = *(undefined4 *)(puVar15 + 0x9c);\n    *(undefined4 *)(puVar15 + -0x28) = *(undefined4 *)(puVar15 + 0x98);\n    *(undefined4 *)(puVar15 + -0x2c) = *(undefined4 *)(puVar15 + 0x94);\n    *(undefined4 *)(puVar15 + -0x30) = *(undefined4 *)(puVar15 + 0x90);\n    *(undefined4 *)(puVar15 + -0x34) = *(undefined4 *)(puVar15 + 0x10);\n    *(undefined **)(puVar15 + -0x38) = &UNK_00201eaa;\n    FUN_001fc0e0();\n    *(undefined4 *)(puVar15 + 0x90) = *(undefined4 *)(puVar15 + 0x20);\n    *(undefined4 *)(puVar15 + 0x94) = *(undefined4 *)(puVar15 + 0x24);\n    *(undefined1 **)(puVar15 + -0xc) = puVar2;\n    *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0xa0);\n    *(undefined4 *)(puVar15 + -0x14) = 2;\n    *(undefined4 *)(puVar15 + -0x18) = 0x3b;\n    *(undefined4 *)(puVar15 + -0x1c) = 0;\n    *(undefined1 **)(puVar15 + -0x20) = puVar3;\n    *(undefined4 *)(puVar15 + -0x24) = *(undefined4 *)(puVar15 + 0x9c);\n    *(undefined4 *)(puVar15 + -0x28) = *(undefined4 *)(puVar15 + 0x98);\n    *(undefined4 *)(puVar15 + -0x2c) = *(undefined4 *)(puVar15 + 0x24);\n    *(undefined4 *)(puVar15 + -0x30) = *(undefined4 *)(puVar15 + 0x20);\n    *(undefined4 *)(puVar15 + -0x34) = *(undefined4 *)(puVar15 + 0x8c);\n    puVar17 = puVar15 + -0x38;\n    *(undefined4 *)(puVar15 + -0x38) = *(undefined4 *)(puVar15 + 0xc);\n    *(undefined **)(puVar15 + -0x3c) = &UNK_00201ef2;\n    FUN_001fc0e0();\n    goto code_r0x00201b6c;\n  case 0x61:\n    iVar1 = *(int *)(*(int *)(puVar15 + 0x18) + 8);\n    *(undefined4 *)(puVar15 + 0x40) = *(undefined4 *)(iVar1 + 0x48);\n    *(undefined4 *)(puVar15 + 0x44) = *(undefined4 *)(iVar1 + 0x4c);\n    *(undefined4 *)(puVar15 + 0x48) = *(undefined4 *)(iVar1 + 0x50);\n    *(undefined4 *)(puVar15 + 0x4c) = *(undefined4 *)(iVar1 + 0x54);\n    *(undefined4 *)(puVar15 + 0x50) = *(undefined4 *)(iVar1 + 0x58);\n    *(undefined4 *)(puVar15 + 0x54) = *(undefined4 *)(iVar1 + 0x5c);\n    uVar12 = *(undefined4 *)(iVar1 + 0x60);\ncode_r0x00201f34:\n    *(undefined4 *)(puVar15 + 0x58) = uVar12;\n    *(undefined1 **)(puVar15 + -8) = puVar15 + 0x38;\n    *(undefined4 *)(puVar15 + -0xc) = *(undefined4 *)(puVar15 + 0xa8);\n    *(undefined4 *)(puVar15 + -0x10) = 7;\n    *(undefined1 **)(puVar15 + -0x14) = puVar15 + 0x40;\n    *(undefined1 **)(puVar15 + -0x18) = puVar15 + 0x3c;\n    *(undefined4 *)(puVar15 + -0x1c) = *(undefined4 *)(puVar15 + 0xa4);\n    *(undefined4 *)(puVar15 + -0x20) = *(undefined4 *)(puVar15 + 0xa0);\n    *(undefined4 *)(puVar15 + -0x24) = *(undefined4 *)(puVar15 + 0x9c);\n    *(undefined4 *)(puVar15 + -0x28) = *(undefined4 *)(puVar15 + 0x98);\n    *(undefined4 *)(puVar15 + -0x2c) = *(undefined4 *)(puVar15 + 0x94);\n    *(undefined1 **)(puVar15 + -0x30) = puVar15 + 0x28;\n    *(undefined **)(puVar15 + -0x34) = &UNK_00201f80;\n    FUN_00201020();\n    *(undefined4 *)(puVar15 + 0x94) = *(undefined4 *)(puVar15 + 0x24);\n    *(undefined4 *)(puVar15 + 0x98) = *(undefined4 *)(puVar15 + 0x28);\n    puVar16 = puVar15 + -4;\n    if (*(int *)(puVar15 + 0x34) == 0) {\n      *(undefined4 *)(*(int *)(puVar15 + 0xac) + 0x18) = *(undefined4 *)(puVar15 + 0x38);\n      puVar16 = puVar15 + -4;\n    }\n    break;\n  case 0x62:\n  case 0x68:\n    *(undefined1 **)(puVar15 + -0xc) = puVar15 + 0x40;\n    *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0x18);\n    *(undefined **)(puVar15 + -0x14) = &UNK_00202171;\n    FUN_001fb0c0();\ncode_r0x00201fd1:\n    *(undefined1 **)(puVar15 + -8) = puVar15 + 0x38;\n    *(undefined4 *)(puVar15 + -0xc) = *(undefined4 *)(puVar15 + 0xa8);\n    *(undefined4 *)(puVar15 + -0x10) = 0xc;\n    *(undefined1 **)(puVar15 + -0x14) = puVar15 + 0x40;\n    *(undefined1 **)(puVar15 + -0x18) = puVar15 + 0x3c;\n    *(undefined4 *)(puVar15 + -0x1c) = *(undefined4 *)(puVar15 + 0xa4);\n    *(undefined4 *)(puVar15 + -0x20) = *(undefined4 *)(puVar15 + 0xa0);\n    *(undefined4 *)(puVar15 + -0x24) = *(undefined4 *)(puVar15 + 0x9c);\n    *(undefined4 *)(puVar15 + -0x28) = *(undefined4 *)(puVar15 + 0x98);\n    *(undefined4 *)(puVar15 + -0x2c) = *(undefined4 *)(puVar15 + 0x94);\n    *(undefined1 **)(puVar15 + -0x30) = puVar15 + 0x28;\n    *(undefined **)(puVar15 + -0x34) = &UNK_00202015;\n    FUN_00201020();\n    *(undefined4 *)(puVar15 + 0x94) = *(undefined4 *)(puVar15 + 0x24);\n    *(undefined4 *)(puVar15 + 0x98) = *(undefined4 *)(puVar15 + 0x28);\n    puVar16 = puVar15 + -4;\n    if (*(int *)(puVar15 + 0x34) == 0) {\n      *(undefined4 *)(*(int *)(puVar15 + 0xac) + 0x10) = *(undefined4 *)(puVar15 + 0x38);\n      puVar16 = puVar15 + -4;\n    }\n    break;\n  case 99:\n    *(undefined4 *)(puVar15 + -0xc) = *(undefined4 *)(*(int *)(*(int *)(puVar15 + 0x18) + 8) + 0x18)\n    ;\n    goto code_r0x00201b30;\n  case 100:\n    *(undefined1 **)(puVar15 + -4) = puVar15 + 0x38;\n    *(undefined4 *)(puVar15 + -8) = *(undefined4 *)(puVar15 + 0xa8);\n    *(undefined4 *)(puVar15 + -0xc) = 2;\n    *(undefined4 *)(puVar15 + -0x10) = 0x1f;\n    *(undefined4 *)(puVar15 + -0x14) = 1;\n    goto code_r0x002021b6;\n  case 0x65:\n    *(undefined **)(puVar15 + -4) = &UNK_00202230;\n    uVar18 = FUN_001f91d0();\n    if ((*(byte *)(piVar10[6] + 1 + (uVar18 & 0xff) * 2) & 0x20) == 0) {\n      *(undefined1 **)(puVar15 + -4) = puVar15 + 0x38;\n      *(undefined4 *)(puVar15 + -8) = *(undefined4 *)(puVar15 + 0xa8);\n      *(undefined4 *)(puVar15 + -0xc) = 2;\n      *(undefined4 *)(puVar15 + -0x10) = 0x1f;\n      *(undefined4 *)(puVar15 + -0x14) = 10;\n    }\n    else {\n      *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0x98);\n      *(undefined **)(puVar15 + -0x14) = &UNK_00202250;\n      FUN_001f24d0();\n      *(undefined4 *)(puVar15 + 0x9c) = 0xffffffff;\n      *(undefined1 **)(puVar15 + -4) = puVar15 + 0x38;\n      *(undefined4 *)(puVar15 + -8) = *(undefined4 *)(puVar15 + 0xa8);\n      *(undefined4 *)(puVar15 + -0xc) = 1;\n      *(undefined4 *)(puVar15 + -0x10) = 9;\n      *(undefined4 *)(puVar15 + -0x14) = 1;\n    }\ncode_r0x002021b6:\n    *(undefined1 **)(puVar15 + -0x18) = puVar15 + 0x3c;\n    *(undefined4 *)(puVar15 + -0x1c) = *(undefined4 *)(puVar15 + 0xa4);\n    *(undefined4 *)(puVar15 + -0x20) = *(undefined4 *)(puVar15 + 0xa0);\n    *(undefined4 *)(puVar15 + -0x24) = *(undefined4 *)(puVar15 + 0x9c);\n    *(undefined4 *)(puVar15 + -0x28) = *(undefined4 *)(puVar15 + 0x98);\n    *(undefined4 *)(puVar15 + -0x2c) = *(undefined4 *)(puVar15 + 0x94);\n    *(undefined1 **)(puVar15 + -0x30) = puVar15 + 0x28;\n    *(undefined **)(puVar15 + -0x34) = &UNK_002021e4;\n    FUN_001fc0e0();\n    *(undefined4 *)(puVar15 + 0x94) = *(undefined4 *)(puVar15 + 0x24);\n    *(undefined4 *)(puVar15 + 0x98) = *(undefined4 *)(puVar15 + 0x28);\n    puVar16 = puVar15 + -4;\n    if (*(int *)(puVar15 + 0x34) == 0) {\n      *(undefined4 *)(*(int *)(puVar15 + 0xac) + 0xc) = *(undefined4 *)(puVar15 + 0x38);\n      puVar16 = puVar15 + -4;\n    }\n    break;\n  case 0x6d:\n    *(undefined1 **)(puVar15 + -4) = puVar15 + 0x38;\n    *(undefined4 *)(puVar15 + -8) = *(undefined4 *)(puVar15 + 0xa8);\n    *(undefined4 *)(puVar15 + -0xc) = 2;\n    *(undefined4 *)(puVar15 + -0x10) = 0xc;\n    *(undefined4 *)(puVar15 + -0x14) = 1;\n    *(undefined1 **)(puVar15 + -0x18) = puVar15 + 0x3c;\n    *(undefined4 *)(puVar15 + -0x1c) = *(undefined4 *)(puVar15 + 0xa4);\n    *(undefined4 *)(puVar15 + -0x20) = *(undefined4 *)(puVar15 + 0xa0);\n    *(undefined4 *)(puVar15 + -0x24) = *(undefined4 *)(puVar15 + 0x9c);\n    *(undefined4 *)(puVar15 + -0x28) = *(undefined4 *)(puVar15 + 0x98);\n    *(undefined4 *)(puVar15 + -0x2c) = *(undefined4 *)(puVar15 + 0x94);\n    *(undefined1 **)(puVar15 + -0x30) = puVar15 + 0x28;\n    *(undefined **)(puVar15 + -0x34) = &UNK_002022c4;\n    FUN_001fc0e0();\n    *(undefined4 *)(puVar15 + 0x94) = *(undefined4 *)(puVar15 + 0x24);\n    *(undefined4 *)(puVar15 + 0x98) = *(undefined4 *)(puVar15 + 0x28);\n    puVar16 = puVar15 + -4;\n    if (*(int *)(puVar15 + 0x34) == 0) {\n      *(int *)(*(int *)(puVar15 + 0xac) + 0x10) = *(int *)(puVar15 + 0x38) + -1;\n      puVar16 = puVar15 + -4;\n    }\n    break;\n  case 0x6e:\n    *(undefined **)(puVar15 + -4) = &UNK_00202310;\n    bVar9 = FUN_001f91d0();\n    bVar8 = *(byte *)((int)piVar10 + bVar9 + 0x11d);\n    if (bVar8 == 0) {\n      pcVar4 = *(code **)(*piVar10 + 0x20);\n      bVar8 = bVar9;\n      if (pcVar4 != (code *)PTR_FUN_0038ed98) {\n        *(undefined4 *)(puVar15 + -8) = 0;\n        *(int *)(puVar15 + -0xc) = (int)(char)bVar9;\n        *(int **)(puVar15 + -0x10) = piVar10;\n        *(undefined **)(puVar15 + -0x14) = &UNK_002023ab;\n        bVar8 = (*pcVar4)();\n      }\n      if (bVar8 == 0) goto LAB_00201ab8;\n      *(byte *)((int)piVar10 + bVar9 + 0x11d) = bVar8;\n    }\n    if (bVar8 != 10) goto LAB_00201ab8;\ncode_r0x00202346:\n    *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0x98);\n    *(undefined **)(puVar15 + -0x14) = &UNK_00202355;\n    FUN_001f24d0();\n    *(undefined4 *)(puVar15 + 0x9c) = 0xffffffff;\n    break;\n  case 0x74:\n    *(undefined **)(puVar15 + -4) = &UNK_00201a70;\n    bVar9 = FUN_001f91d0();\n    bVar8 = *(byte *)((int)piVar10 + bVar9 + 0x11d);\n    if (bVar8 == 0) {\n      pcVar4 = *(code **)(*piVar10 + 0x20);\n      bVar8 = bVar9;\n      if (pcVar4 != *(code **)(puVar15 + 0x1c)) {\n        *(undefined4 *)(puVar15 + -8) = 0;\n        *(int *)(puVar15 + -0xc) = (int)(char)bVar9;\n        *(int **)(puVar15 + -0x10) = piVar10;\n        *(undefined **)(puVar15 + -0x14) = &UNK_00201a98;\n        bVar8 = (*pcVar4)();\n      }\n      if (bVar8 == 0) goto LAB_00201ab8;\n      *(byte *)((int)piVar10 + bVar9 + 0x11d) = bVar8;\n    }\n    if (bVar8 == 9) goto code_r0x00202346;\n    goto LAB_00201ab8;\n  case 0x78:\n    *(undefined4 *)(puVar15 + -0xc) = *(undefined4 *)(*(int *)(*(int *)(puVar15 + 0x18) + 8) + 8);\ncode_r0x00201b30:\n    *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0xb0);\n    *(undefined1 **)(puVar15 + -0x14) = puVar15 + 0x38;\n    *(undefined4 *)(puVar15 + -0x18) = *(undefined4 *)(puVar15 + 0xa8);\n    *(undefined4 *)(puVar15 + -0x1c) = *(undefined4 *)(puVar15 + 0xa4);\n    *(undefined4 *)(puVar15 + -0x20) = *(undefined4 *)(puVar15 + 0xa0);\n    *(undefined4 *)(puVar15 + -0x24) = *(undefined4 *)(puVar15 + 0x9c);\n    *(undefined4 *)(puVar15 + -0x28) = *(undefined4 *)(puVar15 + 0x98);\n    *(undefined4 *)(puVar15 + -0x2c) = *(undefined4 *)(puVar15 + 0x94);\n    puVar17 = puVar15 + -0x30;\n    *(undefined1 **)(puVar15 + -0x30) = puVar15 + 0x28;\n    *(undefined **)(puVar15 + -0x34) = &UNK_00201b6c;\n    FUN_00201820();\ncode_r0x00201b6c:\n    *(undefined4 *)(puVar17 + 0xc4) = *(undefined4 *)(puVar17 + 0x54);\n    *(undefined4 *)(puVar17 + 200) = *(undefined4 *)(puVar17 + 0x58);\n    puVar16 = puVar17 + 0x2c;\n  }" switch (parenthesized_expression "(bVar9)" ( identifier )) (compound_statement "{\n  case 0x41:\n    iVar1 = *(int *)(*(int *)(puVar15 + 0x18) + 8);\n    *(undefined4 *)(puVar15 + 0x40) = *(undefined4 *)(iVar1 + 0x2c);\n    *(undefined4 *)(puVar15 + 0x44) = *(undefined4 *)(iVar1 + 0x30);\n    *(undefined4 *)(puVar15 + 0x48) = *(undefined4 *)(iVar1 + 0x34);\n    *(undefined4 *)(puVar15 + 0x4c) = *(undefined4 *)(iVar1 + 0x38);\n    *(undefined4 *)(puVar15 + 0x50) = *(undefined4 *)(iVar1 + 0x3c);\n    *(undefined4 *)(puVar15 + 0x54) = *(undefined4 *)(iVar1 + 0x40);\n    uVar12 = *(undefined4 *)(iVar1 + 0x44);\n    goto code_r0x00201f34;\n  case 0x42:\n    *(undefined1 **)(puVar15 + -0xc) = puVar15 + 0x40;\n    *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0x18);\n    *(undefined **)(puVar15 + -0x14) = &UNK_00201fd1;\n    FUN_001fb050();\n    goto code_r0x00201fd1;\n  case 0x43:\n  case 0x59:\n  case 0x79:\n    *(undefined1 **)(puVar15 + -4) = puVar15 + 0x38;\n    *(undefined4 *)(puVar15 + -8) = *(undefined4 *)(puVar15 + 0xa8);\n    *(undefined4 *)(puVar15 + -0xc) = 4;\n    *(undefined4 *)(puVar15 + -0x10) = 9999;\n    *(undefined4 *)(puVar15 + -0x14) = 0;\n    *(undefined1 **)(puVar15 + -0x18) = puVar15 + 0x3c;\n    *(undefined4 *)(puVar15 + -0x1c) = *(undefined4 *)(puVar15 + 0xa4);\n    *(undefined4 *)(puVar15 + -0x20) = *(undefined4 *)(puVar15 + 0xa0);\n    *(undefined4 *)(puVar15 + -0x24) = *(undefined4 *)(puVar15 + 0x9c);\n    *(undefined4 *)(puVar15 + -0x28) = *(undefined4 *)(puVar15 + 0x98);\n    *(undefined4 *)(puVar15 + -0x2c) = *(undefined4 *)(puVar15 + 0x94);\n    *(undefined1 **)(puVar15 + -0x30) = puVar15 + 0x28;\n    *(undefined **)(puVar15 + -0x34) = &UNK_00202097;\n    FUN_001fc0e0();\n    *(undefined4 *)(puVar15 + 0x94) = *(undefined4 *)(puVar15 + 0x24);\n    *(undefined4 *)(puVar15 + 0x98) = *(undefined4 *)(puVar15 + 0x28);\n    puVar16 = puVar15 + -4;\n    if (*(int *)(puVar15 + 0x34) == 0) {\n      iVar1 = *(int *)(puVar15 + 0x38);\n      iVar13 = iVar1 + -0x76c;\n      if (iVar1 < 0) {\n        iVar13 = iVar1 + 100;\n      }\n      *(int *)(*(int *)(puVar15 + 0xac) + 0x14) = iVar13;\n      puVar16 = puVar15 + -4;\n    }\n    break;\n  case 0x44:\n    *(undefined1 **)(puVar15 + -4) = puVar15 + 0x40;\n    *(undefined **)(puVar15 + -8) = &UNK_002a3ee7;\n    pcVar11 = "%m/%d/%y";\n    goto code_r0x00201ca2;\n  default:\n    goto LAB_00201ab8;\n  case 0x48:\n    *(undefined1 **)(puVar15 + -4) = puVar15 + 0x38;\n    *(undefined4 *)(puVar15 + -8) = *(undefined4 *)(puVar15 + 0xa8);\n    *(undefined4 *)(puVar15 + -0xc) = 2;\n    *(undefined4 *)(puVar15 + -0x10) = 0x17;\n    *(undefined4 *)(puVar15 + -0x14) = 0;\n    goto code_r0x00201ba6;\n  case 0x49:\n    *(undefined1 **)(puVar15 + -4) = puVar15 + 0x38;\n    *(undefined4 *)(puVar15 + -8) = *(undefined4 *)(puVar15 + 0xa8);\n    *(undefined4 *)(puVar15 + -0xc) = 2;\n    *(undefined4 *)(puVar15 + -0x10) = 0xc;\n    *(undefined4 *)(puVar15 + -0x14) = 1;\ncode_r0x00201ba6:\n    *(undefined1 **)(puVar15 + -0x18) = puVar15 + 0x3c;\n    *(undefined4 *)(puVar15 + -0x1c) = *(undefined4 *)(puVar15 + 0xa4);\n    *(undefined4 *)(puVar15 + -0x20) = *(undefined4 *)(puVar15 + 0xa0);\n    *(undefined4 *)(puVar15 + -0x24) = *(undefined4 *)(puVar15 + 0x9c);\n    *(undefined4 *)(puVar15 + -0x28) = *(undefined4 *)(puVar15 + 0x98);\n    *(undefined4 *)(puVar15 + -0x2c) = *(undefined4 *)(puVar15 + 0x94);\n    *(undefined1 **)(puVar15 + -0x30) = puVar15 + 0x28;\n    *(undefined **)(puVar15 + -0x34) = &UNK_00201bd4;\n    FUN_001fc0e0();\n    *(undefined4 *)(puVar15 + 0x94) = *(undefined4 *)(puVar15 + 0x24);\n    *(undefined4 *)(puVar15 + 0x98) = *(undefined4 *)(puVar15 + 0x28);\n    puVar16 = puVar15 + -4;\n    if (*(int *)(puVar15 + 0x34) == 0) {\n      *(undefined4 *)(*(int *)(puVar15 + 0xac) + 8) = *(undefined4 *)(puVar15 + 0x38);\n      puVar16 = puVar15 + -4;\n    }\n    break;\n  case 0x4d:\n    *(undefined1 **)(puVar15 + -4) = puVar15 + 0x38;\n    *(undefined4 *)(puVar15 + -8) = *(undefined4 *)(puVar15 + 0xa8);\n    *(undefined4 *)(puVar15 + -0xc) = 2;\n    *(undefined4 *)(puVar15 + -0x10) = 0x3b;\n    *(undefined4 *)(puVar15 + -0x14) = 0;\n    *(undefined1 **)(puVar15 + -0x18) = puVar15 + 0x3c;\n    *(undefined4 *)(puVar15 + -0x1c) = *(undefined4 *)(puVar15 + 0xa4);\n    *(undefined4 *)(puVar15 + -0x20) = *(undefined4 *)(puVar15 + 0xa0);\n    *(undefined4 *)(puVar15 + -0x24) = *(undefined4 *)(puVar15 + 0x9c);\n    *(undefined4 *)(puVar15 + -0x28) = *(undefined4 *)(puVar15 + 0x98);\n    *(undefined4 *)(puVar15 + -0x2c) = *(undefined4 *)(puVar15 + 0x94);\n    *(undefined1 **)(puVar15 + -0x30) = puVar15 + 0x28;\n    *(undefined **)(puVar15 + -0x34) = &UNK_00201c54;\n    FUN_001fc0e0();\n    *(undefined4 *)(puVar15 + 0x94) = *(undefined4 *)(puVar15 + 0x24);\n    *(undefined4 *)(puVar15 + 0x98) = *(undefined4 *)(puVar15 + 0x28);\n    puVar16 = puVar15 + -4;\n    if (*(int *)(puVar15 + 0x34) == 0) {\n      *(undefined4 *)(*(int *)(puVar15 + 0xac) + 4) = *(undefined4 *)(puVar15 + 0x38);\n      puVar16 = puVar15 + -4;\n    }\n    break;\n  case 0x52:\n    *(undefined1 **)(puVar15 + -4) = puVar15 + 0x40;\n    *(char **)(puVar15 + -8) = "%H:%M:%S";\n    pcVar11 = "%H:%M";\n    goto code_r0x00201ca2;\n  case 0x53:\n    *(undefined1 **)(puVar15 + -4) = puVar15 + 0x38;\n    *(undefined4 *)(puVar15 + -8) = *(undefined4 *)(puVar15 + 0xa8);\n    *(undefined4 *)(puVar15 + -0xc) = 2;\n    *(undefined4 *)(puVar15 + -0x10) = 0x3c;\n    *(undefined4 *)(puVar15 + -0x14) = 0;\n    *(undefined1 **)(puVar15 + -0x18) = puVar15 + 0x3c;\n    *(undefined4 *)(puVar15 + -0x1c) = *(undefined4 *)(puVar15 + 0xa4);\n    *(undefined4 *)(puVar15 + -0x20) = *(undefined4 *)(puVar15 + 0xa0);\n    *(undefined4 *)(puVar15 + -0x24) = *(undefined4 *)(puVar15 + 0x9c);\n    *(undefined4 *)(puVar15 + -0x28) = *(undefined4 *)(puVar15 + 0x98);\n    *(undefined4 *)(puVar15 + -0x2c) = *(undefined4 *)(puVar15 + 0x94);\n    *(undefined1 **)(puVar15 + -0x30) = puVar15 + 0x28;\n    *(undefined **)(puVar15 + -0x34) = &UNK_00201cfc;\n    FUN_001fc0e0();\n    *(undefined4 *)(puVar15 + 0x94) = *(undefined4 *)(puVar15 + 0x24);\n    *(undefined4 *)(puVar15 + 0x98) = *(undefined4 *)(puVar15 + 0x28);\n    puVar16 = puVar15 + -4;\n    if (*(int *)(puVar15 + 0x34) == 0) {\n      **(undefined4 **)(puVar15 + 0xac) = *(undefined4 *)(puVar15 + 0x38);\n      puVar16 = puVar15 + -4;\n    }\n    break;\n  case 0x54:\n    *(undefined1 **)(puVar15 + -4) = puVar15 + 0x40;\n    *(undefined **)(puVar15 + -8) = &UNK_002a3ef6;\n    pcVar11 = "%H:%M:%S";\ncode_r0x00201ca2:\n    *(char **)(puVar15 + -0xc) = pcVar11;\n    *(int **)(puVar15 + -0x10) = piVar10;\n    *(undefined **)(puVar15 + -0x14) = &UNK_00201ca9;\n    FUN_001f94d0();\n    *(undefined1 **)(puVar15 + -0xc) = puVar15 + 0x40;\n    goto code_r0x00201b30;\n  case 0x58:\n    *(undefined4 *)(puVar15 + -0xc) = *(undefined4 *)(*(int *)(*(int *)(puVar15 + 0x18) + 8) + 0x10)\n    ;\n    goto code_r0x00201b30;\n  case 0x5a:\n    *(undefined **)(puVar15 + -4) = &UNK_00201d80;\n    uVar18 = FUN_001f91d0();\n    if ((*(byte *)(piVar10[6] + 1 + (uVar18 & 0xff) * 2) & 1) == 0) goto LAB_00201ab8;\n    *(undefined1 **)(puVar15 + 0x14) = puVar15 + 0x28;\n    puVar2 = puVar15 + 0x38;\n    *(undefined1 **)(puVar15 + -8) = puVar2;\n    *(undefined4 *)(puVar15 + -0xc) = *(undefined4 *)(puVar15 + 0xa8);\n    *(undefined4 *)(puVar15 + -0x10) = 0xe;\n    *(undefined4 *)(puVar15 + -0x14) = *(undefined4 *)(puVar15 + 0x24);\n    puVar3 = puVar15 + 0x40;\n    *(undefined1 **)(puVar15 + -0x18) = puVar3;\n    *(undefined4 *)(puVar15 + -0x1c) = *(undefined4 *)(puVar15 + 0xa4);\n    *(undefined4 *)(puVar15 + -0x20) = *(undefined4 *)(puVar15 + 0xa0);\n    *(undefined4 *)(puVar15 + -0x24) = *(undefined4 *)(puVar15 + 0x9c);\n    *(undefined4 *)(puVar15 + -0x28) = *(undefined4 *)(puVar15 + 0x98);\n    *(undefined4 *)(puVar15 + -0x2c) = *(undefined4 *)(puVar15 + 0x94);\n    *(undefined1 **)(puVar15 + -0x30) = puVar15 + 0x28;\n    *(undefined **)(puVar15 + -0x34) = &UNK_00201ddc;\n    FUN_00201020();\n    *(undefined4 *)(puVar15 + 0x94) = *(undefined4 *)(puVar15 + 0x24);\n    *(undefined4 *)(puVar15 + 0x98) = *(undefined4 *)(puVar15 + 0x28);\n    *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0xc);\n    *(undefined4 *)(puVar15 + -0x14) = *(undefined4 *)(puVar15 + 4);\n    *(undefined **)(puVar15 + -0x18) = &UNK_00201e02;\n    cVar6 = FUN_00200f70();\n    puVar16 = puVar15 + -4;\n    if ((cVar6 != '\0') ||\n       (puVar16 = puVar15 + -4, *(int *)(puVar15 + 0x34) != 0 || *(int *)(puVar15 + 0x3c) != 0))\n    break;\n    *(undefined **)(puVar15 + -8) = &UNK_00201e2b;\n    uVar12 = FUN_001f91d0();\n    iVar1 = piVar10[7];\n    *(undefined4 *)(puVar15 + 0x1c) = uVar12;\n    if ((char)iVar1 == '\0') {\n      *(undefined **)(puVar15 + -8) = &UNK_002023c1;\n      cVar6 = FUN_001f9220();\n    }\n    else {\n      cVar6 = *(char *)((int)piVar10 + 0x4a);\n    }\n    if (puVar15[0x1c] != cVar6) {\n      *(undefined **)(puVar15 + -8) = &UNK_00201e53;\n      uVar12 = FUN_001f91d0();\n      iVar1 = piVar10[7];\n      *(undefined4 *)(puVar15 + 0x1c) = uVar12;\n      if ((char)iVar1 == '\0') {\n        *(undefined **)(puVar15 + -8) = &UNK_002023d2;\n        cVar6 = FUN_001f9220();\n      }\n      else {\n        cVar6 = (char)piVar10[0x12];\n      }\n      puVar16 = puVar15 + -4;\n      if (puVar15[0x1c] != cVar6) break;\n    }\n    *(undefined1 **)(puVar15 + -8) = puVar2;\n    *(undefined4 *)(puVar15 + -0xc) = *(undefined4 *)(puVar15 + 0xa4);\n    *(undefined4 *)(puVar15 + -0x10) = 2;\n    *(undefined4 *)(puVar15 + -0x14) = 0x17;\n    *(undefined4 *)(puVar15 + -0x18) = 0;\n    *(undefined1 **)(puVar15 + -0x1c) = puVar3;\n    *(undefined4 *)(puVar15 + -0x20) = *(undefined4 *)(puVar15 + 0xa0);\n    *(undefined4 *)(puVar15 + -0x24) = *(undefined4 *)(puVar15 + 0x9c);\n    *(undefined4 *)(puVar15 + -0x28) = *(undefined4 *)(puVar15 + 0x98);\n    *(undefined4 *)(puVar15 + -0x2c) = *(undefined4 *)(puVar15 + 0x94);\n    *(undefined4 *)(puVar15 + -0x30) = *(undefined4 *)(puVar15 + 0x90);\n    *(undefined4 *)(puVar15 + -0x34) = *(undefined4 *)(puVar15 + 0x10);\n    *(undefined **)(puVar15 + -0x38) = &UNK_00201eaa;\n    FUN_001fc0e0();\n    *(undefined4 *)(puVar15 + 0x90) = *(undefined4 *)(puVar15 + 0x20);\n    *(undefined4 *)(puVar15 + 0x94) = *(undefined4 *)(puVar15 + 0x24);\n    *(undefined1 **)(puVar15 + -0xc) = puVar2;\n    *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0xa0);\n    *(undefined4 *)(puVar15 + -0x14) = 2;\n    *(undefined4 *)(puVar15 + -0x18) = 0x3b;\n    *(undefined4 *)(puVar15 + -0x1c) = 0;\n    *(undefined1 **)(puVar15 + -0x20) = puVar3;\n    *(undefined4 *)(puVar15 + -0x24) = *(undefined4 *)(puVar15 + 0x9c);\n    *(undefined4 *)(puVar15 + -0x28) = *(undefined4 *)(puVar15 + 0x98);\n    *(undefined4 *)(puVar15 + -0x2c) = *(undefined4 *)(puVar15 + 0x24);\n    *(undefined4 *)(puVar15 + -0x30) = *(undefined4 *)(puVar15 + 0x20);\n    *(undefined4 *)(puVar15 + -0x34) = *(undefined4 *)(puVar15 + 0x8c);\n    puVar17 = puVar15 + -0x38;\n    *(undefined4 *)(puVar15 + -0x38) = *(undefined4 *)(puVar15 + 0xc);\n    *(undefined **)(puVar15 + -0x3c) = &UNK_00201ef2;\n    FUN_001fc0e0();\n    goto code_r0x00201b6c;\n  case 0x61:\n    iVar1 = *(int *)(*(int *)(puVar15 + 0x18) + 8);\n    *(undefined4 *)(puVar15 + 0x40) = *(undefined4 *)(iVar1 + 0x48);\n    *(undefined4 *)(puVar15 + 0x44) = *(undefined4 *)(iVar1 + 0x4c);\n    *(undefined4 *)(puVar15 + 0x48) = *(undefined4 *)(iVar1 + 0x50);\n    *(undefined4 *)(puVar15 + 0x4c) = *(undefined4 *)(iVar1 + 0x54);\n    *(undefined4 *)(puVar15 + 0x50) = *(undefined4 *)(iVar1 + 0x58);\n    *(undefined4 *)(puVar15 + 0x54) = *(undefined4 *)(iVar1 + 0x5c);\n    uVar12 = *(undefined4 *)(iVar1 + 0x60);\ncode_r0x00201f34:\n    *(undefined4 *)(puVar15 + 0x58) = uVar12;\n    *(undefined1 **)(puVar15 + -8) = puVar15 + 0x38;\n    *(undefined4 *)(puVar15 + -0xc) = *(undefined4 *)(puVar15 + 0xa8);\n    *(undefined4 *)(puVar15 + -0x10) = 7;\n    *(undefined1 **)(puVar15 + -0x14) = puVar15 + 0x40;\n    *(undefined1 **)(puVar15 + -0x18) = puVar15 + 0x3c;\n    *(undefined4 *)(puVar15 + -0x1c) = *(undefined4 *)(puVar15 + 0xa4);\n    *(undefined4 *)(puVar15 + -0x20) = *(undefined4 *)(puVar15 + 0xa0);\n    *(undefined4 *)(puVar15 + -0x24) = *(undefined4 *)(puVar15 + 0x9c);\n    *(undefined4 *)(puVar15 + -0x28) = *(undefined4 *)(puVar15 + 0x98);\n    *(undefined4 *)(puVar15 + -0x2c) = *(undefined4 *)(puVar15 + 0x94);\n    *(undefined1 **)(puVar15 + -0x30) = puVar15 + 0x28;\n    *(undefined **)(puVar15 + -0x34) = &UNK_00201f80;\n    FUN_00201020();\n    *(undefined4 *)(puVar15 + 0x94) = *(undefined4 *)(puVar15 + 0x24);\n    *(undefined4 *)(puVar15 + 0x98) = *(undefined4 *)(puVar15 + 0x28);\n    puVar16 = puVar15 + -4;\n    if (*(int *)(puVar15 + 0x34) == 0) {\n      *(undefined4 *)(*(int *)(puVar15 + 0xac) + 0x18) = *(undefined4 *)(puVar15 + 0x38);\n      puVar16 = puVar15 + -4;\n    }\n    break;\n  case 0x62:\n  case 0x68:\n    *(undefined1 **)(puVar15 + -0xc) = puVar15 + 0x40;\n    *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0x18);\n    *(undefined **)(puVar15 + -0x14) = &UNK_00202171;\n    FUN_001fb0c0();\ncode_r0x00201fd1:\n    *(undefined1 **)(puVar15 + -8) = puVar15 + 0x38;\n    *(undefined4 *)(puVar15 + -0xc) = *(undefined4 *)(puVar15 + 0xa8);\n    *(undefined4 *)(puVar15 + -0x10) = 0xc;\n    *(undefined1 **)(puVar15 + -0x14) = puVar15 + 0x40;\n    *(undefined1 **)(puVar15 + -0x18) = puVar15 + 0x3c;\n    *(undefined4 *)(puVar15 + -0x1c) = *(undefined4 *)(puVar15 + 0xa4);\n    *(undefined4 *)(puVar15 + -0x20) = *(undefined4 *)(puVar15 + 0xa0);\n    *(undefined4 *)(puVar15 + -0x24) = *(undefined4 *)(puVar15 + 0x9c);\n    *(undefined4 *)(puVar15 + -0x28) = *(undefined4 *)(puVar15 + 0x98);\n    *(undefined4 *)(puVar15 + -0x2c) = *(undefined4 *)(puVar15 + 0x94);\n    *(undefined1 **)(puVar15 + -0x30) = puVar15 + 0x28;\n    *(undefined **)(puVar15 + -0x34) = &UNK_00202015;\n    FUN_00201020();\n    *(undefined4 *)(puVar15 + 0x94) = *(undefined4 *)(puVar15 + 0x24);\n    *(undefined4 *)(puVar15 + 0x98) = *(undefined4 *)(puVar15 + 0x28);\n    puVar16 = puVar15 + -4;\n    if (*(int *)(puVar15 + 0x34) == 0) {\n      *(undefined4 *)(*(int *)(puVar15 + 0xac) + 0x10) = *(undefined4 *)(puVar15 + 0x38);\n      puVar16 = puVar15 + -4;\n    }\n    break;\n  case 99:\n    *(undefined4 *)(puVar15 + -0xc) = *(undefined4 *)(*(int *)(*(int *)(puVar15 + 0x18) + 8) + 0x18)\n    ;\n    goto code_r0x00201b30;\n  case 100:\n    *(undefined1 **)(puVar15 + -4) = puVar15 + 0x38;\n    *(undefined4 *)(puVar15 + -8) = *(undefined4 *)(puVar15 + 0xa8);\n    *(undefined4 *)(puVar15 + -0xc) = 2;\n    *(undefined4 *)(puVar15 + -0x10) = 0x1f;\n    *(undefined4 *)(puVar15 + -0x14) = 1;\n    goto code_r0x002021b6;\n  case 0x65:\n    *(undefined **)(puVar15 + -4) = &UNK_00202230;\n    uVar18 = FUN_001f91d0();\n    if ((*(byte *)(piVar10[6] + 1 + (uVar18 & 0xff) * 2) & 0x20) == 0) {\n      *(undefined1 **)(puVar15 + -4) = puVar15 + 0x38;\n      *(undefined4 *)(puVar15 + -8) = *(undefined4 *)(puVar15 + 0xa8);\n      *(undefined4 *)(puVar15 + -0xc) = 2;\n      *(undefined4 *)(puVar15 + -0x10) = 0x1f;\n      *(undefined4 *)(puVar15 + -0x14) = 10;\n    }\n    else {\n      *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0x98);\n      *(undefined **)(puVar15 + -0x14) = &UNK_00202250;\n      FUN_001f24d0();\n      *(undefined4 *)(puVar15 + 0x9c) = 0xffffffff;\n      *(undefined1 **)(puVar15 + -4) = puVar15 + 0x38;\n      *(undefined4 *)(puVar15 + -8) = *(undefined4 *)(puVar15 + 0xa8);\n      *(undefined4 *)(puVar15 + -0xc) = 1;\n      *(undefined4 *)(puVar15 + -0x10) = 9;\n      *(undefined4 *)(puVar15 + -0x14) = 1;\n    }\ncode_r0x002021b6:\n    *(undefined1 **)(puVar15 + -0x18) = puVar15 + 0x3c;\n    *(undefined4 *)(puVar15 + -0x1c) = *(undefined4 *)(puVar15 + 0xa4);\n    *(undefined4 *)(puVar15 + -0x20) = *(undefined4 *)(puVar15 + 0xa0);\n    *(undefined4 *)(puVar15 + -0x24) = *(undefined4 *)(puVar15 + 0x9c);\n    *(undefined4 *)(puVar15 + -0x28) = *(undefined4 *)(puVar15 + 0x98);\n    *(undefined4 *)(puVar15 + -0x2c) = *(undefined4 *)(puVar15 + 0x94);\n    *(undefined1 **)(puVar15 + -0x30) = puVar15 + 0x28;\n    *(undefined **)(puVar15 + -0x34) = &UNK_002021e4;\n    FUN_001fc0e0();\n    *(undefined4 *)(puVar15 + 0x94) = *(undefined4 *)(puVar15 + 0x24);\n    *(undefined4 *)(puVar15 + 0x98) = *(undefined4 *)(puVar15 + 0x28);\n    puVar16 = puVar15 + -4;\n    if (*(int *)(puVar15 + 0x34) == 0) {\n      *(undefined4 *)(*(int *)(puVar15 + 0xac) + 0xc) = *(undefined4 *)(puVar15 + 0x38);\n      puVar16 = puVar15 + -4;\n    }\n    break;\n  case 0x6d:\n    *(undefined1 **)(puVar15 + -4) = puVar15 + 0x38;\n    *(undefined4 *)(puVar15 + -8) = *(undefined4 *)(puVar15 + 0xa8);\n    *(undefined4 *)(puVar15 + -0xc) = 2;\n    *(undefined4 *)(puVar15 + -0x10) = 0xc;\n    *(undefined4 *)(puVar15 + -0x14) = 1;\n    *(undefined1 **)(puVar15 + -0x18) = puVar15 + 0x3c;\n    *(undefined4 *)(puVar15 + -0x1c) = *(undefined4 *)(puVar15 + 0xa4);\n    *(undefined4 *)(puVar15 + -0x20) = *(undefined4 *)(puVar15 + 0xa0);\n    *(undefined4 *)(puVar15 + -0x24) = *(undefined4 *)(puVar15 + 0x9c);\n    *(undefined4 *)(puVar15 + -0x28) = *(undefined4 *)(puVar15 + 0x98);\n    *(undefined4 *)(puVar15 + -0x2c) = *(undefined4 *)(puVar15 + 0x94);\n    *(undefined1 **)(puVar15 + -0x30) = puVar15 + 0x28;\n    *(undefined **)(puVar15 + -0x34) = &UNK_002022c4;\n    FUN_001fc0e0();\n    *(undefined4 *)(puVar15 + 0x94) = *(undefined4 *)(puVar15 + 0x24);\n    *(undefined4 *)(puVar15 + 0x98) = *(undefined4 *)(puVar15 + 0x28);\n    puVar16 = puVar15 + -4;\n    if (*(int *)(puVar15 + 0x34) == 0) {\n      *(int *)(*(int *)(puVar15 + 0xac) + 0x10) = *(int *)(puVar15 + 0x38) + -1;\n      puVar16 = puVar15 + -4;\n    }\n    break;\n  case 0x6e:\n    *(undefined **)(puVar15 + -4) = &UNK_00202310;\n    bVar9 = FUN_001f91d0();\n    bVar8 = *(byte *)((int)piVar10 + bVar9 + 0x11d);\n    if (bVar8 == 0) {\n      pcVar4 = *(code **)(*piVar10 + 0x20);\n      bVar8 = bVar9;\n      if (pcVar4 != (code *)PTR_FUN_0038ed98) {\n        *(undefined4 *)(puVar15 + -8) = 0;\n        *(int *)(puVar15 + -0xc) = (int)(char)bVar9;\n        *(int **)(puVar15 + -0x10) = piVar10;\n        *(undefined **)(puVar15 + -0x14) = &UNK_002023ab;\n        bVar8 = (*pcVar4)();\n      }\n      if (bVar8 == 0) goto LAB_00201ab8;\n      *(byte *)((int)piVar10 + bVar9 + 0x11d) = bVar8;\n    }\n    if (bVar8 != 10) goto LAB_00201ab8;\ncode_r0x00202346:\n    *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0x98);\n    *(undefined **)(puVar15 + -0x14) = &UNK_00202355;\n    FUN_001f24d0();\n    *(undefined4 *)(puVar15 + 0x9c) = 0xffffffff;\n    break;\n  case 0x74:\n    *(undefined **)(puVar15 + -4) = &UNK_00201a70;\n    bVar9 = FUN_001f91d0();\n    bVar8 = *(byte *)((int)piVar10 + bVar9 + 0x11d);\n    if (bVar8 == 0) {\n      pcVar4 = *(code **)(*piVar10 + 0x20);\n      bVar8 = bVar9;\n      if (pcVar4 != *(code **)(puVar15 + 0x1c)) {\n        *(undefined4 *)(puVar15 + -8) = 0;\n        *(int *)(puVar15 + -0xc) = (int)(char)bVar9;\n        *(int **)(puVar15 + -0x10) = piVar10;\n        *(undefined **)(puVar15 + -0x14) = &UNK_00201a98;\n        bVar8 = (*pcVar4)();\n      }\n      if (bVar8 == 0) goto LAB_00201ab8;\n      *(byte *)((int)piVar10 + bVar9 + 0x11d) = bVar8;\n    }\n    if (bVar8 == 9) goto code_r0x00202346;\n    goto LAB_00201ab8;\n  case 0x78:\n    *(undefined4 *)(puVar15 + -0xc) = *(undefined4 *)(*(int *)(*(int *)(puVar15 + 0x18) + 8) + 8);\ncode_r0x00201b30:\n    *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0xb0);\n    *(undefined1 **)(puVar15 + -0x14) = puVar15 + 0x38;\n    *(undefined4 *)(puVar15 + -0x18) = *(undefined4 *)(puVar15 + 0xa8);\n    *(undefined4 *)(puVar15 + -0x1c) = *(undefined4 *)(puVar15 + 0xa4);\n    *(undefined4 *)(puVar15 + -0x20) = *(undefined4 *)(puVar15 + 0xa0);\n    *(undefined4 *)(puVar15 + -0x24) = *(undefined4 *)(puVar15 + 0x9c);\n    *(undefined4 *)(puVar15 + -0x28) = *(undefined4 *)(puVar15 + 0x98);\n    *(undefined4 *)(puVar15 + -0x2c) = *(undefined4 *)(puVar15 + 0x94);\n    puVar17 = puVar15 + -0x30;\n    *(undefined1 **)(puVar15 + -0x30) = puVar15 + 0x28;\n    *(undefined **)(puVar15 + -0x34) = &UNK_00201b6c;\n    FUN_00201820();\ncode_r0x00201b6c:\n    *(undefined4 *)(puVar17 + 0xc4) = *(undefined4 *)(puVar17 + 0x54);\n    *(undefined4 *)(puVar17 + 200) = *(undefined4 *)(puVar17 + 0x58);\n    puVar16 = puVar17 + 0x2c;\n  }" { (case_statement "case 0x41:\n    iVar1 = *(int *)(*(int *)(puVar15 + 0x18) + 8);\n    *(undefined4 *)(puVar15 + 0x40) = *(undefined4 *)(iVar1 + 0x2c);\n    *(undefined4 *)(puVar15 + 0x44) = *(undefined4 *)(iVar1 + 0x30);\n    *(undefined4 *)(puVar15 + 0x48) = *(undefined4 *)(iVar1 + 0x34);\n    *(undefined4 *)(puVar15 + 0x4c) = *(undefined4 *)(iVar1 + 0x38);\n    *(undefined4 *)(puVar15 + 0x50) = *(undefined4 *)(iVar1 + 0x3c);\n    *(undefined4 *)(puVar15 + 0x54) = *(undefined4 *)(iVar1 + 0x40);\n    uVar12 = *(undefined4 *)(iVar1 + 0x44);\n    goto code_r0x00201f34;" case number_literal : (expression_statement "iVar1 = *(int *)(*(int *)(puVar15 + 0x18) + 8);" (assignment_expression "iVar1 = *(int *)(*(int *)(puVar15 + 0x18) + 8)" identifier = (pointer_expression "*(int *)(*(int *)(puVar15 + 0x18) + 8)" * (cast_expression "(int *)(*(int *)(puVar15 + 0x18) + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar15 + 0x18) + 8)" ( (binary_expression "*(int *)(puVar15 + 0x18) + 8" (pointer_expression "*(int *)(puVar15 + 0x18)" * (cast_expression "(int *)(puVar15 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x18)" ( (binary_expression "puVar15 + 0x18" identifier + number_literal) )))) + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar15 + 0x40) = *(undefined4 *)(iVar1 + 0x2c);" (assignment_expression "*(undefined4 *)(puVar15 + 0x40) = *(undefined4 *)(iVar1 + 0x2c)" (pointer_expression "*(undefined4 *)(puVar15 + 0x40)" * (cast_expression "(undefined4 *)(puVar15 + 0x40)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x40)" ( (binary_expression "puVar15 + 0x40" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(iVar1 + 0x2c)" * (cast_expression "(undefined4 *)(iVar1 + 0x2c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x2c)" ( (binary_expression "iVar1 + 0x2c" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar15 + 0x44) = *(undefined4 *)(iVar1 + 0x30);" (assignment_expression "*(undefined4 *)(puVar15 + 0x44) = *(undefined4 *)(iVar1 + 0x30)" (pointer_expression "*(undefined4 *)(puVar15 + 0x44)" * (cast_expression "(undefined4 *)(puVar15 + 0x44)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x44)" ( (binary_expression "puVar15 + 0x44" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(iVar1 + 0x30)" * (cast_expression "(undefined4 *)(iVar1 + 0x30)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x30)" ( (binary_expression "iVar1 + 0x30" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar15 + 0x48) = *(undefined4 *)(iVar1 + 0x34);" (assignment_expression "*(undefined4 *)(puVar15 + 0x48) = *(undefined4 *)(iVar1 + 0x34)" (pointer_expression "*(undefined4 *)(puVar15 + 0x48)" * (cast_expression "(undefined4 *)(puVar15 + 0x48)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x48)" ( (binary_expression "puVar15 + 0x48" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(iVar1 + 0x34)" * (cast_expression "(undefined4 *)(iVar1 + 0x34)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x34)" ( (binary_expression "iVar1 + 0x34" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar15 + 0x4c) = *(undefined4 *)(iVar1 + 0x38);" (assignment_expression "*(undefined4 *)(puVar15 + 0x4c) = *(undefined4 *)(iVar1 + 0x38)" (pointer_expression "*(undefined4 *)(puVar15 + 0x4c)" * (cast_expression "(undefined4 *)(puVar15 + 0x4c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x4c)" ( (binary_expression "puVar15 + 0x4c" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(iVar1 + 0x38)" * (cast_expression "(undefined4 *)(iVar1 + 0x38)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x38)" ( (binary_expression "iVar1 + 0x38" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar15 + 0x50) = *(undefined4 *)(iVar1 + 0x3c);" (assignment_expression "*(undefined4 *)(puVar15 + 0x50) = *(undefined4 *)(iVar1 + 0x3c)" (pointer_expression "*(undefined4 *)(puVar15 + 0x50)" * (cast_expression "(undefined4 *)(puVar15 + 0x50)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x50)" ( (binary_expression "puVar15 + 0x50" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(iVar1 + 0x3c)" * (cast_expression "(undefined4 *)(iVar1 + 0x3c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x3c)" ( (binary_expression "iVar1 + 0x3c" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar15 + 0x54) = *(undefined4 *)(iVar1 + 0x40);" (assignment_expression "*(undefined4 *)(puVar15 + 0x54) = *(undefined4 *)(iVar1 + 0x40)" (pointer_expression "*(undefined4 *)(puVar15 + 0x54)" * (cast_expression "(undefined4 *)(puVar15 + 0x54)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x54)" ( (binary_expression "puVar15 + 0x54" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(iVar1 + 0x40)" * (cast_expression "(undefined4 *)(iVar1 + 0x40)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x40)" ( (binary_expression "iVar1 + 0x40" identifier + number_literal) ))))) ;) (expression_statement "uVar12 = *(undefined4 *)(iVar1 + 0x44);" (assignment_expression "uVar12 = *(undefined4 *)(iVar1 + 0x44)" identifier = (pointer_expression "*(undefined4 *)(iVar1 + 0x44)" * (cast_expression "(undefined4 *)(iVar1 + 0x44)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x44)" ( (binary_expression "iVar1 + 0x44" identifier + number_literal) ))))) ;) (goto_statement "goto code_r0x00201f34;" goto statement_identifier ;)) (case_statement "case 0x42:\n    *(undefined1 **)(puVar15 + -0xc) = puVar15 + 0x40;\n    *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0x18);\n    *(undefined **)(puVar15 + -0x14) = &UNK_00201fd1;\n    FUN_001fb050();\n    goto code_r0x00201fd1;" case number_literal : (expression_statement "*(undefined1 **)(puVar15 + -0xc) = puVar15 + 0x40;" (assignment_expression "*(undefined1 **)(puVar15 + -0xc) = puVar15 + 0x40" (pointer_expression "*(undefined1 **)(puVar15 + -0xc)" * (cast_expression "(undefined1 **)(puVar15 + -0xc)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + -0xc)" ( (binary_expression "puVar15 + -0xc" identifier + number_literal) )))) = (binary_expression "puVar15 + 0x40" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0x18);" (assignment_expression "*(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0x18)" (pointer_expression "*(undefined4 *)(puVar15 + -0x10)" * (cast_expression "(undefined4 *)(puVar15 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x10)" ( (binary_expression "puVar15 + -0x10" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar15 + 0x18)" * (cast_expression "(undefined4 *)(puVar15 + 0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x18)" ( (binary_expression "puVar15 + 0x18" identifier + number_literal) ))))) ;) (expression_statement "*(undefined **)(puVar15 + -0x14) = &UNK_00201fd1;" (assignment_expression "*(undefined **)(puVar15 + -0x14) = &UNK_00201fd1" (pointer_expression "*(undefined **)(puVar15 + -0x14)" * (cast_expression "(undefined **)(puVar15 + -0x14)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + -0x14)" ( (binary_expression "puVar15 + -0x14" identifier + number_literal) )))) = (pointer_expression "&UNK_00201fd1" & identifier)) ;) (expression_statement "FUN_001fb050();" (call_expression "FUN_001fb050()" identifier (argument_list "()" ( ))) ;) (goto_statement "goto code_r0x00201fd1;" goto statement_identifier ;)) (case_statement "case 0x43:" case number_literal :) (case_statement "case 0x59:" case number_literal :) (case_statement "case 0x79:\n    *(undefined1 **)(puVar15 + -4) = puVar15 + 0x38;\n    *(undefined4 *)(puVar15 + -8) = *(undefined4 *)(puVar15 + 0xa8);\n    *(undefined4 *)(puVar15 + -0xc) = 4;\n    *(undefined4 *)(puVar15 + -0x10) = 9999;\n    *(undefined4 *)(puVar15 + -0x14) = 0;\n    *(undefined1 **)(puVar15 + -0x18) = puVar15 + 0x3c;\n    *(undefined4 *)(puVar15 + -0x1c) = *(undefined4 *)(puVar15 + 0xa4);\n    *(undefined4 *)(puVar15 + -0x20) = *(undefined4 *)(puVar15 + 0xa0);\n    *(undefined4 *)(puVar15 + -0x24) = *(undefined4 *)(puVar15 + 0x9c);\n    *(undefined4 *)(puVar15 + -0x28) = *(undefined4 *)(puVar15 + 0x98);\n    *(undefined4 *)(puVar15 + -0x2c) = *(undefined4 *)(puVar15 + 0x94);\n    *(undefined1 **)(puVar15 + -0x30) = puVar15 + 0x28;\n    *(undefined **)(puVar15 + -0x34) = &UNK_00202097;\n    FUN_001fc0e0();\n    *(undefined4 *)(puVar15 + 0x94) = *(undefined4 *)(puVar15 + 0x24);\n    *(undefined4 *)(puVar15 + 0x98) = *(undefined4 *)(puVar15 + 0x28);\n    puVar16 = puVar15 + -4;\n    if (*(int *)(puVar15 + 0x34) == 0) {\n      iVar1 = *(int *)(puVar15 + 0x38);\n      iVar13 = iVar1 + -0x76c;\n      if (iVar1 < 0) {\n        iVar13 = iVar1 + 100;\n      }\n      *(int *)(*(int *)(puVar15 + 0xac) + 0x14) = iVar13;\n      puVar16 = puVar15 + -4;\n    }\n    break;" case number_literal : (expression_statement "*(undefined1 **)(puVar15 + -4) = puVar15 + 0x38;" (assignment_expression "*(undefined1 **)(puVar15 + -4) = puVar15 + 0x38" (pointer_expression "*(undefined1 **)(puVar15 + -4)" * (cast_expression "(undefined1 **)(puVar15 + -4)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + -4)" ( (binary_expression "puVar15 + -4" identifier + number_literal) )))) = (binary_expression "puVar15 + 0x38" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar15 + -8) = *(undefined4 *)(puVar15 + 0xa8);" (assignment_expression "*(undefined4 *)(puVar15 + -8) = *(undefined4 *)(puVar15 + 0xa8)" (pointer_expression "*(undefined4 *)(puVar15 + -8)" * (cast_expression "(undefined4 *)(puVar15 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -8)" ( (binary_expression "puVar15 + -8" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar15 + 0xa8)" * (cast_expression "(undefined4 *)(puVar15 + 0xa8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0xa8)" ( (binary_expression "puVar15 + 0xa8" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar15 + -0xc) = 4;" (assignment_expression "*(undefined4 *)(puVar15 + -0xc) = 4" (pointer_expression "*(undefined4 *)(puVar15 + -0xc)" * (cast_expression "(undefined4 *)(puVar15 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0xc)" ( (binary_expression "puVar15 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x10) = 9999;" (assignment_expression "*(undefined4 *)(puVar15 + -0x10) = 9999" (pointer_expression "*(undefined4 *)(puVar15 + -0x10)" * (cast_expression "(undefined4 *)(puVar15 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x10)" ( (binary_expression "puVar15 + -0x10" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x14) = 0;" (assignment_expression "*(undefined4 *)(puVar15 + -0x14) = 0" (pointer_expression "*(undefined4 *)(puVar15 + -0x14)" * (cast_expression "(undefined4 *)(puVar15 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x14)" ( (binary_expression "puVar15 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined1 **)(puVar15 + -0x18) = puVar15 + 0x3c;" (assignment_expression "*(undefined1 **)(puVar15 + -0x18) = puVar15 + 0x3c" (pointer_expression "*(undefined1 **)(puVar15 + -0x18)" * (cast_expression "(undefined1 **)(puVar15 + -0x18)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + -0x18)" ( (binary_expression "puVar15 + -0x18" identifier + number_literal) )))) = (binary_expression "puVar15 + 0x3c" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x1c) = *(undefined4 *)(puVar15 + 0xa4);" (assignment_expression "*(undefined4 *)(puVar15 + -0x1c) = *(undefined4 *)(puVar15 + 0xa4)" (pointer_expression "*(undefined4 *)(puVar15 + -0x1c)" * (cast_expression "(undefined4 *)(puVar15 + -0x1c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x1c)" ( (binary_expression "puVar15 + -0x1c" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar15 + 0xa4)" * (cast_expression "(undefined4 *)(puVar15 + 0xa4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0xa4)" ( (binary_expression "puVar15 + 0xa4" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x20) = *(undefined4 *)(puVar15 + 0xa0);" (assignment_expression "*(undefined4 *)(puVar15 + -0x20) = *(undefined4 *)(puVar15 + 0xa0)" (pointer_expression "*(undefined4 *)(puVar15 + -0x20)" * (cast_expression "(undefined4 *)(puVar15 + -0x20)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x20)" ( (binary_expression "puVar15 + -0x20" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar15 + 0xa0)" * (cast_expression "(undefined4 *)(puVar15 + 0xa0)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0xa0)" ( (binary_expression "puVar15 + 0xa0" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x24) = *(undefined4 *)(puVar15 + 0x9c);" (assignment_expression "*(undefined4 *)(puVar15 + -0x24) = *(undefined4 *)(puVar15 + 0x9c)" (pointer_expression "*(undefined4 *)(puVar15 + -0x24)" * (cast_expression "(undefined4 *)(puVar15 + -0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x24)" ( (binary_expression "puVar15 + -0x24" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar15 + 0x9c)" * (cast_expression "(undefined4 *)(puVar15 + 0x9c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x9c)" ( (binary_expression "puVar15 + 0x9c" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x28) = *(undefined4 *)(puVar15 + 0x98);" (assignment_expression "*(undefined4 *)(puVar15 + -0x28) = *(undefined4 *)(puVar15 + 0x98)" (pointer_expression "*(undefined4 *)(puVar15 + -0x28)" * (cast_expression "(undefined4 *)(puVar15 + -0x28)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x28)" ( (binary_expression "puVar15 + -0x28" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar15 + 0x98)" * (cast_expression "(undefined4 *)(puVar15 + 0x98)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x98)" ( (binary_expression "puVar15 + 0x98" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x2c) = *(undefined4 *)(puVar15 + 0x94);" (assignment_expression "*(undefined4 *)(puVar15 + -0x2c) = *(undefined4 *)(puVar15 + 0x94)" (pointer_expression "*(undefined4 *)(puVar15 + -0x2c)" * (cast_expression "(undefined4 *)(puVar15 + -0x2c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x2c)" ( (binary_expression "puVar15 + -0x2c" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar15 + 0x94)" * (cast_expression "(undefined4 *)(puVar15 + 0x94)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x94)" ( (binary_expression "puVar15 + 0x94" identifier + number_literal) ))))) ;) (expression_statement "*(undefined1 **)(puVar15 + -0x30) = puVar15 + 0x28;" (assignment_expression "*(undefined1 **)(puVar15 + -0x30) = puVar15 + 0x28" (pointer_expression "*(undefined1 **)(puVar15 + -0x30)" * (cast_expression "(undefined1 **)(puVar15 + -0x30)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + -0x30)" ( (binary_expression "puVar15 + -0x30" identifier + number_literal) )))) = (binary_expression "puVar15 + 0x28" identifier + number_literal)) ;) (expression_statement "*(undefined **)(puVar15 + -0x34) = &UNK_00202097;" (assignment_expression "*(undefined **)(puVar15 + -0x34) = &UNK_00202097" (pointer_expression "*(undefined **)(puVar15 + -0x34)" * (cast_expression "(undefined **)(puVar15 + -0x34)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + -0x34)" ( (binary_expression "puVar15 + -0x34" identifier + number_literal) )))) = (pointer_expression "&UNK_00202097" & identifier)) ;) (expression_statement "FUN_001fc0e0();" (call_expression "FUN_001fc0e0()" identifier (argument_list "()" ( ))) ;) (expression_statement "*(undefined4 *)(puVar15 + 0x94) = *(undefined4 *)(puVar15 + 0x24);" (assignment_expression "*(undefined4 *)(puVar15 + 0x94) = *(undefined4 *)(puVar15 + 0x24)" (pointer_expression "*(undefined4 *)(puVar15 + 0x94)" * (cast_expression "(undefined4 *)(puVar15 + 0x94)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x94)" ( (binary_expression "puVar15 + 0x94" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar15 + 0x24)" * (cast_expression "(undefined4 *)(puVar15 + 0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x24)" ( (binary_expression "puVar15 + 0x24" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar15 + 0x98) = *(undefined4 *)(puVar15 + 0x28);" (assignment_expression "*(undefined4 *)(puVar15 + 0x98) = *(undefined4 *)(puVar15 + 0x28)" (pointer_expression "*(undefined4 *)(puVar15 + 0x98)" * (cast_expression "(undefined4 *)(puVar15 + 0x98)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x98)" ( (binary_expression "puVar15 + 0x98" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar15 + 0x28)" * (cast_expression "(undefined4 *)(puVar15 + 0x28)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x28)" ( (binary_expression "puVar15 + 0x28" identifier + number_literal) ))))) ;) (expression_statement "puVar16 = puVar15 + -4;" (assignment_expression "puVar16 = puVar15 + -4" identifier = (binary_expression "puVar15 + -4" identifier + number_literal)) ;) (if_statement "if (*(int *)(puVar15 + 0x34) == 0) {\n      iVar1 = *(int *)(puVar15 + 0x38);\n      iVar13 = iVar1 + -0x76c;\n      if (iVar1 < 0) {\n        iVar13 = iVar1 + 100;\n      }\n      *(int *)(*(int *)(puVar15 + 0xac) + 0x14) = iVar13;\n      puVar16 = puVar15 + -4;\n    }" if (parenthesized_expression "(*(int *)(puVar15 + 0x34) == 0)" ( (binary_expression "*(int *)(puVar15 + 0x34) == 0" (pointer_expression "*(int *)(puVar15 + 0x34)" * (cast_expression "(int *)(puVar15 + 0x34)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x34)" ( (binary_expression "puVar15 + 0x34" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n      iVar1 = *(int *)(puVar15 + 0x38);\n      iVar13 = iVar1 + -0x76c;\n      if (iVar1 < 0) {\n        iVar13 = iVar1 + 100;\n      }\n      *(int *)(*(int *)(puVar15 + 0xac) + 0x14) = iVar13;\n      puVar16 = puVar15 + -4;\n    }" { (expression_statement "iVar1 = *(int *)(puVar15 + 0x38);" (assignment_expression "iVar1 = *(int *)(puVar15 + 0x38)" identifier = (pointer_expression "*(int *)(puVar15 + 0x38)" * (cast_expression "(int *)(puVar15 + 0x38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x38)" ( (binary_expression "puVar15 + 0x38" identifier + number_literal) ))))) ;) (expression_statement "iVar13 = iVar1 + -0x76c;" (assignment_expression "iVar13 = iVar1 + -0x76c" identifier = (binary_expression "iVar1 + -0x76c" identifier + number_literal)) ;) (if_statement "if (iVar1 < 0) {\n        iVar13 = iVar1 + 100;\n      }" if (parenthesized_expression "(iVar1 < 0)" ( (binary_expression "iVar1 < 0" identifier < number_literal) )) (compound_statement "{\n        iVar13 = iVar1 + 100;\n      }" { (expression_statement "iVar13 = iVar1 + 100;" (assignment_expression "iVar13 = iVar1 + 100" identifier = (binary_expression "iVar1 + 100" identifier + number_literal)) ;) })) (expression_statement "*(int *)(*(int *)(puVar15 + 0xac) + 0x14) = iVar13;" (assignment_expression "*(int *)(*(int *)(puVar15 + 0xac) + 0x14) = iVar13" (pointer_expression "*(int *)(*(int *)(puVar15 + 0xac) + 0x14)" * (cast_expression "(int *)(*(int *)(puVar15 + 0xac) + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar15 + 0xac) + 0x14)" ( (binary_expression "*(int *)(puVar15 + 0xac) + 0x14" (pointer_expression "*(int *)(puVar15 + 0xac)" * (cast_expression "(int *)(puVar15 + 0xac)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0xac)" ( (binary_expression "puVar15 + 0xac" identifier + number_literal) )))) + number_literal) )))) = identifier) ;) (expression_statement "puVar16 = puVar15 + -4;" (assignment_expression "puVar16 = puVar15 + -4" identifier = (binary_expression "puVar15 + -4" identifier + number_literal)) ;) })) (break_statement "break;" break ;)) (case_statement "case 0x44:\n    *(undefined1 **)(puVar15 + -4) = puVar15 + 0x40;\n    *(undefined **)(puVar15 + -8) = &UNK_002a3ee7;\n    pcVar11 = "%m/%d/%y";\n    goto code_r0x00201ca2;" case number_literal : (expression_statement "*(undefined1 **)(puVar15 + -4) = puVar15 + 0x40;" (assignment_expression "*(undefined1 **)(puVar15 + -4) = puVar15 + 0x40" (pointer_expression "*(undefined1 **)(puVar15 + -4)" * (cast_expression "(undefined1 **)(puVar15 + -4)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + -4)" ( (binary_expression "puVar15 + -4" identifier + number_literal) )))) = (binary_expression "puVar15 + 0x40" identifier + number_literal)) ;) (expression_statement "*(undefined **)(puVar15 + -8) = &UNK_002a3ee7;" (assignment_expression "*(undefined **)(puVar15 + -8) = &UNK_002a3ee7" (pointer_expression "*(undefined **)(puVar15 + -8)" * (cast_expression "(undefined **)(puVar15 + -8)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + -8)" ( (binary_expression "puVar15 + -8" identifier + number_literal) )))) = (pointer_expression "&UNK_002a3ee7" & identifier)) ;) (expression_statement "pcVar11 = "%m/%d/%y";" (assignment_expression "pcVar11 = "%m/%d/%y"" identifier = (string_literal ""%m/%d/%y"" " string_content ")) ;) (goto_statement "goto code_r0x00201ca2;" goto statement_identifier ;)) (case_statement "default:\n    goto LAB_00201ab8;" default : (goto_statement "goto LAB_00201ab8;" goto statement_identifier ;)) (case_statement "case 0x48:\n    *(undefined1 **)(puVar15 + -4) = puVar15 + 0x38;\n    *(undefined4 *)(puVar15 + -8) = *(undefined4 *)(puVar15 + 0xa8);\n    *(undefined4 *)(puVar15 + -0xc) = 2;\n    *(undefined4 *)(puVar15 + -0x10) = 0x17;\n    *(undefined4 *)(puVar15 + -0x14) = 0;\n    goto code_r0x00201ba6;" case number_literal : (expression_statement "*(undefined1 **)(puVar15 + -4) = puVar15 + 0x38;" (assignment_expression "*(undefined1 **)(puVar15 + -4) = puVar15 + 0x38" (pointer_expression "*(undefined1 **)(puVar15 + -4)" * (cast_expression "(undefined1 **)(puVar15 + -4)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + -4)" ( (binary_expression "puVar15 + -4" identifier + number_literal) )))) = (binary_expression "puVar15 + 0x38" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar15 + -8) = *(undefined4 *)(puVar15 + 0xa8);" (assignment_expression "*(undefined4 *)(puVar15 + -8) = *(undefined4 *)(puVar15 + 0xa8)" (pointer_expression "*(undefined4 *)(puVar15 + -8)" * (cast_expression "(undefined4 *)(puVar15 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -8)" ( (binary_expression "puVar15 + -8" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar15 + 0xa8)" * (cast_expression "(undefined4 *)(puVar15 + 0xa8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0xa8)" ( (binary_expression "puVar15 + 0xa8" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar15 + -0xc) = 2;" (assignment_expression "*(undefined4 *)(puVar15 + -0xc) = 2" (pointer_expression "*(undefined4 *)(puVar15 + -0xc)" * (cast_expression "(undefined4 *)(puVar15 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0xc)" ( (binary_expression "puVar15 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x10) = 0x17;" (assignment_expression "*(undefined4 *)(puVar15 + -0x10) = 0x17" (pointer_expression "*(undefined4 *)(puVar15 + -0x10)" * (cast_expression "(undefined4 *)(puVar15 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x10)" ( (binary_expression "puVar15 + -0x10" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x14) = 0;" (assignment_expression "*(undefined4 *)(puVar15 + -0x14) = 0" (pointer_expression "*(undefined4 *)(puVar15 + -0x14)" * (cast_expression "(undefined4 *)(puVar15 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x14)" ( (binary_expression "puVar15 + -0x14" identifier + number_literal) )))) = number_literal) ;) (goto_statement "goto code_r0x00201ba6;" goto statement_identifier ;)) (case_statement "case 0x49:\n    *(undefined1 **)(puVar15 + -4) = puVar15 + 0x38;\n    *(undefined4 *)(puVar15 + -8) = *(undefined4 *)(puVar15 + 0xa8);\n    *(undefined4 *)(puVar15 + -0xc) = 2;\n    *(undefined4 *)(puVar15 + -0x10) = 0xc;\n    *(undefined4 *)(puVar15 + -0x14) = 1;\ncode_r0x00201ba6:\n    *(undefined1 **)(puVar15 + -0x18) = puVar15 + 0x3c;\n    *(undefined4 *)(puVar15 + -0x1c) = *(undefined4 *)(puVar15 + 0xa4);\n    *(undefined4 *)(puVar15 + -0x20) = *(undefined4 *)(puVar15 + 0xa0);\n    *(undefined4 *)(puVar15 + -0x24) = *(undefined4 *)(puVar15 + 0x9c);\n    *(undefined4 *)(puVar15 + -0x28) = *(undefined4 *)(puVar15 + 0x98);\n    *(undefined4 *)(puVar15 + -0x2c) = *(undefined4 *)(puVar15 + 0x94);\n    *(undefined1 **)(puVar15 + -0x30) = puVar15 + 0x28;\n    *(undefined **)(puVar15 + -0x34) = &UNK_00201bd4;\n    FUN_001fc0e0();\n    *(undefined4 *)(puVar15 + 0x94) = *(undefined4 *)(puVar15 + 0x24);\n    *(undefined4 *)(puVar15 + 0x98) = *(undefined4 *)(puVar15 + 0x28);\n    puVar16 = puVar15 + -4;\n    if (*(int *)(puVar15 + 0x34) == 0) {\n      *(undefined4 *)(*(int *)(puVar15 + 0xac) + 8) = *(undefined4 *)(puVar15 + 0x38);\n      puVar16 = puVar15 + -4;\n    }\n    break;" case number_literal : (expression_statement "*(undefined1 **)(puVar15 + -4) = puVar15 + 0x38;" (assignment_expression "*(undefined1 **)(puVar15 + -4) = puVar15 + 0x38" (pointer_expression "*(undefined1 **)(puVar15 + -4)" * (cast_expression "(undefined1 **)(puVar15 + -4)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + -4)" ( (binary_expression "puVar15 + -4" identifier + number_literal) )))) = (binary_expression "puVar15 + 0x38" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar15 + -8) = *(undefined4 *)(puVar15 + 0xa8);" (assignment_expression "*(undefined4 *)(puVar15 + -8) = *(undefined4 *)(puVar15 + 0xa8)" (pointer_expression "*(undefined4 *)(puVar15 + -8)" * (cast_expression "(undefined4 *)(puVar15 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -8)" ( (binary_expression "puVar15 + -8" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar15 + 0xa8)" * (cast_expression "(undefined4 *)(puVar15 + 0xa8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0xa8)" ( (binary_expression "puVar15 + 0xa8" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar15 + -0xc) = 2;" (assignment_expression "*(undefined4 *)(puVar15 + -0xc) = 2" (pointer_expression "*(undefined4 *)(puVar15 + -0xc)" * (cast_expression "(undefined4 *)(puVar15 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0xc)" ( (binary_expression "puVar15 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x10) = 0xc;" (assignment_expression "*(undefined4 *)(puVar15 + -0x10) = 0xc" (pointer_expression "*(undefined4 *)(puVar15 + -0x10)" * (cast_expression "(undefined4 *)(puVar15 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x10)" ( (binary_expression "puVar15 + -0x10" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x14) = 1;" (assignment_expression "*(undefined4 *)(puVar15 + -0x14) = 1" (pointer_expression "*(undefined4 *)(puVar15 + -0x14)" * (cast_expression "(undefined4 *)(puVar15 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x14)" ( (binary_expression "puVar15 + -0x14" identifier + number_literal) )))) = number_literal) ;) (labeled_statement "code_r0x00201ba6:\n    *(undefined1 **)(puVar15 + -0x18) = puVar15 + 0x3c;" statement_identifier : (expression_statement "*(undefined1 **)(puVar15 + -0x18) = puVar15 + 0x3c;" (assignment_expression "*(undefined1 **)(puVar15 + -0x18) = puVar15 + 0x3c" (pointer_expression "*(undefined1 **)(puVar15 + -0x18)" * (cast_expression "(undefined1 **)(puVar15 + -0x18)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + -0x18)" ( (binary_expression "puVar15 + -0x18" identifier + number_literal) )))) = (binary_expression "puVar15 + 0x3c" identifier + number_literal)) ;)) (expression_statement "*(undefined4 *)(puVar15 + -0x1c) = *(undefined4 *)(puVar15 + 0xa4);" (assignment_expression "*(undefined4 *)(puVar15 + -0x1c) = *(undefined4 *)(puVar15 + 0xa4)" (pointer_expression "*(undefined4 *)(puVar15 + -0x1c)" * (cast_expression "(undefined4 *)(puVar15 + -0x1c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x1c)" ( (binary_expression "puVar15 + -0x1c" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar15 + 0xa4)" * (cast_expression "(undefined4 *)(puVar15 + 0xa4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0xa4)" ( (binary_expression "puVar15 + 0xa4" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x20) = *(undefined4 *)(puVar15 + 0xa0);" (assignment_expression "*(undefined4 *)(puVar15 + -0x20) = *(undefined4 *)(puVar15 + 0xa0)" (pointer_expression "*(undefined4 *)(puVar15 + -0x20)" * (cast_expression "(undefined4 *)(puVar15 + -0x20)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x20)" ( (binary_expression "puVar15 + -0x20" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar15 + 0xa0)" * (cast_expression "(undefined4 *)(puVar15 + 0xa0)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0xa0)" ( (binary_expression "puVar15 + 0xa0" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x24) = *(undefined4 *)(puVar15 + 0x9c);" (assignment_expression "*(undefined4 *)(puVar15 + -0x24) = *(undefined4 *)(puVar15 + 0x9c)" (pointer_expression "*(undefined4 *)(puVar15 + -0x24)" * (cast_expression "(undefined4 *)(puVar15 + -0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x24)" ( (binary_expression "puVar15 + -0x24" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar15 + 0x9c)" * (cast_expression "(undefined4 *)(puVar15 + 0x9c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x9c)" ( (binary_expression "puVar15 + 0x9c" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x28) = *(undefined4 *)(puVar15 + 0x98);" (assignment_expression "*(undefined4 *)(puVar15 + -0x28) = *(undefined4 *)(puVar15 + 0x98)" (pointer_expression "*(undefined4 *)(puVar15 + -0x28)" * (cast_expression "(undefined4 *)(puVar15 + -0x28)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x28)" ( (binary_expression "puVar15 + -0x28" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar15 + 0x98)" * (cast_expression "(undefined4 *)(puVar15 + 0x98)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x98)" ( (binary_expression "puVar15 + 0x98" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x2c) = *(undefined4 *)(puVar15 + 0x94);" (assignment_expression "*(undefined4 *)(puVar15 + -0x2c) = *(undefined4 *)(puVar15 + 0x94)" (pointer_expression "*(undefined4 *)(puVar15 + -0x2c)" * (cast_expression "(undefined4 *)(puVar15 + -0x2c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x2c)" ( (binary_expression "puVar15 + -0x2c" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar15 + 0x94)" * (cast_expression "(undefined4 *)(puVar15 + 0x94)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x94)" ( (binary_expression "puVar15 + 0x94" identifier + number_literal) ))))) ;) (expression_statement "*(undefined1 **)(puVar15 + -0x30) = puVar15 + 0x28;" (assignment_expression "*(undefined1 **)(puVar15 + -0x30) = puVar15 + 0x28" (pointer_expression "*(undefined1 **)(puVar15 + -0x30)" * (cast_expression "(undefined1 **)(puVar15 + -0x30)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + -0x30)" ( (binary_expression "puVar15 + -0x30" identifier + number_literal) )))) = (binary_expression "puVar15 + 0x28" identifier + number_literal)) ;) (expression_statement "*(undefined **)(puVar15 + -0x34) = &UNK_00201bd4;" (assignment_expression "*(undefined **)(puVar15 + -0x34) = &UNK_00201bd4" (pointer_expression "*(undefined **)(puVar15 + -0x34)" * (cast_expression "(undefined **)(puVar15 + -0x34)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + -0x34)" ( (binary_expression "puVar15 + -0x34" identifier + number_literal) )))) = (pointer_expression "&UNK_00201bd4" & identifier)) ;) (expression_statement "FUN_001fc0e0();" (call_expression "FUN_001fc0e0()" identifier (argument_list "()" ( ))) ;) (expression_statement "*(undefined4 *)(puVar15 + 0x94) = *(undefined4 *)(puVar15 + 0x24);" (assignment_expression "*(undefined4 *)(puVar15 + 0x94) = *(undefined4 *)(puVar15 + 0x24)" (pointer_expression "*(undefined4 *)(puVar15 + 0x94)" * (cast_expression "(undefined4 *)(puVar15 + 0x94)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x94)" ( (binary_expression "puVar15 + 0x94" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar15 + 0x24)" * (cast_expression "(undefined4 *)(puVar15 + 0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x24)" ( (binary_expression "puVar15 + 0x24" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar15 + 0x98) = *(undefined4 *)(puVar15 + 0x28);" (assignment_expression "*(undefined4 *)(puVar15 + 0x98) = *(undefined4 *)(puVar15 + 0x28)" (pointer_expression "*(undefined4 *)(puVar15 + 0x98)" * (cast_expression "(undefined4 *)(puVar15 + 0x98)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x98)" ( (binary_expression "puVar15 + 0x98" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar15 + 0x28)" * (cast_expression "(undefined4 *)(puVar15 + 0x28)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x28)" ( (binary_expression "puVar15 + 0x28" identifier + number_literal) ))))) ;) (expression_statement "puVar16 = puVar15 + -4;" (assignment_expression "puVar16 = puVar15 + -4" identifier = (binary_expression "puVar15 + -4" identifier + number_literal)) ;) (if_statement "if (*(int *)(puVar15 + 0x34) == 0) {\n      *(undefined4 *)(*(int *)(puVar15 + 0xac) + 8) = *(undefined4 *)(puVar15 + 0x38);\n      puVar16 = puVar15 + -4;\n    }" if (parenthesized_expression "(*(int *)(puVar15 + 0x34) == 0)" ( (binary_expression "*(int *)(puVar15 + 0x34) == 0" (pointer_expression "*(int *)(puVar15 + 0x34)" * (cast_expression "(int *)(puVar15 + 0x34)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x34)" ( (binary_expression "puVar15 + 0x34" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n      *(undefined4 *)(*(int *)(puVar15 + 0xac) + 8) = *(undefined4 *)(puVar15 + 0x38);\n      puVar16 = puVar15 + -4;\n    }" { (expression_statement "*(undefined4 *)(*(int *)(puVar15 + 0xac) + 8) = *(undefined4 *)(puVar15 + 0x38);" (assignment_expression "*(undefined4 *)(*(int *)(puVar15 + 0xac) + 8) = *(undefined4 *)(puVar15 + 0x38)" (pointer_expression "*(undefined4 *)(*(int *)(puVar15 + 0xac) + 8)" * (cast_expression "(undefined4 *)(*(int *)(puVar15 + 0xac) + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar15 + 0xac) + 8)" ( (binary_expression "*(int *)(puVar15 + 0xac) + 8" (pointer_expression "*(int *)(puVar15 + 0xac)" * (cast_expression "(int *)(puVar15 + 0xac)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0xac)" ( (binary_expression "puVar15 + 0xac" identifier + number_literal) )))) + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar15 + 0x38)" * (cast_expression "(undefined4 *)(puVar15 + 0x38)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x38)" ( (binary_expression "puVar15 + 0x38" identifier + number_literal) ))))) ;) (expression_statement "puVar16 = puVar15 + -4;" (assignment_expression "puVar16 = puVar15 + -4" identifier = (binary_expression "puVar15 + -4" identifier + number_literal)) ;) })) (break_statement "break;" break ;)) (case_statement "case 0x4d:\n    *(undefined1 **)(puVar15 + -4) = puVar15 + 0x38;\n    *(undefined4 *)(puVar15 + -8) = *(undefined4 *)(puVar15 + 0xa8);\n    *(undefined4 *)(puVar15 + -0xc) = 2;\n    *(undefined4 *)(puVar15 + -0x10) = 0x3b;\n    *(undefined4 *)(puVar15 + -0x14) = 0;\n    *(undefined1 **)(puVar15 + -0x18) = puVar15 + 0x3c;\n    *(undefined4 *)(puVar15 + -0x1c) = *(undefined4 *)(puVar15 + 0xa4);\n    *(undefined4 *)(puVar15 + -0x20) = *(undefined4 *)(puVar15 + 0xa0);\n    *(undefined4 *)(puVar15 + -0x24) = *(undefined4 *)(puVar15 + 0x9c);\n    *(undefined4 *)(puVar15 + -0x28) = *(undefined4 *)(puVar15 + 0x98);\n    *(undefined4 *)(puVar15 + -0x2c) = *(undefined4 *)(puVar15 + 0x94);\n    *(undefined1 **)(puVar15 + -0x30) = puVar15 + 0x28;\n    *(undefined **)(puVar15 + -0x34) = &UNK_00201c54;\n    FUN_001fc0e0();\n    *(undefined4 *)(puVar15 + 0x94) = *(undefined4 *)(puVar15 + 0x24);\n    *(undefined4 *)(puVar15 + 0x98) = *(undefined4 *)(puVar15 + 0x28);\n    puVar16 = puVar15 + -4;\n    if (*(int *)(puVar15 + 0x34) == 0) {\n      *(undefined4 *)(*(int *)(puVar15 + 0xac) + 4) = *(undefined4 *)(puVar15 + 0x38);\n      puVar16 = puVar15 + -4;\n    }\n    break;" case number_literal : (expression_statement "*(undefined1 **)(puVar15 + -4) = puVar15 + 0x38;" (assignment_expression "*(undefined1 **)(puVar15 + -4) = puVar15 + 0x38" (pointer_expression "*(undefined1 **)(puVar15 + -4)" * (cast_expression "(undefined1 **)(puVar15 + -4)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + -4)" ( (binary_expression "puVar15 + -4" identifier + number_literal) )))) = (binary_expression "puVar15 + 0x38" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar15 + -8) = *(undefined4 *)(puVar15 + 0xa8);" (assignment_expression "*(undefined4 *)(puVar15 + -8) = *(undefined4 *)(puVar15 + 0xa8)" (pointer_expression "*(undefined4 *)(puVar15 + -8)" * (cast_expression "(undefined4 *)(puVar15 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -8)" ( (binary_expression "puVar15 + -8" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar15 + 0xa8)" * (cast_expression "(undefined4 *)(puVar15 + 0xa8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0xa8)" ( (binary_expression "puVar15 + 0xa8" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar15 + -0xc) = 2;" (assignment_expression "*(undefined4 *)(puVar15 + -0xc) = 2" (pointer_expression "*(undefined4 *)(puVar15 + -0xc)" * (cast_expression "(undefined4 *)(puVar15 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0xc)" ( (binary_expression "puVar15 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x10) = 0x3b;" (assignment_expression "*(undefined4 *)(puVar15 + -0x10) = 0x3b" (pointer_expression "*(undefined4 *)(puVar15 + -0x10)" * (cast_expression "(undefined4 *)(puVar15 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x10)" ( (binary_expression "puVar15 + -0x10" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x14) = 0;" (assignment_expression "*(undefined4 *)(puVar15 + -0x14) = 0" (pointer_expression "*(undefined4 *)(puVar15 + -0x14)" * (cast_expression "(undefined4 *)(puVar15 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x14)" ( (binary_expression "puVar15 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined1 **)(puVar15 + -0x18) = puVar15 + 0x3c;" (assignment_expression "*(undefined1 **)(puVar15 + -0x18) = puVar15 + 0x3c" (pointer_expression "*(undefined1 **)(puVar15 + -0x18)" * (cast_expression "(undefined1 **)(puVar15 + -0x18)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + -0x18)" ( (binary_expression "puVar15 + -0x18" identifier + number_literal) )))) = (binary_expression "puVar15 + 0x3c" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x1c) = *(undefined4 *)(puVar15 + 0xa4);" (assignment_expression "*(undefined4 *)(puVar15 + -0x1c) = *(undefined4 *)(puVar15 + 0xa4)" (pointer_expression "*(undefined4 *)(puVar15 + -0x1c)" * (cast_expression "(undefined4 *)(puVar15 + -0x1c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x1c)" ( (binary_expression "puVar15 + -0x1c" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar15 + 0xa4)" * (cast_expression "(undefined4 *)(puVar15 + 0xa4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0xa4)" ( (binary_expression "puVar15 + 0xa4" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x20) = *(undefined4 *)(puVar15 + 0xa0);" (assignment_expression "*(undefined4 *)(puVar15 + -0x20) = *(undefined4 *)(puVar15 + 0xa0)" (pointer_expression "*(undefined4 *)(puVar15 + -0x20)" * (cast_expression "(undefined4 *)(puVar15 + -0x20)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x20)" ( (binary_expression "puVar15 + -0x20" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar15 + 0xa0)" * (cast_expression "(undefined4 *)(puVar15 + 0xa0)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0xa0)" ( (binary_expression "puVar15 + 0xa0" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x24) = *(undefined4 *)(puVar15 + 0x9c);" (assignment_expression "*(undefined4 *)(puVar15 + -0x24) = *(undefined4 *)(puVar15 + 0x9c)" (pointer_expression "*(undefined4 *)(puVar15 + -0x24)" * (cast_expression "(undefined4 *)(puVar15 + -0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x24)" ( (binary_expression "puVar15 + -0x24" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar15 + 0x9c)" * (cast_expression "(undefined4 *)(puVar15 + 0x9c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x9c)" ( (binary_expression "puVar15 + 0x9c" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x28) = *(undefined4 *)(puVar15 + 0x98);" (assignment_expression "*(undefined4 *)(puVar15 + -0x28) = *(undefined4 *)(puVar15 + 0x98)" (pointer_expression "*(undefined4 *)(puVar15 + -0x28)" * (cast_expression "(undefined4 *)(puVar15 + -0x28)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x28)" ( (binary_expression "puVar15 + -0x28" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar15 + 0x98)" * (cast_expression "(undefined4 *)(puVar15 + 0x98)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x98)" ( (binary_expression "puVar15 + 0x98" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x2c) = *(undefined4 *)(puVar15 + 0x94);" (assignment_expression "*(undefined4 *)(puVar15 + -0x2c) = *(undefined4 *)(puVar15 + 0x94)" (pointer_expression "*(undefined4 *)(puVar15 + -0x2c)" * (cast_expression "(undefined4 *)(puVar15 + -0x2c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x2c)" ( (binary_expression "puVar15 + -0x2c" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar15 + 0x94)" * (cast_expression "(undefined4 *)(puVar15 + 0x94)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x94)" ( (binary_expression "puVar15 + 0x94" identifier + number_literal) ))))) ;) (expression_statement "*(undefined1 **)(puVar15 + -0x30) = puVar15 + 0x28;" (assignment_expression "*(undefined1 **)(puVar15 + -0x30) = puVar15 + 0x28" (pointer_expression "*(undefined1 **)(puVar15 + -0x30)" * (cast_expression "(undefined1 **)(puVar15 + -0x30)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + -0x30)" ( (binary_expression "puVar15 + -0x30" identifier + number_literal) )))) = (binary_expression "puVar15 + 0x28" identifier + number_literal)) ;) (expression_statement "*(undefined **)(puVar15 + -0x34) = &UNK_00201c54;" (assignment_expression "*(undefined **)(puVar15 + -0x34) = &UNK_00201c54" (pointer_expression "*(undefined **)(puVar15 + -0x34)" * (cast_expression "(undefined **)(puVar15 + -0x34)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + -0x34)" ( (binary_expression "puVar15 + -0x34" identifier + number_literal) )))) = (pointer_expression "&UNK_00201c54" & identifier)) ;) (expression_statement "FUN_001fc0e0();" (call_expression "FUN_001fc0e0()" identifier (argument_list "()" ( ))) ;) (expression_statement "*(undefined4 *)(puVar15 + 0x94) = *(undefined4 *)(puVar15 + 0x24);" (assignment_expression "*(undefined4 *)(puVar15 + 0x94) = *(undefined4 *)(puVar15 + 0x24)" (pointer_expression "*(undefined4 *)(puVar15 + 0x94)" * (cast_expression "(undefined4 *)(puVar15 + 0x94)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x94)" ( (binary_expression "puVar15 + 0x94" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar15 + 0x24)" * (cast_expression "(undefined4 *)(puVar15 + 0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x24)" ( (binary_expression "puVar15 + 0x24" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar15 + 0x98) = *(undefined4 *)(puVar15 + 0x28);" (assignment_expression "*(undefined4 *)(puVar15 + 0x98) = *(undefined4 *)(puVar15 + 0x28)" (pointer_expression "*(undefined4 *)(puVar15 + 0x98)" * (cast_expression "(undefined4 *)(puVar15 + 0x98)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x98)" ( (binary_expression "puVar15 + 0x98" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar15 + 0x28)" * (cast_expression "(undefined4 *)(puVar15 + 0x28)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x28)" ( (binary_expression "puVar15 + 0x28" identifier + number_literal) ))))) ;) (expression_statement "puVar16 = puVar15 + -4;" (assignment_expression "puVar16 = puVar15 + -4" identifier = (binary_expression "puVar15 + -4" identifier + number_literal)) ;) (if_statement "if (*(int *)(puVar15 + 0x34) == 0) {\n      *(undefined4 *)(*(int *)(puVar15 + 0xac) + 4) = *(undefined4 *)(puVar15 + 0x38);\n      puVar16 = puVar15 + -4;\n    }" if (parenthesized_expression "(*(int *)(puVar15 + 0x34) == 0)" ( (binary_expression "*(int *)(puVar15 + 0x34) == 0" (pointer_expression "*(int *)(puVar15 + 0x34)" * (cast_expression "(int *)(puVar15 + 0x34)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x34)" ( (binary_expression "puVar15 + 0x34" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n      *(undefined4 *)(*(int *)(puVar15 + 0xac) + 4) = *(undefined4 *)(puVar15 + 0x38);\n      puVar16 = puVar15 + -4;\n    }" { (expression_statement "*(undefined4 *)(*(int *)(puVar15 + 0xac) + 4) = *(undefined4 *)(puVar15 + 0x38);" (assignment_expression "*(undefined4 *)(*(int *)(puVar15 + 0xac) + 4) = *(undefined4 *)(puVar15 + 0x38)" (pointer_expression "*(undefined4 *)(*(int *)(puVar15 + 0xac) + 4)" * (cast_expression "(undefined4 *)(*(int *)(puVar15 + 0xac) + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar15 + 0xac) + 4)" ( (binary_expression "*(int *)(puVar15 + 0xac) + 4" (pointer_expression "*(int *)(puVar15 + 0xac)" * (cast_expression "(int *)(puVar15 + 0xac)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0xac)" ( (binary_expression "puVar15 + 0xac" identifier + number_literal) )))) + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar15 + 0x38)" * (cast_expression "(undefined4 *)(puVar15 + 0x38)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x38)" ( (binary_expression "puVar15 + 0x38" identifier + number_literal) ))))) ;) (expression_statement "puVar16 = puVar15 + -4;" (assignment_expression "puVar16 = puVar15 + -4" identifier = (binary_expression "puVar15 + -4" identifier + number_literal)) ;) })) (break_statement "break;" break ;)) (case_statement "case 0x52:\n    *(undefined1 **)(puVar15 + -4) = puVar15 + 0x40;\n    *(char **)(puVar15 + -8) = "%H:%M:%S";\n    pcVar11 = "%H:%M";\n    goto code_r0x00201ca2;" case number_literal : (expression_statement "*(undefined1 **)(puVar15 + -4) = puVar15 + 0x40;" (assignment_expression "*(undefined1 **)(puVar15 + -4) = puVar15 + 0x40" (pointer_expression "*(undefined1 **)(puVar15 + -4)" * (cast_expression "(undefined1 **)(puVar15 + -4)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + -4)" ( (binary_expression "puVar15 + -4" identifier + number_literal) )))) = (binary_expression "puVar15 + 0x40" identifier + number_literal)) ;) (expression_statement "*(char **)(puVar15 + -8) = "%H:%M:%S";" (assignment_expression "*(char **)(puVar15 + -8) = "%H:%M:%S"" (pointer_expression "*(char **)(puVar15 + -8)" * (cast_expression "(char **)(puVar15 + -8)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + -8)" ( (binary_expression "puVar15 + -8" identifier + number_literal) )))) = (string_literal ""%H:%M:%S"" " string_content ")) ;) (expression_statement "pcVar11 = "%H:%M";" (assignment_expression "pcVar11 = "%H:%M"" identifier = (string_literal ""%H:%M"" " string_content ")) ;) (goto_statement "goto code_r0x00201ca2;" goto statement_identifier ;)) (case_statement "case 0x53:\n    *(undefined1 **)(puVar15 + -4) = puVar15 + 0x38;\n    *(undefined4 *)(puVar15 + -8) = *(undefined4 *)(puVar15 + 0xa8);\n    *(undefined4 *)(puVar15 + -0xc) = 2;\n    *(undefined4 *)(puVar15 + -0x10) = 0x3c;\n    *(undefined4 *)(puVar15 + -0x14) = 0;\n    *(undefined1 **)(puVar15 + -0x18) = puVar15 + 0x3c;\n    *(undefined4 *)(puVar15 + -0x1c) = *(undefined4 *)(puVar15 + 0xa4);\n    *(undefined4 *)(puVar15 + -0x20) = *(undefined4 *)(puVar15 + 0xa0);\n    *(undefined4 *)(puVar15 + -0x24) = *(undefined4 *)(puVar15 + 0x9c);\n    *(undefined4 *)(puVar15 + -0x28) = *(undefined4 *)(puVar15 + 0x98);\n    *(undefined4 *)(puVar15 + -0x2c) = *(undefined4 *)(puVar15 + 0x94);\n    *(undefined1 **)(puVar15 + -0x30) = puVar15 + 0x28;\n    *(undefined **)(puVar15 + -0x34) = &UNK_00201cfc;\n    FUN_001fc0e0();\n    *(undefined4 *)(puVar15 + 0x94) = *(undefined4 *)(puVar15 + 0x24);\n    *(undefined4 *)(puVar15 + 0x98) = *(undefined4 *)(puVar15 + 0x28);\n    puVar16 = puVar15 + -4;\n    if (*(int *)(puVar15 + 0x34) == 0) {\n      **(undefined4 **)(puVar15 + 0xac) = *(undefined4 *)(puVar15 + 0x38);\n      puVar16 = puVar15 + -4;\n    }\n    break;" case number_literal : (expression_statement "*(undefined1 **)(puVar15 + -4) = puVar15 + 0x38;" (assignment_expression "*(undefined1 **)(puVar15 + -4) = puVar15 + 0x38" (pointer_expression "*(undefined1 **)(puVar15 + -4)" * (cast_expression "(undefined1 **)(puVar15 + -4)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + -4)" ( (binary_expression "puVar15 + -4" identifier + number_literal) )))) = (binary_expression "puVar15 + 0x38" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar15 + -8) = *(undefined4 *)(puVar15 + 0xa8);" (assignment_expression "*(undefined4 *)(puVar15 + -8) = *(undefined4 *)(puVar15 + 0xa8)" (pointer_expression "*(undefined4 *)(puVar15 + -8)" * (cast_expression "(undefined4 *)(puVar15 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -8)" ( (binary_expression "puVar15 + -8" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar15 + 0xa8)" * (cast_expression "(undefined4 *)(puVar15 + 0xa8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0xa8)" ( (binary_expression "puVar15 + 0xa8" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar15 + -0xc) = 2;" (assignment_expression "*(undefined4 *)(puVar15 + -0xc) = 2" (pointer_expression "*(undefined4 *)(puVar15 + -0xc)" * (cast_expression "(undefined4 *)(puVar15 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0xc)" ( (binary_expression "puVar15 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x10) = 0x3c;" (assignment_expression "*(undefined4 *)(puVar15 + -0x10) = 0x3c" (pointer_expression "*(undefined4 *)(puVar15 + -0x10)" * (cast_expression "(undefined4 *)(puVar15 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x10)" ( (binary_expression "puVar15 + -0x10" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x14) = 0;" (assignment_expression "*(undefined4 *)(puVar15 + -0x14) = 0" (pointer_expression "*(undefined4 *)(puVar15 + -0x14)" * (cast_expression "(undefined4 *)(puVar15 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x14)" ( (binary_expression "puVar15 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined1 **)(puVar15 + -0x18) = puVar15 + 0x3c;" (assignment_expression "*(undefined1 **)(puVar15 + -0x18) = puVar15 + 0x3c" (pointer_expression "*(undefined1 **)(puVar15 + -0x18)" * (cast_expression "(undefined1 **)(puVar15 + -0x18)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + -0x18)" ( (binary_expression "puVar15 + -0x18" identifier + number_literal) )))) = (binary_expression "puVar15 + 0x3c" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x1c) = *(undefined4 *)(puVar15 + 0xa4);" (assignment_expression "*(undefined4 *)(puVar15 + -0x1c) = *(undefined4 *)(puVar15 + 0xa4)" (pointer_expression "*(undefined4 *)(puVar15 + -0x1c)" * (cast_expression "(undefined4 *)(puVar15 + -0x1c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x1c)" ( (binary_expression "puVar15 + -0x1c" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar15 + 0xa4)" * (cast_expression "(undefined4 *)(puVar15 + 0xa4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0xa4)" ( (binary_expression "puVar15 + 0xa4" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x20) = *(undefined4 *)(puVar15 + 0xa0);" (assignment_expression "*(undefined4 *)(puVar15 + -0x20) = *(undefined4 *)(puVar15 + 0xa0)" (pointer_expression "*(undefined4 *)(puVar15 + -0x20)" * (cast_expression "(undefined4 *)(puVar15 + -0x20)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x20)" ( (binary_expression "puVar15 + -0x20" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar15 + 0xa0)" * (cast_expression "(undefined4 *)(puVar15 + 0xa0)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0xa0)" ( (binary_expression "puVar15 + 0xa0" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x24) = *(undefined4 *)(puVar15 + 0x9c);" (assignment_expression "*(undefined4 *)(puVar15 + -0x24) = *(undefined4 *)(puVar15 + 0x9c)" (pointer_expression "*(undefined4 *)(puVar15 + -0x24)" * (cast_expression "(undefined4 *)(puVar15 + -0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x24)" ( (binary_expression "puVar15 + -0x24" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar15 + 0x9c)" * (cast_expression "(undefined4 *)(puVar15 + 0x9c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x9c)" ( (binary_expression "puVar15 + 0x9c" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x28) = *(undefined4 *)(puVar15 + 0x98);" (assignment_expression "*(undefined4 *)(puVar15 + -0x28) = *(undefined4 *)(puVar15 + 0x98)" (pointer_expression "*(undefined4 *)(puVar15 + -0x28)" * (cast_expression "(undefined4 *)(puVar15 + -0x28)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x28)" ( (binary_expression "puVar15 + -0x28" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar15 + 0x98)" * (cast_expression "(undefined4 *)(puVar15 + 0x98)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x98)" ( (binary_expression "puVar15 + 0x98" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x2c) = *(undefined4 *)(puVar15 + 0x94);" (assignment_expression "*(undefined4 *)(puVar15 + -0x2c) = *(undefined4 *)(puVar15 + 0x94)" (pointer_expression "*(undefined4 *)(puVar15 + -0x2c)" * (cast_expression "(undefined4 *)(puVar15 + -0x2c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x2c)" ( (binary_expression "puVar15 + -0x2c" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar15 + 0x94)" * (cast_expression "(undefined4 *)(puVar15 + 0x94)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x94)" ( (binary_expression "puVar15 + 0x94" identifier + number_literal) ))))) ;) (expression_statement "*(undefined1 **)(puVar15 + -0x30) = puVar15 + 0x28;" (assignment_expression "*(undefined1 **)(puVar15 + -0x30) = puVar15 + 0x28" (pointer_expression "*(undefined1 **)(puVar15 + -0x30)" * (cast_expression "(undefined1 **)(puVar15 + -0x30)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + -0x30)" ( (binary_expression "puVar15 + -0x30" identifier + number_literal) )))) = (binary_expression "puVar15 + 0x28" identifier + number_literal)) ;) (expression_statement "*(undefined **)(puVar15 + -0x34) = &UNK_00201cfc;" (assignment_expression "*(undefined **)(puVar15 + -0x34) = &UNK_00201cfc" (pointer_expression "*(undefined **)(puVar15 + -0x34)" * (cast_expression "(undefined **)(puVar15 + -0x34)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + -0x34)" ( (binary_expression "puVar15 + -0x34" identifier + number_literal) )))) = (pointer_expression "&UNK_00201cfc" & identifier)) ;) (expression_statement "FUN_001fc0e0();" (call_expression "FUN_001fc0e0()" identifier (argument_list "()" ( ))) ;) (expression_statement "*(undefined4 *)(puVar15 + 0x94) = *(undefined4 *)(puVar15 + 0x24);" (assignment_expression "*(undefined4 *)(puVar15 + 0x94) = *(undefined4 *)(puVar15 + 0x24)" (pointer_expression "*(undefined4 *)(puVar15 + 0x94)" * (cast_expression "(undefined4 *)(puVar15 + 0x94)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x94)" ( (binary_expression "puVar15 + 0x94" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar15 + 0x24)" * (cast_expression "(undefined4 *)(puVar15 + 0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x24)" ( (binary_expression "puVar15 + 0x24" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar15 + 0x98) = *(undefined4 *)(puVar15 + 0x28);" (assignment_expression "*(undefined4 *)(puVar15 + 0x98) = *(undefined4 *)(puVar15 + 0x28)" (pointer_expression "*(undefined4 *)(puVar15 + 0x98)" * (cast_expression "(undefined4 *)(puVar15 + 0x98)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x98)" ( (binary_expression "puVar15 + 0x98" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar15 + 0x28)" * (cast_expression "(undefined4 *)(puVar15 + 0x28)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x28)" ( (binary_expression "puVar15 + 0x28" identifier + number_literal) ))))) ;) (expression_statement "puVar16 = puVar15 + -4;" (assignment_expression "puVar16 = puVar15 + -4" identifier = (binary_expression "puVar15 + -4" identifier + number_literal)) ;) (if_statement "if (*(int *)(puVar15 + 0x34) == 0) {\n      **(undefined4 **)(puVar15 + 0xac) = *(undefined4 *)(puVar15 + 0x38);\n      puVar16 = puVar15 + -4;\n    }" if (parenthesized_expression "(*(int *)(puVar15 + 0x34) == 0)" ( (binary_expression "*(int *)(puVar15 + 0x34) == 0" (pointer_expression "*(int *)(puVar15 + 0x34)" * (cast_expression "(int *)(puVar15 + 0x34)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x34)" ( (binary_expression "puVar15 + 0x34" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n      **(undefined4 **)(puVar15 + 0xac) = *(undefined4 *)(puVar15 + 0x38);\n      puVar16 = puVar15 + -4;\n    }" { (expression_statement "**(undefined4 **)(puVar15 + 0xac) = *(undefined4 *)(puVar15 + 0x38);" (assignment_expression "**(undefined4 **)(puVar15 + 0xac) = *(undefined4 *)(puVar15 + 0x38)" (pointer_expression "**(undefined4 **)(puVar15 + 0xac)" * (pointer_expression "*(undefined4 **)(puVar15 + 0xac)" * (cast_expression "(undefined4 **)(puVar15 + 0xac)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + 0xac)" ( (binary_expression "puVar15 + 0xac" identifier + number_literal) ))))) = (pointer_expression "*(undefined4 *)(puVar15 + 0x38)" * (cast_expression "(undefined4 *)(puVar15 + 0x38)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x38)" ( (binary_expression "puVar15 + 0x38" identifier + number_literal) ))))) ;) (expression_statement "puVar16 = puVar15 + -4;" (assignment_expression "puVar16 = puVar15 + -4" identifier = (binary_expression "puVar15 + -4" identifier + number_literal)) ;) })) (break_statement "break;" break ;)) (case_statement "case 0x54:\n    *(undefined1 **)(puVar15 + -4) = puVar15 + 0x40;\n    *(undefined **)(puVar15 + -8) = &UNK_002a3ef6;\n    pcVar11 = "%H:%M:%S";\ncode_r0x00201ca2:\n    *(char **)(puVar15 + -0xc) = pcVar11;\n    *(int **)(puVar15 + -0x10) = piVar10;\n    *(undefined **)(puVar15 + -0x14) = &UNK_00201ca9;\n    FUN_001f94d0();\n    *(undefined1 **)(puVar15 + -0xc) = puVar15 + 0x40;\n    goto code_r0x00201b30;" case number_literal : (expression_statement "*(undefined1 **)(puVar15 + -4) = puVar15 + 0x40;" (assignment_expression "*(undefined1 **)(puVar15 + -4) = puVar15 + 0x40" (pointer_expression "*(undefined1 **)(puVar15 + -4)" * (cast_expression "(undefined1 **)(puVar15 + -4)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + -4)" ( (binary_expression "puVar15 + -4" identifier + number_literal) )))) = (binary_expression "puVar15 + 0x40" identifier + number_literal)) ;) (expression_statement "*(undefined **)(puVar15 + -8) = &UNK_002a3ef6;" (assignment_expression "*(undefined **)(puVar15 + -8) = &UNK_002a3ef6" (pointer_expression "*(undefined **)(puVar15 + -8)" * (cast_expression "(undefined **)(puVar15 + -8)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + -8)" ( (binary_expression "puVar15 + -8" identifier + number_literal) )))) = (pointer_expression "&UNK_002a3ef6" & identifier)) ;) (expression_statement "pcVar11 = "%H:%M:%S";" (assignment_expression "pcVar11 = "%H:%M:%S"" identifier = (string_literal ""%H:%M:%S"" " string_content ")) ;) (labeled_statement "code_r0x00201ca2:\n    *(char **)(puVar15 + -0xc) = pcVar11;" statement_identifier : (expression_statement "*(char **)(puVar15 + -0xc) = pcVar11;" (assignment_expression "*(char **)(puVar15 + -0xc) = pcVar11" (pointer_expression "*(char **)(puVar15 + -0xc)" * (cast_expression "(char **)(puVar15 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + -0xc)" ( (binary_expression "puVar15 + -0xc" identifier + number_literal) )))) = identifier) ;)) (expression_statement "*(int **)(puVar15 + -0x10) = piVar10;" (assignment_expression "*(int **)(puVar15 + -0x10) = piVar10" (pointer_expression "*(int **)(puVar15 + -0x10)" * (cast_expression "(int **)(puVar15 + -0x10)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + -0x10)" ( (binary_expression "puVar15 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined **)(puVar15 + -0x14) = &UNK_00201ca9;" (assignment_expression "*(undefined **)(puVar15 + -0x14) = &UNK_00201ca9" (pointer_expression "*(undefined **)(puVar15 + -0x14)" * (cast_expression "(undefined **)(puVar15 + -0x14)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + -0x14)" ( (binary_expression "puVar15 + -0x14" identifier + number_literal) )))) = (pointer_expression "&UNK_00201ca9" & identifier)) ;) (expression_statement "FUN_001f94d0();" (call_expression "FUN_001f94d0()" identifier (argument_list "()" ( ))) ;) (expression_statement "*(undefined1 **)(puVar15 + -0xc) = puVar15 + 0x40;" (assignment_expression "*(undefined1 **)(puVar15 + -0xc) = puVar15 + 0x40" (pointer_expression "*(undefined1 **)(puVar15 + -0xc)" * (cast_expression "(undefined1 **)(puVar15 + -0xc)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + -0xc)" ( (binary_expression "puVar15 + -0xc" identifier + number_literal) )))) = (binary_expression "puVar15 + 0x40" identifier + number_literal)) ;) (goto_statement "goto code_r0x00201b30;" goto statement_identifier ;)) (case_statement "case 0x58:\n    *(undefined4 *)(puVar15 + -0xc) = *(undefined4 *)(*(int *)(*(int *)(puVar15 + 0x18) + 8) + 0x10)\n    ;\n    goto code_r0x00201b30;" case number_literal : (expression_statement "*(undefined4 *)(puVar15 + -0xc) = *(undefined4 *)(*(int *)(*(int *)(puVar15 + 0x18) + 8) + 0x10)\n    ;" (assignment_expression "*(undefined4 *)(puVar15 + -0xc) = *(undefined4 *)(*(int *)(*(int *)(puVar15 + 0x18) + 8) + 0x10)" (pointer_expression "*(undefined4 *)(puVar15 + -0xc)" * (cast_expression "(undefined4 *)(puVar15 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0xc)" ( (binary_expression "puVar15 + -0xc" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(*(int *)(*(int *)(puVar15 + 0x18) + 8) + 0x10)" * (cast_expression "(undefined4 *)(*(int *)(*(int *)(puVar15 + 0x18) + 8) + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(*(int *)(puVar15 + 0x18) + 8) + 0x10)" ( (binary_expression "*(int *)(*(int *)(puVar15 + 0x18) + 8) + 0x10" (pointer_expression "*(int *)(*(int *)(puVar15 + 0x18) + 8)" * (cast_expression "(int *)(*(int *)(puVar15 + 0x18) + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar15 + 0x18) + 8)" ( (binary_expression "*(int *)(puVar15 + 0x18) + 8" (pointer_expression "*(int *)(puVar15 + 0x18)" * (cast_expression "(int *)(puVar15 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x18)" ( (binary_expression "puVar15 + 0x18" identifier + number_literal) )))) + number_literal) )))) + number_literal) ))))) ;) (goto_statement "goto code_r0x00201b30;" goto statement_identifier ;)) (case_statement "case 0x5a:\n    *(undefined **)(puVar15 + -4) = &UNK_00201d80;\n    uVar18 = FUN_001f91d0();\n    if ((*(byte *)(piVar10[6] + 1 + (uVar18 & 0xff) * 2) & 1) == 0) goto LAB_00201ab8;\n    *(undefined1 **)(puVar15 + 0x14) = puVar15 + 0x28;\n    puVar2 = puVar15 + 0x38;\n    *(undefined1 **)(puVar15 + -8) = puVar2;\n    *(undefined4 *)(puVar15 + -0xc) = *(undefined4 *)(puVar15 + 0xa8);\n    *(undefined4 *)(puVar15 + -0x10) = 0xe;\n    *(undefined4 *)(puVar15 + -0x14) = *(undefined4 *)(puVar15 + 0x24);\n    puVar3 = puVar15 + 0x40;\n    *(undefined1 **)(puVar15 + -0x18) = puVar3;\n    *(undefined4 *)(puVar15 + -0x1c) = *(undefined4 *)(puVar15 + 0xa4);\n    *(undefined4 *)(puVar15 + -0x20) = *(undefined4 *)(puVar15 + 0xa0);\n    *(undefined4 *)(puVar15 + -0x24) = *(undefined4 *)(puVar15 + 0x9c);\n    *(undefined4 *)(puVar15 + -0x28) = *(undefined4 *)(puVar15 + 0x98);\n    *(undefined4 *)(puVar15 + -0x2c) = *(undefined4 *)(puVar15 + 0x94);\n    *(undefined1 **)(puVar15 + -0x30) = puVar15 + 0x28;\n    *(undefined **)(puVar15 + -0x34) = &UNK_00201ddc;\n    FUN_00201020();\n    *(undefined4 *)(puVar15 + 0x94) = *(undefined4 *)(puVar15 + 0x24);\n    *(undefined4 *)(puVar15 + 0x98) = *(undefined4 *)(puVar15 + 0x28);\n    *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0xc);\n    *(undefined4 *)(puVar15 + -0x14) = *(undefined4 *)(puVar15 + 4);\n    *(undefined **)(puVar15 + -0x18) = &UNK_00201e02;\n    cVar6 = FUN_00200f70();\n    puVar16 = puVar15 + -4;\n    if ((cVar6 != '\0') ||\n       (puVar16 = puVar15 + -4, *(int *)(puVar15 + 0x34) != 0 || *(int *)(puVar15 + 0x3c) != 0))\n    break;\n    *(undefined **)(puVar15 + -8) = &UNK_00201e2b;\n    uVar12 = FUN_001f91d0();\n    iVar1 = piVar10[7];\n    *(undefined4 *)(puVar15 + 0x1c) = uVar12;\n    if ((char)iVar1 == '\0') {\n      *(undefined **)(puVar15 + -8) = &UNK_002023c1;\n      cVar6 = FUN_001f9220();\n    }\n    else {\n      cVar6 = *(char *)((int)piVar10 + 0x4a);\n    }\n    if (puVar15[0x1c] != cVar6) {\n      *(undefined **)(puVar15 + -8) = &UNK_00201e53;\n      uVar12 = FUN_001f91d0();\n      iVar1 = piVar10[7];\n      *(undefined4 *)(puVar15 + 0x1c) = uVar12;\n      if ((char)iVar1 == '\0') {\n        *(undefined **)(puVar15 + -8) = &UNK_002023d2;\n        cVar6 = FUN_001f9220();\n      }\n      else {\n        cVar6 = (char)piVar10[0x12];\n      }\n      puVar16 = puVar15 + -4;\n      if (puVar15[0x1c] != cVar6) break;\n    }\n    *(undefined1 **)(puVar15 + -8) = puVar2;\n    *(undefined4 *)(puVar15 + -0xc) = *(undefined4 *)(puVar15 + 0xa4);\n    *(undefined4 *)(puVar15 + -0x10) = 2;\n    *(undefined4 *)(puVar15 + -0x14) = 0x17;\n    *(undefined4 *)(puVar15 + -0x18) = 0;\n    *(undefined1 **)(puVar15 + -0x1c) = puVar3;\n    *(undefined4 *)(puVar15 + -0x20) = *(undefined4 *)(puVar15 + 0xa0);\n    *(undefined4 *)(puVar15 + -0x24) = *(undefined4 *)(puVar15 + 0x9c);\n    *(undefined4 *)(puVar15 + -0x28) = *(undefined4 *)(puVar15 + 0x98);\n    *(undefined4 *)(puVar15 + -0x2c) = *(undefined4 *)(puVar15 + 0x94);\n    *(undefined4 *)(puVar15 + -0x30) = *(undefined4 *)(puVar15 + 0x90);\n    *(undefined4 *)(puVar15 + -0x34) = *(undefined4 *)(puVar15 + 0x10);\n    *(undefined **)(puVar15 + -0x38) = &UNK_00201eaa;\n    FUN_001fc0e0();\n    *(undefined4 *)(puVar15 + 0x90) = *(undefined4 *)(puVar15 + 0x20);\n    *(undefined4 *)(puVar15 + 0x94) = *(undefined4 *)(puVar15 + 0x24);\n    *(undefined1 **)(puVar15 + -0xc) = puVar2;\n    *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0xa0);\n    *(undefined4 *)(puVar15 + -0x14) = 2;\n    *(undefined4 *)(puVar15 + -0x18) = 0x3b;\n    *(undefined4 *)(puVar15 + -0x1c) = 0;\n    *(undefined1 **)(puVar15 + -0x20) = puVar3;\n    *(undefined4 *)(puVar15 + -0x24) = *(undefined4 *)(puVar15 + 0x9c);\n    *(undefined4 *)(puVar15 + -0x28) = *(undefined4 *)(puVar15 + 0x98);\n    *(undefined4 *)(puVar15 + -0x2c) = *(undefined4 *)(puVar15 + 0x24);\n    *(undefined4 *)(puVar15 + -0x30) = *(undefined4 *)(puVar15 + 0x20);\n    *(undefined4 *)(puVar15 + -0x34) = *(undefined4 *)(puVar15 + 0x8c);\n    puVar17 = puVar15 + -0x38;\n    *(undefined4 *)(puVar15 + -0x38) = *(undefined4 *)(puVar15 + 0xc);\n    *(undefined **)(puVar15 + -0x3c) = &UNK_00201ef2;\n    FUN_001fc0e0();\n    goto code_r0x00201b6c;" case number_literal : (expression_statement "*(undefined **)(puVar15 + -4) = &UNK_00201d80;" (assignment_expression "*(undefined **)(puVar15 + -4) = &UNK_00201d80" (pointer_expression "*(undefined **)(puVar15 + -4)" * (cast_expression "(undefined **)(puVar15 + -4)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + -4)" ( (binary_expression "puVar15 + -4" identifier + number_literal) )))) = (pointer_expression "&UNK_00201d80" & identifier)) ;) (expression_statement "uVar18 = FUN_001f91d0();" (assignment_expression "uVar18 = FUN_001f91d0()" identifier = (call_expression "FUN_001f91d0()" identifier (argument_list "()" ( )))) ;) (if_statement "if ((*(byte *)(piVar10[6] + 1 + (uVar18 & 0xff) * 2) & 1) == 0) goto LAB_00201ab8;" if (parenthesized_expression "((*(byte *)(piVar10[6] + 1 + (uVar18 & 0xff) * 2) & 1) == 0)" ( (binary_expression "(*(byte *)(piVar10[6] + 1 + (uVar18 & 0xff) * 2) & 1) == 0" (parenthesized_expression "(*(byte *)(piVar10[6] + 1 + (uVar18 & 0xff) * 2) & 1)" ( (binary_expression "*(byte *)(piVar10[6] + 1 + (uVar18 & 0xff) * 2) & 1" (pointer_expression "*(byte *)(piVar10[6] + 1 + (uVar18 & 0xff) * 2)" * (cast_expression "(byte *)(piVar10[6] + 1 + (uVar18 & 0xff) * 2)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar10[6] + 1 + (uVar18 & 0xff) * 2)" ( (binary_expression "piVar10[6] + 1 + (uVar18 & 0xff) * 2" (binary_expression "piVar10[6] + 1" (subscript_expression "piVar10[6]" identifier [ number_literal ]) + number_literal) + (binary_expression "(uVar18 & 0xff) * 2" (parenthesized_expression "(uVar18 & 0xff)" ( (binary_expression "uVar18 & 0xff" identifier & number_literal) )) * number_literal)) )))) & number_literal) )) == number_literal) )) (goto_statement "goto LAB_00201ab8;" goto statement_identifier ;)) (expression_statement "*(undefined1 **)(puVar15 + 0x14) = puVar15 + 0x28;" (assignment_expression "*(undefined1 **)(puVar15 + 0x14) = puVar15 + 0x28" (pointer_expression "*(undefined1 **)(puVar15 + 0x14)" * (cast_expression "(undefined1 **)(puVar15 + 0x14)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + 0x14)" ( (binary_expression "puVar15 + 0x14" identifier + number_literal) )))) = (binary_expression "puVar15 + 0x28" identifier + number_literal)) ;) (expression_statement "puVar2 = puVar15 + 0x38;" (assignment_expression "puVar2 = puVar15 + 0x38" identifier = (binary_expression "puVar15 + 0x38" identifier + number_literal)) ;) (expression_statement "*(undefined1 **)(puVar15 + -8) = puVar2;" (assignment_expression "*(undefined1 **)(puVar15 + -8) = puVar2" (pointer_expression "*(undefined1 **)(puVar15 + -8)" * (cast_expression "(undefined1 **)(puVar15 + -8)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + -8)" ( (binary_expression "puVar15 + -8" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar15 + -0xc) = *(undefined4 *)(puVar15 + 0xa8);" (assignment_expression "*(undefined4 *)(puVar15 + -0xc) = *(undefined4 *)(puVar15 + 0xa8)" (pointer_expression "*(undefined4 *)(puVar15 + -0xc)" * (cast_expression "(undefined4 *)(puVar15 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0xc)" ( (binary_expression "puVar15 + -0xc" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar15 + 0xa8)" * (cast_expression "(undefined4 *)(puVar15 + 0xa8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0xa8)" ( (binary_expression "puVar15 + 0xa8" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x10) = 0xe;" (assignment_expression "*(undefined4 *)(puVar15 + -0x10) = 0xe" (pointer_expression "*(undefined4 *)(puVar15 + -0x10)" * (cast_expression "(undefined4 *)(puVar15 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x10)" ( (binary_expression "puVar15 + -0x10" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x14) = *(undefined4 *)(puVar15 + 0x24);" (assignment_expression "*(undefined4 *)(puVar15 + -0x14) = *(undefined4 *)(puVar15 + 0x24)" (pointer_expression "*(undefined4 *)(puVar15 + -0x14)" * (cast_expression "(undefined4 *)(puVar15 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x14)" ( (binary_expression "puVar15 + -0x14" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar15 + 0x24)" * (cast_expression "(undefined4 *)(puVar15 + 0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x24)" ( (binary_expression "puVar15 + 0x24" identifier + number_literal) ))))) ;) (expression_statement "puVar3 = puVar15 + 0x40;" (assignment_expression "puVar3 = puVar15 + 0x40" identifier = (binary_expression "puVar15 + 0x40" identifier + number_literal)) ;) (expression_statement "*(undefined1 **)(puVar15 + -0x18) = puVar3;" (assignment_expression "*(undefined1 **)(puVar15 + -0x18) = puVar3" (pointer_expression "*(undefined1 **)(puVar15 + -0x18)" * (cast_expression "(undefined1 **)(puVar15 + -0x18)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + -0x18)" ( (binary_expression "puVar15 + -0x18" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x1c) = *(undefined4 *)(puVar15 + 0xa4);" (assignment_expression "*(undefined4 *)(puVar15 + -0x1c) = *(undefined4 *)(puVar15 + 0xa4)" (pointer_expression "*(undefined4 *)(puVar15 + -0x1c)" * (cast_expression "(undefined4 *)(puVar15 + -0x1c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x1c)" ( (binary_expression "puVar15 + -0x1c" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar15 + 0xa4)" * (cast_expression "(undefined4 *)(puVar15 + 0xa4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0xa4)" ( (binary_expression "puVar15 + 0xa4" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x20) = *(undefined4 *)(puVar15 + 0xa0);" (assignment_expression "*(undefined4 *)(puVar15 + -0x20) = *(undefined4 *)(puVar15 + 0xa0)" (pointer_expression "*(undefined4 *)(puVar15 + -0x20)" * (cast_expression "(undefined4 *)(puVar15 + -0x20)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x20)" ( (binary_expression "puVar15 + -0x20" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar15 + 0xa0)" * (cast_expression "(undefined4 *)(puVar15 + 0xa0)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0xa0)" ( (binary_expression "puVar15 + 0xa0" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x24) = *(undefined4 *)(puVar15 + 0x9c);" (assignment_expression "*(undefined4 *)(puVar15 + -0x24) = *(undefined4 *)(puVar15 + 0x9c)" (pointer_expression "*(undefined4 *)(puVar15 + -0x24)" * (cast_expression "(undefined4 *)(puVar15 + -0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x24)" ( (binary_expression "puVar15 + -0x24" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar15 + 0x9c)" * (cast_expression "(undefined4 *)(puVar15 + 0x9c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x9c)" ( (binary_expression "puVar15 + 0x9c" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x28) = *(undefined4 *)(puVar15 + 0x98);" (assignment_expression "*(undefined4 *)(puVar15 + -0x28) = *(undefined4 *)(puVar15 + 0x98)" (pointer_expression "*(undefined4 *)(puVar15 + -0x28)" * (cast_expression "(undefined4 *)(puVar15 + -0x28)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x28)" ( (binary_expression "puVar15 + -0x28" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar15 + 0x98)" * (cast_expression "(undefined4 *)(puVar15 + 0x98)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x98)" ( (binary_expression "puVar15 + 0x98" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x2c) = *(undefined4 *)(puVar15 + 0x94);" (assignment_expression "*(undefined4 *)(puVar15 + -0x2c) = *(undefined4 *)(puVar15 + 0x94)" (pointer_expression "*(undefined4 *)(puVar15 + -0x2c)" * (cast_expression "(undefined4 *)(puVar15 + -0x2c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x2c)" ( (binary_expression "puVar15 + -0x2c" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar15 + 0x94)" * (cast_expression "(undefined4 *)(puVar15 + 0x94)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x94)" ( (binary_expression "puVar15 + 0x94" identifier + number_literal) ))))) ;) (expression_statement "*(undefined1 **)(puVar15 + -0x30) = puVar15 + 0x28;" (assignment_expression "*(undefined1 **)(puVar15 + -0x30) = puVar15 + 0x28" (pointer_expression "*(undefined1 **)(puVar15 + -0x30)" * (cast_expression "(undefined1 **)(puVar15 + -0x30)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + -0x30)" ( (binary_expression "puVar15 + -0x30" identifier + number_literal) )))) = (binary_expression "puVar15 + 0x28" identifier + number_literal)) ;) (expression_statement "*(undefined **)(puVar15 + -0x34) = &UNK_00201ddc;" (assignment_expression "*(undefined **)(puVar15 + -0x34) = &UNK_00201ddc" (pointer_expression "*(undefined **)(puVar15 + -0x34)" * (cast_expression "(undefined **)(puVar15 + -0x34)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + -0x34)" ( (binary_expression "puVar15 + -0x34" identifier + number_literal) )))) = (pointer_expression "&UNK_00201ddc" & identifier)) ;) (expression_statement "FUN_00201020();" (call_expression "FUN_00201020()" identifier (argument_list "()" ( ))) ;) (expression_statement "*(undefined4 *)(puVar15 + 0x94) = *(undefined4 *)(puVar15 + 0x24);" (assignment_expression "*(undefined4 *)(puVar15 + 0x94) = *(undefined4 *)(puVar15 + 0x24)" (pointer_expression "*(undefined4 *)(puVar15 + 0x94)" * (cast_expression "(undefined4 *)(puVar15 + 0x94)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x94)" ( (binary_expression "puVar15 + 0x94" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar15 + 0x24)" * (cast_expression "(undefined4 *)(puVar15 + 0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x24)" ( (binary_expression "puVar15 + 0x24" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar15 + 0x98) = *(undefined4 *)(puVar15 + 0x28);" (assignment_expression "*(undefined4 *)(puVar15 + 0x98) = *(undefined4 *)(puVar15 + 0x28)" (pointer_expression "*(undefined4 *)(puVar15 + 0x98)" * (cast_expression "(undefined4 *)(puVar15 + 0x98)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x98)" ( (binary_expression "puVar15 + 0x98" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar15 + 0x28)" * (cast_expression "(undefined4 *)(puVar15 + 0x28)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x28)" ( (binary_expression "puVar15 + 0x28" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0xc);" (assignment_expression "*(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0xc)" (pointer_expression "*(undefined4 *)(puVar15 + -0x10)" * (cast_expression "(undefined4 *)(puVar15 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x10)" ( (binary_expression "puVar15 + -0x10" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar15 + 0xc)" * (cast_expression "(undefined4 *)(puVar15 + 0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0xc)" ( (binary_expression "puVar15 + 0xc" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x14) = *(undefined4 *)(puVar15 + 4);" (assignment_expression "*(undefined4 *)(puVar15 + -0x14) = *(undefined4 *)(puVar15 + 4)" (pointer_expression "*(undefined4 *)(puVar15 + -0x14)" * (cast_expression "(undefined4 *)(puVar15 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x14)" ( (binary_expression "puVar15 + -0x14" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar15 + 4)" * (cast_expression "(undefined4 *)(puVar15 + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 4)" ( (binary_expression "puVar15 + 4" identifier + number_literal) ))))) ;) (expression_statement "*(undefined **)(puVar15 + -0x18) = &UNK_00201e02;" (assignment_expression "*(undefined **)(puVar15 + -0x18) = &UNK_00201e02" (pointer_expression "*(undefined **)(puVar15 + -0x18)" * (cast_expression "(undefined **)(puVar15 + -0x18)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + -0x18)" ( (binary_expression "puVar15 + -0x18" identifier + number_literal) )))) = (pointer_expression "&UNK_00201e02" & identifier)) ;) (expression_statement "cVar6 = FUN_00200f70();" (assignment_expression "cVar6 = FUN_00200f70()" identifier = (call_expression "FUN_00200f70()" identifier (argument_list "()" ( )))) ;) (expression_statement "puVar16 = puVar15 + -4;" (assignment_expression "puVar16 = puVar15 + -4" identifier = (binary_expression "puVar15 + -4" identifier + number_literal)) ;) (if_statement "if ((cVar6 != '\0') ||\n       (puVar16 = puVar15 + -4, *(int *)(puVar15 + 0x34) != 0 || *(int *)(puVar15 + 0x3c) != 0))\n    break;" if (parenthesized_expression "((cVar6 != '\0') ||\n       (puVar16 = puVar15 + -4, *(int *)(puVar15 + 0x34) != 0 || *(int *)(puVar15 + 0x3c) != 0))" ( (binary_expression "(cVar6 != '\0') ||\n       (puVar16 = puVar15 + -4, *(int *)(puVar15 + 0x34) != 0 || *(int *)(puVar15 + 0x3c) != 0)" (parenthesized_expression "(cVar6 != '\0')" ( (binary_expression "cVar6 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) || (parenthesized_expression "(puVar16 = puVar15 + -4, *(int *)(puVar15 + 0x34) != 0 || *(int *)(puVar15 + 0x3c) != 0)" ( (comma_expression "puVar16 = puVar15 + -4, *(int *)(puVar15 + 0x34) != 0 || *(int *)(puVar15 + 0x3c) != 0" (assignment_expression "puVar16 = puVar15 + -4" identifier = (binary_expression "puVar15 + -4" identifier + number_literal)) , (binary_expression "*(int *)(puVar15 + 0x34) != 0 || *(int *)(puVar15 + 0x3c) != 0" (binary_expression "*(int *)(puVar15 + 0x34) != 0" (pointer_expression "*(int *)(puVar15 + 0x34)" * (cast_expression "(int *)(puVar15 + 0x34)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x34)" ( (binary_expression "puVar15 + 0x34" identifier + number_literal) )))) != number_literal) || (binary_expression "*(int *)(puVar15 + 0x3c) != 0" (pointer_expression "*(int *)(puVar15 + 0x3c)" * (cast_expression "(int *)(puVar15 + 0x3c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x3c)" ( (binary_expression "puVar15 + 0x3c" identifier + number_literal) )))) != number_literal))) ))) )) (break_statement "break;" break ;)) (expression_statement "*(undefined **)(puVar15 + -8) = &UNK_00201e2b;" (assignment_expression "*(undefined **)(puVar15 + -8) = &UNK_00201e2b" (pointer_expression "*(undefined **)(puVar15 + -8)" * (cast_expression "(undefined **)(puVar15 + -8)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + -8)" ( (binary_expression "puVar15 + -8" identifier + number_literal) )))) = (pointer_expression "&UNK_00201e2b" & identifier)) ;) (expression_statement "uVar12 = FUN_001f91d0();" (assignment_expression "uVar12 = FUN_001f91d0()" identifier = (call_expression "FUN_001f91d0()" identifier (argument_list "()" ( )))) ;) (expression_statement "iVar1 = piVar10[7];" (assignment_expression "iVar1 = piVar10[7]" identifier = (subscript_expression "piVar10[7]" identifier [ number_literal ])) ;) (expression_statement "*(undefined4 *)(puVar15 + 0x1c) = uVar12;" (assignment_expression "*(undefined4 *)(puVar15 + 0x1c) = uVar12" (pointer_expression "*(undefined4 *)(puVar15 + 0x1c)" * (cast_expression "(undefined4 *)(puVar15 + 0x1c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x1c)" ( (binary_expression "puVar15 + 0x1c" identifier + number_literal) )))) = identifier) ;) (if_statement "if ((char)iVar1 == '\0') {\n      *(undefined **)(puVar15 + -8) = &UNK_002023c1;\n      cVar6 = FUN_001f9220();\n    }\n    else {\n      cVar6 = *(char *)((int)piVar10 + 0x4a);\n    }" if (parenthesized_expression "((char)iVar1 == '\0')" ( (binary_expression "(char)iVar1 == '\0'" (cast_expression "(char)iVar1" ( (type_descriptor "char" primitive_type) ) identifier) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n      *(undefined **)(puVar15 + -8) = &UNK_002023c1;\n      cVar6 = FUN_001f9220();\n    }" { (expression_statement "*(undefined **)(puVar15 + -8) = &UNK_002023c1;" (assignment_expression "*(undefined **)(puVar15 + -8) = &UNK_002023c1" (pointer_expression "*(undefined **)(puVar15 + -8)" * (cast_expression "(undefined **)(puVar15 + -8)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + -8)" ( (binary_expression "puVar15 + -8" identifier + number_literal) )))) = (pointer_expression "&UNK_002023c1" & identifier)) ;) (expression_statement "cVar6 = FUN_001f9220();" (assignment_expression "cVar6 = FUN_001f9220()" identifier = (call_expression "FUN_001f9220()" identifier (argument_list "()" ( )))) ;) }) (else_clause "else {\n      cVar6 = *(char *)((int)piVar10 + 0x4a);\n    }" else (compound_statement "{\n      cVar6 = *(char *)((int)piVar10 + 0x4a);\n    }" { (expression_statement "cVar6 = *(char *)((int)piVar10 + 0x4a);" (assignment_expression "cVar6 = *(char *)((int)piVar10 + 0x4a)" identifier = (pointer_expression "*(char *)((int)piVar10 + 0x4a)" * (cast_expression "(char *)((int)piVar10 + 0x4a)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar10 + 0x4a)" ( (binary_expression "(int)piVar10 + 0x4a" (cast_expression "(int)piVar10" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) }))) (if_statement "if (puVar15[0x1c] != cVar6) {\n      *(undefined **)(puVar15 + -8) = &UNK_00201e53;\n      uVar12 = FUN_001f91d0();\n      iVar1 = piVar10[7];\n      *(undefined4 *)(puVar15 + 0x1c) = uVar12;\n      if ((char)iVar1 == '\0') {\n        *(undefined **)(puVar15 + -8) = &UNK_002023d2;\n        cVar6 = FUN_001f9220();\n      }\n      else {\n        cVar6 = (char)piVar10[0x12];\n      }\n      puVar16 = puVar15 + -4;\n      if (puVar15[0x1c] != cVar6) break;\n    }" if (parenthesized_expression "(puVar15[0x1c] != cVar6)" ( (binary_expression "puVar15[0x1c] != cVar6" (subscript_expression "puVar15[0x1c]" identifier [ number_literal ]) != identifier) )) (compound_statement "{\n      *(undefined **)(puVar15 + -8) = &UNK_00201e53;\n      uVar12 = FUN_001f91d0();\n      iVar1 = piVar10[7];\n      *(undefined4 *)(puVar15 + 0x1c) = uVar12;\n      if ((char)iVar1 == '\0') {\n        *(undefined **)(puVar15 + -8) = &UNK_002023d2;\n        cVar6 = FUN_001f9220();\n      }\n      else {\n        cVar6 = (char)piVar10[0x12];\n      }\n      puVar16 = puVar15 + -4;\n      if (puVar15[0x1c] != cVar6) break;\n    }" { (expression_statement "*(undefined **)(puVar15 + -8) = &UNK_00201e53;" (assignment_expression "*(undefined **)(puVar15 + -8) = &UNK_00201e53" (pointer_expression "*(undefined **)(puVar15 + -8)" * (cast_expression "(undefined **)(puVar15 + -8)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + -8)" ( (binary_expression "puVar15 + -8" identifier + number_literal) )))) = (pointer_expression "&UNK_00201e53" & identifier)) ;) (expression_statement "uVar12 = FUN_001f91d0();" (assignment_expression "uVar12 = FUN_001f91d0()" identifier = (call_expression "FUN_001f91d0()" identifier (argument_list "()" ( )))) ;) (expression_statement "iVar1 = piVar10[7];" (assignment_expression "iVar1 = piVar10[7]" identifier = (subscript_expression "piVar10[7]" identifier [ number_literal ])) ;) (expression_statement "*(undefined4 *)(puVar15 + 0x1c) = uVar12;" (assignment_expression "*(undefined4 *)(puVar15 + 0x1c) = uVar12" (pointer_expression "*(undefined4 *)(puVar15 + 0x1c)" * (cast_expression "(undefined4 *)(puVar15 + 0x1c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x1c)" ( (binary_expression "puVar15 + 0x1c" identifier + number_literal) )))) = identifier) ;) (if_statement "if ((char)iVar1 == '\0') {\n        *(undefined **)(puVar15 + -8) = &UNK_002023d2;\n        cVar6 = FUN_001f9220();\n      }\n      else {\n        cVar6 = (char)piVar10[0x12];\n      }" if (parenthesized_expression "((char)iVar1 == '\0')" ( (binary_expression "(char)iVar1 == '\0'" (cast_expression "(char)iVar1" ( (type_descriptor "char" primitive_type) ) identifier) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n        *(undefined **)(puVar15 + -8) = &UNK_002023d2;\n        cVar6 = FUN_001f9220();\n      }" { (expression_statement "*(undefined **)(puVar15 + -8) = &UNK_002023d2;" (assignment_expression "*(undefined **)(puVar15 + -8) = &UNK_002023d2" (pointer_expression "*(undefined **)(puVar15 + -8)" * (cast_expression "(undefined **)(puVar15 + -8)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + -8)" ( (binary_expression "puVar15 + -8" identifier + number_literal) )))) = (pointer_expression "&UNK_002023d2" & identifier)) ;) (expression_statement "cVar6 = FUN_001f9220();" (assignment_expression "cVar6 = FUN_001f9220()" identifier = (call_expression "FUN_001f9220()" identifier (argument_list "()" ( )))) ;) }) (else_clause "else {\n        cVar6 = (char)piVar10[0x12];\n      }" else (compound_statement "{\n        cVar6 = (char)piVar10[0x12];\n      }" { (expression_statement "cVar6 = (char)piVar10[0x12];" (assignment_expression "cVar6 = (char)piVar10[0x12]" identifier = (cast_expression "(char)piVar10[0x12]" ( (type_descriptor "char" primitive_type) ) (subscript_expression "piVar10[0x12]" identifier [ number_literal ]))) ;) }))) (expression_statement "puVar16 = puVar15 + -4;" (assignment_expression "puVar16 = puVar15 + -4" identifier = (binary_expression "puVar15 + -4" identifier + number_literal)) ;) (if_statement "if (puVar15[0x1c] != cVar6) break;" if (parenthesized_expression "(puVar15[0x1c] != cVar6)" ( (binary_expression "puVar15[0x1c] != cVar6" (subscript_expression "puVar15[0x1c]" identifier [ number_literal ]) != identifier) )) (break_statement "break;" break ;)) })) (expression_statement "*(undefined1 **)(puVar15 + -8) = puVar2;" (assignment_expression "*(undefined1 **)(puVar15 + -8) = puVar2" (pointer_expression "*(undefined1 **)(puVar15 + -8)" * (cast_expression "(undefined1 **)(puVar15 + -8)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + -8)" ( (binary_expression "puVar15 + -8" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar15 + -0xc) = *(undefined4 *)(puVar15 + 0xa4);" (assignment_expression "*(undefined4 *)(puVar15 + -0xc) = *(undefined4 *)(puVar15 + 0xa4)" (pointer_expression "*(undefined4 *)(puVar15 + -0xc)" * (cast_expression "(undefined4 *)(puVar15 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0xc)" ( (binary_expression "puVar15 + -0xc" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar15 + 0xa4)" * (cast_expression "(undefined4 *)(puVar15 + 0xa4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0xa4)" ( (binary_expression "puVar15 + 0xa4" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x10) = 2;" (assignment_expression "*(undefined4 *)(puVar15 + -0x10) = 2" (pointer_expression "*(undefined4 *)(puVar15 + -0x10)" * (cast_expression "(undefined4 *)(puVar15 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x10)" ( (binary_expression "puVar15 + -0x10" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x14) = 0x17;" (assignment_expression "*(undefined4 *)(puVar15 + -0x14) = 0x17" (pointer_expression "*(undefined4 *)(puVar15 + -0x14)" * (cast_expression "(undefined4 *)(puVar15 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x14)" ( (binary_expression "puVar15 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x18) = 0;" (assignment_expression "*(undefined4 *)(puVar15 + -0x18) = 0" (pointer_expression "*(undefined4 *)(puVar15 + -0x18)" * (cast_expression "(undefined4 *)(puVar15 + -0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x18)" ( (binary_expression "puVar15 + -0x18" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined1 **)(puVar15 + -0x1c) = puVar3;" (assignment_expression "*(undefined1 **)(puVar15 + -0x1c) = puVar3" (pointer_expression "*(undefined1 **)(puVar15 + -0x1c)" * (cast_expression "(undefined1 **)(puVar15 + -0x1c)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + -0x1c)" ( (binary_expression "puVar15 + -0x1c" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x20) = *(undefined4 *)(puVar15 + 0xa0);" (assignment_expression "*(undefined4 *)(puVar15 + -0x20) = *(undefined4 *)(puVar15 + 0xa0)" (pointer_expression "*(undefined4 *)(puVar15 + -0x20)" * (cast_expression "(undefined4 *)(puVar15 + -0x20)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x20)" ( (binary_expression "puVar15 + -0x20" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar15 + 0xa0)" * (cast_expression "(undefined4 *)(puVar15 + 0xa0)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0xa0)" ( (binary_expression "puVar15 + 0xa0" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x24) = *(undefined4 *)(puVar15 + 0x9c);" (assignment_expression "*(undefined4 *)(puVar15 + -0x24) = *(undefined4 *)(puVar15 + 0x9c)" (pointer_expression "*(undefined4 *)(puVar15 + -0x24)" * (cast_expression "(undefined4 *)(puVar15 + -0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x24)" ( (binary_expression "puVar15 + -0x24" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar15 + 0x9c)" * (cast_expression "(undefined4 *)(puVar15 + 0x9c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x9c)" ( (binary_expression "puVar15 + 0x9c" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x28) = *(undefined4 *)(puVar15 + 0x98);" (assignment_expression "*(undefined4 *)(puVar15 + -0x28) = *(undefined4 *)(puVar15 + 0x98)" (pointer_expression "*(undefined4 *)(puVar15 + -0x28)" * (cast_expression "(undefined4 *)(puVar15 + -0x28)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x28)" ( (binary_expression "puVar15 + -0x28" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar15 + 0x98)" * (cast_expression "(undefined4 *)(puVar15 + 0x98)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x98)" ( (binary_expression "puVar15 + 0x98" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x2c) = *(undefined4 *)(puVar15 + 0x94);" (assignment_expression "*(undefined4 *)(puVar15 + -0x2c) = *(undefined4 *)(puVar15 + 0x94)" (pointer_expression "*(undefined4 *)(puVar15 + -0x2c)" * (cast_expression "(undefined4 *)(puVar15 + -0x2c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x2c)" ( (binary_expression "puVar15 + -0x2c" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar15 + 0x94)" * (cast_expression "(undefined4 *)(puVar15 + 0x94)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x94)" ( (binary_expression "puVar15 + 0x94" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x30) = *(undefined4 *)(puVar15 + 0x90);" (assignment_expression "*(undefined4 *)(puVar15 + -0x30) = *(undefined4 *)(puVar15 + 0x90)" (pointer_expression "*(undefined4 *)(puVar15 + -0x30)" * (cast_expression "(undefined4 *)(puVar15 + -0x30)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x30)" ( (binary_expression "puVar15 + -0x30" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar15 + 0x90)" * (cast_expression "(undefined4 *)(puVar15 + 0x90)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x90)" ( (binary_expression "puVar15 + 0x90" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x34) = *(undefined4 *)(puVar15 + 0x10);" (assignment_expression "*(undefined4 *)(puVar15 + -0x34) = *(undefined4 *)(puVar15 + 0x10)" (pointer_expression "*(undefined4 *)(puVar15 + -0x34)" * (cast_expression "(undefined4 *)(puVar15 + -0x34)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x34)" ( (binary_expression "puVar15 + -0x34" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar15 + 0x10)" * (cast_expression "(undefined4 *)(puVar15 + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x10)" ( (binary_expression "puVar15 + 0x10" identifier + number_literal) ))))) ;) (expression_statement "*(undefined **)(puVar15 + -0x38) = &UNK_00201eaa;" (assignment_expression "*(undefined **)(puVar15 + -0x38) = &UNK_00201eaa" (pointer_expression "*(undefined **)(puVar15 + -0x38)" * (cast_expression "(undefined **)(puVar15 + -0x38)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + -0x38)" ( (binary_expression "puVar15 + -0x38" identifier + number_literal) )))) = (pointer_expression "&UNK_00201eaa" & identifier)) ;) (expression_statement "FUN_001fc0e0();" (call_expression "FUN_001fc0e0()" identifier (argument_list "()" ( ))) ;) (expression_statement "*(undefined4 *)(puVar15 + 0x90) = *(undefined4 *)(puVar15 + 0x20);" (assignment_expression "*(undefined4 *)(puVar15 + 0x90) = *(undefined4 *)(puVar15 + 0x20)" (pointer_expression "*(undefined4 *)(puVar15 + 0x90)" * (cast_expression "(undefined4 *)(puVar15 + 0x90)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x90)" ( (binary_expression "puVar15 + 0x90" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar15 + 0x20)" * (cast_expression "(undefined4 *)(puVar15 + 0x20)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x20)" ( (binary_expression "puVar15 + 0x20" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar15 + 0x94) = *(undefined4 *)(puVar15 + 0x24);" (assignment_expression "*(undefined4 *)(puVar15 + 0x94) = *(undefined4 *)(puVar15 + 0x24)" (pointer_expression "*(undefined4 *)(puVar15 + 0x94)" * (cast_expression "(undefined4 *)(puVar15 + 0x94)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x94)" ( (binary_expression "puVar15 + 0x94" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar15 + 0x24)" * (cast_expression "(undefined4 *)(puVar15 + 0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x24)" ( (binary_expression "puVar15 + 0x24" identifier + number_literal) ))))) ;) (expression_statement "*(undefined1 **)(puVar15 + -0xc) = puVar2;" (assignment_expression "*(undefined1 **)(puVar15 + -0xc) = puVar2" (pointer_expression "*(undefined1 **)(puVar15 + -0xc)" * (cast_expression "(undefined1 **)(puVar15 + -0xc)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + -0xc)" ( (binary_expression "puVar15 + -0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0xa0);" (assignment_expression "*(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0xa0)" (pointer_expression "*(undefined4 *)(puVar15 + -0x10)" * (cast_expression "(undefined4 *)(puVar15 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x10)" ( (binary_expression "puVar15 + -0x10" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar15 + 0xa0)" * (cast_expression "(undefined4 *)(puVar15 + 0xa0)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0xa0)" ( (binary_expression "puVar15 + 0xa0" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x14) = 2;" (assignment_expression "*(undefined4 *)(puVar15 + -0x14) = 2" (pointer_expression "*(undefined4 *)(puVar15 + -0x14)" * (cast_expression "(undefined4 *)(puVar15 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x14)" ( (binary_expression "puVar15 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x18) = 0x3b;" (assignment_expression "*(undefined4 *)(puVar15 + -0x18) = 0x3b" (pointer_expression "*(undefined4 *)(puVar15 + -0x18)" * (cast_expression "(undefined4 *)(puVar15 + -0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x18)" ( (binary_expression "puVar15 + -0x18" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x1c) = 0;" (assignment_expression "*(undefined4 *)(puVar15 + -0x1c) = 0" (pointer_expression "*(undefined4 *)(puVar15 + -0x1c)" * (cast_expression "(undefined4 *)(puVar15 + -0x1c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x1c)" ( (binary_expression "puVar15 + -0x1c" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined1 **)(puVar15 + -0x20) = puVar3;" (assignment_expression "*(undefined1 **)(puVar15 + -0x20) = puVar3" (pointer_expression "*(undefined1 **)(puVar15 + -0x20)" * (cast_expression "(undefined1 **)(puVar15 + -0x20)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + -0x20)" ( (binary_expression "puVar15 + -0x20" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x24) = *(undefined4 *)(puVar15 + 0x9c);" (assignment_expression "*(undefined4 *)(puVar15 + -0x24) = *(undefined4 *)(puVar15 + 0x9c)" (pointer_expression "*(undefined4 *)(puVar15 + -0x24)" * (cast_expression "(undefined4 *)(puVar15 + -0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x24)" ( (binary_expression "puVar15 + -0x24" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar15 + 0x9c)" * (cast_expression "(undefined4 *)(puVar15 + 0x9c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x9c)" ( (binary_expression "puVar15 + 0x9c" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x28) = *(undefined4 *)(puVar15 + 0x98);" (assignment_expression "*(undefined4 *)(puVar15 + -0x28) = *(undefined4 *)(puVar15 + 0x98)" (pointer_expression "*(undefined4 *)(puVar15 + -0x28)" * (cast_expression "(undefined4 *)(puVar15 + -0x28)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x28)" ( (binary_expression "puVar15 + -0x28" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar15 + 0x98)" * (cast_expression "(undefined4 *)(puVar15 + 0x98)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x98)" ( (binary_expression "puVar15 + 0x98" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x2c) = *(undefined4 *)(puVar15 + 0x24);" (assignment_expression "*(undefined4 *)(puVar15 + -0x2c) = *(undefined4 *)(puVar15 + 0x24)" (pointer_expression "*(undefined4 *)(puVar15 + -0x2c)" * (cast_expression "(undefined4 *)(puVar15 + -0x2c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x2c)" ( (binary_expression "puVar15 + -0x2c" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar15 + 0x24)" * (cast_expression "(undefined4 *)(puVar15 + 0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x24)" ( (binary_expression "puVar15 + 0x24" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x30) = *(undefined4 *)(puVar15 + 0x20);" (assignment_expression "*(undefined4 *)(puVar15 + -0x30) = *(undefined4 *)(puVar15 + 0x20)" (pointer_expression "*(undefined4 *)(puVar15 + -0x30)" * (cast_expression "(undefined4 *)(puVar15 + -0x30)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x30)" ( (binary_expression "puVar15 + -0x30" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar15 + 0x20)" * (cast_expression "(undefined4 *)(puVar15 + 0x20)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x20)" ( (binary_expression "puVar15 + 0x20" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x34) = *(undefined4 *)(puVar15 + 0x8c);" (assignment_expression "*(undefined4 *)(puVar15 + -0x34) = *(undefined4 *)(puVar15 + 0x8c)" (pointer_expression "*(undefined4 *)(puVar15 + -0x34)" * (cast_expression "(undefined4 *)(puVar15 + -0x34)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x34)" ( (binary_expression "puVar15 + -0x34" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar15 + 0x8c)" * (cast_expression "(undefined4 *)(puVar15 + 0x8c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x8c)" ( (binary_expression "puVar15 + 0x8c" identifier + number_literal) ))))) ;) (expression_statement "puVar17 = puVar15 + -0x38;" (assignment_expression "puVar17 = puVar15 + -0x38" identifier = (binary_expression "puVar15 + -0x38" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x38) = *(undefined4 *)(puVar15 + 0xc);" (assignment_expression "*(undefined4 *)(puVar15 + -0x38) = *(undefined4 *)(puVar15 + 0xc)" (pointer_expression "*(undefined4 *)(puVar15 + -0x38)" * (cast_expression "(undefined4 *)(puVar15 + -0x38)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x38)" ( (binary_expression "puVar15 + -0x38" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar15 + 0xc)" * (cast_expression "(undefined4 *)(puVar15 + 0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0xc)" ( (binary_expression "puVar15 + 0xc" identifier + number_literal) ))))) ;) (expression_statement "*(undefined **)(puVar15 + -0x3c) = &UNK_00201ef2;" (assignment_expression "*(undefined **)(puVar15 + -0x3c) = &UNK_00201ef2" (pointer_expression "*(undefined **)(puVar15 + -0x3c)" * (cast_expression "(undefined **)(puVar15 + -0x3c)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + -0x3c)" ( (binary_expression "puVar15 + -0x3c" identifier + number_literal) )))) = (pointer_expression "&UNK_00201ef2" & identifier)) ;) (expression_statement "FUN_001fc0e0();" (call_expression "FUN_001fc0e0()" identifier (argument_list "()" ( ))) ;) (goto_statement "goto code_r0x00201b6c;" goto statement_identifier ;)) (case_statement "case 0x61:\n    iVar1 = *(int *)(*(int *)(puVar15 + 0x18) + 8);\n    *(undefined4 *)(puVar15 + 0x40) = *(undefined4 *)(iVar1 + 0x48);\n    *(undefined4 *)(puVar15 + 0x44) = *(undefined4 *)(iVar1 + 0x4c);\n    *(undefined4 *)(puVar15 + 0x48) = *(undefined4 *)(iVar1 + 0x50);\n    *(undefined4 *)(puVar15 + 0x4c) = *(undefined4 *)(iVar1 + 0x54);\n    *(undefined4 *)(puVar15 + 0x50) = *(undefined4 *)(iVar1 + 0x58);\n    *(undefined4 *)(puVar15 + 0x54) = *(undefined4 *)(iVar1 + 0x5c);\n    uVar12 = *(undefined4 *)(iVar1 + 0x60);\ncode_r0x00201f34:\n    *(undefined4 *)(puVar15 + 0x58) = uVar12;\n    *(undefined1 **)(puVar15 + -8) = puVar15 + 0x38;\n    *(undefined4 *)(puVar15 + -0xc) = *(undefined4 *)(puVar15 + 0xa8);\n    *(undefined4 *)(puVar15 + -0x10) = 7;\n    *(undefined1 **)(puVar15 + -0x14) = puVar15 + 0x40;\n    *(undefined1 **)(puVar15 + -0x18) = puVar15 + 0x3c;\n    *(undefined4 *)(puVar15 + -0x1c) = *(undefined4 *)(puVar15 + 0xa4);\n    *(undefined4 *)(puVar15 + -0x20) = *(undefined4 *)(puVar15 + 0xa0);\n    *(undefined4 *)(puVar15 + -0x24) = *(undefined4 *)(puVar15 + 0x9c);\n    *(undefined4 *)(puVar15 + -0x28) = *(undefined4 *)(puVar15 + 0x98);\n    *(undefined4 *)(puVar15 + -0x2c) = *(undefined4 *)(puVar15 + 0x94);\n    *(undefined1 **)(puVar15 + -0x30) = puVar15 + 0x28;\n    *(undefined **)(puVar15 + -0x34) = &UNK_00201f80;\n    FUN_00201020();\n    *(undefined4 *)(puVar15 + 0x94) = *(undefined4 *)(puVar15 + 0x24);\n    *(undefined4 *)(puVar15 + 0x98) = *(undefined4 *)(puVar15 + 0x28);\n    puVar16 = puVar15 + -4;\n    if (*(int *)(puVar15 + 0x34) == 0) {\n      *(undefined4 *)(*(int *)(puVar15 + 0xac) + 0x18) = *(undefined4 *)(puVar15 + 0x38);\n      puVar16 = puVar15 + -4;\n    }\n    break;" case number_literal : (expression_statement "iVar1 = *(int *)(*(int *)(puVar15 + 0x18) + 8);" (assignment_expression "iVar1 = *(int *)(*(int *)(puVar15 + 0x18) + 8)" identifier = (pointer_expression "*(int *)(*(int *)(puVar15 + 0x18) + 8)" * (cast_expression "(int *)(*(int *)(puVar15 + 0x18) + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar15 + 0x18) + 8)" ( (binary_expression "*(int *)(puVar15 + 0x18) + 8" (pointer_expression "*(int *)(puVar15 + 0x18)" * (cast_expression "(int *)(puVar15 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x18)" ( (binary_expression "puVar15 + 0x18" identifier + number_literal) )))) + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar15 + 0x40) = *(undefined4 *)(iVar1 + 0x48);" (assignment_expression "*(undefined4 *)(puVar15 + 0x40) = *(undefined4 *)(iVar1 + 0x48)" (pointer_expression "*(undefined4 *)(puVar15 + 0x40)" * (cast_expression "(undefined4 *)(puVar15 + 0x40)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x40)" ( (binary_expression "puVar15 + 0x40" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(iVar1 + 0x48)" * (cast_expression "(undefined4 *)(iVar1 + 0x48)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x48)" ( (binary_expression "iVar1 + 0x48" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar15 + 0x44) = *(undefined4 *)(iVar1 + 0x4c);" (assignment_expression "*(undefined4 *)(puVar15 + 0x44) = *(undefined4 *)(iVar1 + 0x4c)" (pointer_expression "*(undefined4 *)(puVar15 + 0x44)" * (cast_expression "(undefined4 *)(puVar15 + 0x44)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x44)" ( (binary_expression "puVar15 + 0x44" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(iVar1 + 0x4c)" * (cast_expression "(undefined4 *)(iVar1 + 0x4c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x4c)" ( (binary_expression "iVar1 + 0x4c" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar15 + 0x48) = *(undefined4 *)(iVar1 + 0x50);" (assignment_expression "*(undefined4 *)(puVar15 + 0x48) = *(undefined4 *)(iVar1 + 0x50)" (pointer_expression "*(undefined4 *)(puVar15 + 0x48)" * (cast_expression "(undefined4 *)(puVar15 + 0x48)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x48)" ( (binary_expression "puVar15 + 0x48" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(iVar1 + 0x50)" * (cast_expression "(undefined4 *)(iVar1 + 0x50)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x50)" ( (binary_expression "iVar1 + 0x50" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar15 + 0x4c) = *(undefined4 *)(iVar1 + 0x54);" (assignment_expression "*(undefined4 *)(puVar15 + 0x4c) = *(undefined4 *)(iVar1 + 0x54)" (pointer_expression "*(undefined4 *)(puVar15 + 0x4c)" * (cast_expression "(undefined4 *)(puVar15 + 0x4c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x4c)" ( (binary_expression "puVar15 + 0x4c" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(iVar1 + 0x54)" * (cast_expression "(undefined4 *)(iVar1 + 0x54)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x54)" ( (binary_expression "iVar1 + 0x54" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar15 + 0x50) = *(undefined4 *)(iVar1 + 0x58);" (assignment_expression "*(undefined4 *)(puVar15 + 0x50) = *(undefined4 *)(iVar1 + 0x58)" (pointer_expression "*(undefined4 *)(puVar15 + 0x50)" * (cast_expression "(undefined4 *)(puVar15 + 0x50)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x50)" ( (binary_expression "puVar15 + 0x50" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(iVar1 + 0x58)" * (cast_expression "(undefined4 *)(iVar1 + 0x58)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x58)" ( (binary_expression "iVar1 + 0x58" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar15 + 0x54) = *(undefined4 *)(iVar1 + 0x5c);" (assignment_expression "*(undefined4 *)(puVar15 + 0x54) = *(undefined4 *)(iVar1 + 0x5c)" (pointer_expression "*(undefined4 *)(puVar15 + 0x54)" * (cast_expression "(undefined4 *)(puVar15 + 0x54)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x54)" ( (binary_expression "puVar15 + 0x54" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(iVar1 + 0x5c)" * (cast_expression "(undefined4 *)(iVar1 + 0x5c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x5c)" ( (binary_expression "iVar1 + 0x5c" identifier + number_literal) ))))) ;) (expression_statement "uVar12 = *(undefined4 *)(iVar1 + 0x60);" (assignment_expression "uVar12 = *(undefined4 *)(iVar1 + 0x60)" identifier = (pointer_expression "*(undefined4 *)(iVar1 + 0x60)" * (cast_expression "(undefined4 *)(iVar1 + 0x60)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x60)" ( (binary_expression "iVar1 + 0x60" identifier + number_literal) ))))) ;) (labeled_statement "code_r0x00201f34:\n    *(undefined4 *)(puVar15 + 0x58) = uVar12;" statement_identifier : (expression_statement "*(undefined4 *)(puVar15 + 0x58) = uVar12;" (assignment_expression "*(undefined4 *)(puVar15 + 0x58) = uVar12" (pointer_expression "*(undefined4 *)(puVar15 + 0x58)" * (cast_expression "(undefined4 *)(puVar15 + 0x58)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x58)" ( (binary_expression "puVar15 + 0x58" identifier + number_literal) )))) = identifier) ;)) (expression_statement "*(undefined1 **)(puVar15 + -8) = puVar15 + 0x38;" (assignment_expression "*(undefined1 **)(puVar15 + -8) = puVar15 + 0x38" (pointer_expression "*(undefined1 **)(puVar15 + -8)" * (cast_expression "(undefined1 **)(puVar15 + -8)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + -8)" ( (binary_expression "puVar15 + -8" identifier + number_literal) )))) = (binary_expression "puVar15 + 0x38" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar15 + -0xc) = *(undefined4 *)(puVar15 + 0xa8);" (assignment_expression "*(undefined4 *)(puVar15 + -0xc) = *(undefined4 *)(puVar15 + 0xa8)" (pointer_expression "*(undefined4 *)(puVar15 + -0xc)" * (cast_expression "(undefined4 *)(puVar15 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0xc)" ( (binary_expression "puVar15 + -0xc" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar15 + 0xa8)" * (cast_expression "(undefined4 *)(puVar15 + 0xa8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0xa8)" ( (binary_expression "puVar15 + 0xa8" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x10) = 7;" (assignment_expression "*(undefined4 *)(puVar15 + -0x10) = 7" (pointer_expression "*(undefined4 *)(puVar15 + -0x10)" * (cast_expression "(undefined4 *)(puVar15 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x10)" ( (binary_expression "puVar15 + -0x10" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined1 **)(puVar15 + -0x14) = puVar15 + 0x40;" (assignment_expression "*(undefined1 **)(puVar15 + -0x14) = puVar15 + 0x40" (pointer_expression "*(undefined1 **)(puVar15 + -0x14)" * (cast_expression "(undefined1 **)(puVar15 + -0x14)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + -0x14)" ( (binary_expression "puVar15 + -0x14" identifier + number_literal) )))) = (binary_expression "puVar15 + 0x40" identifier + number_literal)) ;) (expression_statement "*(undefined1 **)(puVar15 + -0x18) = puVar15 + 0x3c;" (assignment_expression "*(undefined1 **)(puVar15 + -0x18) = puVar15 + 0x3c" (pointer_expression "*(undefined1 **)(puVar15 + -0x18)" * (cast_expression "(undefined1 **)(puVar15 + -0x18)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + -0x18)" ( (binary_expression "puVar15 + -0x18" identifier + number_literal) )))) = (binary_expression "puVar15 + 0x3c" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x1c) = *(undefined4 *)(puVar15 + 0xa4);" (assignment_expression "*(undefined4 *)(puVar15 + -0x1c) = *(undefined4 *)(puVar15 + 0xa4)" (pointer_expression "*(undefined4 *)(puVar15 + -0x1c)" * (cast_expression "(undefined4 *)(puVar15 + -0x1c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x1c)" ( (binary_expression "puVar15 + -0x1c" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar15 + 0xa4)" * (cast_expression "(undefined4 *)(puVar15 + 0xa4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0xa4)" ( (binary_expression "puVar15 + 0xa4" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x20) = *(undefined4 *)(puVar15 + 0xa0);" (assignment_expression "*(undefined4 *)(puVar15 + -0x20) = *(undefined4 *)(puVar15 + 0xa0)" (pointer_expression "*(undefined4 *)(puVar15 + -0x20)" * (cast_expression "(undefined4 *)(puVar15 + -0x20)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x20)" ( (binary_expression "puVar15 + -0x20" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar15 + 0xa0)" * (cast_expression "(undefined4 *)(puVar15 + 0xa0)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0xa0)" ( (binary_expression "puVar15 + 0xa0" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x24) = *(undefined4 *)(puVar15 + 0x9c);" (assignment_expression "*(undefined4 *)(puVar15 + -0x24) = *(undefined4 *)(puVar15 + 0x9c)" (pointer_expression "*(undefined4 *)(puVar15 + -0x24)" * (cast_expression "(undefined4 *)(puVar15 + -0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x24)" ( (binary_expression "puVar15 + -0x24" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar15 + 0x9c)" * (cast_expression "(undefined4 *)(puVar15 + 0x9c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x9c)" ( (binary_expression "puVar15 + 0x9c" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x28) = *(undefined4 *)(puVar15 + 0x98);" (assignment_expression "*(undefined4 *)(puVar15 + -0x28) = *(undefined4 *)(puVar15 + 0x98)" (pointer_expression "*(undefined4 *)(puVar15 + -0x28)" * (cast_expression "(undefined4 *)(puVar15 + -0x28)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x28)" ( (binary_expression "puVar15 + -0x28" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar15 + 0x98)" * (cast_expression "(undefined4 *)(puVar15 + 0x98)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x98)" ( (binary_expression "puVar15 + 0x98" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x2c) = *(undefined4 *)(puVar15 + 0x94);" (assignment_expression "*(undefined4 *)(puVar15 + -0x2c) = *(undefined4 *)(puVar15 + 0x94)" (pointer_expression "*(undefined4 *)(puVar15 + -0x2c)" * (cast_expression "(undefined4 *)(puVar15 + -0x2c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x2c)" ( (binary_expression "puVar15 + -0x2c" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar15 + 0x94)" * (cast_expression "(undefined4 *)(puVar15 + 0x94)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x94)" ( (binary_expression "puVar15 + 0x94" identifier + number_literal) ))))) ;) (expression_statement "*(undefined1 **)(puVar15 + -0x30) = puVar15 + 0x28;" (assignment_expression "*(undefined1 **)(puVar15 + -0x30) = puVar15 + 0x28" (pointer_expression "*(undefined1 **)(puVar15 + -0x30)" * (cast_expression "(undefined1 **)(puVar15 + -0x30)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + -0x30)" ( (binary_expression "puVar15 + -0x30" identifier + number_literal) )))) = (binary_expression "puVar15 + 0x28" identifier + number_literal)) ;) (expression_statement "*(undefined **)(puVar15 + -0x34) = &UNK_00201f80;" (assignment_expression "*(undefined **)(puVar15 + -0x34) = &UNK_00201f80" (pointer_expression "*(undefined **)(puVar15 + -0x34)" * (cast_expression "(undefined **)(puVar15 + -0x34)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + -0x34)" ( (binary_expression "puVar15 + -0x34" identifier + number_literal) )))) = (pointer_expression "&UNK_00201f80" & identifier)) ;) (expression_statement "FUN_00201020();" (call_expression "FUN_00201020()" identifier (argument_list "()" ( ))) ;) (expression_statement "*(undefined4 *)(puVar15 + 0x94) = *(undefined4 *)(puVar15 + 0x24);" (assignment_expression "*(undefined4 *)(puVar15 + 0x94) = *(undefined4 *)(puVar15 + 0x24)" (pointer_expression "*(undefined4 *)(puVar15 + 0x94)" * (cast_expression "(undefined4 *)(puVar15 + 0x94)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x94)" ( (binary_expression "puVar15 + 0x94" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar15 + 0x24)" * (cast_expression "(undefined4 *)(puVar15 + 0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x24)" ( (binary_expression "puVar15 + 0x24" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar15 + 0x98) = *(undefined4 *)(puVar15 + 0x28);" (assignment_expression "*(undefined4 *)(puVar15 + 0x98) = *(undefined4 *)(puVar15 + 0x28)" (pointer_expression "*(undefined4 *)(puVar15 + 0x98)" * (cast_expression "(undefined4 *)(puVar15 + 0x98)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x98)" ( (binary_expression "puVar15 + 0x98" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar15 + 0x28)" * (cast_expression "(undefined4 *)(puVar15 + 0x28)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x28)" ( (binary_expression "puVar15 + 0x28" identifier + number_literal) ))))) ;) (expression_statement "puVar16 = puVar15 + -4;" (assignment_expression "puVar16 = puVar15 + -4" identifier = (binary_expression "puVar15 + -4" identifier + number_literal)) ;) (if_statement "if (*(int *)(puVar15 + 0x34) == 0) {\n      *(undefined4 *)(*(int *)(puVar15 + 0xac) + 0x18) = *(undefined4 *)(puVar15 + 0x38);\n      puVar16 = puVar15 + -4;\n    }" if (parenthesized_expression "(*(int *)(puVar15 + 0x34) == 0)" ( (binary_expression "*(int *)(puVar15 + 0x34) == 0" (pointer_expression "*(int *)(puVar15 + 0x34)" * (cast_expression "(int *)(puVar15 + 0x34)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x34)" ( (binary_expression "puVar15 + 0x34" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n      *(undefined4 *)(*(int *)(puVar15 + 0xac) + 0x18) = *(undefined4 *)(puVar15 + 0x38);\n      puVar16 = puVar15 + -4;\n    }" { (expression_statement "*(undefined4 *)(*(int *)(puVar15 + 0xac) + 0x18) = *(undefined4 *)(puVar15 + 0x38);" (assignment_expression "*(undefined4 *)(*(int *)(puVar15 + 0xac) + 0x18) = *(undefined4 *)(puVar15 + 0x38)" (pointer_expression "*(undefined4 *)(*(int *)(puVar15 + 0xac) + 0x18)" * (cast_expression "(undefined4 *)(*(int *)(puVar15 + 0xac) + 0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar15 + 0xac) + 0x18)" ( (binary_expression "*(int *)(puVar15 + 0xac) + 0x18" (pointer_expression "*(int *)(puVar15 + 0xac)" * (cast_expression "(int *)(puVar15 + 0xac)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0xac)" ( (binary_expression "puVar15 + 0xac" identifier + number_literal) )))) + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar15 + 0x38)" * (cast_expression "(undefined4 *)(puVar15 + 0x38)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x38)" ( (binary_expression "puVar15 + 0x38" identifier + number_literal) ))))) ;) (expression_statement "puVar16 = puVar15 + -4;" (assignment_expression "puVar16 = puVar15 + -4" identifier = (binary_expression "puVar15 + -4" identifier + number_literal)) ;) })) (break_statement "break;" break ;)) (case_statement "case 0x62:" case number_literal :) (case_statement "case 0x68:\n    *(undefined1 **)(puVar15 + -0xc) = puVar15 + 0x40;\n    *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0x18);\n    *(undefined **)(puVar15 + -0x14) = &UNK_00202171;\n    FUN_001fb0c0();\ncode_r0x00201fd1:\n    *(undefined1 **)(puVar15 + -8) = puVar15 + 0x38;\n    *(undefined4 *)(puVar15 + -0xc) = *(undefined4 *)(puVar15 + 0xa8);\n    *(undefined4 *)(puVar15 + -0x10) = 0xc;\n    *(undefined1 **)(puVar15 + -0x14) = puVar15 + 0x40;\n    *(undefined1 **)(puVar15 + -0x18) = puVar15 + 0x3c;\n    *(undefined4 *)(puVar15 + -0x1c) = *(undefined4 *)(puVar15 + 0xa4);\n    *(undefined4 *)(puVar15 + -0x20) = *(undefined4 *)(puVar15 + 0xa0);\n    *(undefined4 *)(puVar15 + -0x24) = *(undefined4 *)(puVar15 + 0x9c);\n    *(undefined4 *)(puVar15 + -0x28) = *(undefined4 *)(puVar15 + 0x98);\n    *(undefined4 *)(puVar15 + -0x2c) = *(undefined4 *)(puVar15 + 0x94);\n    *(undefined1 **)(puVar15 + -0x30) = puVar15 + 0x28;\n    *(undefined **)(puVar15 + -0x34) = &UNK_00202015;\n    FUN_00201020();\n    *(undefined4 *)(puVar15 + 0x94) = *(undefined4 *)(puVar15 + 0x24);\n    *(undefined4 *)(puVar15 + 0x98) = *(undefined4 *)(puVar15 + 0x28);\n    puVar16 = puVar15 + -4;\n    if (*(int *)(puVar15 + 0x34) == 0) {\n      *(undefined4 *)(*(int *)(puVar15 + 0xac) + 0x10) = *(undefined4 *)(puVar15 + 0x38);\n      puVar16 = puVar15 + -4;\n    }\n    break;" case number_literal : (expression_statement "*(undefined1 **)(puVar15 + -0xc) = puVar15 + 0x40;" (assignment_expression "*(undefined1 **)(puVar15 + -0xc) = puVar15 + 0x40" (pointer_expression "*(undefined1 **)(puVar15 + -0xc)" * (cast_expression "(undefined1 **)(puVar15 + -0xc)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + -0xc)" ( (binary_expression "puVar15 + -0xc" identifier + number_literal) )))) = (binary_expression "puVar15 + 0x40" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0x18);" (assignment_expression "*(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0x18)" (pointer_expression "*(undefined4 *)(puVar15 + -0x10)" * (cast_expression "(undefined4 *)(puVar15 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x10)" ( (binary_expression "puVar15 + -0x10" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar15 + 0x18)" * (cast_expression "(undefined4 *)(puVar15 + 0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x18)" ( (binary_expression "puVar15 + 0x18" identifier + number_literal) ))))) ;) (expression_statement "*(undefined **)(puVar15 + -0x14) = &UNK_00202171;" (assignment_expression "*(undefined **)(puVar15 + -0x14) = &UNK_00202171" (pointer_expression "*(undefined **)(puVar15 + -0x14)" * (cast_expression "(undefined **)(puVar15 + -0x14)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + -0x14)" ( (binary_expression "puVar15 + -0x14" identifier + number_literal) )))) = (pointer_expression "&UNK_00202171" & identifier)) ;) (expression_statement "FUN_001fb0c0();" (call_expression "FUN_001fb0c0()" identifier (argument_list "()" ( ))) ;) (labeled_statement "code_r0x00201fd1:\n    *(undefined1 **)(puVar15 + -8) = puVar15 + 0x38;" statement_identifier : (expression_statement "*(undefined1 **)(puVar15 + -8) = puVar15 + 0x38;" (assignment_expression "*(undefined1 **)(puVar15 + -8) = puVar15 + 0x38" (pointer_expression "*(undefined1 **)(puVar15 + -8)" * (cast_expression "(undefined1 **)(puVar15 + -8)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + -8)" ( (binary_expression "puVar15 + -8" identifier + number_literal) )))) = (binary_expression "puVar15 + 0x38" identifier + number_literal)) ;)) (expression_statement "*(undefined4 *)(puVar15 + -0xc) = *(undefined4 *)(puVar15 + 0xa8);" (assignment_expression "*(undefined4 *)(puVar15 + -0xc) = *(undefined4 *)(puVar15 + 0xa8)" (pointer_expression "*(undefined4 *)(puVar15 + -0xc)" * (cast_expression "(undefined4 *)(puVar15 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0xc)" ( (binary_expression "puVar15 + -0xc" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar15 + 0xa8)" * (cast_expression "(undefined4 *)(puVar15 + 0xa8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0xa8)" ( (binary_expression "puVar15 + 0xa8" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x10) = 0xc;" (assignment_expression "*(undefined4 *)(puVar15 + -0x10) = 0xc" (pointer_expression "*(undefined4 *)(puVar15 + -0x10)" * (cast_expression "(undefined4 *)(puVar15 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x10)" ( (binary_expression "puVar15 + -0x10" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined1 **)(puVar15 + -0x14) = puVar15 + 0x40;" (assignment_expression "*(undefined1 **)(puVar15 + -0x14) = puVar15 + 0x40" (pointer_expression "*(undefined1 **)(puVar15 + -0x14)" * (cast_expression "(undefined1 **)(puVar15 + -0x14)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + -0x14)" ( (binary_expression "puVar15 + -0x14" identifier + number_literal) )))) = (binary_expression "puVar15 + 0x40" identifier + number_literal)) ;) (expression_statement "*(undefined1 **)(puVar15 + -0x18) = puVar15 + 0x3c;" (assignment_expression "*(undefined1 **)(puVar15 + -0x18) = puVar15 + 0x3c" (pointer_expression "*(undefined1 **)(puVar15 + -0x18)" * (cast_expression "(undefined1 **)(puVar15 + -0x18)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + -0x18)" ( (binary_expression "puVar15 + -0x18" identifier + number_literal) )))) = (binary_expression "puVar15 + 0x3c" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x1c) = *(undefined4 *)(puVar15 + 0xa4);" (assignment_expression "*(undefined4 *)(puVar15 + -0x1c) = *(undefined4 *)(puVar15 + 0xa4)" (pointer_expression "*(undefined4 *)(puVar15 + -0x1c)" * (cast_expression "(undefined4 *)(puVar15 + -0x1c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x1c)" ( (binary_expression "puVar15 + -0x1c" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar15 + 0xa4)" * (cast_expression "(undefined4 *)(puVar15 + 0xa4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0xa4)" ( (binary_expression "puVar15 + 0xa4" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x20) = *(undefined4 *)(puVar15 + 0xa0);" (assignment_expression "*(undefined4 *)(puVar15 + -0x20) = *(undefined4 *)(puVar15 + 0xa0)" (pointer_expression "*(undefined4 *)(puVar15 + -0x20)" * (cast_expression "(undefined4 *)(puVar15 + -0x20)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x20)" ( (binary_expression "puVar15 + -0x20" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar15 + 0xa0)" * (cast_expression "(undefined4 *)(puVar15 + 0xa0)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0xa0)" ( (binary_expression "puVar15 + 0xa0" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x24) = *(undefined4 *)(puVar15 + 0x9c);" (assignment_expression "*(undefined4 *)(puVar15 + -0x24) = *(undefined4 *)(puVar15 + 0x9c)" (pointer_expression "*(undefined4 *)(puVar15 + -0x24)" * (cast_expression "(undefined4 *)(puVar15 + -0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x24)" ( (binary_expression "puVar15 + -0x24" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar15 + 0x9c)" * (cast_expression "(undefined4 *)(puVar15 + 0x9c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x9c)" ( (binary_expression "puVar15 + 0x9c" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x28) = *(undefined4 *)(puVar15 + 0x98);" (assignment_expression "*(undefined4 *)(puVar15 + -0x28) = *(undefined4 *)(puVar15 + 0x98)" (pointer_expression "*(undefined4 *)(puVar15 + -0x28)" * (cast_expression "(undefined4 *)(puVar15 + -0x28)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x28)" ( (binary_expression "puVar15 + -0x28" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar15 + 0x98)" * (cast_expression "(undefined4 *)(puVar15 + 0x98)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x98)" ( (binary_expression "puVar15 + 0x98" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x2c) = *(undefined4 *)(puVar15 + 0x94);" (assignment_expression "*(undefined4 *)(puVar15 + -0x2c) = *(undefined4 *)(puVar15 + 0x94)" (pointer_expression "*(undefined4 *)(puVar15 + -0x2c)" * (cast_expression "(undefined4 *)(puVar15 + -0x2c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x2c)" ( (binary_expression "puVar15 + -0x2c" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar15 + 0x94)" * (cast_expression "(undefined4 *)(puVar15 + 0x94)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x94)" ( (binary_expression "puVar15 + 0x94" identifier + number_literal) ))))) ;) (expression_statement "*(undefined1 **)(puVar15 + -0x30) = puVar15 + 0x28;" (assignment_expression "*(undefined1 **)(puVar15 + -0x30) = puVar15 + 0x28" (pointer_expression "*(undefined1 **)(puVar15 + -0x30)" * (cast_expression "(undefined1 **)(puVar15 + -0x30)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + -0x30)" ( (binary_expression "puVar15 + -0x30" identifier + number_literal) )))) = (binary_expression "puVar15 + 0x28" identifier + number_literal)) ;) (expression_statement "*(undefined **)(puVar15 + -0x34) = &UNK_00202015;" (assignment_expression "*(undefined **)(puVar15 + -0x34) = &UNK_00202015" (pointer_expression "*(undefined **)(puVar15 + -0x34)" * (cast_expression "(undefined **)(puVar15 + -0x34)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + -0x34)" ( (binary_expression "puVar15 + -0x34" identifier + number_literal) )))) = (pointer_expression "&UNK_00202015" & identifier)) ;) (expression_statement "FUN_00201020();" (call_expression "FUN_00201020()" identifier (argument_list "()" ( ))) ;) (expression_statement "*(undefined4 *)(puVar15 + 0x94) = *(undefined4 *)(puVar15 + 0x24);" (assignment_expression "*(undefined4 *)(puVar15 + 0x94) = *(undefined4 *)(puVar15 + 0x24)" (pointer_expression "*(undefined4 *)(puVar15 + 0x94)" * (cast_expression "(undefined4 *)(puVar15 + 0x94)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x94)" ( (binary_expression "puVar15 + 0x94" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar15 + 0x24)" * (cast_expression "(undefined4 *)(puVar15 + 0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x24)" ( (binary_expression "puVar15 + 0x24" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar15 + 0x98) = *(undefined4 *)(puVar15 + 0x28);" (assignment_expression "*(undefined4 *)(puVar15 + 0x98) = *(undefined4 *)(puVar15 + 0x28)" (pointer_expression "*(undefined4 *)(puVar15 + 0x98)" * (cast_expression "(undefined4 *)(puVar15 + 0x98)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x98)" ( (binary_expression "puVar15 + 0x98" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar15 + 0x28)" * (cast_expression "(undefined4 *)(puVar15 + 0x28)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x28)" ( (binary_expression "puVar15 + 0x28" identifier + number_literal) ))))) ;) (expression_statement "puVar16 = puVar15 + -4;" (assignment_expression "puVar16 = puVar15 + -4" identifier = (binary_expression "puVar15 + -4" identifier + number_literal)) ;) (if_statement "if (*(int *)(puVar15 + 0x34) == 0) {\n      *(undefined4 *)(*(int *)(puVar15 + 0xac) + 0x10) = *(undefined4 *)(puVar15 + 0x38);\n      puVar16 = puVar15 + -4;\n    }" if (parenthesized_expression "(*(int *)(puVar15 + 0x34) == 0)" ( (binary_expression "*(int *)(puVar15 + 0x34) == 0" (pointer_expression "*(int *)(puVar15 + 0x34)" * (cast_expression "(int *)(puVar15 + 0x34)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x34)" ( (binary_expression "puVar15 + 0x34" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n      *(undefined4 *)(*(int *)(puVar15 + 0xac) + 0x10) = *(undefined4 *)(puVar15 + 0x38);\n      puVar16 = puVar15 + -4;\n    }" { (expression_statement "*(undefined4 *)(*(int *)(puVar15 + 0xac) + 0x10) = *(undefined4 *)(puVar15 + 0x38);" (assignment_expression "*(undefined4 *)(*(int *)(puVar15 + 0xac) + 0x10) = *(undefined4 *)(puVar15 + 0x38)" (pointer_expression "*(undefined4 *)(*(int *)(puVar15 + 0xac) + 0x10)" * (cast_expression "(undefined4 *)(*(int *)(puVar15 + 0xac) + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar15 + 0xac) + 0x10)" ( (binary_expression "*(int *)(puVar15 + 0xac) + 0x10" (pointer_expression "*(int *)(puVar15 + 0xac)" * (cast_expression "(int *)(puVar15 + 0xac)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0xac)" ( (binary_expression "puVar15 + 0xac" identifier + number_literal) )))) + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar15 + 0x38)" * (cast_expression "(undefined4 *)(puVar15 + 0x38)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x38)" ( (binary_expression "puVar15 + 0x38" identifier + number_literal) ))))) ;) (expression_statement "puVar16 = puVar15 + -4;" (assignment_expression "puVar16 = puVar15 + -4" identifier = (binary_expression "puVar15 + -4" identifier + number_literal)) ;) })) (break_statement "break;" break ;)) (case_statement "case 99:\n    *(undefined4 *)(puVar15 + -0xc) = *(undefined4 *)(*(int *)(*(int *)(puVar15 + 0x18) + 8) + 0x18)\n    ;\n    goto code_r0x00201b30;" case number_literal : (expression_statement "*(undefined4 *)(puVar15 + -0xc) = *(undefined4 *)(*(int *)(*(int *)(puVar15 + 0x18) + 8) + 0x18)\n    ;" (assignment_expression "*(undefined4 *)(puVar15 + -0xc) = *(undefined4 *)(*(int *)(*(int *)(puVar15 + 0x18) + 8) + 0x18)" (pointer_expression "*(undefined4 *)(puVar15 + -0xc)" * (cast_expression "(undefined4 *)(puVar15 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0xc)" ( (binary_expression "puVar15 + -0xc" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(*(int *)(*(int *)(puVar15 + 0x18) + 8) + 0x18)" * (cast_expression "(undefined4 *)(*(int *)(*(int *)(puVar15 + 0x18) + 8) + 0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(*(int *)(puVar15 + 0x18) + 8) + 0x18)" ( (binary_expression "*(int *)(*(int *)(puVar15 + 0x18) + 8) + 0x18" (pointer_expression "*(int *)(*(int *)(puVar15 + 0x18) + 8)" * (cast_expression "(int *)(*(int *)(puVar15 + 0x18) + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar15 + 0x18) + 8)" ( (binary_expression "*(int *)(puVar15 + 0x18) + 8" (pointer_expression "*(int *)(puVar15 + 0x18)" * (cast_expression "(int *)(puVar15 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x18)" ( (binary_expression "puVar15 + 0x18" identifier + number_literal) )))) + number_literal) )))) + number_literal) ))))) ;) (goto_statement "goto code_r0x00201b30;" goto statement_identifier ;)) (case_statement "case 100:\n    *(undefined1 **)(puVar15 + -4) = puVar15 + 0x38;\n    *(undefined4 *)(puVar15 + -8) = *(undefined4 *)(puVar15 + 0xa8);\n    *(undefined4 *)(puVar15 + -0xc) = 2;\n    *(undefined4 *)(puVar15 + -0x10) = 0x1f;\n    *(undefined4 *)(puVar15 + -0x14) = 1;\n    goto code_r0x002021b6;" case number_literal : (expression_statement "*(undefined1 **)(puVar15 + -4) = puVar15 + 0x38;" (assignment_expression "*(undefined1 **)(puVar15 + -4) = puVar15 + 0x38" (pointer_expression "*(undefined1 **)(puVar15 + -4)" * (cast_expression "(undefined1 **)(puVar15 + -4)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + -4)" ( (binary_expression "puVar15 + -4" identifier + number_literal) )))) = (binary_expression "puVar15 + 0x38" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar15 + -8) = *(undefined4 *)(puVar15 + 0xa8);" (assignment_expression "*(undefined4 *)(puVar15 + -8) = *(undefined4 *)(puVar15 + 0xa8)" (pointer_expression "*(undefined4 *)(puVar15 + -8)" * (cast_expression "(undefined4 *)(puVar15 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -8)" ( (binary_expression "puVar15 + -8" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar15 + 0xa8)" * (cast_expression "(undefined4 *)(puVar15 + 0xa8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0xa8)" ( (binary_expression "puVar15 + 0xa8" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar15 + -0xc) = 2;" (assignment_expression "*(undefined4 *)(puVar15 + -0xc) = 2" (pointer_expression "*(undefined4 *)(puVar15 + -0xc)" * (cast_expression "(undefined4 *)(puVar15 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0xc)" ( (binary_expression "puVar15 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x10) = 0x1f;" (assignment_expression "*(undefined4 *)(puVar15 + -0x10) = 0x1f" (pointer_expression "*(undefined4 *)(puVar15 + -0x10)" * (cast_expression "(undefined4 *)(puVar15 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x10)" ( (binary_expression "puVar15 + -0x10" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x14) = 1;" (assignment_expression "*(undefined4 *)(puVar15 + -0x14) = 1" (pointer_expression "*(undefined4 *)(puVar15 + -0x14)" * (cast_expression "(undefined4 *)(puVar15 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x14)" ( (binary_expression "puVar15 + -0x14" identifier + number_literal) )))) = number_literal) ;) (goto_statement "goto code_r0x002021b6;" goto statement_identifier ;)) (case_statement "case 0x65:\n    *(undefined **)(puVar15 + -4) = &UNK_00202230;\n    uVar18 = FUN_001f91d0();\n    if ((*(byte *)(piVar10[6] + 1 + (uVar18 & 0xff) * 2) & 0x20) == 0) {\n      *(undefined1 **)(puVar15 + -4) = puVar15 + 0x38;\n      *(undefined4 *)(puVar15 + -8) = *(undefined4 *)(puVar15 + 0xa8);\n      *(undefined4 *)(puVar15 + -0xc) = 2;\n      *(undefined4 *)(puVar15 + -0x10) = 0x1f;\n      *(undefined4 *)(puVar15 + -0x14) = 10;\n    }\n    else {\n      *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0x98);\n      *(undefined **)(puVar15 + -0x14) = &UNK_00202250;\n      FUN_001f24d0();\n      *(undefined4 *)(puVar15 + 0x9c) = 0xffffffff;\n      *(undefined1 **)(puVar15 + -4) = puVar15 + 0x38;\n      *(undefined4 *)(puVar15 + -8) = *(undefined4 *)(puVar15 + 0xa8);\n      *(undefined4 *)(puVar15 + -0xc) = 1;\n      *(undefined4 *)(puVar15 + -0x10) = 9;\n      *(undefined4 *)(puVar15 + -0x14) = 1;\n    }\ncode_r0x002021b6:\n    *(undefined1 **)(puVar15 + -0x18) = puVar15 + 0x3c;\n    *(undefined4 *)(puVar15 + -0x1c) = *(undefined4 *)(puVar15 + 0xa4);\n    *(undefined4 *)(puVar15 + -0x20) = *(undefined4 *)(puVar15 + 0xa0);\n    *(undefined4 *)(puVar15 + -0x24) = *(undefined4 *)(puVar15 + 0x9c);\n    *(undefined4 *)(puVar15 + -0x28) = *(undefined4 *)(puVar15 + 0x98);\n    *(undefined4 *)(puVar15 + -0x2c) = *(undefined4 *)(puVar15 + 0x94);\n    *(undefined1 **)(puVar15 + -0x30) = puVar15 + 0x28;\n    *(undefined **)(puVar15 + -0x34) = &UNK_002021e4;\n    FUN_001fc0e0();\n    *(undefined4 *)(puVar15 + 0x94) = *(undefined4 *)(puVar15 + 0x24);\n    *(undefined4 *)(puVar15 + 0x98) = *(undefined4 *)(puVar15 + 0x28);\n    puVar16 = puVar15 + -4;\n    if (*(int *)(puVar15 + 0x34) == 0) {\n      *(undefined4 *)(*(int *)(puVar15 + 0xac) + 0xc) = *(undefined4 *)(puVar15 + 0x38);\n      puVar16 = puVar15 + -4;\n    }\n    break;" case number_literal : (expression_statement "*(undefined **)(puVar15 + -4) = &UNK_00202230;" (assignment_expression "*(undefined **)(puVar15 + -4) = &UNK_00202230" (pointer_expression "*(undefined **)(puVar15 + -4)" * (cast_expression "(undefined **)(puVar15 + -4)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + -4)" ( (binary_expression "puVar15 + -4" identifier + number_literal) )))) = (pointer_expression "&UNK_00202230" & identifier)) ;) (expression_statement "uVar18 = FUN_001f91d0();" (assignment_expression "uVar18 = FUN_001f91d0()" identifier = (call_expression "FUN_001f91d0()" identifier (argument_list "()" ( )))) ;) (if_statement "if ((*(byte *)(piVar10[6] + 1 + (uVar18 & 0xff) * 2) & 0x20) == 0) {\n      *(undefined1 **)(puVar15 + -4) = puVar15 + 0x38;\n      *(undefined4 *)(puVar15 + -8) = *(undefined4 *)(puVar15 + 0xa8);\n      *(undefined4 *)(puVar15 + -0xc) = 2;\n      *(undefined4 *)(puVar15 + -0x10) = 0x1f;\n      *(undefined4 *)(puVar15 + -0x14) = 10;\n    }\n    else {\n      *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0x98);\n      *(undefined **)(puVar15 + -0x14) = &UNK_00202250;\n      FUN_001f24d0();\n      *(undefined4 *)(puVar15 + 0x9c) = 0xffffffff;\n      *(undefined1 **)(puVar15 + -4) = puVar15 + 0x38;\n      *(undefined4 *)(puVar15 + -8) = *(undefined4 *)(puVar15 + 0xa8);\n      *(undefined4 *)(puVar15 + -0xc) = 1;\n      *(undefined4 *)(puVar15 + -0x10) = 9;\n      *(undefined4 *)(puVar15 + -0x14) = 1;\n    }" if (parenthesized_expression "((*(byte *)(piVar10[6] + 1 + (uVar18 & 0xff) * 2) & 0x20) == 0)" ( (binary_expression "(*(byte *)(piVar10[6] + 1 + (uVar18 & 0xff) * 2) & 0x20) == 0" (parenthesized_expression "(*(byte *)(piVar10[6] + 1 + (uVar18 & 0xff) * 2) & 0x20)" ( (binary_expression "*(byte *)(piVar10[6] + 1 + (uVar18 & 0xff) * 2) & 0x20" (pointer_expression "*(byte *)(piVar10[6] + 1 + (uVar18 & 0xff) * 2)" * (cast_expression "(byte *)(piVar10[6] + 1 + (uVar18 & 0xff) * 2)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar10[6] + 1 + (uVar18 & 0xff) * 2)" ( (binary_expression "piVar10[6] + 1 + (uVar18 & 0xff) * 2" (binary_expression "piVar10[6] + 1" (subscript_expression "piVar10[6]" identifier [ number_literal ]) + number_literal) + (binary_expression "(uVar18 & 0xff) * 2" (parenthesized_expression "(uVar18 & 0xff)" ( (binary_expression "uVar18 & 0xff" identifier & number_literal) )) * number_literal)) )))) & number_literal) )) == number_literal) )) (compound_statement "{\n      *(undefined1 **)(puVar15 + -4) = puVar15 + 0x38;\n      *(undefined4 *)(puVar15 + -8) = *(undefined4 *)(puVar15 + 0xa8);\n      *(undefined4 *)(puVar15 + -0xc) = 2;\n      *(undefined4 *)(puVar15 + -0x10) = 0x1f;\n      *(undefined4 *)(puVar15 + -0x14) = 10;\n    }" { (expression_statement "*(undefined1 **)(puVar15 + -4) = puVar15 + 0x38;" (assignment_expression "*(undefined1 **)(puVar15 + -4) = puVar15 + 0x38" (pointer_expression "*(undefined1 **)(puVar15 + -4)" * (cast_expression "(undefined1 **)(puVar15 + -4)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + -4)" ( (binary_expression "puVar15 + -4" identifier + number_literal) )))) = (binary_expression "puVar15 + 0x38" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar15 + -8) = *(undefined4 *)(puVar15 + 0xa8);" (assignment_expression "*(undefined4 *)(puVar15 + -8) = *(undefined4 *)(puVar15 + 0xa8)" (pointer_expression "*(undefined4 *)(puVar15 + -8)" * (cast_expression "(undefined4 *)(puVar15 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -8)" ( (binary_expression "puVar15 + -8" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar15 + 0xa8)" * (cast_expression "(undefined4 *)(puVar15 + 0xa8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0xa8)" ( (binary_expression "puVar15 + 0xa8" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar15 + -0xc) = 2;" (assignment_expression "*(undefined4 *)(puVar15 + -0xc) = 2" (pointer_expression "*(undefined4 *)(puVar15 + -0xc)" * (cast_expression "(undefined4 *)(puVar15 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0xc)" ( (binary_expression "puVar15 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x10) = 0x1f;" (assignment_expression "*(undefined4 *)(puVar15 + -0x10) = 0x1f" (pointer_expression "*(undefined4 *)(puVar15 + -0x10)" * (cast_expression "(undefined4 *)(puVar15 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x10)" ( (binary_expression "puVar15 + -0x10" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x14) = 10;" (assignment_expression "*(undefined4 *)(puVar15 + -0x14) = 10" (pointer_expression "*(undefined4 *)(puVar15 + -0x14)" * (cast_expression "(undefined4 *)(puVar15 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x14)" ( (binary_expression "puVar15 + -0x14" identifier + number_literal) )))) = number_literal) ;) }) (else_clause "else {\n      *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0x98);\n      *(undefined **)(puVar15 + -0x14) = &UNK_00202250;\n      FUN_001f24d0();\n      *(undefined4 *)(puVar15 + 0x9c) = 0xffffffff;\n      *(undefined1 **)(puVar15 + -4) = puVar15 + 0x38;\n      *(undefined4 *)(puVar15 + -8) = *(undefined4 *)(puVar15 + 0xa8);\n      *(undefined4 *)(puVar15 + -0xc) = 1;\n      *(undefined4 *)(puVar15 + -0x10) = 9;\n      *(undefined4 *)(puVar15 + -0x14) = 1;\n    }" else (compound_statement "{\n      *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0x98);\n      *(undefined **)(puVar15 + -0x14) = &UNK_00202250;\n      FUN_001f24d0();\n      *(undefined4 *)(puVar15 + 0x9c) = 0xffffffff;\n      *(undefined1 **)(puVar15 + -4) = puVar15 + 0x38;\n      *(undefined4 *)(puVar15 + -8) = *(undefined4 *)(puVar15 + 0xa8);\n      *(undefined4 *)(puVar15 + -0xc) = 1;\n      *(undefined4 *)(puVar15 + -0x10) = 9;\n      *(undefined4 *)(puVar15 + -0x14) = 1;\n    }" { (expression_statement "*(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0x98);" (assignment_expression "*(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0x98)" (pointer_expression "*(undefined4 *)(puVar15 + -0x10)" * (cast_expression "(undefined4 *)(puVar15 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x10)" ( (binary_expression "puVar15 + -0x10" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar15 + 0x98)" * (cast_expression "(undefined4 *)(puVar15 + 0x98)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x98)" ( (binary_expression "puVar15 + 0x98" identifier + number_literal) ))))) ;) (expression_statement "*(undefined **)(puVar15 + -0x14) = &UNK_00202250;" (assignment_expression "*(undefined **)(puVar15 + -0x14) = &UNK_00202250" (pointer_expression "*(undefined **)(puVar15 + -0x14)" * (cast_expression "(undefined **)(puVar15 + -0x14)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + -0x14)" ( (binary_expression "puVar15 + -0x14" identifier + number_literal) )))) = (pointer_expression "&UNK_00202250" & identifier)) ;) (expression_statement "FUN_001f24d0();" (call_expression "FUN_001f24d0()" identifier (argument_list "()" ( ))) ;) (expression_statement "*(undefined4 *)(puVar15 + 0x9c) = 0xffffffff;" (assignment_expression "*(undefined4 *)(puVar15 + 0x9c) = 0xffffffff" (pointer_expression "*(undefined4 *)(puVar15 + 0x9c)" * (cast_expression "(undefined4 *)(puVar15 + 0x9c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x9c)" ( (binary_expression "puVar15 + 0x9c" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined1 **)(puVar15 + -4) = puVar15 + 0x38;" (assignment_expression "*(undefined1 **)(puVar15 + -4) = puVar15 + 0x38" (pointer_expression "*(undefined1 **)(puVar15 + -4)" * (cast_expression "(undefined1 **)(puVar15 + -4)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + -4)" ( (binary_expression "puVar15 + -4" identifier + number_literal) )))) = (binary_expression "puVar15 + 0x38" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar15 + -8) = *(undefined4 *)(puVar15 + 0xa8);" (assignment_expression "*(undefined4 *)(puVar15 + -8) = *(undefined4 *)(puVar15 + 0xa8)" (pointer_expression "*(undefined4 *)(puVar15 + -8)" * (cast_expression "(undefined4 *)(puVar15 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -8)" ( (binary_expression "puVar15 + -8" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar15 + 0xa8)" * (cast_expression "(undefined4 *)(puVar15 + 0xa8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0xa8)" ( (binary_expression "puVar15 + 0xa8" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar15 + -0xc) = 1;" (assignment_expression "*(undefined4 *)(puVar15 + -0xc) = 1" (pointer_expression "*(undefined4 *)(puVar15 + -0xc)" * (cast_expression "(undefined4 *)(puVar15 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0xc)" ( (binary_expression "puVar15 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x10) = 9;" (assignment_expression "*(undefined4 *)(puVar15 + -0x10) = 9" (pointer_expression "*(undefined4 *)(puVar15 + -0x10)" * (cast_expression "(undefined4 *)(puVar15 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x10)" ( (binary_expression "puVar15 + -0x10" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x14) = 1;" (assignment_expression "*(undefined4 *)(puVar15 + -0x14) = 1" (pointer_expression "*(undefined4 *)(puVar15 + -0x14)" * (cast_expression "(undefined4 *)(puVar15 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x14)" ( (binary_expression "puVar15 + -0x14" identifier + number_literal) )))) = number_literal) ;) }))) (labeled_statement "code_r0x002021b6:\n    *(undefined1 **)(puVar15 + -0x18) = puVar15 + 0x3c;" statement_identifier : (expression_statement "*(undefined1 **)(puVar15 + -0x18) = puVar15 + 0x3c;" (assignment_expression "*(undefined1 **)(puVar15 + -0x18) = puVar15 + 0x3c" (pointer_expression "*(undefined1 **)(puVar15 + -0x18)" * (cast_expression "(undefined1 **)(puVar15 + -0x18)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + -0x18)" ( (binary_expression "puVar15 + -0x18" identifier + number_literal) )))) = (binary_expression "puVar15 + 0x3c" identifier + number_literal)) ;)) (expression_statement "*(undefined4 *)(puVar15 + -0x1c) = *(undefined4 *)(puVar15 + 0xa4);" (assignment_expression "*(undefined4 *)(puVar15 + -0x1c) = *(undefined4 *)(puVar15 + 0xa4)" (pointer_expression "*(undefined4 *)(puVar15 + -0x1c)" * (cast_expression "(undefined4 *)(puVar15 + -0x1c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x1c)" ( (binary_expression "puVar15 + -0x1c" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar15 + 0xa4)" * (cast_expression "(undefined4 *)(puVar15 + 0xa4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0xa4)" ( (binary_expression "puVar15 + 0xa4" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x20) = *(undefined4 *)(puVar15 + 0xa0);" (assignment_expression "*(undefined4 *)(puVar15 + -0x20) = *(undefined4 *)(puVar15 + 0xa0)" (pointer_expression "*(undefined4 *)(puVar15 + -0x20)" * (cast_expression "(undefined4 *)(puVar15 + -0x20)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x20)" ( (binary_expression "puVar15 + -0x20" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar15 + 0xa0)" * (cast_expression "(undefined4 *)(puVar15 + 0xa0)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0xa0)" ( (binary_expression "puVar15 + 0xa0" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x24) = *(undefined4 *)(puVar15 + 0x9c);" (assignment_expression "*(undefined4 *)(puVar15 + -0x24) = *(undefined4 *)(puVar15 + 0x9c)" (pointer_expression "*(undefined4 *)(puVar15 + -0x24)" * (cast_expression "(undefined4 *)(puVar15 + -0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x24)" ( (binary_expression "puVar15 + -0x24" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar15 + 0x9c)" * (cast_expression "(undefined4 *)(puVar15 + 0x9c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x9c)" ( (binary_expression "puVar15 + 0x9c" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x28) = *(undefined4 *)(puVar15 + 0x98);" (assignment_expression "*(undefined4 *)(puVar15 + -0x28) = *(undefined4 *)(puVar15 + 0x98)" (pointer_expression "*(undefined4 *)(puVar15 + -0x28)" * (cast_expression "(undefined4 *)(puVar15 + -0x28)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x28)" ( (binary_expression "puVar15 + -0x28" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar15 + 0x98)" * (cast_expression "(undefined4 *)(puVar15 + 0x98)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x98)" ( (binary_expression "puVar15 + 0x98" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x2c) = *(undefined4 *)(puVar15 + 0x94);" (assignment_expression "*(undefined4 *)(puVar15 + -0x2c) = *(undefined4 *)(puVar15 + 0x94)" (pointer_expression "*(undefined4 *)(puVar15 + -0x2c)" * (cast_expression "(undefined4 *)(puVar15 + -0x2c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x2c)" ( (binary_expression "puVar15 + -0x2c" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar15 + 0x94)" * (cast_expression "(undefined4 *)(puVar15 + 0x94)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x94)" ( (binary_expression "puVar15 + 0x94" identifier + number_literal) ))))) ;) (expression_statement "*(undefined1 **)(puVar15 + -0x30) = puVar15 + 0x28;" (assignment_expression "*(undefined1 **)(puVar15 + -0x30) = puVar15 + 0x28" (pointer_expression "*(undefined1 **)(puVar15 + -0x30)" * (cast_expression "(undefined1 **)(puVar15 + -0x30)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + -0x30)" ( (binary_expression "puVar15 + -0x30" identifier + number_literal) )))) = (binary_expression "puVar15 + 0x28" identifier + number_literal)) ;) (expression_statement "*(undefined **)(puVar15 + -0x34) = &UNK_002021e4;" (assignment_expression "*(undefined **)(puVar15 + -0x34) = &UNK_002021e4" (pointer_expression "*(undefined **)(puVar15 + -0x34)" * (cast_expression "(undefined **)(puVar15 + -0x34)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + -0x34)" ( (binary_expression "puVar15 + -0x34" identifier + number_literal) )))) = (pointer_expression "&UNK_002021e4" & identifier)) ;) (expression_statement "FUN_001fc0e0();" (call_expression "FUN_001fc0e0()" identifier (argument_list "()" ( ))) ;) (expression_statement "*(undefined4 *)(puVar15 + 0x94) = *(undefined4 *)(puVar15 + 0x24);" (assignment_expression "*(undefined4 *)(puVar15 + 0x94) = *(undefined4 *)(puVar15 + 0x24)" (pointer_expression "*(undefined4 *)(puVar15 + 0x94)" * (cast_expression "(undefined4 *)(puVar15 + 0x94)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x94)" ( (binary_expression "puVar15 + 0x94" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar15 + 0x24)" * (cast_expression "(undefined4 *)(puVar15 + 0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x24)" ( (binary_expression "puVar15 + 0x24" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar15 + 0x98) = *(undefined4 *)(puVar15 + 0x28);" (assignment_expression "*(undefined4 *)(puVar15 + 0x98) = *(undefined4 *)(puVar15 + 0x28)" (pointer_expression "*(undefined4 *)(puVar15 + 0x98)" * (cast_expression "(undefined4 *)(puVar15 + 0x98)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x98)" ( (binary_expression "puVar15 + 0x98" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar15 + 0x28)" * (cast_expression "(undefined4 *)(puVar15 + 0x28)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x28)" ( (binary_expression "puVar15 + 0x28" identifier + number_literal) ))))) ;) (expression_statement "puVar16 = puVar15 + -4;" (assignment_expression "puVar16 = puVar15 + -4" identifier = (binary_expression "puVar15 + -4" identifier + number_literal)) ;) (if_statement "if (*(int *)(puVar15 + 0x34) == 0) {\n      *(undefined4 *)(*(int *)(puVar15 + 0xac) + 0xc) = *(undefined4 *)(puVar15 + 0x38);\n      puVar16 = puVar15 + -4;\n    }" if (parenthesized_expression "(*(int *)(puVar15 + 0x34) == 0)" ( (binary_expression "*(int *)(puVar15 + 0x34) == 0" (pointer_expression "*(int *)(puVar15 + 0x34)" * (cast_expression "(int *)(puVar15 + 0x34)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x34)" ( (binary_expression "puVar15 + 0x34" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n      *(undefined4 *)(*(int *)(puVar15 + 0xac) + 0xc) = *(undefined4 *)(puVar15 + 0x38);\n      puVar16 = puVar15 + -4;\n    }" { (expression_statement "*(undefined4 *)(*(int *)(puVar15 + 0xac) + 0xc) = *(undefined4 *)(puVar15 + 0x38);" (assignment_expression "*(undefined4 *)(*(int *)(puVar15 + 0xac) + 0xc) = *(undefined4 *)(puVar15 + 0x38)" (pointer_expression "*(undefined4 *)(*(int *)(puVar15 + 0xac) + 0xc)" * (cast_expression "(undefined4 *)(*(int *)(puVar15 + 0xac) + 0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar15 + 0xac) + 0xc)" ( (binary_expression "*(int *)(puVar15 + 0xac) + 0xc" (pointer_expression "*(int *)(puVar15 + 0xac)" * (cast_expression "(int *)(puVar15 + 0xac)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0xac)" ( (binary_expression "puVar15 + 0xac" identifier + number_literal) )))) + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar15 + 0x38)" * (cast_expression "(undefined4 *)(puVar15 + 0x38)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x38)" ( (binary_expression "puVar15 + 0x38" identifier + number_literal) ))))) ;) (expression_statement "puVar16 = puVar15 + -4;" (assignment_expression "puVar16 = puVar15 + -4" identifier = (binary_expression "puVar15 + -4" identifier + number_literal)) ;) })) (break_statement "break;" break ;)) (case_statement "case 0x6d:\n    *(undefined1 **)(puVar15 + -4) = puVar15 + 0x38;\n    *(undefined4 *)(puVar15 + -8) = *(undefined4 *)(puVar15 + 0xa8);\n    *(undefined4 *)(puVar15 + -0xc) = 2;\n    *(undefined4 *)(puVar15 + -0x10) = 0xc;\n    *(undefined4 *)(puVar15 + -0x14) = 1;\n    *(undefined1 **)(puVar15 + -0x18) = puVar15 + 0x3c;\n    *(undefined4 *)(puVar15 + -0x1c) = *(undefined4 *)(puVar15 + 0xa4);\n    *(undefined4 *)(puVar15 + -0x20) = *(undefined4 *)(puVar15 + 0xa0);\n    *(undefined4 *)(puVar15 + -0x24) = *(undefined4 *)(puVar15 + 0x9c);\n    *(undefined4 *)(puVar15 + -0x28) = *(undefined4 *)(puVar15 + 0x98);\n    *(undefined4 *)(puVar15 + -0x2c) = *(undefined4 *)(puVar15 + 0x94);\n    *(undefined1 **)(puVar15 + -0x30) = puVar15 + 0x28;\n    *(undefined **)(puVar15 + -0x34) = &UNK_002022c4;\n    FUN_001fc0e0();\n    *(undefined4 *)(puVar15 + 0x94) = *(undefined4 *)(puVar15 + 0x24);\n    *(undefined4 *)(puVar15 + 0x98) = *(undefined4 *)(puVar15 + 0x28);\n    puVar16 = puVar15 + -4;\n    if (*(int *)(puVar15 + 0x34) == 0) {\n      *(int *)(*(int *)(puVar15 + 0xac) + 0x10) = *(int *)(puVar15 + 0x38) + -1;\n      puVar16 = puVar15 + -4;\n    }\n    break;" case number_literal : (expression_statement "*(undefined1 **)(puVar15 + -4) = puVar15 + 0x38;" (assignment_expression "*(undefined1 **)(puVar15 + -4) = puVar15 + 0x38" (pointer_expression "*(undefined1 **)(puVar15 + -4)" * (cast_expression "(undefined1 **)(puVar15 + -4)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + -4)" ( (binary_expression "puVar15 + -4" identifier + number_literal) )))) = (binary_expression "puVar15 + 0x38" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar15 + -8) = *(undefined4 *)(puVar15 + 0xa8);" (assignment_expression "*(undefined4 *)(puVar15 + -8) = *(undefined4 *)(puVar15 + 0xa8)" (pointer_expression "*(undefined4 *)(puVar15 + -8)" * (cast_expression "(undefined4 *)(puVar15 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -8)" ( (binary_expression "puVar15 + -8" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar15 + 0xa8)" * (cast_expression "(undefined4 *)(puVar15 + 0xa8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0xa8)" ( (binary_expression "puVar15 + 0xa8" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar15 + -0xc) = 2;" (assignment_expression "*(undefined4 *)(puVar15 + -0xc) = 2" (pointer_expression "*(undefined4 *)(puVar15 + -0xc)" * (cast_expression "(undefined4 *)(puVar15 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0xc)" ( (binary_expression "puVar15 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x10) = 0xc;" (assignment_expression "*(undefined4 *)(puVar15 + -0x10) = 0xc" (pointer_expression "*(undefined4 *)(puVar15 + -0x10)" * (cast_expression "(undefined4 *)(puVar15 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x10)" ( (binary_expression "puVar15 + -0x10" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x14) = 1;" (assignment_expression "*(undefined4 *)(puVar15 + -0x14) = 1" (pointer_expression "*(undefined4 *)(puVar15 + -0x14)" * (cast_expression "(undefined4 *)(puVar15 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x14)" ( (binary_expression "puVar15 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined1 **)(puVar15 + -0x18) = puVar15 + 0x3c;" (assignment_expression "*(undefined1 **)(puVar15 + -0x18) = puVar15 + 0x3c" (pointer_expression "*(undefined1 **)(puVar15 + -0x18)" * (cast_expression "(undefined1 **)(puVar15 + -0x18)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + -0x18)" ( (binary_expression "puVar15 + -0x18" identifier + number_literal) )))) = (binary_expression "puVar15 + 0x3c" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x1c) = *(undefined4 *)(puVar15 + 0xa4);" (assignment_expression "*(undefined4 *)(puVar15 + -0x1c) = *(undefined4 *)(puVar15 + 0xa4)" (pointer_expression "*(undefined4 *)(puVar15 + -0x1c)" * (cast_expression "(undefined4 *)(puVar15 + -0x1c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x1c)" ( (binary_expression "puVar15 + -0x1c" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar15 + 0xa4)" * (cast_expression "(undefined4 *)(puVar15 + 0xa4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0xa4)" ( (binary_expression "puVar15 + 0xa4" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x20) = *(undefined4 *)(puVar15 + 0xa0);" (assignment_expression "*(undefined4 *)(puVar15 + -0x20) = *(undefined4 *)(puVar15 + 0xa0)" (pointer_expression "*(undefined4 *)(puVar15 + -0x20)" * (cast_expression "(undefined4 *)(puVar15 + -0x20)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x20)" ( (binary_expression "puVar15 + -0x20" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar15 + 0xa0)" * (cast_expression "(undefined4 *)(puVar15 + 0xa0)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0xa0)" ( (binary_expression "puVar15 + 0xa0" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x24) = *(undefined4 *)(puVar15 + 0x9c);" (assignment_expression "*(undefined4 *)(puVar15 + -0x24) = *(undefined4 *)(puVar15 + 0x9c)" (pointer_expression "*(undefined4 *)(puVar15 + -0x24)" * (cast_expression "(undefined4 *)(puVar15 + -0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x24)" ( (binary_expression "puVar15 + -0x24" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar15 + 0x9c)" * (cast_expression "(undefined4 *)(puVar15 + 0x9c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x9c)" ( (binary_expression "puVar15 + 0x9c" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x28) = *(undefined4 *)(puVar15 + 0x98);" (assignment_expression "*(undefined4 *)(puVar15 + -0x28) = *(undefined4 *)(puVar15 + 0x98)" (pointer_expression "*(undefined4 *)(puVar15 + -0x28)" * (cast_expression "(undefined4 *)(puVar15 + -0x28)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x28)" ( (binary_expression "puVar15 + -0x28" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar15 + 0x98)" * (cast_expression "(undefined4 *)(puVar15 + 0x98)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x98)" ( (binary_expression "puVar15 + 0x98" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x2c) = *(undefined4 *)(puVar15 + 0x94);" (assignment_expression "*(undefined4 *)(puVar15 + -0x2c) = *(undefined4 *)(puVar15 + 0x94)" (pointer_expression "*(undefined4 *)(puVar15 + -0x2c)" * (cast_expression "(undefined4 *)(puVar15 + -0x2c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x2c)" ( (binary_expression "puVar15 + -0x2c" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar15 + 0x94)" * (cast_expression "(undefined4 *)(puVar15 + 0x94)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x94)" ( (binary_expression "puVar15 + 0x94" identifier + number_literal) ))))) ;) (expression_statement "*(undefined1 **)(puVar15 + -0x30) = puVar15 + 0x28;" (assignment_expression "*(undefined1 **)(puVar15 + -0x30) = puVar15 + 0x28" (pointer_expression "*(undefined1 **)(puVar15 + -0x30)" * (cast_expression "(undefined1 **)(puVar15 + -0x30)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + -0x30)" ( (binary_expression "puVar15 + -0x30" identifier + number_literal) )))) = (binary_expression "puVar15 + 0x28" identifier + number_literal)) ;) (expression_statement "*(undefined **)(puVar15 + -0x34) = &UNK_002022c4;" (assignment_expression "*(undefined **)(puVar15 + -0x34) = &UNK_002022c4" (pointer_expression "*(undefined **)(puVar15 + -0x34)" * (cast_expression "(undefined **)(puVar15 + -0x34)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + -0x34)" ( (binary_expression "puVar15 + -0x34" identifier + number_literal) )))) = (pointer_expression "&UNK_002022c4" & identifier)) ;) (expression_statement "FUN_001fc0e0();" (call_expression "FUN_001fc0e0()" identifier (argument_list "()" ( ))) ;) (expression_statement "*(undefined4 *)(puVar15 + 0x94) = *(undefined4 *)(puVar15 + 0x24);" (assignment_expression "*(undefined4 *)(puVar15 + 0x94) = *(undefined4 *)(puVar15 + 0x24)" (pointer_expression "*(undefined4 *)(puVar15 + 0x94)" * (cast_expression "(undefined4 *)(puVar15 + 0x94)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x94)" ( (binary_expression "puVar15 + 0x94" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar15 + 0x24)" * (cast_expression "(undefined4 *)(puVar15 + 0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x24)" ( (binary_expression "puVar15 + 0x24" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar15 + 0x98) = *(undefined4 *)(puVar15 + 0x28);" (assignment_expression "*(undefined4 *)(puVar15 + 0x98) = *(undefined4 *)(puVar15 + 0x28)" (pointer_expression "*(undefined4 *)(puVar15 + 0x98)" * (cast_expression "(undefined4 *)(puVar15 + 0x98)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x98)" ( (binary_expression "puVar15 + 0x98" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar15 + 0x28)" * (cast_expression "(undefined4 *)(puVar15 + 0x28)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x28)" ( (binary_expression "puVar15 + 0x28" identifier + number_literal) ))))) ;) (expression_statement "puVar16 = puVar15 + -4;" (assignment_expression "puVar16 = puVar15 + -4" identifier = (binary_expression "puVar15 + -4" identifier + number_literal)) ;) (if_statement "if (*(int *)(puVar15 + 0x34) == 0) {\n      *(int *)(*(int *)(puVar15 + 0xac) + 0x10) = *(int *)(puVar15 + 0x38) + -1;\n      puVar16 = puVar15 + -4;\n    }" if (parenthesized_expression "(*(int *)(puVar15 + 0x34) == 0)" ( (binary_expression "*(int *)(puVar15 + 0x34) == 0" (pointer_expression "*(int *)(puVar15 + 0x34)" * (cast_expression "(int *)(puVar15 + 0x34)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x34)" ( (binary_expression "puVar15 + 0x34" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n      *(int *)(*(int *)(puVar15 + 0xac) + 0x10) = *(int *)(puVar15 + 0x38) + -1;\n      puVar16 = puVar15 + -4;\n    }" { (expression_statement "*(int *)(*(int *)(puVar15 + 0xac) + 0x10) = *(int *)(puVar15 + 0x38) + -1;" (assignment_expression "*(int *)(*(int *)(puVar15 + 0xac) + 0x10) = *(int *)(puVar15 + 0x38) + -1" (pointer_expression "*(int *)(*(int *)(puVar15 + 0xac) + 0x10)" * (cast_expression "(int *)(*(int *)(puVar15 + 0xac) + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar15 + 0xac) + 0x10)" ( (binary_expression "*(int *)(puVar15 + 0xac) + 0x10" (pointer_expression "*(int *)(puVar15 + 0xac)" * (cast_expression "(int *)(puVar15 + 0xac)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0xac)" ( (binary_expression "puVar15 + 0xac" identifier + number_literal) )))) + number_literal) )))) = (binary_expression "*(int *)(puVar15 + 0x38) + -1" (pointer_expression "*(int *)(puVar15 + 0x38)" * (cast_expression "(int *)(puVar15 + 0x38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x38)" ( (binary_expression "puVar15 + 0x38" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "puVar16 = puVar15 + -4;" (assignment_expression "puVar16 = puVar15 + -4" identifier = (binary_expression "puVar15 + -4" identifier + number_literal)) ;) })) (break_statement "break;" break ;)) (case_statement "case 0x6e:\n    *(undefined **)(puVar15 + -4) = &UNK_00202310;\n    bVar9 = FUN_001f91d0();\n    bVar8 = *(byte *)((int)piVar10 + bVar9 + 0x11d);\n    if (bVar8 == 0) {\n      pcVar4 = *(code **)(*piVar10 + 0x20);\n      bVar8 = bVar9;\n      if (pcVar4 != (code *)PTR_FUN_0038ed98) {\n        *(undefined4 *)(puVar15 + -8) = 0;\n        *(int *)(puVar15 + -0xc) = (int)(char)bVar9;\n        *(int **)(puVar15 + -0x10) = piVar10;\n        *(undefined **)(puVar15 + -0x14) = &UNK_002023ab;\n        bVar8 = (*pcVar4)();\n      }\n      if (bVar8 == 0) goto LAB_00201ab8;\n      *(byte *)((int)piVar10 + bVar9 + 0x11d) = bVar8;\n    }\n    if (bVar8 != 10) goto LAB_00201ab8;\ncode_r0x00202346:\n    *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0x98);\n    *(undefined **)(puVar15 + -0x14) = &UNK_00202355;\n    FUN_001f24d0();\n    *(undefined4 *)(puVar15 + 0x9c) = 0xffffffff;\n    break;" case number_literal : (expression_statement "*(undefined **)(puVar15 + -4) = &UNK_00202310;" (assignment_expression "*(undefined **)(puVar15 + -4) = &UNK_00202310" (pointer_expression "*(undefined **)(puVar15 + -4)" * (cast_expression "(undefined **)(puVar15 + -4)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + -4)" ( (binary_expression "puVar15 + -4" identifier + number_literal) )))) = (pointer_expression "&UNK_00202310" & identifier)) ;) (expression_statement "bVar9 = FUN_001f91d0();" (assignment_expression "bVar9 = FUN_001f91d0()" identifier = (call_expression "FUN_001f91d0()" identifier (argument_list "()" ( )))) ;) (expression_statement "bVar8 = *(byte *)((int)piVar10 + bVar9 + 0x11d);" (assignment_expression "bVar8 = *(byte *)((int)piVar10 + bVar9 + 0x11d)" identifier = (pointer_expression "*(byte *)((int)piVar10 + bVar9 + 0x11d)" * (cast_expression "(byte *)((int)piVar10 + bVar9 + 0x11d)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar10 + bVar9 + 0x11d)" ( (binary_expression "(int)piVar10 + bVar9 + 0x11d" (binary_expression "(int)piVar10 + bVar9" (cast_expression "(int)piVar10" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + number_literal) ))))) ;) (if_statement "if (bVar8 == 0) {\n      pcVar4 = *(code **)(*piVar10 + 0x20);\n      bVar8 = bVar9;\n      if (pcVar4 != (code *)PTR_FUN_0038ed98) {\n        *(undefined4 *)(puVar15 + -8) = 0;\n        *(int *)(puVar15 + -0xc) = (int)(char)bVar9;\n        *(int **)(puVar15 + -0x10) = piVar10;\n        *(undefined **)(puVar15 + -0x14) = &UNK_002023ab;\n        bVar8 = (*pcVar4)();\n      }\n      if (bVar8 == 0) goto LAB_00201ab8;\n      *(byte *)((int)piVar10 + bVar9 + 0x11d) = bVar8;\n    }" if (parenthesized_expression "(bVar8 == 0)" ( (binary_expression "bVar8 == 0" identifier == number_literal) )) (compound_statement "{\n      pcVar4 = *(code **)(*piVar10 + 0x20);\n      bVar8 = bVar9;\n      if (pcVar4 != (code *)PTR_FUN_0038ed98) {\n        *(undefined4 *)(puVar15 + -8) = 0;\n        *(int *)(puVar15 + -0xc) = (int)(char)bVar9;\n        *(int **)(puVar15 + -0x10) = piVar10;\n        *(undefined **)(puVar15 + -0x14) = &UNK_002023ab;\n        bVar8 = (*pcVar4)();\n      }\n      if (bVar8 == 0) goto LAB_00201ab8;\n      *(byte *)((int)piVar10 + bVar9 + 0x11d) = bVar8;\n    }" { (expression_statement "pcVar4 = *(code **)(*piVar10 + 0x20);" (assignment_expression "pcVar4 = *(code **)(*piVar10 + 0x20)" identifier = (pointer_expression "*(code **)(*piVar10 + 0x20)" * (cast_expression "(code **)(*piVar10 + 0x20)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*piVar10 + 0x20)" ( (binary_expression "*piVar10 + 0x20" (pointer_expression "*piVar10" * identifier) + number_literal) ))))) ;) (expression_statement "bVar8 = bVar9;" (assignment_expression "bVar8 = bVar9" identifier = identifier) ;) (if_statement "if (pcVar4 != (code *)PTR_FUN_0038ed98) {\n        *(undefined4 *)(puVar15 + -8) = 0;\n        *(int *)(puVar15 + -0xc) = (int)(char)bVar9;\n        *(int **)(puVar15 + -0x10) = piVar10;\n        *(undefined **)(puVar15 + -0x14) = &UNK_002023ab;\n        bVar8 = (*pcVar4)();\n      }" if (parenthesized_expression "(pcVar4 != (code *)PTR_FUN_0038ed98)" ( (binary_expression "pcVar4 != (code *)PTR_FUN_0038ed98" identifier != (cast_expression "(code *)PTR_FUN_0038ed98" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (compound_statement "{\n        *(undefined4 *)(puVar15 + -8) = 0;\n        *(int *)(puVar15 + -0xc) = (int)(char)bVar9;\n        *(int **)(puVar15 + -0x10) = piVar10;\n        *(undefined **)(puVar15 + -0x14) = &UNK_002023ab;\n        bVar8 = (*pcVar4)();\n      }" { (expression_statement "*(undefined4 *)(puVar15 + -8) = 0;" (assignment_expression "*(undefined4 *)(puVar15 + -8) = 0" (pointer_expression "*(undefined4 *)(puVar15 + -8)" * (cast_expression "(undefined4 *)(puVar15 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -8)" ( (binary_expression "puVar15 + -8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(puVar15 + -0xc) = (int)(char)bVar9;" (assignment_expression "*(int *)(puVar15 + -0xc) = (int)(char)bVar9" (pointer_expression "*(int *)(puVar15 + -0xc)" * (cast_expression "(int *)(puVar15 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0xc)" ( (binary_expression "puVar15 + -0xc" identifier + number_literal) )))) = (cast_expression "(int)(char)bVar9" ( (type_descriptor "int" primitive_type) ) (cast_expression "(char)bVar9" ( (type_descriptor "char" primitive_type) ) identifier))) ;) (expression_statement "*(int **)(puVar15 + -0x10) = piVar10;" (assignment_expression "*(int **)(puVar15 + -0x10) = piVar10" (pointer_expression "*(int **)(puVar15 + -0x10)" * (cast_expression "(int **)(puVar15 + -0x10)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + -0x10)" ( (binary_expression "puVar15 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined **)(puVar15 + -0x14) = &UNK_002023ab;" (assignment_expression "*(undefined **)(puVar15 + -0x14) = &UNK_002023ab" (pointer_expression "*(undefined **)(puVar15 + -0x14)" * (cast_expression "(undefined **)(puVar15 + -0x14)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + -0x14)" ( (binary_expression "puVar15 + -0x14" identifier + number_literal) )))) = (pointer_expression "&UNK_002023ab" & identifier)) ;) (expression_statement "bVar8 = (*pcVar4)();" (assignment_expression "bVar8 = (*pcVar4)()" identifier = (call_expression "(*pcVar4)()" (parenthesized_expression "(*pcVar4)" ( (pointer_expression "*pcVar4" * identifier) )) (argument_list "()" ( )))) ;) })) (if_statement "if (bVar8 == 0) goto LAB_00201ab8;" if (parenthesized_expression "(bVar8 == 0)" ( (binary_expression "bVar8 == 0" identifier == number_literal) )) (goto_statement "goto LAB_00201ab8;" goto statement_identifier ;)) (expression_statement "*(byte *)((int)piVar10 + bVar9 + 0x11d) = bVar8;" (assignment_expression "*(byte *)((int)piVar10 + bVar9 + 0x11d) = bVar8" (pointer_expression "*(byte *)((int)piVar10 + bVar9 + 0x11d)" * (cast_expression "(byte *)((int)piVar10 + bVar9 + 0x11d)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar10 + bVar9 + 0x11d)" ( (binary_expression "(int)piVar10 + bVar9 + 0x11d" (binary_expression "(int)piVar10 + bVar9" (cast_expression "(int)piVar10" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + number_literal) )))) = identifier) ;) })) (if_statement "if (bVar8 != 10) goto LAB_00201ab8;" if (parenthesized_expression "(bVar8 != 10)" ( (binary_expression "bVar8 != 10" identifier != number_literal) )) (goto_statement "goto LAB_00201ab8;" goto statement_identifier ;)) (labeled_statement "code_r0x00202346:\n    *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0x98);" statement_identifier : (expression_statement "*(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0x98);" (assignment_expression "*(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0x98)" (pointer_expression "*(undefined4 *)(puVar15 + -0x10)" * (cast_expression "(undefined4 *)(puVar15 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x10)" ( (binary_expression "puVar15 + -0x10" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar15 + 0x98)" * (cast_expression "(undefined4 *)(puVar15 + 0x98)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x98)" ( (binary_expression "puVar15 + 0x98" identifier + number_literal) ))))) ;)) (expression_statement "*(undefined **)(puVar15 + -0x14) = &UNK_00202355;" (assignment_expression "*(undefined **)(puVar15 + -0x14) = &UNK_00202355" (pointer_expression "*(undefined **)(puVar15 + -0x14)" * (cast_expression "(undefined **)(puVar15 + -0x14)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + -0x14)" ( (binary_expression "puVar15 + -0x14" identifier + number_literal) )))) = (pointer_expression "&UNK_00202355" & identifier)) ;) (expression_statement "FUN_001f24d0();" (call_expression "FUN_001f24d0()" identifier (argument_list "()" ( ))) ;) (expression_statement "*(undefined4 *)(puVar15 + 0x9c) = 0xffffffff;" (assignment_expression "*(undefined4 *)(puVar15 + 0x9c) = 0xffffffff" (pointer_expression "*(undefined4 *)(puVar15 + 0x9c)" * (cast_expression "(undefined4 *)(puVar15 + 0x9c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x9c)" ( (binary_expression "puVar15 + 0x9c" identifier + number_literal) )))) = number_literal) ;) (break_statement "break;" break ;)) (case_statement "case 0x74:\n    *(undefined **)(puVar15 + -4) = &UNK_00201a70;\n    bVar9 = FUN_001f91d0();\n    bVar8 = *(byte *)((int)piVar10 + bVar9 + 0x11d);\n    if (bVar8 == 0) {\n      pcVar4 = *(code **)(*piVar10 + 0x20);\n      bVar8 = bVar9;\n      if (pcVar4 != *(code **)(puVar15 + 0x1c)) {\n        *(undefined4 *)(puVar15 + -8) = 0;\n        *(int *)(puVar15 + -0xc) = (int)(char)bVar9;\n        *(int **)(puVar15 + -0x10) = piVar10;\n        *(undefined **)(puVar15 + -0x14) = &UNK_00201a98;\n        bVar8 = (*pcVar4)();\n      }\n      if (bVar8 == 0) goto LAB_00201ab8;\n      *(byte *)((int)piVar10 + bVar9 + 0x11d) = bVar8;\n    }\n    if (bVar8 == 9) goto code_r0x00202346;\n    goto LAB_00201ab8;" case number_literal : (expression_statement "*(undefined **)(puVar15 + -4) = &UNK_00201a70;" (assignment_expression "*(undefined **)(puVar15 + -4) = &UNK_00201a70" (pointer_expression "*(undefined **)(puVar15 + -4)" * (cast_expression "(undefined **)(puVar15 + -4)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + -4)" ( (binary_expression "puVar15 + -4" identifier + number_literal) )))) = (pointer_expression "&UNK_00201a70" & identifier)) ;) (expression_statement "bVar9 = FUN_001f91d0();" (assignment_expression "bVar9 = FUN_001f91d0()" identifier = (call_expression "FUN_001f91d0()" identifier (argument_list "()" ( )))) ;) (expression_statement "bVar8 = *(byte *)((int)piVar10 + bVar9 + 0x11d);" (assignment_expression "bVar8 = *(byte *)((int)piVar10 + bVar9 + 0x11d)" identifier = (pointer_expression "*(byte *)((int)piVar10 + bVar9 + 0x11d)" * (cast_expression "(byte *)((int)piVar10 + bVar9 + 0x11d)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar10 + bVar9 + 0x11d)" ( (binary_expression "(int)piVar10 + bVar9 + 0x11d" (binary_expression "(int)piVar10 + bVar9" (cast_expression "(int)piVar10" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + number_literal) ))))) ;) (if_statement "if (bVar8 == 0) {\n      pcVar4 = *(code **)(*piVar10 + 0x20);\n      bVar8 = bVar9;\n      if (pcVar4 != *(code **)(puVar15 + 0x1c)) {\n        *(undefined4 *)(puVar15 + -8) = 0;\n        *(int *)(puVar15 + -0xc) = (int)(char)bVar9;\n        *(int **)(puVar15 + -0x10) = piVar10;\n        *(undefined **)(puVar15 + -0x14) = &UNK_00201a98;\n        bVar8 = (*pcVar4)();\n      }\n      if (bVar8 == 0) goto LAB_00201ab8;\n      *(byte *)((int)piVar10 + bVar9 + 0x11d) = bVar8;\n    }" if (parenthesized_expression "(bVar8 == 0)" ( (binary_expression "bVar8 == 0" identifier == number_literal) )) (compound_statement "{\n      pcVar4 = *(code **)(*piVar10 + 0x20);\n      bVar8 = bVar9;\n      if (pcVar4 != *(code **)(puVar15 + 0x1c)) {\n        *(undefined4 *)(puVar15 + -8) = 0;\n        *(int *)(puVar15 + -0xc) = (int)(char)bVar9;\n        *(int **)(puVar15 + -0x10) = piVar10;\n        *(undefined **)(puVar15 + -0x14) = &UNK_00201a98;\n        bVar8 = (*pcVar4)();\n      }\n      if (bVar8 == 0) goto LAB_00201ab8;\n      *(byte *)((int)piVar10 + bVar9 + 0x11d) = bVar8;\n    }" { (expression_statement "pcVar4 = *(code **)(*piVar10 + 0x20);" (assignment_expression "pcVar4 = *(code **)(*piVar10 + 0x20)" identifier = (pointer_expression "*(code **)(*piVar10 + 0x20)" * (cast_expression "(code **)(*piVar10 + 0x20)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*piVar10 + 0x20)" ( (binary_expression "*piVar10 + 0x20" (pointer_expression "*piVar10" * identifier) + number_literal) ))))) ;) (expression_statement "bVar8 = bVar9;" (assignment_expression "bVar8 = bVar9" identifier = identifier) ;) (if_statement "if (pcVar4 != *(code **)(puVar15 + 0x1c)) {\n        *(undefined4 *)(puVar15 + -8) = 0;\n        *(int *)(puVar15 + -0xc) = (int)(char)bVar9;\n        *(int **)(puVar15 + -0x10) = piVar10;\n        *(undefined **)(puVar15 + -0x14) = &UNK_00201a98;\n        bVar8 = (*pcVar4)();\n      }" if (parenthesized_expression "(pcVar4 != *(code **)(puVar15 + 0x1c))" ( (binary_expression "pcVar4 != *(code **)(puVar15 + 0x1c)" identifier != (pointer_expression "*(code **)(puVar15 + 0x1c)" * (cast_expression "(code **)(puVar15 + 0x1c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + 0x1c)" ( (binary_expression "puVar15 + 0x1c" identifier + number_literal) ))))) )) (compound_statement "{\n        *(undefined4 *)(puVar15 + -8) = 0;\n        *(int *)(puVar15 + -0xc) = (int)(char)bVar9;\n        *(int **)(puVar15 + -0x10) = piVar10;\n        *(undefined **)(puVar15 + -0x14) = &UNK_00201a98;\n        bVar8 = (*pcVar4)();\n      }" { (expression_statement "*(undefined4 *)(puVar15 + -8) = 0;" (assignment_expression "*(undefined4 *)(puVar15 + -8) = 0" (pointer_expression "*(undefined4 *)(puVar15 + -8)" * (cast_expression "(undefined4 *)(puVar15 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -8)" ( (binary_expression "puVar15 + -8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(puVar15 + -0xc) = (int)(char)bVar9;" (assignment_expression "*(int *)(puVar15 + -0xc) = (int)(char)bVar9" (pointer_expression "*(int *)(puVar15 + -0xc)" * (cast_expression "(int *)(puVar15 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0xc)" ( (binary_expression "puVar15 + -0xc" identifier + number_literal) )))) = (cast_expression "(int)(char)bVar9" ( (type_descriptor "int" primitive_type) ) (cast_expression "(char)bVar9" ( (type_descriptor "char" primitive_type) ) identifier))) ;) (expression_statement "*(int **)(puVar15 + -0x10) = piVar10;" (assignment_expression "*(int **)(puVar15 + -0x10) = piVar10" (pointer_expression "*(int **)(puVar15 + -0x10)" * (cast_expression "(int **)(puVar15 + -0x10)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + -0x10)" ( (binary_expression "puVar15 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined **)(puVar15 + -0x14) = &UNK_00201a98;" (assignment_expression "*(undefined **)(puVar15 + -0x14) = &UNK_00201a98" (pointer_expression "*(undefined **)(puVar15 + -0x14)" * (cast_expression "(undefined **)(puVar15 + -0x14)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + -0x14)" ( (binary_expression "puVar15 + -0x14" identifier + number_literal) )))) = (pointer_expression "&UNK_00201a98" & identifier)) ;) (expression_statement "bVar8 = (*pcVar4)();" (assignment_expression "bVar8 = (*pcVar4)()" identifier = (call_expression "(*pcVar4)()" (parenthesized_expression "(*pcVar4)" ( (pointer_expression "*pcVar4" * identifier) )) (argument_list "()" ( )))) ;) })) (if_statement "if (bVar8 == 0) goto LAB_00201ab8;" if (parenthesized_expression "(bVar8 == 0)" ( (binary_expression "bVar8 == 0" identifier == number_literal) )) (goto_statement "goto LAB_00201ab8;" goto statement_identifier ;)) (expression_statement "*(byte *)((int)piVar10 + bVar9 + 0x11d) = bVar8;" (assignment_expression "*(byte *)((int)piVar10 + bVar9 + 0x11d) = bVar8" (pointer_expression "*(byte *)((int)piVar10 + bVar9 + 0x11d)" * (cast_expression "(byte *)((int)piVar10 + bVar9 + 0x11d)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar10 + bVar9 + 0x11d)" ( (binary_expression "(int)piVar10 + bVar9 + 0x11d" (binary_expression "(int)piVar10 + bVar9" (cast_expression "(int)piVar10" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + number_literal) )))) = identifier) ;) })) (if_statement "if (bVar8 == 9) goto code_r0x00202346;" if (parenthesized_expression "(bVar8 == 9)" ( (binary_expression "bVar8 == 9" identifier == number_literal) )) (goto_statement "goto code_r0x00202346;" goto statement_identifier ;)) (goto_statement "goto LAB_00201ab8;" goto statement_identifier ;)) (case_statement "case 0x78:\n    *(undefined4 *)(puVar15 + -0xc) = *(undefined4 *)(*(int *)(*(int *)(puVar15 + 0x18) + 8) + 8);\ncode_r0x00201b30:\n    *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0xb0);\n    *(undefined1 **)(puVar15 + -0x14) = puVar15 + 0x38;\n    *(undefined4 *)(puVar15 + -0x18) = *(undefined4 *)(puVar15 + 0xa8);\n    *(undefined4 *)(puVar15 + -0x1c) = *(undefined4 *)(puVar15 + 0xa4);\n    *(undefined4 *)(puVar15 + -0x20) = *(undefined4 *)(puVar15 + 0xa0);\n    *(undefined4 *)(puVar15 + -0x24) = *(undefined4 *)(puVar15 + 0x9c);\n    *(undefined4 *)(puVar15 + -0x28) = *(undefined4 *)(puVar15 + 0x98);\n    *(undefined4 *)(puVar15 + -0x2c) = *(undefined4 *)(puVar15 + 0x94);\n    puVar17 = puVar15 + -0x30;\n    *(undefined1 **)(puVar15 + -0x30) = puVar15 + 0x28;\n    *(undefined **)(puVar15 + -0x34) = &UNK_00201b6c;\n    FUN_00201820();\ncode_r0x00201b6c:\n    *(undefined4 *)(puVar17 + 0xc4) = *(undefined4 *)(puVar17 + 0x54);\n    *(undefined4 *)(puVar17 + 200) = *(undefined4 *)(puVar17 + 0x58);\n    puVar16 = puVar17 + 0x2c;" case number_literal : (expression_statement "*(undefined4 *)(puVar15 + -0xc) = *(undefined4 *)(*(int *)(*(int *)(puVar15 + 0x18) + 8) + 8);" (assignment_expression "*(undefined4 *)(puVar15 + -0xc) = *(undefined4 *)(*(int *)(*(int *)(puVar15 + 0x18) + 8) + 8)" (pointer_expression "*(undefined4 *)(puVar15 + -0xc)" * (cast_expression "(undefined4 *)(puVar15 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0xc)" ( (binary_expression "puVar15 + -0xc" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(*(int *)(*(int *)(puVar15 + 0x18) + 8) + 8)" * (cast_expression "(undefined4 *)(*(int *)(*(int *)(puVar15 + 0x18) + 8) + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(*(int *)(puVar15 + 0x18) + 8) + 8)" ( (binary_expression "*(int *)(*(int *)(puVar15 + 0x18) + 8) + 8" (pointer_expression "*(int *)(*(int *)(puVar15 + 0x18) + 8)" * (cast_expression "(int *)(*(int *)(puVar15 + 0x18) + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar15 + 0x18) + 8)" ( (binary_expression "*(int *)(puVar15 + 0x18) + 8" (pointer_expression "*(int *)(puVar15 + 0x18)" * (cast_expression "(int *)(puVar15 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x18)" ( (binary_expression "puVar15 + 0x18" identifier + number_literal) )))) + number_literal) )))) + number_literal) ))))) ;) (labeled_statement "code_r0x00201b30:\n    *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0xb0);" statement_identifier : (expression_statement "*(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0xb0);" (assignment_expression "*(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0xb0)" (pointer_expression "*(undefined4 *)(puVar15 + -0x10)" * (cast_expression "(undefined4 *)(puVar15 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x10)" ( (binary_expression "puVar15 + -0x10" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar15 + 0xb0)" * (cast_expression "(undefined4 *)(puVar15 + 0xb0)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0xb0)" ( (binary_expression "puVar15 + 0xb0" identifier + number_literal) ))))) ;)) (expression_statement "*(undefined1 **)(puVar15 + -0x14) = puVar15 + 0x38;" (assignment_expression "*(undefined1 **)(puVar15 + -0x14) = puVar15 + 0x38" (pointer_expression "*(undefined1 **)(puVar15 + -0x14)" * (cast_expression "(undefined1 **)(puVar15 + -0x14)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + -0x14)" ( (binary_expression "puVar15 + -0x14" identifier + number_literal) )))) = (binary_expression "puVar15 + 0x38" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x18) = *(undefined4 *)(puVar15 + 0xa8);" (assignment_expression "*(undefined4 *)(puVar15 + -0x18) = *(undefined4 *)(puVar15 + 0xa8)" (pointer_expression "*(undefined4 *)(puVar15 + -0x18)" * (cast_expression "(undefined4 *)(puVar15 + -0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x18)" ( (binary_expression "puVar15 + -0x18" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar15 + 0xa8)" * (cast_expression "(undefined4 *)(puVar15 + 0xa8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0xa8)" ( (binary_expression "puVar15 + 0xa8" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x1c) = *(undefined4 *)(puVar15 + 0xa4);" (assignment_expression "*(undefined4 *)(puVar15 + -0x1c) = *(undefined4 *)(puVar15 + 0xa4)" (pointer_expression "*(undefined4 *)(puVar15 + -0x1c)" * (cast_expression "(undefined4 *)(puVar15 + -0x1c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x1c)" ( (binary_expression "puVar15 + -0x1c" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar15 + 0xa4)" * (cast_expression "(undefined4 *)(puVar15 + 0xa4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0xa4)" ( (binary_expression "puVar15 + 0xa4" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x20) = *(undefined4 *)(puVar15 + 0xa0);" (assignment_expression "*(undefined4 *)(puVar15 + -0x20) = *(undefined4 *)(puVar15 + 0xa0)" (pointer_expression "*(undefined4 *)(puVar15 + -0x20)" * (cast_expression "(undefined4 *)(puVar15 + -0x20)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x20)" ( (binary_expression "puVar15 + -0x20" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar15 + 0xa0)" * (cast_expression "(undefined4 *)(puVar15 + 0xa0)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0xa0)" ( (binary_expression "puVar15 + 0xa0" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x24) = *(undefined4 *)(puVar15 + 0x9c);" (assignment_expression "*(undefined4 *)(puVar15 + -0x24) = *(undefined4 *)(puVar15 + 0x9c)" (pointer_expression "*(undefined4 *)(puVar15 + -0x24)" * (cast_expression "(undefined4 *)(puVar15 + -0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x24)" ( (binary_expression "puVar15 + -0x24" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar15 + 0x9c)" * (cast_expression "(undefined4 *)(puVar15 + 0x9c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x9c)" ( (binary_expression "puVar15 + 0x9c" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x28) = *(undefined4 *)(puVar15 + 0x98);" (assignment_expression "*(undefined4 *)(puVar15 + -0x28) = *(undefined4 *)(puVar15 + 0x98)" (pointer_expression "*(undefined4 *)(puVar15 + -0x28)" * (cast_expression "(undefined4 *)(puVar15 + -0x28)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x28)" ( (binary_expression "puVar15 + -0x28" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar15 + 0x98)" * (cast_expression "(undefined4 *)(puVar15 + 0x98)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x98)" ( (binary_expression "puVar15 + 0x98" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x2c) = *(undefined4 *)(puVar15 + 0x94);" (assignment_expression "*(undefined4 *)(puVar15 + -0x2c) = *(undefined4 *)(puVar15 + 0x94)" (pointer_expression "*(undefined4 *)(puVar15 + -0x2c)" * (cast_expression "(undefined4 *)(puVar15 + -0x2c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x2c)" ( (binary_expression "puVar15 + -0x2c" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar15 + 0x94)" * (cast_expression "(undefined4 *)(puVar15 + 0x94)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x94)" ( (binary_expression "puVar15 + 0x94" identifier + number_literal) ))))) ;) (expression_statement "puVar17 = puVar15 + -0x30;" (assignment_expression "puVar17 = puVar15 + -0x30" identifier = (binary_expression "puVar15 + -0x30" identifier + number_literal)) ;) (expression_statement "*(undefined1 **)(puVar15 + -0x30) = puVar15 + 0x28;" (assignment_expression "*(undefined1 **)(puVar15 + -0x30) = puVar15 + 0x28" (pointer_expression "*(undefined1 **)(puVar15 + -0x30)" * (cast_expression "(undefined1 **)(puVar15 + -0x30)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + -0x30)" ( (binary_expression "puVar15 + -0x30" identifier + number_literal) )))) = (binary_expression "puVar15 + 0x28" identifier + number_literal)) ;) (expression_statement "*(undefined **)(puVar15 + -0x34) = &UNK_00201b6c;" (assignment_expression "*(undefined **)(puVar15 + -0x34) = &UNK_00201b6c" (pointer_expression "*(undefined **)(puVar15 + -0x34)" * (cast_expression "(undefined **)(puVar15 + -0x34)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + -0x34)" ( (binary_expression "puVar15 + -0x34" identifier + number_literal) )))) = (pointer_expression "&UNK_00201b6c" & identifier)) ;) (expression_statement "FUN_00201820();" (call_expression "FUN_00201820()" identifier (argument_list "()" ( ))) ;) (labeled_statement "code_r0x00201b6c:\n    *(undefined4 *)(puVar17 + 0xc4) = *(undefined4 *)(puVar17 + 0x54);" statement_identifier : (expression_statement "*(undefined4 *)(puVar17 + 0xc4) = *(undefined4 *)(puVar17 + 0x54);" (assignment_expression "*(undefined4 *)(puVar17 + 0xc4) = *(undefined4 *)(puVar17 + 0x54)" (pointer_expression "*(undefined4 *)(puVar17 + 0xc4)" * (cast_expression "(undefined4 *)(puVar17 + 0xc4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + 0xc4)" ( (binary_expression "puVar17 + 0xc4" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar17 + 0x54)" * (cast_expression "(undefined4 *)(puVar17 + 0x54)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + 0x54)" ( (binary_expression "puVar17 + 0x54" identifier + number_literal) ))))) ;)) (expression_statement "*(undefined4 *)(puVar17 + 200) = *(undefined4 *)(puVar17 + 0x58);" (assignment_expression "*(undefined4 *)(puVar17 + 200) = *(undefined4 *)(puVar17 + 0x58)" (pointer_expression "*(undefined4 *)(puVar17 + 200)" * (cast_expression "(undefined4 *)(puVar17 + 200)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + 200)" ( (binary_expression "puVar17 + 200" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar17 + 0x58)" * (cast_expression "(undefined4 *)(puVar17 + 0x58)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + 0x58)" ( (binary_expression "puVar17 + 0x58" identifier + number_literal) ))))) ;) (expression_statement "puVar16 = puVar17 + 0x2c;" (assignment_expression "puVar16 = puVar17 + 0x2c" identifier = (binary_expression "puVar17 + 0x2c" identifier + number_literal)) ;)) })) (labeled_statement "code_r0x00201ac0:\n  uVar18 = *(int *)(puVar16 + 4) + 1;" statement_identifier : (expression_statement "uVar18 = *(int *)(puVar16 + 4) + 1;" (assignment_expression "uVar18 = *(int *)(puVar16 + 4) + 1" identifier = (binary_expression "*(int *)(puVar16 + 4) + 1" (pointer_expression "*(int *)(puVar16 + 4)" * (cast_expression "(int *)(puVar16 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + 4)" ( (binary_expression "puVar16 + 4" identifier + number_literal) )))) + number_literal)) ;)) (expression_statement "puVar15 = puVar16;" (assignment_expression "puVar15 = puVar16" identifier = identifier) ;) (goto_statement "goto LAB_0020189b;" goto statement_identifier ;) (labeled_statement "LAB_00201ab8:\n  *(uint *)(puVar15 + 0x38) = *(uint *)(puVar15 + 0x38) | 4;" statement_identifier : (expression_statement "*(uint *)(puVar15 + 0x38) = *(uint *)(puVar15 + 0x38) | 4;" (assignment_expression "*(uint *)(puVar15 + 0x38) = *(uint *)(puVar15 + 0x38) | 4" (pointer_expression "*(uint *)(puVar15 + 0x38)" * (cast_expression "(uint *)(puVar15 + 0x38)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x38)" ( (binary_expression "puVar15 + 0x38" identifier + number_literal) )))) = (binary_expression "*(uint *)(puVar15 + 0x38) | 4" (pointer_expression "*(uint *)(puVar15 + 0x38)" * (cast_expression "(uint *)(puVar15 + 0x38)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x38)" ( (binary_expression "puVar15 + 0x38" identifier + number_literal) )))) | number_literal)) ;)) (goto_statement "goto code_r0x00201ac0;" goto statement_identifier ;) })))
(translation_unit (function_definition TYPE (pointer_declarator * (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE) )))) (compound_statement { (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * IDENT)) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( IDENT ))))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;)) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression 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 ( )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == (char_literal ' escape_sequence ')) )) || (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) <= IDENT) ))) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != LIT) )) || (parenthesized_expression ( (binary_expression IDENT != (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ))) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) = (binary_expression (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) | LIT)) ;)) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (return_statement return IDENT ;) })) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + IDENT) ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + IDENT) )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (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 IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE) ) IDENT))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (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 (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( )))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + 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 (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) + LIT) )))) = IDENT) ;) (goto_statement goto statement_identifier ;) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression 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 ( )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == IDENT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression 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 (call_expression IDENT (argument_list ( ))) ;) (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 = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) | LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) }))) (goto_statement goto statement_identifier ;) })) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;))) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) + IDENT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (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 IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE) ) IDENT))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (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 (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( )))) ;) })) (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 (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) + LIT) )))) = IDENT) ;) (goto_statement goto statement_identifier ;) })) (goto_statement goto statement_identifier ;) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;)) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == LIT) )) || (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) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) + IDENT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (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 IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE) ) IDENT))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (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 (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( )))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) + LIT) )))) = IDENT) ;) })) })) (switch_statement switch (parenthesized_expression ( IDENT )) (compound_statement { (case_statement case LIT : (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (goto_statement goto statement_identifier ;)) (case_statement case LIT : (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression & IDENT)) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (goto_statement goto statement_identifier ;)) (case_statement case LIT :) (case_statement case LIT :) (case_statement case LIT : (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression 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 (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression & IDENT)) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) })) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) })) (break_statement break ;)) (case_statement case LIT : (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (goto_statement goto statement_identifier ;)) (case_statement default : (goto_statement goto statement_identifier ;)) (case_statement case LIT : (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression 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 (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (goto_statement goto statement_identifier ;)) (case_statement case LIT : (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression 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 (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;)) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression & IDENT)) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) })) (break_statement break ;)) (case_statement case LIT : (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression 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 (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression & IDENT)) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) })) (break_statement break ;)) (case_statement case LIT : (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (string_literal " string_content ")) ;) (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (goto_statement goto statement_identifier ;)) (case_statement case LIT : (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression 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 (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression & IDENT)) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) })) (break_statement break ;)) (case_statement case LIT : (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;)) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression & IDENT)) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;) (goto_statement goto statement_identifier ;)) (case_statement case LIT : (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) + LIT) ))))) ;) (goto_statement goto statement_identifier ;)) (case_statement case LIT : (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (subscript_expression IDENT [ LIT ]) + LIT) + (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) * LIT)) )))) & LIT) )) == LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression 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 (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression & IDENT)) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != (char_literal ' escape_sequence ')) )) || (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (binary_expression IDENT + LIT)) , (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != LIT) || (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != LIT))) ))) )) (break_statement break ;)) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) == (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) ))))) ;) }))) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != IDENT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) == (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ]))) ;) }))) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != IDENT) )) (break_statement break ;)) })) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression 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 (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression & IDENT)) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression 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 (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression & IDENT)) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (goto_statement goto statement_identifier ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;)) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression 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 (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression & IDENT)) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) })) (break_statement break ;)) (case_statement case LIT :) (case_statement case LIT : (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression & IDENT)) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;)) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression 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 (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression & IDENT)) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) })) (break_statement break ;)) (case_statement case LIT : (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) + LIT) ))))) ;) (goto_statement goto statement_identifier ;)) (case_statement case LIT : (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression 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 (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (goto_statement goto statement_identifier ;)) (case_statement case LIT : (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (subscript_expression IDENT [ LIT ]) + LIT) + (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) * LIT)) )))) & LIT) )) == LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression 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 (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression & IDENT)) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression 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 (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) }))) (labeled_statement statement_identifier : (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;)) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression & IDENT)) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) })) (break_statement break ;)) (case_statement case LIT : (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression 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 (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression & IDENT)) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) })) (break_statement break ;)) (case_statement case LIT : (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (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 IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE) ) IDENT))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( )))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) + LIT) )))) = IDENT) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;)) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression & IDENT)) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (break_statement break ;)) (case_statement case LIT : (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (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) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE) ) IDENT))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( )))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) + LIT) )))) = IDENT) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) (goto_statement goto statement_identifier ;)) (case_statement case LIT : (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) + LIT) ))))) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;)) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression & IDENT)) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;)) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;)) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT)) ;)) (expression_statement (assignment_expression IDENT = IDENT) ;) (goto_statement goto statement_identifier ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) | LIT)) ;)) (goto_statement goto statement_identifier ;) })))
(function_definition "undefined4 * FUN_00201820(void)\n\n{\n  int iVar1;\n  undefined1 *puVar2;\n  undefined1 *puVar3;\n  code *pcVar4;\n  undefined4 *puVar5;\n  char cVar6;\n  char cVar7;\n  byte bVar8;\n  byte bVar9;\n  int *piVar10;\n  char *pcVar11;\n  undefined4 uVar12;\n  int iVar13;\n  uint uVar14;\n  undefined1 *puVar15;\n  undefined1 *puVar16;\n  undefined1 *puVar17;\n  uint uVar18;\n  int in_stack_0000001c;\n  char *in_stack_00000028;\n  undefined1 auStack_8c [8];\n  undefined1 *local_84;\n  size_t local_80;\n  undefined1 *local_7c;\n  undefined4 local_74;\n  code *local_70;\n  undefined **local_68;\n  undefined4 local_54;\n  undefined4 uStack_14;\n  \n  uVar18 = 0;\n  uStack_14 = 0x20182b;\n  iVar1 = in_stack_0000001c + 0x6c;\n  local_74 = FUN_001fd780(iVar1);\n  piVar10 = (int *)FUN_001fbde0(iVar1);\n  local_80 = strlen(in_stack_00000028);\n  local_7c = &stack0x00000014;\n  local_84 = &stack0x0000000c;\n  local_54 = 0;\n  local_68 = &PTR_DAT_0038f400;\n  local_70 = FUN_001f81a0;\n  puVar15 = auStack_8c;\nLAB_0020189b:\n  *(undefined4 *)(puVar15 + -0xc) = *(undefined4 *)(puVar15 + 0x10);\n  *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 8);\n  *(undefined4 *)(puVar15 + -0x14) = 0x2018ab;\n  cVar6 = FUN_00200f70();\n  if ((cVar6 == '\x01') || (*(uint *)(puVar15 + 0xc) <= uVar18)) {\n    if ((*(int *)(puVar15 + 0x38) != 0) || (uVar18 != *(uint *)(puVar15 + 0xc))) {\nLAB_00201a0e:\n      **(uint **)(puVar15 + 0xac) = **(uint **)(puVar15 + 0xac) | 4;\n    }\n    puVar5 = *(undefined4 **)(puVar15 + 0x90);\n    uVar12 = *(undefined4 *)(puVar15 + 0x9c);\n    *puVar5 = *(undefined4 *)(puVar15 + 0x98);\n    puVar5[1] = uVar12;\n    return puVar5;\n  }\n  if (*(int *)(puVar15 + 0x38) != 0) goto LAB_00201a0e;\n  bVar8 = *(byte *)(*(int *)(puVar15 + 0xb4) + uVar18);\n  uVar14 = (uint)bVar8;\n  *(byte **)(puVar15 + 0x14) = (byte *)(*(int *)(puVar15 + 0xb4) + uVar18);\n  *(uint *)(puVar15 + 4) = uVar18 + 1;\n  bVar9 = *(byte *)((int)piVar10 + uVar14 + 0x11d);\n  if (bVar9 == 0) {\n    pcVar4 = *(code **)(*piVar10 + 0x20);\n    bVar9 = bVar8;\n    if (pcVar4 != (code *)PTR_FUN_0038ed98) {\n      *(uint *)(puVar15 + 0x20) = uVar14;\n      *(undefined4 *)(puVar15 + -8) = 0;\n      *(int *)(puVar15 + -0xc) = (int)(char)bVar8;\n      *(int **)(puVar15 + -0x10) = piVar10;\n      *(undefined4 *)(puVar15 + -0x14) = 0x201a50;\n      bVar9 = (*pcVar4)();\n      uVar14 = *(uint *)(puVar15 + 0x20);\n    }\n    if (bVar9 != 0) {\n      *(byte *)((int)piVar10 + uVar14 + 0x11d) = bVar9;\n      goto LAB_00201910;\n    }\nLAB_00201980:\n    cVar6 = **(char **)(puVar15 + 0x14);\n    *(undefined4 *)(puVar15 + -4) = 0x201997;\n    cVar7 = FUN_001f91d0();\n    if (cVar6 == cVar7) {\n      *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0x98);\n      *(undefined4 *)(puVar15 + -0x14) = 0x201adf;\n      FUN_001f24d0();\n      *(undefined4 *)(puVar15 + 0x9c) = 0xffffffff;\n      uVar18 = *(uint *)(puVar15 + 4);\n    }\n    else {\n      *(uint *)(puVar15 + 0x38) = *(uint *)(puVar15 + 0x38) | 4;\n      uVar18 = *(uint *)(puVar15 + 4);\n    }\n    goto LAB_0020189b;\n  }\nLAB_00201910:\n  if (bVar9 != 0x25) goto LAB_00201980;\n  bVar8 = *(byte *)(*(int *)(puVar15 + 0xb4) + 1 + uVar18);\n  bVar9 = *(byte *)((int)piVar10 + bVar8 + 0x11d);\n  puVar16 = puVar15;\n  if (bVar9 == 0) {\n    pcVar4 = *(code **)(*piVar10 + 0x20);\n    bVar9 = bVar8;\n    if (pcVar4 != (code *)PTR_FUN_0038ed98) {\n      *(undefined4 *)(puVar15 + -8) = 0;\n      *(int *)(puVar15 + -0xc) = (int)(char)bVar8;\n      *(int **)(puVar15 + -0x10) = piVar10;\n      *(undefined4 *)(puVar15 + -0x14) = 0x201b0c;\n      bVar9 = (*pcVar4)();\n    }\n    if (bVar9 != 0) {\n      *(byte *)((int)piVar10 + bVar8 + 0x11d) = bVar9;\n      goto LAB_00201951;\n    }\n    goto LAB_00201ab8;\n  }\nLAB_00201951:\n  *(undefined4 *)(puVar15 + 0x3c) = 0;\n  if ((bVar9 == 0x45) || (bVar9 == 0x4f)) {\n    *(uint *)(puVar15 + 4) = uVar18 + 2;\n    bVar8 = *(byte *)(*(int *)(puVar15 + 0xb4) + 2 + uVar18);\n    bVar9 = *(byte *)((int)piVar10 + bVar8 + 0x11d);\n    if (bVar9 == 0) {\n      pcVar4 = *(code **)(*piVar10 + 0x20);\n      bVar9 = bVar8;\n      if (pcVar4 != (code *)PTR_FUN_0038ed98) {\n        *(undefined4 *)(puVar15 + -8) = 0;\n        *(int *)(puVar15 + -0xc) = (int)(char)bVar8;\n        *(int **)(puVar15 + -0x10) = piVar10;\n        *(undefined4 *)(puVar15 + -0x14) = 0x20237c;\n        bVar9 = (*pcVar4)();\n      }\n      if (bVar9 == 0) goto LAB_00201ab8;\n      *(byte *)((int)piVar10 + bVar8 + 0x11d) = bVar9;\n    }\n  }\n  switch(bVar9) {\n  case 0x41:\n    iVar1 = *(int *)(*(int *)(puVar15 + 0x18) + 8);\n    *(undefined4 *)(puVar15 + 0x40) = *(undefined4 *)(iVar1 + 0x2c);\n    *(undefined4 *)(puVar15 + 0x44) = *(undefined4 *)(iVar1 + 0x30);\n    *(undefined4 *)(puVar15 + 0x48) = *(undefined4 *)(iVar1 + 0x34);\n    *(undefined4 *)(puVar15 + 0x4c) = *(undefined4 *)(iVar1 + 0x38);\n    *(undefined4 *)(puVar15 + 0x50) = *(undefined4 *)(iVar1 + 0x3c);\n    *(undefined4 *)(puVar15 + 0x54) = *(undefined4 *)(iVar1 + 0x40);\n    uVar12 = *(undefined4 *)(iVar1 + 0x44);\n    goto code_r0x00201f34;\n  case 0x42:\n    *(undefined1 **)(puVar15 + -0xc) = puVar15 + 0x40;\n    *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0x18);\n    *(undefined **)(puVar15 + -0x14) = &UNK_00201fd1;\n    FUN_001fb050();\n    goto code_r0x00201fd1;\n  case 0x43:\n  case 0x59:\n  case 0x79:\n    *(undefined1 **)(puVar15 + -4) = puVar15 + 0x38;\n    *(undefined4 *)(puVar15 + -8) = *(undefined4 *)(puVar15 + 0xa8);\n    *(undefined4 *)(puVar15 + -0xc) = 4;\n    *(undefined4 *)(puVar15 + -0x10) = 9999;\n    *(undefined4 *)(puVar15 + -0x14) = 0;\n    *(undefined1 **)(puVar15 + -0x18) = puVar15 + 0x3c;\n    *(undefined4 *)(puVar15 + -0x1c) = *(undefined4 *)(puVar15 + 0xa4);\n    *(undefined4 *)(puVar15 + -0x20) = *(undefined4 *)(puVar15 + 0xa0);\n    *(undefined4 *)(puVar15 + -0x24) = *(undefined4 *)(puVar15 + 0x9c);\n    *(undefined4 *)(puVar15 + -0x28) = *(undefined4 *)(puVar15 + 0x98);\n    *(undefined4 *)(puVar15 + -0x2c) = *(undefined4 *)(puVar15 + 0x94);\n    *(undefined1 **)(puVar15 + -0x30) = puVar15 + 0x28;\n    *(undefined **)(puVar15 + -0x34) = &UNK_00202097;\n    FUN_001fc0e0();\n    *(undefined4 *)(puVar15 + 0x94) = *(undefined4 *)(puVar15 + 0x24);\n    *(undefined4 *)(puVar15 + 0x98) = *(undefined4 *)(puVar15 + 0x28);\n    puVar16 = puVar15 + -4;\n    if (*(int *)(puVar15 + 0x34) == 0) {\n      iVar1 = *(int *)(puVar15 + 0x38);\n      iVar13 = iVar1 + -0x76c;\n      if (iVar1 < 0) {\n        iVar13 = iVar1 + 100;\n      }\n      *(int *)(*(int *)(puVar15 + 0xac) + 0x14) = iVar13;\n      puVar16 = puVar15 + -4;\n    }\n    break;\n  case 0x44:\n    *(undefined1 **)(puVar15 + -4) = puVar15 + 0x40;\n    *(undefined **)(puVar15 + -8) = &UNK_002a3ee7;\n    pcVar11 = "%m/%d/%y";\n    goto code_r0x00201ca2;\n  default:\n    goto LAB_00201ab8;\n  case 0x48:\n    *(undefined1 **)(puVar15 + -4) = puVar15 + 0x38;\n    *(undefined4 *)(puVar15 + -8) = *(undefined4 *)(puVar15 + 0xa8);\n    *(undefined4 *)(puVar15 + -0xc) = 2;\n    *(undefined4 *)(puVar15 + -0x10) = 0x17;\n    *(undefined4 *)(puVar15 + -0x14) = 0;\n    goto code_r0x00201ba6;\n  case 0x49:\n    *(undefined1 **)(puVar15 + -4) = puVar15 + 0x38;\n    *(undefined4 *)(puVar15 + -8) = *(undefined4 *)(puVar15 + 0xa8);\n    *(undefined4 *)(puVar15 + -0xc) = 2;\n    *(undefined4 *)(puVar15 + -0x10) = 0xc;\n    *(undefined4 *)(puVar15 + -0x14) = 1;\ncode_r0x00201ba6:\n    *(undefined1 **)(puVar15 + -0x18) = puVar15 + 0x3c;\n    *(undefined4 *)(puVar15 + -0x1c) = *(undefined4 *)(puVar15 + 0xa4);\n    *(undefined4 *)(puVar15 + -0x20) = *(undefined4 *)(puVar15 + 0xa0);\n    *(undefined4 *)(puVar15 + -0x24) = *(undefined4 *)(puVar15 + 0x9c);\n    *(undefined4 *)(puVar15 + -0x28) = *(undefined4 *)(puVar15 + 0x98);\n    *(undefined4 *)(puVar15 + -0x2c) = *(undefined4 *)(puVar15 + 0x94);\n    *(undefined1 **)(puVar15 + -0x30) = puVar15 + 0x28;\n    *(undefined **)(puVar15 + -0x34) = &UNK_00201bd4;\n    FUN_001fc0e0();\n    *(undefined4 *)(puVar15 + 0x94) = *(undefined4 *)(puVar15 + 0x24);\n    *(undefined4 *)(puVar15 + 0x98) = *(undefined4 *)(puVar15 + 0x28);\n    puVar16 = puVar15 + -4;\n    if (*(int *)(puVar15 + 0x34) == 0) {\n      *(undefined4 *)(*(int *)(puVar15 + 0xac) + 8) = *(undefined4 *)(puVar15 + 0x38);\n      puVar16 = puVar15 + -4;\n    }\n    break;\n  case 0x4d:\n    *(undefined1 **)(puVar15 + -4) = puVar15 + 0x38;\n    *(undefined4 *)(puVar15 + -8) = *(undefined4 *)(puVar15 + 0xa8);\n    *(undefined4 *)(puVar15 + -0xc) = 2;\n    *(undefined4 *)(puVar15 + -0x10) = 0x3b;\n    *(undefined4 *)(puVar15 + -0x14) = 0;\n    *(undefined1 **)(puVar15 + -0x18) = puVar15 + 0x3c;\n    *(undefined4 *)(puVar15 + -0x1c) = *(undefined4 *)(puVar15 + 0xa4);\n    *(undefined4 *)(puVar15 + -0x20) = *(undefined4 *)(puVar15 + 0xa0);\n    *(undefined4 *)(puVar15 + -0x24) = *(undefined4 *)(puVar15 + 0x9c);\n    *(undefined4 *)(puVar15 + -0x28) = *(undefined4 *)(puVar15 + 0x98);\n    *(undefined4 *)(puVar15 + -0x2c) = *(undefined4 *)(puVar15 + 0x94);\n    *(undefined1 **)(puVar15 + -0x30) = puVar15 + 0x28;\n    *(undefined **)(puVar15 + -0x34) = &UNK_00201c54;\n    FUN_001fc0e0();\n    *(undefined4 *)(puVar15 + 0x94) = *(undefined4 *)(puVar15 + 0x24);\n    *(undefined4 *)(puVar15 + 0x98) = *(undefined4 *)(puVar15 + 0x28);\n    puVar16 = puVar15 + -4;\n    if (*(int *)(puVar15 + 0x34) == 0) {\n      *(undefined4 *)(*(int *)(puVar15 + 0xac) + 4) = *(undefined4 *)(puVar15 + 0x38);\n      puVar16 = puVar15 + -4;\n    }\n    break;\n  case 0x52:\n    *(undefined1 **)(puVar15 + -4) = puVar15 + 0x40;\n    *(char **)(puVar15 + -8) = "%H:%M:%S";\n    pcVar11 = "%H:%M";\n    goto code_r0x00201ca2;\n  case 0x53:\n    *(undefined1 **)(puVar15 + -4) = puVar15 + 0x38;\n    *(undefined4 *)(puVar15 + -8) = *(undefined4 *)(puVar15 + 0xa8);\n    *(undefined4 *)(puVar15 + -0xc) = 2;\n    *(undefined4 *)(puVar15 + -0x10) = 0x3c;\n    *(undefined4 *)(puVar15 + -0x14) = 0;\n    *(undefined1 **)(puVar15 + -0x18) = puVar15 + 0x3c;\n    *(undefined4 *)(puVar15 + -0x1c) = *(undefined4 *)(puVar15 + 0xa4);\n    *(undefined4 *)(puVar15 + -0x20) = *(undefined4 *)(puVar15 + 0xa0);\n    *(undefined4 *)(puVar15 + -0x24) = *(undefined4 *)(puVar15 + 0x9c);\n    *(undefined4 *)(puVar15 + -0x28) = *(undefined4 *)(puVar15 + 0x98);\n    *(undefined4 *)(puVar15 + -0x2c) = *(undefined4 *)(puVar15 + 0x94);\n    *(undefined1 **)(puVar15 + -0x30) = puVar15 + 0x28;\n    *(undefined **)(puVar15 + -0x34) = &UNK_00201cfc;\n    FUN_001fc0e0();\n    *(undefined4 *)(puVar15 + 0x94) = *(undefined4 *)(puVar15 + 0x24);\n    *(undefined4 *)(puVar15 + 0x98) = *(undefined4 *)(puVar15 + 0x28);\n    puVar16 = puVar15 + -4;\n    if (*(int *)(puVar15 + 0x34) == 0) {\n      **(undefined4 **)(puVar15 + 0xac) = *(undefined4 *)(puVar15 + 0x38);\n      puVar16 = puVar15 + -4;\n    }\n    break;\n  case 0x54:\n    *(undefined1 **)(puVar15 + -4) = puVar15 + 0x40;\n    *(undefined **)(puVar15 + -8) = &UNK_002a3ef6;\n    pcVar11 = "%H:%M:%S";\ncode_r0x00201ca2:\n    *(char **)(puVar15 + -0xc) = pcVar11;\n    *(int **)(puVar15 + -0x10) = piVar10;\n    *(undefined **)(puVar15 + -0x14) = &UNK_00201ca9;\n    FUN_001f94d0();\n    *(undefined1 **)(puVar15 + -0xc) = puVar15 + 0x40;\n    goto code_r0x00201b30;\n  case 0x58:\n    *(undefined4 *)(puVar15 + -0xc) = *(undefined4 *)(*(int *)(*(int *)(puVar15 + 0x18) + 8) + 0x10)\n    ;\n    goto code_r0x00201b30;\n  case 0x5a:\n    *(undefined **)(puVar15 + -4) = &UNK_00201d80;\n    uVar18 = FUN_001f91d0();\n    if ((*(byte *)(piVar10[6] + 1 + (uVar18 & 0xff) * 2) & 1) == 0) goto LAB_00201ab8;\n    *(undefined1 **)(puVar15 + 0x14) = puVar15 + 0x28;\n    puVar2 = puVar15 + 0x38;\n    *(undefined1 **)(puVar15 + -8) = puVar2;\n    *(undefined4 *)(puVar15 + -0xc) = *(undefined4 *)(puVar15 + 0xa8);\n    *(undefined4 *)(puVar15 + -0x10) = 0xe;\n    *(undefined4 *)(puVar15 + -0x14) = *(undefined4 *)(puVar15 + 0x24);\n    puVar3 = puVar15 + 0x40;\n    *(undefined1 **)(puVar15 + -0x18) = puVar3;\n    *(undefined4 *)(puVar15 + -0x1c) = *(undefined4 *)(puVar15 + 0xa4);\n    *(undefined4 *)(puVar15 + -0x20) = *(undefined4 *)(puVar15 + 0xa0);\n    *(undefined4 *)(puVar15 + -0x24) = *(undefined4 *)(puVar15 + 0x9c);\n    *(undefined4 *)(puVar15 + -0x28) = *(undefined4 *)(puVar15 + 0x98);\n    *(undefined4 *)(puVar15 + -0x2c) = *(undefined4 *)(puVar15 + 0x94);\n    *(undefined1 **)(puVar15 + -0x30) = puVar15 + 0x28;\n    *(undefined **)(puVar15 + -0x34) = &UNK_00201ddc;\n    FUN_00201020();\n    *(undefined4 *)(puVar15 + 0x94) = *(undefined4 *)(puVar15 + 0x24);\n    *(undefined4 *)(puVar15 + 0x98) = *(undefined4 *)(puVar15 + 0x28);\n    *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0xc);\n    *(undefined4 *)(puVar15 + -0x14) = *(undefined4 *)(puVar15 + 4);\n    *(undefined **)(puVar15 + -0x18) = &UNK_00201e02;\n    cVar6 = FUN_00200f70();\n    puVar16 = puVar15 + -4;\n    if ((cVar6 != '\0') ||\n       (puVar16 = puVar15 + -4, *(int *)(puVar15 + 0x34) != 0 || *(int *)(puVar15 + 0x3c) != 0))\n    break;\n    *(undefined **)(puVar15 + -8) = &UNK_00201e2b;\n    uVar12 = FUN_001f91d0();\n    iVar1 = piVar10[7];\n    *(undefined4 *)(puVar15 + 0x1c) = uVar12;\n    if ((char)iVar1 == '\0') {\n      *(undefined **)(puVar15 + -8) = &UNK_002023c1;\n      cVar6 = FUN_001f9220();\n    }\n    else {\n      cVar6 = *(char *)((int)piVar10 + 0x4a);\n    }\n    if (puVar15[0x1c] != cVar6) {\n      *(undefined **)(puVar15 + -8) = &UNK_00201e53;\n      uVar12 = FUN_001f91d0();\n      iVar1 = piVar10[7];\n      *(undefined4 *)(puVar15 + 0x1c) = uVar12;\n      if ((char)iVar1 == '\0') {\n        *(undefined **)(puVar15 + -8) = &UNK_002023d2;\n        cVar6 = FUN_001f9220();\n      }\n      else {\n        cVar6 = (char)piVar10[0x12];\n      }\n      puVar16 = puVar15 + -4;\n      if (puVar15[0x1c] != cVar6) break;\n    }\n    *(undefined1 **)(puVar15 + -8) = puVar2;\n    *(undefined4 *)(puVar15 + -0xc) = *(undefined4 *)(puVar15 + 0xa4);\n    *(undefined4 *)(puVar15 + -0x10) = 2;\n    *(undefined4 *)(puVar15 + -0x14) = 0x17;\n    *(undefined4 *)(puVar15 + -0x18) = 0;\n    *(undefined1 **)(puVar15 + -0x1c) = puVar3;\n    *(undefined4 *)(puVar15 + -0x20) = *(undefined4 *)(puVar15 + 0xa0);\n    *(undefined4 *)(puVar15 + -0x24) = *(undefined4 *)(puVar15 + 0x9c);\n    *(undefined4 *)(puVar15 + -0x28) = *(undefined4 *)(puVar15 + 0x98);\n    *(undefined4 *)(puVar15 + -0x2c) = *(undefined4 *)(puVar15 + 0x94);\n    *(undefined4 *)(puVar15 + -0x30) = *(undefined4 *)(puVar15 + 0x90);\n    *(undefined4 *)(puVar15 + -0x34) = *(undefined4 *)(puVar15 + 0x10);\n    *(undefined **)(puVar15 + -0x38) = &UNK_00201eaa;\n    FUN_001fc0e0();\n    *(undefined4 *)(puVar15 + 0x90) = *(undefined4 *)(puVar15 + 0x20);\n    *(undefined4 *)(puVar15 + 0x94) = *(undefined4 *)(puVar15 + 0x24);\n    *(undefined1 **)(puVar15 + -0xc) = puVar2;\n    *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0xa0);\n    *(undefined4 *)(puVar15 + -0x14) = 2;\n    *(undefined4 *)(puVar15 + -0x18) = 0x3b;\n    *(undefined4 *)(puVar15 + -0x1c) = 0;\n    *(undefined1 **)(puVar15 + -0x20) = puVar3;\n    *(undefined4 *)(puVar15 + -0x24) = *(undefined4 *)(puVar15 + 0x9c);\n    *(undefined4 *)(puVar15 + -0x28) = *(undefined4 *)(puVar15 + 0x98);\n    *(undefined4 *)(puVar15 + -0x2c) = *(undefined4 *)(puVar15 + 0x24);\n    *(undefined4 *)(puVar15 + -0x30) = *(undefined4 *)(puVar15 + 0x20);\n    *(undefined4 *)(puVar15 + -0x34) = *(undefined4 *)(puVar15 + 0x8c);\n    puVar17 = puVar15 + -0x38;\n    *(undefined4 *)(puVar15 + -0x38) = *(undefined4 *)(puVar15 + 0xc);\n    *(undefined **)(puVar15 + -0x3c) = &UNK_00201ef2;\n    FUN_001fc0e0();\n    goto code_r0x00201b6c;\n  case 0x61:\n    iVar1 = *(int *)(*(int *)(puVar15 + 0x18) + 8);\n    *(undefined4 *)(puVar15 + 0x40) = *(undefined4 *)(iVar1 + 0x48);\n    *(undefined4 *)(puVar15 + 0x44) = *(undefined4 *)(iVar1 + 0x4c);\n    *(undefined4 *)(puVar15 + 0x48) = *(undefined4 *)(iVar1 + 0x50);\n    *(undefined4 *)(puVar15 + 0x4c) = *(undefined4 *)(iVar1 + 0x54);\n    *(undefined4 *)(puVar15 + 0x50) = *(undefined4 *)(iVar1 + 0x58);\n    *(undefined4 *)(puVar15 + 0x54) = *(undefined4 *)(iVar1 + 0x5c);\n    uVar12 = *(undefined4 *)(iVar1 + 0x60);\ncode_r0x00201f34:\n    *(undefined4 *)(puVar15 + 0x58) = uVar12;\n    *(undefined1 **)(puVar15 + -8) = puVar15 + 0x38;\n    *(undefined4 *)(puVar15 + -0xc) = *(undefined4 *)(puVar15 + 0xa8);\n    *(undefined4 *)(puVar15 + -0x10) = 7;\n    *(undefined1 **)(puVar15 + -0x14) = puVar15 + 0x40;\n    *(undefined1 **)(puVar15 + -0x18) = puVar15 + 0x3c;\n    *(undefined4 *)(puVar15 + -0x1c) = *(undefined4 *)(puVar15 + 0xa4);\n    *(undefined4 *)(puVar15 + -0x20) = *(undefined4 *)(puVar15 + 0xa0);\n    *(undefined4 *)(puVar15 + -0x24) = *(undefined4 *)(puVar15 + 0x9c);\n    *(undefined4 *)(puVar15 + -0x28) = *(undefined4 *)(puVar15 + 0x98);\n    *(undefined4 *)(puVar15 + -0x2c) = *(undefined4 *)(puVar15 + 0x94);\n    *(undefined1 **)(puVar15 + -0x30) = puVar15 + 0x28;\n    *(undefined **)(puVar15 + -0x34) = &UNK_00201f80;\n    FUN_00201020();\n    *(undefined4 *)(puVar15 + 0x94) = *(undefined4 *)(puVar15 + 0x24);\n    *(undefined4 *)(puVar15 + 0x98) = *(undefined4 *)(puVar15 + 0x28);\n    puVar16 = puVar15 + -4;\n    if (*(int *)(puVar15 + 0x34) == 0) {\n      *(undefined4 *)(*(int *)(puVar15 + 0xac) + 0x18) = *(undefined4 *)(puVar15 + 0x38);\n      puVar16 = puVar15 + -4;\n    }\n    break;\n  case 0x62:\n  case 0x68:\n    *(undefined1 **)(puVar15 + -0xc) = puVar15 + 0x40;\n    *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0x18);\n    *(undefined **)(puVar15 + -0x14) = &UNK_00202171;\n    FUN_001fb0c0();\ncode_r0x00201fd1:\n    *(undefined1 **)(puVar15 + -8) = puVar15 + 0x38;\n    *(undefined4 *)(puVar15 + -0xc) = *(undefined4 *)(puVar15 + 0xa8);\n    *(undefined4 *)(puVar15 + -0x10) = 0xc;\n    *(undefined1 **)(puVar15 + -0x14) = puVar15 + 0x40;\n    *(undefined1 **)(puVar15 + -0x18) = puVar15 + 0x3c;\n    *(undefined4 *)(puVar15 + -0x1c) = *(undefined4 *)(puVar15 + 0xa4);\n    *(undefined4 *)(puVar15 + -0x20) = *(undefined4 *)(puVar15 + 0xa0);\n    *(undefined4 *)(puVar15 + -0x24) = *(undefined4 *)(puVar15 + 0x9c);\n    *(undefined4 *)(puVar15 + -0x28) = *(undefined4 *)(puVar15 + 0x98);\n    *(undefined4 *)(puVar15 + -0x2c) = *(undefined4 *)(puVar15 + 0x94);\n    *(undefined1 **)(puVar15 + -0x30) = puVar15 + 0x28;\n    *(undefined **)(puVar15 + -0x34) = &UNK_00202015;\n    FUN_00201020();\n    *(undefined4 *)(puVar15 + 0x94) = *(undefined4 *)(puVar15 + 0x24);\n    *(undefined4 *)(puVar15 + 0x98) = *(undefined4 *)(puVar15 + 0x28);\n    puVar16 = puVar15 + -4;\n    if (*(int *)(puVar15 + 0x34) == 0) {\n      *(undefined4 *)(*(int *)(puVar15 + 0xac) + 0x10) = *(undefined4 *)(puVar15 + 0x38);\n      puVar16 = puVar15 + -4;\n    }\n    break;\n  case 99:\n    *(undefined4 *)(puVar15 + -0xc) = *(undefined4 *)(*(int *)(*(int *)(puVar15 + 0x18) + 8) + 0x18)\n    ;\n    goto code_r0x00201b30;\n  case 100:\n    *(undefined1 **)(puVar15 + -4) = puVar15 + 0x38;\n    *(undefined4 *)(puVar15 + -8) = *(undefined4 *)(puVar15 + 0xa8);\n    *(undefined4 *)(puVar15 + -0xc) = 2;\n    *(undefined4 *)(puVar15 + -0x10) = 0x1f;\n    *(undefined4 *)(puVar15 + -0x14) = 1;\n    goto code_r0x002021b6;\n  case 0x65:\n    *(undefined **)(puVar15 + -4) = &UNK_00202230;\n    uVar18 = FUN_001f91d0();\n    if ((*(byte *)(piVar10[6] + 1 + (uVar18 & 0xff) * 2) & 0x20) == 0) {\n      *(undefined1 **)(puVar15 + -4) = puVar15 + 0x38;\n      *(undefined4 *)(puVar15 + -8) = *(undefined4 *)(puVar15 + 0xa8);\n      *(undefined4 *)(puVar15 + -0xc) = 2;\n      *(undefined4 *)(puVar15 + -0x10) = 0x1f;\n      *(undefined4 *)(puVar15 + -0x14) = 10;\n    }\n    else {\n      *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0x98);\n      *(undefined **)(puVar15 + -0x14) = &UNK_00202250;\n      FUN_001f24d0();\n      *(undefined4 *)(puVar15 + 0x9c) = 0xffffffff;\n      *(undefined1 **)(puVar15 + -4) = puVar15 + 0x38;\n      *(undefined4 *)(puVar15 + -8) = *(undefined4 *)(puVar15 + 0xa8);\n      *(undefined4 *)(puVar15 + -0xc) = 1;\n      *(undefined4 *)(puVar15 + -0x10) = 9;\n      *(undefined4 *)(puVar15 + -0x14) = 1;\n    }\ncode_r0x002021b6:\n    *(undefined1 **)(puVar15 + -0x18) = puVar15 + 0x3c;\n    *(undefined4 *)(puVar15 + -0x1c) = *(undefined4 *)(puVar15 + 0xa4);\n    *(undefined4 *)(puVar15 + -0x20) = *(undefined4 *)(puVar15 + 0xa0);\n    *(undefined4 *)(puVar15 + -0x24) = *(undefined4 *)(puVar15 + 0x9c);\n    *(undefined4 *)(puVar15 + -0x28) = *(undefined4 *)(puVar15 + 0x98);\n    *(undefined4 *)(puVar15 + -0x2c) = *(undefined4 *)(puVar15 + 0x94);\n    *(undefined1 **)(puVar15 + -0x30) = puVar15 + 0x28;\n    *(undefined **)(puVar15 + -0x34) = &UNK_002021e4;\n    FUN_001fc0e0();\n    *(undefined4 *)(puVar15 + 0x94) = *(undefined4 *)(puVar15 + 0x24);\n    *(undefined4 *)(puVar15 + 0x98) = *(undefined4 *)(puVar15 + 0x28);\n    puVar16 = puVar15 + -4;\n    if (*(int *)(puVar15 + 0x34) == 0) {\n      *(undefined4 *)(*(int *)(puVar15 + 0xac) + 0xc) = *(undefined4 *)(puVar15 + 0x38);\n      puVar16 = puVar15 + -4;\n    }\n    break;\n  case 0x6d:\n    *(undefined1 **)(puVar15 + -4) = puVar15 + 0x38;\n    *(undefined4 *)(puVar15 + -8) = *(undefined4 *)(puVar15 + 0xa8);\n    *(undefined4 *)(puVar15 + -0xc) = 2;\n    *(undefined4 *)(puVar15 + -0x10) = 0xc;\n    *(undefined4 *)(puVar15 + -0x14) = 1;\n    *(undefined1 **)(puVar15 + -0x18) = puVar15 + 0x3c;\n    *(undefined4 *)(puVar15 + -0x1c) = *(undefined4 *)(puVar15 + 0xa4);\n    *(undefined4 *)(puVar15 + -0x20) = *(undefined4 *)(puVar15 + 0xa0);\n    *(undefined4 *)(puVar15 + -0x24) = *(undefined4 *)(puVar15 + 0x9c);\n    *(undefined4 *)(puVar15 + -0x28) = *(undefined4 *)(puVar15 + 0x98);\n    *(undefined4 *)(puVar15 + -0x2c) = *(undefined4 *)(puVar15 + 0x94);\n    *(undefined1 **)(puVar15 + -0x30) = puVar15 + 0x28;\n    *(undefined **)(puVar15 + -0x34) = &UNK_002022c4;\n    FUN_001fc0e0();\n    *(undefined4 *)(puVar15 + 0x94) = *(undefined4 *)(puVar15 + 0x24);\n    *(undefined4 *)(puVar15 + 0x98) = *(undefined4 *)(puVar15 + 0x28);\n    puVar16 = puVar15 + -4;\n    if (*(int *)(puVar15 + 0x34) == 0) {\n      *(int *)(*(int *)(puVar15 + 0xac) + 0x10) = *(int *)(puVar15 + 0x38) + -1;\n      puVar16 = puVar15 + -4;\n    }\n    break;\n  case 0x6e:\n    *(undefined **)(puVar15 + -4) = &UNK_00202310;\n    bVar9 = FUN_001f91d0();\n    bVar8 = *(byte *)((int)piVar10 + bVar9 + 0x11d);\n    if (bVar8 == 0) {\n      pcVar4 = *(code **)(*piVar10 + 0x20);\n      bVar8 = bVar9;\n      if (pcVar4 != (code *)PTR_FUN_0038ed98) {\n        *(undefined4 *)(puVar15 + -8) = 0;\n        *(int *)(puVar15 + -0xc) = (int)(char)bVar9;\n        *(int **)(puVar15 + -0x10) = piVar10;\n        *(undefined **)(puVar15 + -0x14) = &UNK_002023ab;\n        bVar8 = (*pcVar4)();\n      }\n      if (bVar8 == 0) goto LAB_00201ab8;\n      *(byte *)((int)piVar10 + bVar9 + 0x11d) = bVar8;\n    }\n    if (bVar8 != 10) goto LAB_00201ab8;\ncode_r0x00202346:\n    *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0x98);\n    *(undefined **)(puVar15 + -0x14) = &UNK_00202355;\n    FUN_001f24d0();\n    *(undefined4 *)(puVar15 + 0x9c) = 0xffffffff;\n    break;\n  case 0x74:\n    *(undefined **)(puVar15 + -4) = &UNK_00201a70;\n    bVar9 = FUN_001f91d0();\n    bVar8 = *(byte *)((int)piVar10 + bVar9 + 0x11d);\n    if (bVar8 == 0) {\n      pcVar4 = *(code **)(*piVar10 + 0x20);\n      bVar8 = bVar9;\n      if (pcVar4 != *(code **)(puVar15 + 0x1c)) {\n        *(undefined4 *)(puVar15 + -8) = 0;\n        *(int *)(puVar15 + -0xc) = (int)(char)bVar9;\n        *(int **)(puVar15 + -0x10) = piVar10;\n        *(undefined **)(puVar15 + -0x14) = &UNK_00201a98;\n        bVar8 = (*pcVar4)();\n      }\n      if (bVar8 == 0) goto LAB_00201ab8;\n      *(byte *)((int)piVar10 + bVar9 + 0x11d) = bVar8;\n    }\n    if (bVar8 == 9) goto code_r0x00202346;\n    goto LAB_00201ab8;\n  case 0x78:\n    *(undefined4 *)(puVar15 + -0xc) = *(undefined4 *)(*(int *)(*(int *)(puVar15 + 0x18) + 8) + 8);\ncode_r0x00201b30:\n    *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0xb0);\n    *(undefined1 **)(puVar15 + -0x14) = puVar15 + 0x38;\n    *(undefined4 *)(puVar15 + -0x18) = *(undefined4 *)(puVar15 + 0xa8);\n    *(undefined4 *)(puVar15 + -0x1c) = *(undefined4 *)(puVar15 + 0xa4);\n    *(undefined4 *)(puVar15 + -0x20) = *(undefined4 *)(puVar15 + 0xa0);\n    *(undefined4 *)(puVar15 + -0x24) = *(undefined4 *)(puVar15 + 0x9c);\n    *(undefined4 *)(puVar15 + -0x28) = *(undefined4 *)(puVar15 + 0x98);\n    *(undefined4 *)(puVar15 + -0x2c) = *(undefined4 *)(puVar15 + 0x94);\n    puVar17 = puVar15 + -0x30;\n    *(undefined1 **)(puVar15 + -0x30) = puVar15 + 0x28;\n    *(undefined **)(puVar15 + -0x34) = &UNK_00201b6c;\n    FUN_00201820();\ncode_r0x00201b6c:\n    *(undefined4 *)(puVar17 + 0xc4) = *(undefined4 *)(puVar17 + 0x54);\n    *(undefined4 *)(puVar17 + 200) = *(undefined4 *)(puVar17 + 0x58);\n    puVar16 = puVar17 + 0x2c;\n  }\ncode_r0x00201ac0:\n  uVar18 = *(int *)(puVar16 + 4) + 1;\n  puVar15 = puVar16;\n  goto LAB_0020189b;\nLAB_00201ab8:\n  *(uint *)(puVar15 + 0x38) = *(uint *)(puVar15 + 0x38) | 4;\n  goto code_r0x00201ac0;\n}" (type_identifier "undefined4") (pointer_declarator "* FUN_00201820(void)" (* "*") (function_declarator "FUN_00201820(void)" (identifier "FUN_00201820") (parameter_list "(void)" (( "(") (parameter_declaration "void" (primitive_type "void")) () ")")))) (compound_statement "{\n  int iVar1;\n  undefined1 *puVar2;\n  undefined1 *puVar3;\n  code *pcVar4;\n  undefined4 *puVar5;\n  char cVar6;\n  char cVar7;\n  byte bVar8;\n  byte bVar9;\n  int *piVar10;\n  char *pcVar11;\n  undefined4 uVar12;\n  int iVar13;\n  uint uVar14;\n  undefined1 *puVar15;\n  undefined1 *puVar16;\n  undefined1 *puVar17;\n  uint uVar18;\n  int in_stack_0000001c;\n  char *in_stack_00000028;\n  undefined1 auStack_8c [8];\n  undefined1 *local_84;\n  size_t local_80;\n  undefined1 *local_7c;\n  undefined4 local_74;\n  code *local_70;\n  undefined **local_68;\n  undefined4 local_54;\n  undefined4 uStack_14;\n  \n  uVar18 = 0;\n  uStack_14 = 0x20182b;\n  iVar1 = in_stack_0000001c + 0x6c;\n  local_74 = FUN_001fd780(iVar1);\n  piVar10 = (int *)FUN_001fbde0(iVar1);\n  local_80 = strlen(in_stack_00000028);\n  local_7c = &stack0x00000014;\n  local_84 = &stack0x0000000c;\n  local_54 = 0;\n  local_68 = &PTR_DAT_0038f400;\n  local_70 = FUN_001f81a0;\n  puVar15 = auStack_8c;\nLAB_0020189b:\n  *(undefined4 *)(puVar15 + -0xc) = *(undefined4 *)(puVar15 + 0x10);\n  *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 8);\n  *(undefined4 *)(puVar15 + -0x14) = 0x2018ab;\n  cVar6 = FUN_00200f70();\n  if ((cVar6 == '\x01') || (*(uint *)(puVar15 + 0xc) <= uVar18)) {\n    if ((*(int *)(puVar15 + 0x38) != 0) || (uVar18 != *(uint *)(puVar15 + 0xc))) {\nLAB_00201a0e:\n      **(uint **)(puVar15 + 0xac) = **(uint **)(puVar15 + 0xac) | 4;\n    }\n    puVar5 = *(undefined4 **)(puVar15 + 0x90);\n    uVar12 = *(undefined4 *)(puVar15 + 0x9c);\n    *puVar5 = *(undefined4 *)(puVar15 + 0x98);\n    puVar5[1] = uVar12;\n    return puVar5;\n  }\n  if (*(int *)(puVar15 + 0x38) != 0) goto LAB_00201a0e;\n  bVar8 = *(byte *)(*(int *)(puVar15 + 0xb4) + uVar18);\n  uVar14 = (uint)bVar8;\n  *(byte **)(puVar15 + 0x14) = (byte *)(*(int *)(puVar15 + 0xb4) + uVar18);\n  *(uint *)(puVar15 + 4) = uVar18 + 1;\n  bVar9 = *(byte *)((int)piVar10 + uVar14 + 0x11d);\n  if (bVar9 == 0) {\n    pcVar4 = *(code **)(*piVar10 + 0x20);\n    bVar9 = bVar8;\n    if (pcVar4 != (code *)PTR_FUN_0038ed98) {\n      *(uint *)(puVar15 + 0x20) = uVar14;\n      *(undefined4 *)(puVar15 + -8) = 0;\n      *(int *)(puVar15 + -0xc) = (int)(char)bVar8;\n      *(int **)(puVar15 + -0x10) = piVar10;\n      *(undefined4 *)(puVar15 + -0x14) = 0x201a50;\n      bVar9 = (*pcVar4)();\n      uVar14 = *(uint *)(puVar15 + 0x20);\n    }\n    if (bVar9 != 0) {\n      *(byte *)((int)piVar10 + uVar14 + 0x11d) = bVar9;\n      goto LAB_00201910;\n    }\nLAB_00201980:\n    cVar6 = **(char **)(puVar15 + 0x14);\n    *(undefined4 *)(puVar15 + -4) = 0x201997;\n    cVar7 = FUN_001f91d0();\n    if (cVar6 == cVar7) {\n      *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0x98);\n      *(undefined4 *)(puVar15 + -0x14) = 0x201adf;\n      FUN_001f24d0();\n      *(undefined4 *)(puVar15 + 0x9c) = 0xffffffff;\n      uVar18 = *(uint *)(puVar15 + 4);\n    }\n    else {\n      *(uint *)(puVar15 + 0x38) = *(uint *)(puVar15 + 0x38) | 4;\n      uVar18 = *(uint *)(puVar15 + 4);\n    }\n    goto LAB_0020189b;\n  }\nLAB_00201910:\n  if (bVar9 != 0x25) goto LAB_00201980;\n  bVar8 = *(byte *)(*(int *)(puVar15 + 0xb4) + 1 + uVar18);\n  bVar9 = *(byte *)((int)piVar10 + bVar8 + 0x11d);\n  puVar16 = puVar15;\n  if (bVar9 == 0) {\n    pcVar4 = *(code **)(*piVar10 + 0x20);\n    bVar9 = bVar8;\n    if (pcVar4 != (code *)PTR_FUN_0038ed98) {\n      *(undefined4 *)(puVar15 + -8) = 0;\n      *(int *)(puVar15 + -0xc) = (int)(char)bVar8;\n      *(int **)(puVar15 + -0x10) = piVar10;\n      *(undefined4 *)(puVar15 + -0x14) = 0x201b0c;\n      bVar9 = (*pcVar4)();\n    }\n    if (bVar9 != 0) {\n      *(byte *)((int)piVar10 + bVar8 + 0x11d) = bVar9;\n      goto LAB_00201951;\n    }\n    goto LAB_00201ab8;\n  }\nLAB_00201951:\n  *(undefined4 *)(puVar15 + 0x3c) = 0;\n  if ((bVar9 == 0x45) || (bVar9 == 0x4f)) {\n    *(uint *)(puVar15 + 4) = uVar18 + 2;\n    bVar8 = *(byte *)(*(int *)(puVar15 + 0xb4) + 2 + uVar18);\n    bVar9 = *(byte *)((int)piVar10 + bVar8 + 0x11d);\n    if (bVar9 == 0) {\n      pcVar4 = *(code **)(*piVar10 + 0x20);\n      bVar9 = bVar8;\n      if (pcVar4 != (code *)PTR_FUN_0038ed98) {\n        *(undefined4 *)(puVar15 + -8) = 0;\n        *(int *)(puVar15 + -0xc) = (int)(char)bVar8;\n        *(int **)(puVar15 + -0x10) = piVar10;\n        *(undefined4 *)(puVar15 + -0x14) = 0x20237c;\n        bVar9 = (*pcVar4)();\n      }\n      if (bVar9 == 0) goto LAB_00201ab8;\n      *(byte *)((int)piVar10 + bVar8 + 0x11d) = bVar9;\n    }\n  }\n  switch(bVar9) {\n  case 0x41:\n    iVar1 = *(int *)(*(int *)(puVar15 + 0x18) + 8);\n    *(undefined4 *)(puVar15 + 0x40) = *(undefined4 *)(iVar1 + 0x2c);\n    *(undefined4 *)(puVar15 + 0x44) = *(undefined4 *)(iVar1 + 0x30);\n    *(undefined4 *)(puVar15 + 0x48) = *(undefined4 *)(iVar1 + 0x34);\n    *(undefined4 *)(puVar15 + 0x4c) = *(undefined4 *)(iVar1 + 0x38);\n    *(undefined4 *)(puVar15 + 0x50) = *(undefined4 *)(iVar1 + 0x3c);\n    *(undefined4 *)(puVar15 + 0x54) = *(undefined4 *)(iVar1 + 0x40);\n    uVar12 = *(undefined4 *)(iVar1 + 0x44);\n    goto code_r0x00201f34;\n  case 0x42:\n    *(undefined1 **)(puVar15 + -0xc) = puVar15 + 0x40;\n    *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0x18);\n    *(undefined **)(puVar15 + -0x14) = &UNK_00201fd1;\n    FUN_001fb050();\n    goto code_r0x00201fd1;\n  case 0x43:\n  case 0x59:\n  case 0x79:\n    *(undefined1 **)(puVar15 + -4) = puVar15 + 0x38;\n    *(undefined4 *)(puVar15 + -8) = *(undefined4 *)(puVar15 + 0xa8);\n    *(undefined4 *)(puVar15 + -0xc) = 4;\n    *(undefined4 *)(puVar15 + -0x10) = 9999;\n    *(undefined4 *)(puVar15 + -0x14) = 0;\n    *(undefined1 **)(puVar15 + -0x18) = puVar15 + 0x3c;\n    *(undefined4 *)(puVar15 + -0x1c) = *(undefined4 *)(puVar15 + 0xa4);\n    *(undefined4 *)(puVar15 + -0x20) = *(undefined4 *)(puVar15 + 0xa0);\n    *(undefined4 *)(puVar15 + -0x24) = *(undefined4 *)(puVar15 + 0x9c);\n    *(undefined4 *)(puVar15 + -0x28) = *(undefined4 *)(puVar15 + 0x98);\n    *(undefined4 *)(puVar15 + -0x2c) = *(undefined4 *)(puVar15 + 0x94);\n    *(undefined1 **)(puVar15 + -0x30) = puVar15 + 0x28;\n    *(undefined **)(puVar15 + -0x34) = &UNK_00202097;\n    FUN_001fc0e0();\n    *(undefined4 *)(puVar15 + 0x94) = *(undefined4 *)(puVar15 + 0x24);\n    *(undefined4 *)(puVar15 + 0x98) = *(undefined4 *)(puVar15 + 0x28);\n    puVar16 = puVar15 + -4;\n    if (*(int *)(puVar15 + 0x34) == 0) {\n      iVar1 = *(int *)(puVar15 + 0x38);\n      iVar13 = iVar1 + -0x76c;\n      if (iVar1 < 0) {\n        iVar13 = iVar1 + 100;\n      }\n      *(int *)(*(int *)(puVar15 + 0xac) + 0x14) = iVar13;\n      puVar16 = puVar15 + -4;\n    }\n    break;\n  case 0x44:\n    *(undefined1 **)(puVar15 + -4) = puVar15 + 0x40;\n    *(undefined **)(puVar15 + -8) = &UNK_002a3ee7;\n    pcVar11 = "%m/%d/%y";\n    goto code_r0x00201ca2;\n  default:\n    goto LAB_00201ab8;\n  case 0x48:\n    *(undefined1 **)(puVar15 + -4) = puVar15 + 0x38;\n    *(undefined4 *)(puVar15 + -8) = *(undefined4 *)(puVar15 + 0xa8);\n    *(undefined4 *)(puVar15 + -0xc) = 2;\n    *(undefined4 *)(puVar15 + -0x10) = 0x17;\n    *(undefined4 *)(puVar15 + -0x14) = 0;\n    goto code_r0x00201ba6;\n  case 0x49:\n    *(undefined1 **)(puVar15 + -4) = puVar15 + 0x38;\n    *(undefined4 *)(puVar15 + -8) = *(undefined4 *)(puVar15 + 0xa8);\n    *(undefined4 *)(puVar15 + -0xc) = 2;\n    *(undefined4 *)(puVar15 + -0x10) = 0xc;\n    *(undefined4 *)(puVar15 + -0x14) = 1;\ncode_r0x00201ba6:\n    *(undefined1 **)(puVar15 + -0x18) = puVar15 + 0x3c;\n    *(undefined4 *)(puVar15 + -0x1c) = *(undefined4 *)(puVar15 + 0xa4);\n    *(undefined4 *)(puVar15 + -0x20) = *(undefined4 *)(puVar15 + 0xa0);\n    *(undefined4 *)(puVar15 + -0x24) = *(undefined4 *)(puVar15 + 0x9c);\n    *(undefined4 *)(puVar15 + -0x28) = *(undefined4 *)(puVar15 + 0x98);\n    *(undefined4 *)(puVar15 + -0x2c) = *(undefined4 *)(puVar15 + 0x94);\n    *(undefined1 **)(puVar15 + -0x30) = puVar15 + 0x28;\n    *(undefined **)(puVar15 + -0x34) = &UNK_00201bd4;\n    FUN_001fc0e0();\n    *(undefined4 *)(puVar15 + 0x94) = *(undefined4 *)(puVar15 + 0x24);\n    *(undefined4 *)(puVar15 + 0x98) = *(undefined4 *)(puVar15 + 0x28);\n    puVar16 = puVar15 + -4;\n    if (*(int *)(puVar15 + 0x34) == 0) {\n      *(undefined4 *)(*(int *)(puVar15 + 0xac) + 8) = *(undefined4 *)(puVar15 + 0x38);\n      puVar16 = puVar15 + -4;\n    }\n    break;\n  case 0x4d:\n    *(undefined1 **)(puVar15 + -4) = puVar15 + 0x38;\n    *(undefined4 *)(puVar15 + -8) = *(undefined4 *)(puVar15 + 0xa8);\n    *(undefined4 *)(puVar15 + -0xc) = 2;\n    *(undefined4 *)(puVar15 + -0x10) = 0x3b;\n    *(undefined4 *)(puVar15 + -0x14) = 0;\n    *(undefined1 **)(puVar15 + -0x18) = puVar15 + 0x3c;\n    *(undefined4 *)(puVar15 + -0x1c) = *(undefined4 *)(puVar15 + 0xa4);\n    *(undefined4 *)(puVar15 + -0x20) = *(undefined4 *)(puVar15 + 0xa0);\n    *(undefined4 *)(puVar15 + -0x24) = *(undefined4 *)(puVar15 + 0x9c);\n    *(undefined4 *)(puVar15 + -0x28) = *(undefined4 *)(puVar15 + 0x98);\n    *(undefined4 *)(puVar15 + -0x2c) = *(undefined4 *)(puVar15 + 0x94);\n    *(undefined1 **)(puVar15 + -0x30) = puVar15 + 0x28;\n    *(undefined **)(puVar15 + -0x34) = &UNK_00201c54;\n    FUN_001fc0e0();\n    *(undefined4 *)(puVar15 + 0x94) = *(undefined4 *)(puVar15 + 0x24);\n    *(undefined4 *)(puVar15 + 0x98) = *(undefined4 *)(puVar15 + 0x28);\n    puVar16 = puVar15 + -4;\n    if (*(int *)(puVar15 + 0x34) == 0) {\n      *(undefined4 *)(*(int *)(puVar15 + 0xac) + 4) = *(undefined4 *)(puVar15 + 0x38);\n      puVar16 = puVar15 + -4;\n    }\n    break;\n  case 0x52:\n    *(undefined1 **)(puVar15 + -4) = puVar15 + 0x40;\n    *(char **)(puVar15 + -8) = "%H:%M:%S";\n    pcVar11 = "%H:%M";\n    goto code_r0x00201ca2;\n  case 0x53:\n    *(undefined1 **)(puVar15 + -4) = puVar15 + 0x38;\n    *(undefined4 *)(puVar15 + -8) = *(undefined4 *)(puVar15 + 0xa8);\n    *(undefined4 *)(puVar15 + -0xc) = 2;\n    *(undefined4 *)(puVar15 + -0x10) = 0x3c;\n    *(undefined4 *)(puVar15 + -0x14) = 0;\n    *(undefined1 **)(puVar15 + -0x18) = puVar15 + 0x3c;\n    *(undefined4 *)(puVar15 + -0x1c) = *(undefined4 *)(puVar15 + 0xa4);\n    *(undefined4 *)(puVar15 + -0x20) = *(undefined4 *)(puVar15 + 0xa0);\n    *(undefined4 *)(puVar15 + -0x24) = *(undefined4 *)(puVar15 + 0x9c);\n    *(undefined4 *)(puVar15 + -0x28) = *(undefined4 *)(puVar15 + 0x98);\n    *(undefined4 *)(puVar15 + -0x2c) = *(undefined4 *)(puVar15 + 0x94);\n    *(undefined1 **)(puVar15 + -0x30) = puVar15 + 0x28;\n    *(undefined **)(puVar15 + -0x34) = &UNK_00201cfc;\n    FUN_001fc0e0();\n    *(undefined4 *)(puVar15 + 0x94) = *(undefined4 *)(puVar15 + 0x24);\n    *(undefined4 *)(puVar15 + 0x98) = *(undefined4 *)(puVar15 + 0x28);\n    puVar16 = puVar15 + -4;\n    if (*(int *)(puVar15 + 0x34) == 0) {\n      **(undefined4 **)(puVar15 + 0xac) = *(undefined4 *)(puVar15 + 0x38);\n      puVar16 = puVar15 + -4;\n    }\n    break;\n  case 0x54:\n    *(undefined1 **)(puVar15 + -4) = puVar15 + 0x40;\n    *(undefined **)(puVar15 + -8) = &UNK_002a3ef6;\n    pcVar11 = "%H:%M:%S";\ncode_r0x00201ca2:\n    *(char **)(puVar15 + -0xc) = pcVar11;\n    *(int **)(puVar15 + -0x10) = piVar10;\n    *(undefined **)(puVar15 + -0x14) = &UNK_00201ca9;\n    FUN_001f94d0();\n    *(undefined1 **)(puVar15 + -0xc) = puVar15 + 0x40;\n    goto code_r0x00201b30;\n  case 0x58:\n    *(undefined4 *)(puVar15 + -0xc) = *(undefined4 *)(*(int *)(*(int *)(puVar15 + 0x18) + 8) + 0x10)\n    ;\n    goto code_r0x00201b30;\n  case 0x5a:\n    *(undefined **)(puVar15 + -4) = &UNK_00201d80;\n    uVar18 = FUN_001f91d0();\n    if ((*(byte *)(piVar10[6] + 1 + (uVar18 & 0xff) * 2) & 1) == 0) goto LAB_00201ab8;\n    *(undefined1 **)(puVar15 + 0x14) = puVar15 + 0x28;\n    puVar2 = puVar15 + 0x38;\n    *(undefined1 **)(puVar15 + -8) = puVar2;\n    *(undefined4 *)(puVar15 + -0xc) = *(undefined4 *)(puVar15 + 0xa8);\n    *(undefined4 *)(puVar15 + -0x10) = 0xe;\n    *(undefined4 *)(puVar15 + -0x14) = *(undefined4 *)(puVar15 + 0x24);\n    puVar3 = puVar15 + 0x40;\n    *(undefined1 **)(puVar15 + -0x18) = puVar3;\n    *(undefined4 *)(puVar15 + -0x1c) = *(undefined4 *)(puVar15 + 0xa4);\n    *(undefined4 *)(puVar15 + -0x20) = *(undefined4 *)(puVar15 + 0xa0);\n    *(undefined4 *)(puVar15 + -0x24) = *(undefined4 *)(puVar15 + 0x9c);\n    *(undefined4 *)(puVar15 + -0x28) = *(undefined4 *)(puVar15 + 0x98);\n    *(undefined4 *)(puVar15 + -0x2c) = *(undefined4 *)(puVar15 + 0x94);\n    *(undefined1 **)(puVar15 + -0x30) = puVar15 + 0x28;\n    *(undefined **)(puVar15 + -0x34) = &UNK_00201ddc;\n    FUN_00201020();\n    *(undefined4 *)(puVar15 + 0x94) = *(undefined4 *)(puVar15 + 0x24);\n    *(undefined4 *)(puVar15 + 0x98) = *(undefined4 *)(puVar15 + 0x28);\n    *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0xc);\n    *(undefined4 *)(puVar15 + -0x14) = *(undefined4 *)(puVar15 + 4);\n    *(undefined **)(puVar15 + -0x18) = &UNK_00201e02;\n    cVar6 = FUN_00200f70();\n    puVar16 = puVar15 + -4;\n    if ((cVar6 != '\0') ||\n       (puVar16 = puVar15 + -4, *(int *)(puVar15 + 0x34) != 0 || *(int *)(puVar15 + 0x3c) != 0))\n    break;\n    *(undefined **)(puVar15 + -8) = &UNK_00201e2b;\n    uVar12 = FUN_001f91d0();\n    iVar1 = piVar10[7];\n    *(undefined4 *)(puVar15 + 0x1c) = uVar12;\n    if ((char)iVar1 == '\0') {\n      *(undefined **)(puVar15 + -8) = &UNK_002023c1;\n      cVar6 = FUN_001f9220();\n    }\n    else {\n      cVar6 = *(char *)((int)piVar10 + 0x4a);\n    }\n    if (puVar15[0x1c] != cVar6) {\n      *(undefined **)(puVar15 + -8) = &UNK_00201e53;\n      uVar12 = FUN_001f91d0();\n      iVar1 = piVar10[7];\n      *(undefined4 *)(puVar15 + 0x1c) = uVar12;\n      if ((char)iVar1 == '\0') {\n        *(undefined **)(puVar15 + -8) = &UNK_002023d2;\n        cVar6 = FUN_001f9220();\n      }\n      else {\n        cVar6 = (char)piVar10[0x12];\n      }\n      puVar16 = puVar15 + -4;\n      if (puVar15[0x1c] != cVar6) break;\n    }\n    *(undefined1 **)(puVar15 + -8) = puVar2;\n    *(undefined4 *)(puVar15 + -0xc) = *(undefined4 *)(puVar15 + 0xa4);\n    *(undefined4 *)(puVar15 + -0x10) = 2;\n    *(undefined4 *)(puVar15 + -0x14) = 0x17;\n    *(undefined4 *)(puVar15 + -0x18) = 0;\n    *(undefined1 **)(puVar15 + -0x1c) = puVar3;\n    *(undefined4 *)(puVar15 + -0x20) = *(undefined4 *)(puVar15 + 0xa0);\n    *(undefined4 *)(puVar15 + -0x24) = *(undefined4 *)(puVar15 + 0x9c);\n    *(undefined4 *)(puVar15 + -0x28) = *(undefined4 *)(puVar15 + 0x98);\n    *(undefined4 *)(puVar15 + -0x2c) = *(undefined4 *)(puVar15 + 0x94);\n    *(undefined4 *)(puVar15 + -0x30) = *(undefined4 *)(puVar15 + 0x90);\n    *(undefined4 *)(puVar15 + -0x34) = *(undefined4 *)(puVar15 + 0x10);\n    *(undefined **)(puVar15 + -0x38) = &UNK_00201eaa;\n    FUN_001fc0e0();\n    *(undefined4 *)(puVar15 + 0x90) = *(undefined4 *)(puVar15 + 0x20);\n    *(undefined4 *)(puVar15 + 0x94) = *(undefined4 *)(puVar15 + 0x24);\n    *(undefined1 **)(puVar15 + -0xc) = puVar2;\n    *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0xa0);\n    *(undefined4 *)(puVar15 + -0x14) = 2;\n    *(undefined4 *)(puVar15 + -0x18) = 0x3b;\n    *(undefined4 *)(puVar15 + -0x1c) = 0;\n    *(undefined1 **)(puVar15 + -0x20) = puVar3;\n    *(undefined4 *)(puVar15 + -0x24) = *(undefined4 *)(puVar15 + 0x9c);\n    *(undefined4 *)(puVar15 + -0x28) = *(undefined4 *)(puVar15 + 0x98);\n    *(undefined4 *)(puVar15 + -0x2c) = *(undefined4 *)(puVar15 + 0x24);\n    *(undefined4 *)(puVar15 + -0x30) = *(undefined4 *)(puVar15 + 0x20);\n    *(undefined4 *)(puVar15 + -0x34) = *(undefined4 *)(puVar15 + 0x8c);\n    puVar17 = puVar15 + -0x38;\n    *(undefined4 *)(puVar15 + -0x38) = *(undefined4 *)(puVar15 + 0xc);\n    *(undefined **)(puVar15 + -0x3c) = &UNK_00201ef2;\n    FUN_001fc0e0();\n    goto code_r0x00201b6c;\n  case 0x61:\n    iVar1 = *(int *)(*(int *)(puVar15 + 0x18) + 8);\n    *(undefined4 *)(puVar15 + 0x40) = *(undefined4 *)(iVar1 + 0x48);\n    *(undefined4 *)(puVar15 + 0x44) = *(undefined4 *)(iVar1 + 0x4c);\n    *(undefined4 *)(puVar15 + 0x48) = *(undefined4 *)(iVar1 + 0x50);\n    *(undefined4 *)(puVar15 + 0x4c) = *(undefined4 *)(iVar1 + 0x54);\n    *(undefined4 *)(puVar15 + 0x50) = *(undefined4 *)(iVar1 + 0x58);\n    *(undefined4 *)(puVar15 + 0x54) = *(undefined4 *)(iVar1 + 0x5c);\n    uVar12 = *(undefined4 *)(iVar1 + 0x60);\ncode_r0x00201f34:\n    *(undefined4 *)(puVar15 + 0x58) = uVar12;\n    *(undefined1 **)(puVar15 + -8) = puVar15 + 0x38;\n    *(undefined4 *)(puVar15 + -0xc) = *(undefined4 *)(puVar15 + 0xa8);\n    *(undefined4 *)(puVar15 + -0x10) = 7;\n    *(undefined1 **)(puVar15 + -0x14) = puVar15 + 0x40;\n    *(undefined1 **)(puVar15 + -0x18) = puVar15 + 0x3c;\n    *(undefined4 *)(puVar15 + -0x1c) = *(undefined4 *)(puVar15 + 0xa4);\n    *(undefined4 *)(puVar15 + -0x20) = *(undefined4 *)(puVar15 + 0xa0);\n    *(undefined4 *)(puVar15 + -0x24) = *(undefined4 *)(puVar15 + 0x9c);\n    *(undefined4 *)(puVar15 + -0x28) = *(undefined4 *)(puVar15 + 0x98);\n    *(undefined4 *)(puVar15 + -0x2c) = *(undefined4 *)(puVar15 + 0x94);\n    *(undefined1 **)(puVar15 + -0x30) = puVar15 + 0x28;\n    *(undefined **)(puVar15 + -0x34) = &UNK_00201f80;\n    FUN_00201020();\n    *(undefined4 *)(puVar15 + 0x94) = *(undefined4 *)(puVar15 + 0x24);\n    *(undefined4 *)(puVar15 + 0x98) = *(undefined4 *)(puVar15 + 0x28);\n    puVar16 = puVar15 + -4;\n    if (*(int *)(puVar15 + 0x34) == 0) {\n      *(undefined4 *)(*(int *)(puVar15 + 0xac) + 0x18) = *(undefined4 *)(puVar15 + 0x38);\n      puVar16 = puVar15 + -4;\n    }\n    break;\n  case 0x62:\n  case 0x68:\n    *(undefined1 **)(puVar15 + -0xc) = puVar15 + 0x40;\n    *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0x18);\n    *(undefined **)(puVar15 + -0x14) = &UNK_00202171;\n    FUN_001fb0c0();\ncode_r0x00201fd1:\n    *(undefined1 **)(puVar15 + -8) = puVar15 + 0x38;\n    *(undefined4 *)(puVar15 + -0xc) = *(undefined4 *)(puVar15 + 0xa8);\n    *(undefined4 *)(puVar15 + -0x10) = 0xc;\n    *(undefined1 **)(puVar15 + -0x14) = puVar15 + 0x40;\n    *(undefined1 **)(puVar15 + -0x18) = puVar15 + 0x3c;\n    *(undefined4 *)(puVar15 + -0x1c) = *(undefined4 *)(puVar15 + 0xa4);\n    *(undefined4 *)(puVar15 + -0x20) = *(undefined4 *)(puVar15 + 0xa0);\n    *(undefined4 *)(puVar15 + -0x24) = *(undefined4 *)(puVar15 + 0x9c);\n    *(undefined4 *)(puVar15 + -0x28) = *(undefined4 *)(puVar15 + 0x98);\n    *(undefined4 *)(puVar15 + -0x2c) = *(undefined4 *)(puVar15 + 0x94);\n    *(undefined1 **)(puVar15 + -0x30) = puVar15 + 0x28;\n    *(undefined **)(puVar15 + -0x34) = &UNK_00202015;\n    FUN_00201020();\n    *(undefined4 *)(puVar15 + 0x94) = *(undefined4 *)(puVar15 + 0x24);\n    *(undefined4 *)(puVar15 + 0x98) = *(undefined4 *)(puVar15 + 0x28);\n    puVar16 = puVar15 + -4;\n    if (*(int *)(puVar15 + 0x34) == 0) {\n      *(undefined4 *)(*(int *)(puVar15 + 0xac) + 0x10) = *(undefined4 *)(puVar15 + 0x38);\n      puVar16 = puVar15 + -4;\n    }\n    break;\n  case 99:\n    *(undefined4 *)(puVar15 + -0xc) = *(undefined4 *)(*(int *)(*(int *)(puVar15 + 0x18) + 8) + 0x18)\n    ;\n    goto code_r0x00201b30;\n  case 100:\n    *(undefined1 **)(puVar15 + -4) = puVar15 + 0x38;\n    *(undefined4 *)(puVar15 + -8) = *(undefined4 *)(puVar15 + 0xa8);\n    *(undefined4 *)(puVar15 + -0xc) = 2;\n    *(undefined4 *)(puVar15 + -0x10) = 0x1f;\n    *(undefined4 *)(puVar15 + -0x14) = 1;\n    goto code_r0x002021b6;\n  case 0x65:\n    *(undefined **)(puVar15 + -4) = &UNK_00202230;\n    uVar18 = FUN_001f91d0();\n    if ((*(byte *)(piVar10[6] + 1 + (uVar18 & 0xff) * 2) & 0x20) == 0) {\n      *(undefined1 **)(puVar15 + -4) = puVar15 + 0x38;\n      *(undefined4 *)(puVar15 + -8) = *(undefined4 *)(puVar15 + 0xa8);\n      *(undefined4 *)(puVar15 + -0xc) = 2;\n      *(undefined4 *)(puVar15 + -0x10) = 0x1f;\n      *(undefined4 *)(puVar15 + -0x14) = 10;\n    }\n    else {\n      *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0x98);\n      *(undefined **)(puVar15 + -0x14) = &UNK_00202250;\n      FUN_001f24d0();\n      *(undefined4 *)(puVar15 + 0x9c) = 0xffffffff;\n      *(undefined1 **)(puVar15 + -4) = puVar15 + 0x38;\n      *(undefined4 *)(puVar15 + -8) = *(undefined4 *)(puVar15 + 0xa8);\n      *(undefined4 *)(puVar15 + -0xc) = 1;\n      *(undefined4 *)(puVar15 + -0x10) = 9;\n      *(undefined4 *)(puVar15 + -0x14) = 1;\n    }\ncode_r0x002021b6:\n    *(undefined1 **)(puVar15 + -0x18) = puVar15 + 0x3c;\n    *(undefined4 *)(puVar15 + -0x1c) = *(undefined4 *)(puVar15 + 0xa4);\n    *(undefined4 *)(puVar15 + -0x20) = *(undefined4 *)(puVar15 + 0xa0);\n    *(undefined4 *)(puVar15 + -0x24) = *(undefined4 *)(puVar15 + 0x9c);\n    *(undefined4 *)(puVar15 + -0x28) = *(undefined4 *)(puVar15 + 0x98);\n    *(undefined4 *)(puVar15 + -0x2c) = *(undefined4 *)(puVar15 + 0x94);\n    *(undefined1 **)(puVar15 + -0x30) = puVar15 + 0x28;\n    *(undefined **)(puVar15 + -0x34) = &UNK_002021e4;\n    FUN_001fc0e0();\n    *(undefined4 *)(puVar15 + 0x94) = *(undefined4 *)(puVar15 + 0x24);\n    *(undefined4 *)(puVar15 + 0x98) = *(undefined4 *)(puVar15 + 0x28);\n    puVar16 = puVar15 + -4;\n    if (*(int *)(puVar15 + 0x34) == 0) {\n      *(undefined4 *)(*(int *)(puVar15 + 0xac) + 0xc) = *(undefined4 *)(puVar15 + 0x38);\n      puVar16 = puVar15 + -4;\n    }\n    break;\n  case 0x6d:\n    *(undefined1 **)(puVar15 + -4) = puVar15 + 0x38;\n    *(undefined4 *)(puVar15 + -8) = *(undefined4 *)(puVar15 + 0xa8);\n    *(undefined4 *)(puVar15 + -0xc) = 2;\n    *(undefined4 *)(puVar15 + -0x10) = 0xc;\n    *(undefined4 *)(puVar15 + -0x14) = 1;\n    *(undefined1 **)(puVar15 + -0x18) = puVar15 + 0x3c;\n    *(undefined4 *)(puVar15 + -0x1c) = *(undefined4 *)(puVar15 + 0xa4);\n    *(undefined4 *)(puVar15 + -0x20) = *(undefined4 *)(puVar15 + 0xa0);\n    *(undefined4 *)(puVar15 + -0x24) = *(undefined4 *)(puVar15 + 0x9c);\n    *(undefined4 *)(puVar15 + -0x28) = *(undefined4 *)(puVar15 + 0x98);\n    *(undefined4 *)(puVar15 + -0x2c) = *(undefined4 *)(puVar15 + 0x94);\n    *(undefined1 **)(puVar15 + -0x30) = puVar15 + 0x28;\n    *(undefined **)(puVar15 + -0x34) = &UNK_002022c4;\n    FUN_001fc0e0();\n    *(undefined4 *)(puVar15 + 0x94) = *(undefined4 *)(puVar15 + 0x24);\n    *(undefined4 *)(puVar15 + 0x98) = *(undefined4 *)(puVar15 + 0x28);\n    puVar16 = puVar15 + -4;\n    if (*(int *)(puVar15 + 0x34) == 0) {\n      *(int *)(*(int *)(puVar15 + 0xac) + 0x10) = *(int *)(puVar15 + 0x38) + -1;\n      puVar16 = puVar15 + -4;\n    }\n    break;\n  case 0x6e:\n    *(undefined **)(puVar15 + -4) = &UNK_00202310;\n    bVar9 = FUN_001f91d0();\n    bVar8 = *(byte *)((int)piVar10 + bVar9 + 0x11d);\n    if (bVar8 == 0) {\n      pcVar4 = *(code **)(*piVar10 + 0x20);\n      bVar8 = bVar9;\n      if (pcVar4 != (code *)PTR_FUN_0038ed98) {\n        *(undefined4 *)(puVar15 + -8) = 0;\n        *(int *)(puVar15 + -0xc) = (int)(char)bVar9;\n        *(int **)(puVar15 + -0x10) = piVar10;\n        *(undefined **)(puVar15 + -0x14) = &UNK_002023ab;\n        bVar8 = (*pcVar4)();\n      }\n      if (bVar8 == 0) goto LAB_00201ab8;\n      *(byte *)((int)piVar10 + bVar9 + 0x11d) = bVar8;\n    }\n    if (bVar8 != 10) goto LAB_00201ab8;\ncode_r0x00202346:\n    *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0x98);\n    *(undefined **)(puVar15 + -0x14) = &UNK_00202355;\n    FUN_001f24d0();\n    *(undefined4 *)(puVar15 + 0x9c) = 0xffffffff;\n    break;\n  case 0x74:\n    *(undefined **)(puVar15 + -4) = &UNK_00201a70;\n    bVar9 = FUN_001f91d0();\n    bVar8 = *(byte *)((int)piVar10 + bVar9 + 0x11d);\n    if (bVar8 == 0) {\n      pcVar4 = *(code **)(*piVar10 + 0x20);\n      bVar8 = bVar9;\n      if (pcVar4 != *(code **)(puVar15 + 0x1c)) {\n        *(undefined4 *)(puVar15 + -8) = 0;\n        *(int *)(puVar15 + -0xc) = (int)(char)bVar9;\n        *(int **)(puVar15 + -0x10) = piVar10;\n        *(undefined **)(puVar15 + -0x14) = &UNK_00201a98;\n        bVar8 = (*pcVar4)();\n      }\n      if (bVar8 == 0) goto LAB_00201ab8;\n      *(byte *)((int)piVar10 + bVar9 + 0x11d) = bVar8;\n    }\n    if (bVar8 == 9) goto code_r0x00202346;\n    goto LAB_00201ab8;\n  case 0x78:\n    *(undefined4 *)(puVar15 + -0xc) = *(undefined4 *)(*(int *)(*(int *)(puVar15 + 0x18) + 8) + 8);\ncode_r0x00201b30:\n    *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0xb0);\n    *(undefined1 **)(puVar15 + -0x14) = puVar15 + 0x38;\n    *(undefined4 *)(puVar15 + -0x18) = *(undefined4 *)(puVar15 + 0xa8);\n    *(undefined4 *)(puVar15 + -0x1c) = *(undefined4 *)(puVar15 + 0xa4);\n    *(undefined4 *)(puVar15 + -0x20) = *(undefined4 *)(puVar15 + 0xa0);\n    *(undefined4 *)(puVar15 + -0x24) = *(undefined4 *)(puVar15 + 0x9c);\n    *(undefined4 *)(puVar15 + -0x28) = *(undefined4 *)(puVar15 + 0x98);\n    *(undefined4 *)(puVar15 + -0x2c) = *(undefined4 *)(puVar15 + 0x94);\n    puVar17 = puVar15 + -0x30;\n    *(undefined1 **)(puVar15 + -0x30) = puVar15 + 0x28;\n    *(undefined **)(puVar15 + -0x34) = &UNK_00201b6c;\n    FUN_00201820();\ncode_r0x00201b6c:\n    *(undefined4 *)(puVar17 + 0xc4) = *(undefined4 *)(puVar17 + 0x54);\n    *(undefined4 *)(puVar17 + 200) = *(undefined4 *)(puVar17 + 0x58);\n    puVar16 = puVar17 + 0x2c;\n  }\ncode_r0x00201ac0:\n  uVar18 = *(int *)(puVar16 + 4) + 1;\n  puVar15 = puVar16;\n  goto LAB_0020189b;\nLAB_00201ab8:\n  *(uint *)(puVar15 + 0x38) = *(uint *)(puVar15 + 0x38) | 4;\n  goto code_r0x00201ac0;\n}" ({ "{") (declaration "int iVar1;" (primitive_type "int") (identifier "iVar1") (; ";")) (declaration "undefined1 *puVar2;" (type_identifier "undefined1") (pointer_declarator "*puVar2" (* "*") (identifier "puVar2")) (; ";")) (declaration "undefined1 *puVar3;" (type_identifier "undefined1") (pointer_declarator "*puVar3" (* "*") (identifier "puVar3")) (; ";")) (declaration "code *pcVar4;" (type_identifier "code") (pointer_declarator "*pcVar4" (* "*") (identifier "pcVar4")) (; ";")) (declaration "undefined4 *puVar5;" (type_identifier "undefined4") (pointer_declarator "*puVar5" (* "*") (identifier "puVar5")) (; ";")) (declaration "char cVar6;" (primitive_type "char") (identifier "cVar6") (; ";")) (declaration "char cVar7;" (primitive_type "char") (identifier "cVar7") (; ";")) (declaration "byte bVar8;" (type_identifier "byte") (identifier "bVar8") (; ";")) (declaration "byte bVar9;" (type_identifier "byte") (identifier "bVar9") (; ";")) (declaration "int *piVar10;" (primitive_type "int") (pointer_declarator "*piVar10" (* "*") (identifier "piVar10")) (; ";")) (declaration "char *pcVar11;" (primitive_type "char") (pointer_declarator "*pcVar11" (* "*") (identifier "pcVar11")) (; ";")) (declaration "undefined4 uVar12;" (type_identifier "undefined4") (identifier "uVar12") (; ";")) (declaration "int iVar13;" (primitive_type "int") (identifier "iVar13") (; ";")) (declaration "uint uVar14;" (type_identifier "uint") (identifier "uVar14") (; ";")) (declaration "undefined1 *puVar15;" (type_identifier "undefined1") (pointer_declarator "*puVar15" (* "*") (identifier "puVar15")) (; ";")) (declaration "undefined1 *puVar16;" (type_identifier "undefined1") (pointer_declarator "*puVar16" (* "*") (identifier "puVar16")) (; ";")) (declaration "undefined1 *puVar17;" (type_identifier "undefined1") (pointer_declarator "*puVar17" (* "*") (identifier "puVar17")) (; ";")) (declaration "uint uVar18;" (type_identifier "uint") (identifier "uVar18") (; ";")) (declaration "int in_stack_0000001c;" (primitive_type "int") (identifier "in_stack_0000001c") (; ";")) (declaration "char *in_stack_00000028;" (primitive_type "char") (pointer_declarator "*in_stack_00000028" (* "*") (identifier "in_stack_00000028")) (; ";")) (declaration "undefined1 auStack_8c [8];" (type_identifier "undefined1") (array_declarator "auStack_8c [8]" (identifier "auStack_8c") ([ "[") (number_literal "8") (] "]")) (; ";")) (declaration "undefined1 *local_84;" (type_identifier "undefined1") (pointer_declarator "*local_84" (* "*") (identifier "local_84")) (; ";")) (declaration "size_t local_80;" (primitive_type "size_t") (identifier "local_80") (; ";")) (declaration "undefined1 *local_7c;" (type_identifier "undefined1") (pointer_declarator "*local_7c" (* "*") (identifier "local_7c")) (; ";")) (declaration "undefined4 local_74;" (type_identifier "undefined4") (identifier "local_74") (; ";")) (declaration "code *local_70;" (type_identifier "code") (pointer_declarator "*local_70" (* "*") (identifier "local_70")) (; ";")) (declaration "undefined **local_68;" (type_identifier "undefined") (pointer_declarator "**local_68" (* "*") (pointer_declarator "*local_68" (* "*") (identifier "local_68"))) (; ";")) (declaration "undefined4 local_54;" (type_identifier "undefined4") (identifier "local_54") (; ";")) (declaration "undefined4 uStack_14;" (type_identifier "undefined4") (identifier "uStack_14") (; ";")) (expression_statement "uVar18 = 0;" (assignment_expression "uVar18 = 0" (identifier "uVar18") (= "=") (number_literal "0")) (; ";")) (expression_statement "uStack_14 = 0x20182b;" (assignment_expression "uStack_14 = 0x20182b" (identifier "uStack_14") (= "=") (number_literal "0x20182b")) (; ";")) (expression_statement "iVar1 = in_stack_0000001c + 0x6c;" (assignment_expression "iVar1 = in_stack_0000001c + 0x6c" (identifier "iVar1") (= "=") (binary_expression "in_stack_0000001c + 0x6c" (identifier "in_stack_0000001c") (+ "+") (number_literal "0x6c"))) (; ";")) (expression_statement "local_74 = FUN_001fd780(iVar1);" (assignment_expression "local_74 = FUN_001fd780(iVar1)" (identifier "local_74") (= "=") (call_expression "FUN_001fd780(iVar1)" (identifier "FUN_001fd780") (argument_list "(iVar1)" (( "(") (identifier "iVar1") () ")")))) (; ";")) (expression_statement "piVar10 = (int *)FUN_001fbde0(iVar1);" (assignment_expression "piVar10 = (int *)FUN_001fbde0(iVar1)" (identifier "piVar10") (= "=") (cast_expression "(int *)FUN_001fbde0(iVar1)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_001fbde0(iVar1)" (identifier "FUN_001fbde0") (argument_list "(iVar1)" (( "(") (identifier "iVar1") () ")"))))) (; ";")) (expression_statement "local_80 = strlen(in_stack_00000028);" (assignment_expression "local_80 = strlen(in_stack_00000028)" (identifier "local_80") (= "=") (call_expression "strlen(in_stack_00000028)" (identifier "strlen") (argument_list "(in_stack_00000028)" (( "(") (identifier "in_stack_00000028") () ")")))) (; ";")) (expression_statement "local_7c = &stack0x00000014;" (assignment_expression "local_7c = &stack0x00000014" (identifier "local_7c") (= "=") (pointer_expression "&stack0x00000014" (& "&") (identifier "stack0x00000014"))) (; ";")) (expression_statement "local_84 = &stack0x0000000c;" (assignment_expression "local_84 = &stack0x0000000c" (identifier "local_84") (= "=") (pointer_expression "&stack0x0000000c" (& "&") (identifier "stack0x0000000c"))) (; ";")) (expression_statement "local_54 = 0;" (assignment_expression "local_54 = 0" (identifier "local_54") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_68 = &PTR_DAT_0038f400;" (assignment_expression "local_68 = &PTR_DAT_0038f400" (identifier "local_68") (= "=") (pointer_expression "&PTR_DAT_0038f400" (& "&") (identifier "PTR_DAT_0038f400"))) (; ";")) (expression_statement "local_70 = FUN_001f81a0;" (assignment_expression "local_70 = FUN_001f81a0" (identifier "local_70") (= "=") (identifier "FUN_001f81a0")) (; ";")) (expression_statement "puVar15 = auStack_8c;" (assignment_expression "puVar15 = auStack_8c" (identifier "puVar15") (= "=") (identifier "auStack_8c")) (; ";")) (labeled_statement "LAB_0020189b:\n  *(undefined4 *)(puVar15 + -0xc) = *(undefined4 *)(puVar15 + 0x10);" (statement_identifier "LAB_0020189b") (: ":") (expression_statement "*(undefined4 *)(puVar15 + -0xc) = *(undefined4 *)(puVar15 + 0x10);" (assignment_expression "*(undefined4 *)(puVar15 + -0xc) = *(undefined4 *)(puVar15 + 0x10)" (pointer_expression "*(undefined4 *)(puVar15 + -0xc)" (* "*") (cast_expression "(undefined4 *)(puVar15 + -0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -0xc)" (( "(") (binary_expression "puVar15 + -0xc" (identifier "puVar15") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(puVar15 + 0x10)" (* "*") (cast_expression "(undefined4 *)(puVar15 + 0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + 0x10)" (( "(") (binary_expression "puVar15 + 0x10" (identifier "puVar15") (+ "+") (number_literal "0x10")) () ")"))))) (; ";"))) (expression_statement "*(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 8);" (assignment_expression "*(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 8)" (pointer_expression "*(undefined4 *)(puVar15 + -0x10)" (* "*") (cast_expression "(undefined4 *)(puVar15 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -0x10)" (( "(") (binary_expression "puVar15 + -0x10" (identifier "puVar15") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(puVar15 + 8)" (* "*") (cast_expression "(undefined4 *)(puVar15 + 8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + 8)" (( "(") (binary_expression "puVar15 + 8" (identifier "puVar15") (+ "+") (number_literal "8")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(puVar15 + -0x14) = 0x2018ab;" (assignment_expression "*(undefined4 *)(puVar15 + -0x14) = 0x2018ab" (pointer_expression "*(undefined4 *)(puVar15 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar15 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -0x14)" (( "(") (binary_expression "puVar15 + -0x14" (identifier "puVar15") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x2018ab")) (; ";")) (expression_statement "cVar6 = FUN_00200f70();" (assignment_expression "cVar6 = FUN_00200f70()" (identifier "cVar6") (= "=") (call_expression "FUN_00200f70()" (identifier "FUN_00200f70") (argument_list "()" (( "(") () ")")))) (; ";")) (if_statement "if ((cVar6 == '\x01') || (*(uint *)(puVar15 + 0xc) <= uVar18)) {\n    if ((*(int *)(puVar15 + 0x38) != 0) || (uVar18 != *(uint *)(puVar15 + 0xc))) {\nLAB_00201a0e:\n      **(uint **)(puVar15 + 0xac) = **(uint **)(puVar15 + 0xac) | 4;\n    }\n    puVar5 = *(undefined4 **)(puVar15 + 0x90);\n    uVar12 = *(undefined4 *)(puVar15 + 0x9c);\n    *puVar5 = *(undefined4 *)(puVar15 + 0x98);\n    puVar5[1] = uVar12;\n    return puVar5;\n  }" (if "if") (parenthesized_expression "((cVar6 == '\x01') || (*(uint *)(puVar15 + 0xc) <= uVar18))" (( "(") (binary_expression "(cVar6 == '\x01') || (*(uint *)(puVar15 + 0xc) <= uVar18)" (parenthesized_expression "(cVar6 == '\x01')" (( "(") (binary_expression "cVar6 == '\x01'" (identifier "cVar6") (== "==") (char_literal "'\x01'" (' "'") (escape_sequence "\x01") (' "'"))) () ")")) (|| "||") (parenthesized_expression "(*(uint *)(puVar15 + 0xc) <= uVar18)" (( "(") (binary_expression "*(uint *)(puVar15 + 0xc) <= uVar18" (pointer_expression "*(uint *)(puVar15 + 0xc)" (* "*") (cast_expression "(uint *)(puVar15 + 0xc)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + 0xc)" (( "(") (binary_expression "puVar15 + 0xc" (identifier "puVar15") (+ "+") (number_literal "0xc")) () ")")))) (<= "<=") (identifier "uVar18")) () ")"))) () ")")) (compound_statement "{\n    if ((*(int *)(puVar15 + 0x38) != 0) || (uVar18 != *(uint *)(puVar15 + 0xc))) {\nLAB_00201a0e:\n      **(uint **)(puVar15 + 0xac) = **(uint **)(puVar15 + 0xac) | 4;\n    }\n    puVar5 = *(undefined4 **)(puVar15 + 0x90);\n    uVar12 = *(undefined4 *)(puVar15 + 0x9c);\n    *puVar5 = *(undefined4 *)(puVar15 + 0x98);\n    puVar5[1] = uVar12;\n    return puVar5;\n  }" ({ "{") (if_statement "if ((*(int *)(puVar15 + 0x38) != 0) || (uVar18 != *(uint *)(puVar15 + 0xc))) {\nLAB_00201a0e:\n      **(uint **)(puVar15 + 0xac) = **(uint **)(puVar15 + 0xac) | 4;\n    }" (if "if") (parenthesized_expression "((*(int *)(puVar15 + 0x38) != 0) || (uVar18 != *(uint *)(puVar15 + 0xc)))" (( "(") (binary_expression "(*(int *)(puVar15 + 0x38) != 0) || (uVar18 != *(uint *)(puVar15 + 0xc))" (parenthesized_expression "(*(int *)(puVar15 + 0x38) != 0)" (( "(") (binary_expression "*(int *)(puVar15 + 0x38) != 0" (pointer_expression "*(int *)(puVar15 + 0x38)" (* "*") (cast_expression "(int *)(puVar15 + 0x38)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + 0x38)" (( "(") (binary_expression "puVar15 + 0x38" (identifier "puVar15") (+ "+") (number_literal "0x38")) () ")")))) (!= "!=") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "(uVar18 != *(uint *)(puVar15 + 0xc))" (( "(") (binary_expression "uVar18 != *(uint *)(puVar15 + 0xc)" (identifier "uVar18") (!= "!=") (pointer_expression "*(uint *)(puVar15 + 0xc)" (* "*") (cast_expression "(uint *)(puVar15 + 0xc)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + 0xc)" (( "(") (binary_expression "puVar15 + 0xc" (identifier "puVar15") (+ "+") (number_literal "0xc")) () ")"))))) () ")"))) () ")")) (compound_statement "{\nLAB_00201a0e:\n      **(uint **)(puVar15 + 0xac) = **(uint **)(puVar15 + 0xac) | 4;\n    }" ({ "{") (labeled_statement "LAB_00201a0e:\n      **(uint **)(puVar15 + 0xac) = **(uint **)(puVar15 + 0xac) | 4;" (statement_identifier "LAB_00201a0e") (: ":") (expression_statement "**(uint **)(puVar15 + 0xac) = **(uint **)(puVar15 + 0xac) | 4;" (assignment_expression "**(uint **)(puVar15 + 0xac) = **(uint **)(puVar15 + 0xac) | 4" (pointer_expression "**(uint **)(puVar15 + 0xac)" (* "*") (pointer_expression "*(uint **)(puVar15 + 0xac)" (* "*") (cast_expression "(uint **)(puVar15 + 0xac)" (( "(") (type_descriptor "uint **" (type_identifier "uint") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar15 + 0xac)" (( "(") (binary_expression "puVar15 + 0xac" (identifier "puVar15") (+ "+") (number_literal "0xac")) () ")"))))) (= "=") (binary_expression "**(uint **)(puVar15 + 0xac) | 4" (pointer_expression "**(uint **)(puVar15 + 0xac)" (* "*") (pointer_expression "*(uint **)(puVar15 + 0xac)" (* "*") (cast_expression "(uint **)(puVar15 + 0xac)" (( "(") (type_descriptor "uint **" (type_identifier "uint") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar15 + 0xac)" (( "(") (binary_expression "puVar15 + 0xac" (identifier "puVar15") (+ "+") (number_literal "0xac")) () ")"))))) (| "|") (number_literal "4"))) (; ";"))) (} "}"))) (expression_statement "puVar5 = *(undefined4 **)(puVar15 + 0x90);" (assignment_expression "puVar5 = *(undefined4 **)(puVar15 + 0x90)" (identifier "puVar5") (= "=") (pointer_expression "*(undefined4 **)(puVar15 + 0x90)" (* "*") (cast_expression "(undefined4 **)(puVar15 + 0x90)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar15 + 0x90)" (( "(") (binary_expression "puVar15 + 0x90" (identifier "puVar15") (+ "+") (number_literal "0x90")) () ")"))))) (; ";")) (expression_statement "uVar12 = *(undefined4 *)(puVar15 + 0x9c);" (assignment_expression "uVar12 = *(undefined4 *)(puVar15 + 0x9c)" (identifier "uVar12") (= "=") (pointer_expression "*(undefined4 *)(puVar15 + 0x9c)" (* "*") (cast_expression "(undefined4 *)(puVar15 + 0x9c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + 0x9c)" (( "(") (binary_expression "puVar15 + 0x9c" (identifier "puVar15") (+ "+") (number_literal "0x9c")) () ")"))))) (; ";")) (expression_statement "*puVar5 = *(undefined4 *)(puVar15 + 0x98);" (assignment_expression "*puVar5 = *(undefined4 *)(puVar15 + 0x98)" (pointer_expression "*puVar5" (* "*") (identifier "puVar5")) (= "=") (pointer_expression "*(undefined4 *)(puVar15 + 0x98)" (* "*") (cast_expression "(undefined4 *)(puVar15 + 0x98)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + 0x98)" (( "(") (binary_expression "puVar15 + 0x98" (identifier "puVar15") (+ "+") (number_literal "0x98")) () ")"))))) (; ";")) (expression_statement "puVar5[1] = uVar12;" (assignment_expression "puVar5[1] = uVar12" (subscript_expression "puVar5[1]" (identifier "puVar5") ([ "[") (number_literal "1") (] "]")) (= "=") (identifier "uVar12")) (; ";")) (return_statement "return puVar5;" (return "return") (identifier "puVar5") (; ";")) (} "}"))) (if_statement "if (*(int *)(puVar15 + 0x38) != 0) goto LAB_00201a0e;" (if "if") (parenthesized_expression "(*(int *)(puVar15 + 0x38) != 0)" (( "(") (binary_expression "*(int *)(puVar15 + 0x38) != 0" (pointer_expression "*(int *)(puVar15 + 0x38)" (* "*") (cast_expression "(int *)(puVar15 + 0x38)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + 0x38)" (( "(") (binary_expression "puVar15 + 0x38" (identifier "puVar15") (+ "+") (number_literal "0x38")) () ")")))) (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_00201a0e;" (goto "goto") (statement_identifier "LAB_00201a0e") (; ";"))) (expression_statement "bVar8 = *(byte *)(*(int *)(puVar15 + 0xb4) + uVar18);" (assignment_expression "bVar8 = *(byte *)(*(int *)(puVar15 + 0xb4) + uVar18)" (identifier "bVar8") (= "=") (pointer_expression "*(byte *)(*(int *)(puVar15 + 0xb4) + uVar18)" (* "*") (cast_expression "(byte *)(*(int *)(puVar15 + 0xb4) + uVar18)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(puVar15 + 0xb4) + uVar18)" (( "(") (binary_expression "*(int *)(puVar15 + 0xb4) + uVar18" (pointer_expression "*(int *)(puVar15 + 0xb4)" (* "*") (cast_expression "(int *)(puVar15 + 0xb4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + 0xb4)" (( "(") (binary_expression "puVar15 + 0xb4" (identifier "puVar15") (+ "+") (number_literal "0xb4")) () ")")))) (+ "+") (identifier "uVar18")) () ")"))))) (; ";")) (expression_statement "uVar14 = (uint)bVar8;" (assignment_expression "uVar14 = (uint)bVar8" (identifier "uVar14") (= "=") (cast_expression "(uint)bVar8" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar8"))) (; ";")) (expression_statement "*(byte **)(puVar15 + 0x14) = (byte *)(*(int *)(puVar15 + 0xb4) + uVar18);" (assignment_expression "*(byte **)(puVar15 + 0x14) = (byte *)(*(int *)(puVar15 + 0xb4) + uVar18)" (pointer_expression "*(byte **)(puVar15 + 0x14)" (* "*") (cast_expression "(byte **)(puVar15 + 0x14)" (( "(") (type_descriptor "byte **" (type_identifier "byte") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar15 + 0x14)" (( "(") (binary_expression "puVar15 + 0x14" (identifier "puVar15") (+ "+") (number_literal "0x14")) () ")")))) (= "=") (cast_expression "(byte *)(*(int *)(puVar15 + 0xb4) + uVar18)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(puVar15 + 0xb4) + uVar18)" (( "(") (binary_expression "*(int *)(puVar15 + 0xb4) + uVar18" (pointer_expression "*(int *)(puVar15 + 0xb4)" (* "*") (cast_expression "(int *)(puVar15 + 0xb4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + 0xb4)" (( "(") (binary_expression "puVar15 + 0xb4" (identifier "puVar15") (+ "+") (number_literal "0xb4")) () ")")))) (+ "+") (identifier "uVar18")) () ")")))) (; ";")) (expression_statement "*(uint *)(puVar15 + 4) = uVar18 + 1;" (assignment_expression "*(uint *)(puVar15 + 4) = uVar18 + 1" (pointer_expression "*(uint *)(puVar15 + 4)" (* "*") (cast_expression "(uint *)(puVar15 + 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + 4)" (( "(") (binary_expression "puVar15 + 4" (identifier "puVar15") (+ "+") (number_literal "4")) () ")")))) (= "=") (binary_expression "uVar18 + 1" (identifier "uVar18") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "bVar9 = *(byte *)((int)piVar10 + uVar14 + 0x11d);" (assignment_expression "bVar9 = *(byte *)((int)piVar10 + uVar14 + 0x11d)" (identifier "bVar9") (= "=") (pointer_expression "*(byte *)((int)piVar10 + uVar14 + 0x11d)" (* "*") (cast_expression "(byte *)((int)piVar10 + uVar14 + 0x11d)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar10 + uVar14 + 0x11d)" (( "(") (binary_expression "(int)piVar10 + uVar14 + 0x11d" (binary_expression "(int)piVar10 + uVar14" (cast_expression "(int)piVar10" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar10")) (+ "+") (identifier "uVar14")) (+ "+") (number_literal "0x11d")) () ")"))))) (; ";")) (if_statement "if (bVar9 == 0) {\n    pcVar4 = *(code **)(*piVar10 + 0x20);\n    bVar9 = bVar8;\n    if (pcVar4 != (code *)PTR_FUN_0038ed98) {\n      *(uint *)(puVar15 + 0x20) = uVar14;\n      *(undefined4 *)(puVar15 + -8) = 0;\n      *(int *)(puVar15 + -0xc) = (int)(char)bVar8;\n      *(int **)(puVar15 + -0x10) = piVar10;\n      *(undefined4 *)(puVar15 + -0x14) = 0x201a50;\n      bVar9 = (*pcVar4)();\n      uVar14 = *(uint *)(puVar15 + 0x20);\n    }\n    if (bVar9 != 0) {\n      *(byte *)((int)piVar10 + uVar14 + 0x11d) = bVar9;\n      goto LAB_00201910;\n    }\nLAB_00201980:\n    cVar6 = **(char **)(puVar15 + 0x14);\n    *(undefined4 *)(puVar15 + -4) = 0x201997;\n    cVar7 = FUN_001f91d0();\n    if (cVar6 == cVar7) {\n      *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0x98);\n      *(undefined4 *)(puVar15 + -0x14) = 0x201adf;\n      FUN_001f24d0();\n      *(undefined4 *)(puVar15 + 0x9c) = 0xffffffff;\n      uVar18 = *(uint *)(puVar15 + 4);\n    }\n    else {\n      *(uint *)(puVar15 + 0x38) = *(uint *)(puVar15 + 0x38) | 4;\n      uVar18 = *(uint *)(puVar15 + 4);\n    }\n    goto LAB_0020189b;\n  }" (if "if") (parenthesized_expression "(bVar9 == 0)" (( "(") (binary_expression "bVar9 == 0" (identifier "bVar9") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n    pcVar4 = *(code **)(*piVar10 + 0x20);\n    bVar9 = bVar8;\n    if (pcVar4 != (code *)PTR_FUN_0038ed98) {\n      *(uint *)(puVar15 + 0x20) = uVar14;\n      *(undefined4 *)(puVar15 + -8) = 0;\n      *(int *)(puVar15 + -0xc) = (int)(char)bVar8;\n      *(int **)(puVar15 + -0x10) = piVar10;\n      *(undefined4 *)(puVar15 + -0x14) = 0x201a50;\n      bVar9 = (*pcVar4)();\n      uVar14 = *(uint *)(puVar15 + 0x20);\n    }\n    if (bVar9 != 0) {\n      *(byte *)((int)piVar10 + uVar14 + 0x11d) = bVar9;\n      goto LAB_00201910;\n    }\nLAB_00201980:\n    cVar6 = **(char **)(puVar15 + 0x14);\n    *(undefined4 *)(puVar15 + -4) = 0x201997;\n    cVar7 = FUN_001f91d0();\n    if (cVar6 == cVar7) {\n      *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0x98);\n      *(undefined4 *)(puVar15 + -0x14) = 0x201adf;\n      FUN_001f24d0();\n      *(undefined4 *)(puVar15 + 0x9c) = 0xffffffff;\n      uVar18 = *(uint *)(puVar15 + 4);\n    }\n    else {\n      *(uint *)(puVar15 + 0x38) = *(uint *)(puVar15 + 0x38) | 4;\n      uVar18 = *(uint *)(puVar15 + 4);\n    }\n    goto LAB_0020189b;\n  }" ({ "{") (expression_statement "pcVar4 = *(code **)(*piVar10 + 0x20);" (assignment_expression "pcVar4 = *(code **)(*piVar10 + 0x20)" (identifier "pcVar4") (= "=") (pointer_expression "*(code **)(*piVar10 + 0x20)" (* "*") (cast_expression "(code **)(*piVar10 + 0x20)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*piVar10 + 0x20)" (( "(") (binary_expression "*piVar10 + 0x20" (pointer_expression "*piVar10" (* "*") (identifier "piVar10")) (+ "+") (number_literal "0x20")) () ")"))))) (; ";")) (expression_statement "bVar9 = bVar8;" (assignment_expression "bVar9 = bVar8" (identifier "bVar9") (= "=") (identifier "bVar8")) (; ";")) (if_statement "if (pcVar4 != (code *)PTR_FUN_0038ed98) {\n      *(uint *)(puVar15 + 0x20) = uVar14;\n      *(undefined4 *)(puVar15 + -8) = 0;\n      *(int *)(puVar15 + -0xc) = (int)(char)bVar8;\n      *(int **)(puVar15 + -0x10) = piVar10;\n      *(undefined4 *)(puVar15 + -0x14) = 0x201a50;\n      bVar9 = (*pcVar4)();\n      uVar14 = *(uint *)(puVar15 + 0x20);\n    }" (if "if") (parenthesized_expression "(pcVar4 != (code *)PTR_FUN_0038ed98)" (( "(") (binary_expression "pcVar4 != (code *)PTR_FUN_0038ed98" (identifier "pcVar4") (!= "!=") (cast_expression "(code *)PTR_FUN_0038ed98" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_FUN_0038ed98"))) () ")")) (compound_statement "{\n      *(uint *)(puVar15 + 0x20) = uVar14;\n      *(undefined4 *)(puVar15 + -8) = 0;\n      *(int *)(puVar15 + -0xc) = (int)(char)bVar8;\n      *(int **)(puVar15 + -0x10) = piVar10;\n      *(undefined4 *)(puVar15 + -0x14) = 0x201a50;\n      bVar9 = (*pcVar4)();\n      uVar14 = *(uint *)(puVar15 + 0x20);\n    }" ({ "{") (expression_statement "*(uint *)(puVar15 + 0x20) = uVar14;" (assignment_expression "*(uint *)(puVar15 + 0x20) = uVar14" (pointer_expression "*(uint *)(puVar15 + 0x20)" (* "*") (cast_expression "(uint *)(puVar15 + 0x20)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + 0x20)" (( "(") (binary_expression "puVar15 + 0x20" (identifier "puVar15") (+ "+") (number_literal "0x20")) () ")")))) (= "=") (identifier "uVar14")) (; ";")) (expression_statement "*(undefined4 *)(puVar15 + -8) = 0;" (assignment_expression "*(undefined4 *)(puVar15 + -8) = 0" (pointer_expression "*(undefined4 *)(puVar15 + -8)" (* "*") (cast_expression "(undefined4 *)(puVar15 + -8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -8)" (( "(") (binary_expression "puVar15 + -8" (identifier "puVar15") (+ "+") (number_literal "-8")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(int *)(puVar15 + -0xc) = (int)(char)bVar8;" (assignment_expression "*(int *)(puVar15 + -0xc) = (int)(char)bVar8" (pointer_expression "*(int *)(puVar15 + -0xc)" (* "*") (cast_expression "(int *)(puVar15 + -0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -0xc)" (( "(") (binary_expression "puVar15 + -0xc" (identifier "puVar15") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (cast_expression "(int)(char)bVar8" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (cast_expression "(char)bVar8" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (identifier "bVar8")))) (; ";")) (expression_statement "*(int **)(puVar15 + -0x10) = piVar10;" (assignment_expression "*(int **)(puVar15 + -0x10) = piVar10" (pointer_expression "*(int **)(puVar15 + -0x10)" (* "*") (cast_expression "(int **)(puVar15 + -0x10)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar15 + -0x10)" (( "(") (binary_expression "puVar15 + -0x10" (identifier "puVar15") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "piVar10")) (; ";")) (expression_statement "*(undefined4 *)(puVar15 + -0x14) = 0x201a50;" (assignment_expression "*(undefined4 *)(puVar15 + -0x14) = 0x201a50" (pointer_expression "*(undefined4 *)(puVar15 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar15 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -0x14)" (( "(") (binary_expression "puVar15 + -0x14" (identifier "puVar15") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x201a50")) (; ";")) (expression_statement "bVar9 = (*pcVar4)();" (assignment_expression "bVar9 = (*pcVar4)()" (identifier "bVar9") (= "=") (call_expression "(*pcVar4)()" (parenthesized_expression "(*pcVar4)" (( "(") (pointer_expression "*pcVar4" (* "*") (identifier "pcVar4")) () ")")) (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "uVar14 = *(uint *)(puVar15 + 0x20);" (assignment_expression "uVar14 = *(uint *)(puVar15 + 0x20)" (identifier "uVar14") (= "=") (pointer_expression "*(uint *)(puVar15 + 0x20)" (* "*") (cast_expression "(uint *)(puVar15 + 0x20)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + 0x20)" (( "(") (binary_expression "puVar15 + 0x20" (identifier "puVar15") (+ "+") (number_literal "0x20")) () ")"))))) (; ";")) (} "}"))) (if_statement "if (bVar9 != 0) {\n      *(byte *)((int)piVar10 + uVar14 + 0x11d) = bVar9;\n      goto LAB_00201910;\n    }" (if "if") (parenthesized_expression "(bVar9 != 0)" (( "(") (binary_expression "bVar9 != 0" (identifier "bVar9") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      *(byte *)((int)piVar10 + uVar14 + 0x11d) = bVar9;\n      goto LAB_00201910;\n    }" ({ "{") (expression_statement "*(byte *)((int)piVar10 + uVar14 + 0x11d) = bVar9;" (assignment_expression "*(byte *)((int)piVar10 + uVar14 + 0x11d) = bVar9" (pointer_expression "*(byte *)((int)piVar10 + uVar14 + 0x11d)" (* "*") (cast_expression "(byte *)((int)piVar10 + uVar14 + 0x11d)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar10 + uVar14 + 0x11d)" (( "(") (binary_expression "(int)piVar10 + uVar14 + 0x11d" (binary_expression "(int)piVar10 + uVar14" (cast_expression "(int)piVar10" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar10")) (+ "+") (identifier "uVar14")) (+ "+") (number_literal "0x11d")) () ")")))) (= "=") (identifier "bVar9")) (; ";")) (goto_statement "goto LAB_00201910;" (goto "goto") (statement_identifier "LAB_00201910") (; ";")) (} "}"))) (labeled_statement "LAB_00201980:\n    cVar6 = **(char **)(puVar15 + 0x14);" (statement_identifier "LAB_00201980") (: ":") (expression_statement "cVar6 = **(char **)(puVar15 + 0x14);" (assignment_expression "cVar6 = **(char **)(puVar15 + 0x14)" (identifier "cVar6") (= "=") (pointer_expression "**(char **)(puVar15 + 0x14)" (* "*") (pointer_expression "*(char **)(puVar15 + 0x14)" (* "*") (cast_expression "(char **)(puVar15 + 0x14)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar15 + 0x14)" (( "(") (binary_expression "puVar15 + 0x14" (identifier "puVar15") (+ "+") (number_literal "0x14")) () ")")))))) (; ";"))) (expression_statement "*(undefined4 *)(puVar15 + -4) = 0x201997;" (assignment_expression "*(undefined4 *)(puVar15 + -4) = 0x201997" (pointer_expression "*(undefined4 *)(puVar15 + -4)" (* "*") (cast_expression "(undefined4 *)(puVar15 + -4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -4)" (( "(") (binary_expression "puVar15 + -4" (identifier "puVar15") (+ "+") (number_literal "-4")) () ")")))) (= "=") (number_literal "0x201997")) (; ";")) (expression_statement "cVar7 = FUN_001f91d0();" (assignment_expression "cVar7 = FUN_001f91d0()" (identifier "cVar7") (= "=") (call_expression "FUN_001f91d0()" (identifier "FUN_001f91d0") (argument_list "()" (( "(") () ")")))) (; ";")) (if_statement "if (cVar6 == cVar7) {\n      *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0x98);\n      *(undefined4 *)(puVar15 + -0x14) = 0x201adf;\n      FUN_001f24d0();\n      *(undefined4 *)(puVar15 + 0x9c) = 0xffffffff;\n      uVar18 = *(uint *)(puVar15 + 4);\n    }\n    else {\n      *(uint *)(puVar15 + 0x38) = *(uint *)(puVar15 + 0x38) | 4;\n      uVar18 = *(uint *)(puVar15 + 4);\n    }" (if "if") (parenthesized_expression "(cVar6 == cVar7)" (( "(") (binary_expression "cVar6 == cVar7" (identifier "cVar6") (== "==") (identifier "cVar7")) () ")")) (compound_statement "{\n      *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0x98);\n      *(undefined4 *)(puVar15 + -0x14) = 0x201adf;\n      FUN_001f24d0();\n      *(undefined4 *)(puVar15 + 0x9c) = 0xffffffff;\n      uVar18 = *(uint *)(puVar15 + 4);\n    }" ({ "{") (expression_statement "*(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0x98);" (assignment_expression "*(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0x98)" (pointer_expression "*(undefined4 *)(puVar15 + -0x10)" (* "*") (cast_expression "(undefined4 *)(puVar15 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -0x10)" (( "(") (binary_expression "puVar15 + -0x10" (identifier "puVar15") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(puVar15 + 0x98)" (* "*") (cast_expression "(undefined4 *)(puVar15 + 0x98)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + 0x98)" (( "(") (binary_expression "puVar15 + 0x98" (identifier "puVar15") (+ "+") (number_literal "0x98")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(puVar15 + -0x14) = 0x201adf;" (assignment_expression "*(undefined4 *)(puVar15 + -0x14) = 0x201adf" (pointer_expression "*(undefined4 *)(puVar15 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar15 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -0x14)" (( "(") (binary_expression "puVar15 + -0x14" (identifier "puVar15") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x201adf")) (; ";")) (expression_statement "FUN_001f24d0();" (call_expression "FUN_001f24d0()" (identifier "FUN_001f24d0") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "*(undefined4 *)(puVar15 + 0x9c) = 0xffffffff;" (assignment_expression "*(undefined4 *)(puVar15 + 0x9c) = 0xffffffff" (pointer_expression "*(undefined4 *)(puVar15 + 0x9c)" (* "*") (cast_expression "(undefined4 *)(puVar15 + 0x9c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + 0x9c)" (( "(") (binary_expression "puVar15 + 0x9c" (identifier "puVar15") (+ "+") (number_literal "0x9c")) () ")")))) (= "=") (number_literal "0xffffffff")) (; ";")) (expression_statement "uVar18 = *(uint *)(puVar15 + 4);" (assignment_expression "uVar18 = *(uint *)(puVar15 + 4)" (identifier "uVar18") (= "=") (pointer_expression "*(uint *)(puVar15 + 4)" (* "*") (cast_expression "(uint *)(puVar15 + 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + 4)" (( "(") (binary_expression "puVar15 + 4" (identifier "puVar15") (+ "+") (number_literal "4")) () ")"))))) (; ";")) (} "}")) (else_clause "else {\n      *(uint *)(puVar15 + 0x38) = *(uint *)(puVar15 + 0x38) | 4;\n      uVar18 = *(uint *)(puVar15 + 4);\n    }" (else "else") (compound_statement "{\n      *(uint *)(puVar15 + 0x38) = *(uint *)(puVar15 + 0x38) | 4;\n      uVar18 = *(uint *)(puVar15 + 4);\n    }" ({ "{") (expression_statement "*(uint *)(puVar15 + 0x38) = *(uint *)(puVar15 + 0x38) | 4;" (assignment_expression "*(uint *)(puVar15 + 0x38) = *(uint *)(puVar15 + 0x38) | 4" (pointer_expression "*(uint *)(puVar15 + 0x38)" (* "*") (cast_expression "(uint *)(puVar15 + 0x38)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + 0x38)" (( "(") (binary_expression "puVar15 + 0x38" (identifier "puVar15") (+ "+") (number_literal "0x38")) () ")")))) (= "=") (binary_expression "*(uint *)(puVar15 + 0x38) | 4" (pointer_expression "*(uint *)(puVar15 + 0x38)" (* "*") (cast_expression "(uint *)(puVar15 + 0x38)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + 0x38)" (( "(") (binary_expression "puVar15 + 0x38" (identifier "puVar15") (+ "+") (number_literal "0x38")) () ")")))) (| "|") (number_literal "4"))) (; ";")) (expression_statement "uVar18 = *(uint *)(puVar15 + 4);" (assignment_expression "uVar18 = *(uint *)(puVar15 + 4)" (identifier "uVar18") (= "=") (pointer_expression "*(uint *)(puVar15 + 4)" (* "*") (cast_expression "(uint *)(puVar15 + 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + 4)" (( "(") (binary_expression "puVar15 + 4" (identifier "puVar15") (+ "+") (number_literal "4")) () ")"))))) (; ";")) (} "}")))) (goto_statement "goto LAB_0020189b;" (goto "goto") (statement_identifier "LAB_0020189b") (; ";")) (} "}"))) (labeled_statement "LAB_00201910:\n  if (bVar9 != 0x25) goto LAB_00201980;" (statement_identifier "LAB_00201910") (: ":") (if_statement "if (bVar9 != 0x25) goto LAB_00201980;" (if "if") (parenthesized_expression "(bVar9 != 0x25)" (( "(") (binary_expression "bVar9 != 0x25" (identifier "bVar9") (!= "!=") (number_literal "0x25")) () ")")) (goto_statement "goto LAB_00201980;" (goto "goto") (statement_identifier "LAB_00201980") (; ";")))) (expression_statement "bVar8 = *(byte *)(*(int *)(puVar15 + 0xb4) + 1 + uVar18);" (assignment_expression "bVar8 = *(byte *)(*(int *)(puVar15 + 0xb4) + 1 + uVar18)" (identifier "bVar8") (= "=") (pointer_expression "*(byte *)(*(int *)(puVar15 + 0xb4) + 1 + uVar18)" (* "*") (cast_expression "(byte *)(*(int *)(puVar15 + 0xb4) + 1 + uVar18)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(puVar15 + 0xb4) + 1 + uVar18)" (( "(") (binary_expression "*(int *)(puVar15 + 0xb4) + 1 + uVar18" (binary_expression "*(int *)(puVar15 + 0xb4) + 1" (pointer_expression "*(int *)(puVar15 + 0xb4)" (* "*") (cast_expression "(int *)(puVar15 + 0xb4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + 0xb4)" (( "(") (binary_expression "puVar15 + 0xb4" (identifier "puVar15") (+ "+") (number_literal "0xb4")) () ")")))) (+ "+") (number_literal "1")) (+ "+") (identifier "uVar18")) () ")"))))) (; ";")) (expression_statement "bVar9 = *(byte *)((int)piVar10 + bVar8 + 0x11d);" (assignment_expression "bVar9 = *(byte *)((int)piVar10 + bVar8 + 0x11d)" (identifier "bVar9") (= "=") (pointer_expression "*(byte *)((int)piVar10 + bVar8 + 0x11d)" (* "*") (cast_expression "(byte *)((int)piVar10 + bVar8 + 0x11d)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar10 + bVar8 + 0x11d)" (( "(") (binary_expression "(int)piVar10 + bVar8 + 0x11d" (binary_expression "(int)piVar10 + bVar8" (cast_expression "(int)piVar10" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar10")) (+ "+") (identifier "bVar8")) (+ "+") (number_literal "0x11d")) () ")"))))) (; ";")) (expression_statement "puVar16 = puVar15;" (assignment_expression "puVar16 = puVar15" (identifier "puVar16") (= "=") (identifier "puVar15")) (; ";")) (if_statement "if (bVar9 == 0) {\n    pcVar4 = *(code **)(*piVar10 + 0x20);\n    bVar9 = bVar8;\n    if (pcVar4 != (code *)PTR_FUN_0038ed98) {\n      *(undefined4 *)(puVar15 + -8) = 0;\n      *(int *)(puVar15 + -0xc) = (int)(char)bVar8;\n      *(int **)(puVar15 + -0x10) = piVar10;\n      *(undefined4 *)(puVar15 + -0x14) = 0x201b0c;\n      bVar9 = (*pcVar4)();\n    }\n    if (bVar9 != 0) {\n      *(byte *)((int)piVar10 + bVar8 + 0x11d) = bVar9;\n      goto LAB_00201951;\n    }\n    goto LAB_00201ab8;\n  }" (if "if") (parenthesized_expression "(bVar9 == 0)" (( "(") (binary_expression "bVar9 == 0" (identifier "bVar9") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n    pcVar4 = *(code **)(*piVar10 + 0x20);\n    bVar9 = bVar8;\n    if (pcVar4 != (code *)PTR_FUN_0038ed98) {\n      *(undefined4 *)(puVar15 + -8) = 0;\n      *(int *)(puVar15 + -0xc) = (int)(char)bVar8;\n      *(int **)(puVar15 + -0x10) = piVar10;\n      *(undefined4 *)(puVar15 + -0x14) = 0x201b0c;\n      bVar9 = (*pcVar4)();\n    }\n    if (bVar9 != 0) {\n      *(byte *)((int)piVar10 + bVar8 + 0x11d) = bVar9;\n      goto LAB_00201951;\n    }\n    goto LAB_00201ab8;\n  }" ({ "{") (expression_statement "pcVar4 = *(code **)(*piVar10 + 0x20);" (assignment_expression "pcVar4 = *(code **)(*piVar10 + 0x20)" (identifier "pcVar4") (= "=") (pointer_expression "*(code **)(*piVar10 + 0x20)" (* "*") (cast_expression "(code **)(*piVar10 + 0x20)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*piVar10 + 0x20)" (( "(") (binary_expression "*piVar10 + 0x20" (pointer_expression "*piVar10" (* "*") (identifier "piVar10")) (+ "+") (number_literal "0x20")) () ")"))))) (; ";")) (expression_statement "bVar9 = bVar8;" (assignment_expression "bVar9 = bVar8" (identifier "bVar9") (= "=") (identifier "bVar8")) (; ";")) (if_statement "if (pcVar4 != (code *)PTR_FUN_0038ed98) {\n      *(undefined4 *)(puVar15 + -8) = 0;\n      *(int *)(puVar15 + -0xc) = (int)(char)bVar8;\n      *(int **)(puVar15 + -0x10) = piVar10;\n      *(undefined4 *)(puVar15 + -0x14) = 0x201b0c;\n      bVar9 = (*pcVar4)();\n    }" (if "if") (parenthesized_expression "(pcVar4 != (code *)PTR_FUN_0038ed98)" (( "(") (binary_expression "pcVar4 != (code *)PTR_FUN_0038ed98" (identifier "pcVar4") (!= "!=") (cast_expression "(code *)PTR_FUN_0038ed98" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_FUN_0038ed98"))) () ")")) (compound_statement "{\n      *(undefined4 *)(puVar15 + -8) = 0;\n      *(int *)(puVar15 + -0xc) = (int)(char)bVar8;\n      *(int **)(puVar15 + -0x10) = piVar10;\n      *(undefined4 *)(puVar15 + -0x14) = 0x201b0c;\n      bVar9 = (*pcVar4)();\n    }" ({ "{") (expression_statement "*(undefined4 *)(puVar15 + -8) = 0;" (assignment_expression "*(undefined4 *)(puVar15 + -8) = 0" (pointer_expression "*(undefined4 *)(puVar15 + -8)" (* "*") (cast_expression "(undefined4 *)(puVar15 + -8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -8)" (( "(") (binary_expression "puVar15 + -8" (identifier "puVar15") (+ "+") (number_literal "-8")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(int *)(puVar15 + -0xc) = (int)(char)bVar8;" (assignment_expression "*(int *)(puVar15 + -0xc) = (int)(char)bVar8" (pointer_expression "*(int *)(puVar15 + -0xc)" (* "*") (cast_expression "(int *)(puVar15 + -0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -0xc)" (( "(") (binary_expression "puVar15 + -0xc" (identifier "puVar15") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (cast_expression "(int)(char)bVar8" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (cast_expression "(char)bVar8" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (identifier "bVar8")))) (; ";")) (expression_statement "*(int **)(puVar15 + -0x10) = piVar10;" (assignment_expression "*(int **)(puVar15 + -0x10) = piVar10" (pointer_expression "*(int **)(puVar15 + -0x10)" (* "*") (cast_expression "(int **)(puVar15 + -0x10)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar15 + -0x10)" (( "(") (binary_expression "puVar15 + -0x10" (identifier "puVar15") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "piVar10")) (; ";")) (expression_statement "*(undefined4 *)(puVar15 + -0x14) = 0x201b0c;" (assignment_expression "*(undefined4 *)(puVar15 + -0x14) = 0x201b0c" (pointer_expression "*(undefined4 *)(puVar15 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar15 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -0x14)" (( "(") (binary_expression "puVar15 + -0x14" (identifier "puVar15") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x201b0c")) (; ";")) (expression_statement "bVar9 = (*pcVar4)();" (assignment_expression "bVar9 = (*pcVar4)()" (identifier "bVar9") (= "=") (call_expression "(*pcVar4)()" (parenthesized_expression "(*pcVar4)" (( "(") (pointer_expression "*pcVar4" (* "*") (identifier "pcVar4")) () ")")) (argument_list "()" (( "(") () ")")))) (; ";")) (} "}"))) (if_statement "if (bVar9 != 0) {\n      *(byte *)((int)piVar10 + bVar8 + 0x11d) = bVar9;\n      goto LAB_00201951;\n    }" (if "if") (parenthesized_expression "(bVar9 != 0)" (( "(") (binary_expression "bVar9 != 0" (identifier "bVar9") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      *(byte *)((int)piVar10 + bVar8 + 0x11d) = bVar9;\n      goto LAB_00201951;\n    }" ({ "{") (expression_statement "*(byte *)((int)piVar10 + bVar8 + 0x11d) = bVar9;" (assignment_expression "*(byte *)((int)piVar10 + bVar8 + 0x11d) = bVar9" (pointer_expression "*(byte *)((int)piVar10 + bVar8 + 0x11d)" (* "*") (cast_expression "(byte *)((int)piVar10 + bVar8 + 0x11d)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar10 + bVar8 + 0x11d)" (( "(") (binary_expression "(int)piVar10 + bVar8 + 0x11d" (binary_expression "(int)piVar10 + bVar8" (cast_expression "(int)piVar10" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar10")) (+ "+") (identifier "bVar8")) (+ "+") (number_literal "0x11d")) () ")")))) (= "=") (identifier "bVar9")) (; ";")) (goto_statement "goto LAB_00201951;" (goto "goto") (statement_identifier "LAB_00201951") (; ";")) (} "}"))) (goto_statement "goto LAB_00201ab8;" (goto "goto") (statement_identifier "LAB_00201ab8") (; ";")) (} "}"))) (labeled_statement "LAB_00201951:\n  *(undefined4 *)(puVar15 + 0x3c) = 0;" (statement_identifier "LAB_00201951") (: ":") (expression_statement "*(undefined4 *)(puVar15 + 0x3c) = 0;" (assignment_expression "*(undefined4 *)(puVar15 + 0x3c) = 0" (pointer_expression "*(undefined4 *)(puVar15 + 0x3c)" (* "*") (cast_expression "(undefined4 *)(puVar15 + 0x3c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + 0x3c)" (( "(") (binary_expression "puVar15 + 0x3c" (identifier "puVar15") (+ "+") (number_literal "0x3c")) () ")")))) (= "=") (number_literal "0")) (; ";"))) (if_statement "if ((bVar9 == 0x45) || (bVar9 == 0x4f)) {\n    *(uint *)(puVar15 + 4) = uVar18 + 2;\n    bVar8 = *(byte *)(*(int *)(puVar15 + 0xb4) + 2 + uVar18);\n    bVar9 = *(byte *)((int)piVar10 + bVar8 + 0x11d);\n    if (bVar9 == 0) {\n      pcVar4 = *(code **)(*piVar10 + 0x20);\n      bVar9 = bVar8;\n      if (pcVar4 != (code *)PTR_FUN_0038ed98) {\n        *(undefined4 *)(puVar15 + -8) = 0;\n        *(int *)(puVar15 + -0xc) = (int)(char)bVar8;\n        *(int **)(puVar15 + -0x10) = piVar10;\n        *(undefined4 *)(puVar15 + -0x14) = 0x20237c;\n        bVar9 = (*pcVar4)();\n      }\n      if (bVar9 == 0) goto LAB_00201ab8;\n      *(byte *)((int)piVar10 + bVar8 + 0x11d) = bVar9;\n    }\n  }" (if "if") (parenthesized_expression "((bVar9 == 0x45) || (bVar9 == 0x4f))" (( "(") (binary_expression "(bVar9 == 0x45) || (bVar9 == 0x4f)" (parenthesized_expression "(bVar9 == 0x45)" (( "(") (binary_expression "bVar9 == 0x45" (identifier "bVar9") (== "==") (number_literal "0x45")) () ")")) (|| "||") (parenthesized_expression "(bVar9 == 0x4f)" (( "(") (binary_expression "bVar9 == 0x4f" (identifier "bVar9") (== "==") (number_literal "0x4f")) () ")"))) () ")")) (compound_statement "{\n    *(uint *)(puVar15 + 4) = uVar18 + 2;\n    bVar8 = *(byte *)(*(int *)(puVar15 + 0xb4) + 2 + uVar18);\n    bVar9 = *(byte *)((int)piVar10 + bVar8 + 0x11d);\n    if (bVar9 == 0) {\n      pcVar4 = *(code **)(*piVar10 + 0x20);\n      bVar9 = bVar8;\n      if (pcVar4 != (code *)PTR_FUN_0038ed98) {\n        *(undefined4 *)(puVar15 + -8) = 0;\n        *(int *)(puVar15 + -0xc) = (int)(char)bVar8;\n        *(int **)(puVar15 + -0x10) = piVar10;\n        *(undefined4 *)(puVar15 + -0x14) = 0x20237c;\n        bVar9 = (*pcVar4)();\n      }\n      if (bVar9 == 0) goto LAB_00201ab8;\n      *(byte *)((int)piVar10 + bVar8 + 0x11d) = bVar9;\n    }\n  }" ({ "{") (expression_statement "*(uint *)(puVar15 + 4) = uVar18 + 2;" (assignment_expression "*(uint *)(puVar15 + 4) = uVar18 + 2" (pointer_expression "*(uint *)(puVar15 + 4)" (* "*") (cast_expression "(uint *)(puVar15 + 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + 4)" (( "(") (binary_expression "puVar15 + 4" (identifier "puVar15") (+ "+") (number_literal "4")) () ")")))) (= "=") (binary_expression "uVar18 + 2" (identifier "uVar18") (+ "+") (number_literal "2"))) (; ";")) (expression_statement "bVar8 = *(byte *)(*(int *)(puVar15 + 0xb4) + 2 + uVar18);" (assignment_expression "bVar8 = *(byte *)(*(int *)(puVar15 + 0xb4) + 2 + uVar18)" (identifier "bVar8") (= "=") (pointer_expression "*(byte *)(*(int *)(puVar15 + 0xb4) + 2 + uVar18)" (* "*") (cast_expression "(byte *)(*(int *)(puVar15 + 0xb4) + 2 + uVar18)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(puVar15 + 0xb4) + 2 + uVar18)" (( "(") (binary_expression "*(int *)(puVar15 + 0xb4) + 2 + uVar18" (binary_expression "*(int *)(puVar15 + 0xb4) + 2" (pointer_expression "*(int *)(puVar15 + 0xb4)" (* "*") (cast_expression "(int *)(puVar15 + 0xb4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + 0xb4)" (( "(") (binary_expression "puVar15 + 0xb4" (identifier "puVar15") (+ "+") (number_literal "0xb4")) () ")")))) (+ "+") (number_literal "2")) (+ "+") (identifier "uVar18")) () ")"))))) (; ";")) (expression_statement "bVar9 = *(byte *)((int)piVar10 + bVar8 + 0x11d);" (assignment_expression "bVar9 = *(byte *)((int)piVar10 + bVar8 + 0x11d)" (identifier "bVar9") (= "=") (pointer_expression "*(byte *)((int)piVar10 + bVar8 + 0x11d)" (* "*") (cast_expression "(byte *)((int)piVar10 + bVar8 + 0x11d)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar10 + bVar8 + 0x11d)" (( "(") (binary_expression "(int)piVar10 + bVar8 + 0x11d" (binary_expression "(int)piVar10 + bVar8" (cast_expression "(int)piVar10" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar10")) (+ "+") (identifier "bVar8")) (+ "+") (number_literal "0x11d")) () ")"))))) (; ";")) (if_statement "if (bVar9 == 0) {\n      pcVar4 = *(code **)(*piVar10 + 0x20);\n      bVar9 = bVar8;\n      if (pcVar4 != (code *)PTR_FUN_0038ed98) {\n        *(undefined4 *)(puVar15 + -8) = 0;\n        *(int *)(puVar15 + -0xc) = (int)(char)bVar8;\n        *(int **)(puVar15 + -0x10) = piVar10;\n        *(undefined4 *)(puVar15 + -0x14) = 0x20237c;\n        bVar9 = (*pcVar4)();\n      }\n      if (bVar9 == 0) goto LAB_00201ab8;\n      *(byte *)((int)piVar10 + bVar8 + 0x11d) = bVar9;\n    }" (if "if") (parenthesized_expression "(bVar9 == 0)" (( "(") (binary_expression "bVar9 == 0" (identifier "bVar9") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      pcVar4 = *(code **)(*piVar10 + 0x20);\n      bVar9 = bVar8;\n      if (pcVar4 != (code *)PTR_FUN_0038ed98) {\n        *(undefined4 *)(puVar15 + -8) = 0;\n        *(int *)(puVar15 + -0xc) = (int)(char)bVar8;\n        *(int **)(puVar15 + -0x10) = piVar10;\n        *(undefined4 *)(puVar15 + -0x14) = 0x20237c;\n        bVar9 = (*pcVar4)();\n      }\n      if (bVar9 == 0) goto LAB_00201ab8;\n      *(byte *)((int)piVar10 + bVar8 + 0x11d) = bVar9;\n    }" ({ "{") (expression_statement "pcVar4 = *(code **)(*piVar10 + 0x20);" (assignment_expression "pcVar4 = *(code **)(*piVar10 + 0x20)" (identifier "pcVar4") (= "=") (pointer_expression "*(code **)(*piVar10 + 0x20)" (* "*") (cast_expression "(code **)(*piVar10 + 0x20)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*piVar10 + 0x20)" (( "(") (binary_expression "*piVar10 + 0x20" (pointer_expression "*piVar10" (* "*") (identifier "piVar10")) (+ "+") (number_literal "0x20")) () ")"))))) (; ";")) (expression_statement "bVar9 = bVar8;" (assignment_expression "bVar9 = bVar8" (identifier "bVar9") (= "=") (identifier "bVar8")) (; ";")) (if_statement "if (pcVar4 != (code *)PTR_FUN_0038ed98) {\n        *(undefined4 *)(puVar15 + -8) = 0;\n        *(int *)(puVar15 + -0xc) = (int)(char)bVar8;\n        *(int **)(puVar15 + -0x10) = piVar10;\n        *(undefined4 *)(puVar15 + -0x14) = 0x20237c;\n        bVar9 = (*pcVar4)();\n      }" (if "if") (parenthesized_expression "(pcVar4 != (code *)PTR_FUN_0038ed98)" (( "(") (binary_expression "pcVar4 != (code *)PTR_FUN_0038ed98" (identifier "pcVar4") (!= "!=") (cast_expression "(code *)PTR_FUN_0038ed98" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_FUN_0038ed98"))) () ")")) (compound_statement "{\n        *(undefined4 *)(puVar15 + -8) = 0;\n        *(int *)(puVar15 + -0xc) = (int)(char)bVar8;\n        *(int **)(puVar15 + -0x10) = piVar10;\n        *(undefined4 *)(puVar15 + -0x14) = 0x20237c;\n        bVar9 = (*pcVar4)();\n      }" ({ "{") (expression_statement "*(undefined4 *)(puVar15 + -8) = 0;" (assignment_expression "*(undefined4 *)(puVar15 + -8) = 0" (pointer_expression "*(undefined4 *)(puVar15 + -8)" (* "*") (cast_expression "(undefined4 *)(puVar15 + -8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -8)" (( "(") (binary_expression "puVar15 + -8" (identifier "puVar15") (+ "+") (number_literal "-8")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(int *)(puVar15 + -0xc) = (int)(char)bVar8;" (assignment_expression "*(int *)(puVar15 + -0xc) = (int)(char)bVar8" (pointer_expression "*(int *)(puVar15 + -0xc)" (* "*") (cast_expression "(int *)(puVar15 + -0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -0xc)" (( "(") (binary_expression "puVar15 + -0xc" (identifier "puVar15") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (cast_expression "(int)(char)bVar8" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (cast_expression "(char)bVar8" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (identifier "bVar8")))) (; ";")) (expression_statement "*(int **)(puVar15 + -0x10) = piVar10;" (assignment_expression "*(int **)(puVar15 + -0x10) = piVar10" (pointer_expression "*(int **)(puVar15 + -0x10)" (* "*") (cast_expression "(int **)(puVar15 + -0x10)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar15 + -0x10)" (( "(") (binary_expression "puVar15 + -0x10" (identifier "puVar15") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "piVar10")) (; ";")) (expression_statement "*(undefined4 *)(puVar15 + -0x14) = 0x20237c;" (assignment_expression "*(undefined4 *)(puVar15 + -0x14) = 0x20237c" (pointer_expression "*(undefined4 *)(puVar15 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar15 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -0x14)" (( "(") (binary_expression "puVar15 + -0x14" (identifier "puVar15") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x20237c")) (; ";")) (expression_statement "bVar9 = (*pcVar4)();" (assignment_expression "bVar9 = (*pcVar4)()" (identifier "bVar9") (= "=") (call_expression "(*pcVar4)()" (parenthesized_expression "(*pcVar4)" (( "(") (pointer_expression "*pcVar4" (* "*") (identifier "pcVar4")) () ")")) (argument_list "()" (( "(") () ")")))) (; ";")) (} "}"))) (if_statement "if (bVar9 == 0) goto LAB_00201ab8;" (if "if") (parenthesized_expression "(bVar9 == 0)" (( "(") (binary_expression "bVar9 == 0" (identifier "bVar9") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_00201ab8;" (goto "goto") (statement_identifier "LAB_00201ab8") (; ";"))) (expression_statement "*(byte *)((int)piVar10 + bVar8 + 0x11d) = bVar9;" (assignment_expression "*(byte *)((int)piVar10 + bVar8 + 0x11d) = bVar9" (pointer_expression "*(byte *)((int)piVar10 + bVar8 + 0x11d)" (* "*") (cast_expression "(byte *)((int)piVar10 + bVar8 + 0x11d)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar10 + bVar8 + 0x11d)" (( "(") (binary_expression "(int)piVar10 + bVar8 + 0x11d" (binary_expression "(int)piVar10 + bVar8" (cast_expression "(int)piVar10" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar10")) (+ "+") (identifier "bVar8")) (+ "+") (number_literal "0x11d")) () ")")))) (= "=") (identifier "bVar9")) (; ";")) (} "}"))) (} "}"))) (switch_statement "switch(bVar9) {\n  case 0x41:\n    iVar1 = *(int *)(*(int *)(puVar15 + 0x18) + 8);\n    *(undefined4 *)(puVar15 + 0x40) = *(undefined4 *)(iVar1 + 0x2c);\n    *(undefined4 *)(puVar15 + 0x44) = *(undefined4 *)(iVar1 + 0x30);\n    *(undefined4 *)(puVar15 + 0x48) = *(undefined4 *)(iVar1 + 0x34);\n    *(undefined4 *)(puVar15 + 0x4c) = *(undefined4 *)(iVar1 + 0x38);\n    *(undefined4 *)(puVar15 + 0x50) = *(undefined4 *)(iVar1 + 0x3c);\n    *(undefined4 *)(puVar15 + 0x54) = *(undefined4 *)(iVar1 + 0x40);\n    uVar12 = *(undefined4 *)(iVar1 + 0x44);\n    goto code_r0x00201f34;\n  case 0x42:\n    *(undefined1 **)(puVar15 + -0xc) = puVar15 + 0x40;\n    *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0x18);\n    *(undefined **)(puVar15 + -0x14) = &UNK_00201fd1;\n    FUN_001fb050();\n    goto code_r0x00201fd1;\n  case 0x43:\n  case 0x59:\n  case 0x79:\n    *(undefined1 **)(puVar15 + -4) = puVar15 + 0x38;\n    *(undefined4 *)(puVar15 + -8) = *(undefined4 *)(puVar15 + 0xa8);\n    *(undefined4 *)(puVar15 + -0xc) = 4;\n    *(undefined4 *)(puVar15 + -0x10) = 9999;\n    *(undefined4 *)(puVar15 + -0x14) = 0;\n    *(undefined1 **)(puVar15 + -0x18) = puVar15 + 0x3c;\n    *(undefined4 *)(puVar15 + -0x1c) = *(undefined4 *)(puVar15 + 0xa4);\n    *(undefined4 *)(puVar15 + -0x20) = *(undefined4 *)(puVar15 + 0xa0);\n    *(undefined4 *)(puVar15 + -0x24) = *(undefined4 *)(puVar15 + 0x9c);\n    *(undefined4 *)(puVar15 + -0x28) = *(undefined4 *)(puVar15 + 0x98);\n    *(undefined4 *)(puVar15 + -0x2c) = *(undefined4 *)(puVar15 + 0x94);\n    *(undefined1 **)(puVar15 + -0x30) = puVar15 + 0x28;\n    *(undefined **)(puVar15 + -0x34) = &UNK_00202097;\n    FUN_001fc0e0();\n    *(undefined4 *)(puVar15 + 0x94) = *(undefined4 *)(puVar15 + 0x24);\n    *(undefined4 *)(puVar15 + 0x98) = *(undefined4 *)(puVar15 + 0x28);\n    puVar16 = puVar15 + -4;\n    if (*(int *)(puVar15 + 0x34) == 0) {\n      iVar1 = *(int *)(puVar15 + 0x38);\n      iVar13 = iVar1 + -0x76c;\n      if (iVar1 < 0) {\n        iVar13 = iVar1 + 100;\n      }\n      *(int *)(*(int *)(puVar15 + 0xac) + 0x14) = iVar13;\n      puVar16 = puVar15 + -4;\n    }\n    break;\n  case 0x44:\n    *(undefined1 **)(puVar15 + -4) = puVar15 + 0x40;\n    *(undefined **)(puVar15 + -8) = &UNK_002a3ee7;\n    pcVar11 = "%m/%d/%y";\n    goto code_r0x00201ca2;\n  default:\n    goto LAB_00201ab8;\n  case 0x48:\n    *(undefined1 **)(puVar15 + -4) = puVar15 + 0x38;\n    *(undefined4 *)(puVar15 + -8) = *(undefined4 *)(puVar15 + 0xa8);\n    *(undefined4 *)(puVar15 + -0xc) = 2;\n    *(undefined4 *)(puVar15 + -0x10) = 0x17;\n    *(undefined4 *)(puVar15 + -0x14) = 0;\n    goto code_r0x00201ba6;\n  case 0x49:\n    *(undefined1 **)(puVar15 + -4) = puVar15 + 0x38;\n    *(undefined4 *)(puVar15 + -8) = *(undefined4 *)(puVar15 + 0xa8);\n    *(undefined4 *)(puVar15 + -0xc) = 2;\n    *(undefined4 *)(puVar15 + -0x10) = 0xc;\n    *(undefined4 *)(puVar15 + -0x14) = 1;\ncode_r0x00201ba6:\n    *(undefined1 **)(puVar15 + -0x18) = puVar15 + 0x3c;\n    *(undefined4 *)(puVar15 + -0x1c) = *(undefined4 *)(puVar15 + 0xa4);\n    *(undefined4 *)(puVar15 + -0x20) = *(undefined4 *)(puVar15 + 0xa0);\n    *(undefined4 *)(puVar15 + -0x24) = *(undefined4 *)(puVar15 + 0x9c);\n    *(undefined4 *)(puVar15 + -0x28) = *(undefined4 *)(puVar15 + 0x98);\n    *(undefined4 *)(puVar15 + -0x2c) = *(undefined4 *)(puVar15 + 0x94);\n    *(undefined1 **)(puVar15 + -0x30) = puVar15 + 0x28;\n    *(undefined **)(puVar15 + -0x34) = &UNK_00201bd4;\n    FUN_001fc0e0();\n    *(undefined4 *)(puVar15 + 0x94) = *(undefined4 *)(puVar15 + 0x24);\n    *(undefined4 *)(puVar15 + 0x98) = *(undefined4 *)(puVar15 + 0x28);\n    puVar16 = puVar15 + -4;\n    if (*(int *)(puVar15 + 0x34) == 0) {\n      *(undefined4 *)(*(int *)(puVar15 + 0xac) + 8) = *(undefined4 *)(puVar15 + 0x38);\n      puVar16 = puVar15 + -4;\n    }\n    break;\n  case 0x4d:\n    *(undefined1 **)(puVar15 + -4) = puVar15 + 0x38;\n    *(undefined4 *)(puVar15 + -8) = *(undefined4 *)(puVar15 + 0xa8);\n    *(undefined4 *)(puVar15 + -0xc) = 2;\n    *(undefined4 *)(puVar15 + -0x10) = 0x3b;\n    *(undefined4 *)(puVar15 + -0x14) = 0;\n    *(undefined1 **)(puVar15 + -0x18) = puVar15 + 0x3c;\n    *(undefined4 *)(puVar15 + -0x1c) = *(undefined4 *)(puVar15 + 0xa4);\n    *(undefined4 *)(puVar15 + -0x20) = *(undefined4 *)(puVar15 + 0xa0);\n    *(undefined4 *)(puVar15 + -0x24) = *(undefined4 *)(puVar15 + 0x9c);\n    *(undefined4 *)(puVar15 + -0x28) = *(undefined4 *)(puVar15 + 0x98);\n    *(undefined4 *)(puVar15 + -0x2c) = *(undefined4 *)(puVar15 + 0x94);\n    *(undefined1 **)(puVar15 + -0x30) = puVar15 + 0x28;\n    *(undefined **)(puVar15 + -0x34) = &UNK_00201c54;\n    FUN_001fc0e0();\n    *(undefined4 *)(puVar15 + 0x94) = *(undefined4 *)(puVar15 + 0x24);\n    *(undefined4 *)(puVar15 + 0x98) = *(undefined4 *)(puVar15 + 0x28);\n    puVar16 = puVar15 + -4;\n    if (*(int *)(puVar15 + 0x34) == 0) {\n      *(undefined4 *)(*(int *)(puVar15 + 0xac) + 4) = *(undefined4 *)(puVar15 + 0x38);\n      puVar16 = puVar15 + -4;\n    }\n    break;\n  case 0x52:\n    *(undefined1 **)(puVar15 + -4) = puVar15 + 0x40;\n    *(char **)(puVar15 + -8) = "%H:%M:%S";\n    pcVar11 = "%H:%M";\n    goto code_r0x00201ca2;\n  case 0x53:\n    *(undefined1 **)(puVar15 + -4) = puVar15 + 0x38;\n    *(undefined4 *)(puVar15 + -8) = *(undefined4 *)(puVar15 + 0xa8);\n    *(undefined4 *)(puVar15 + -0xc) = 2;\n    *(undefined4 *)(puVar15 + -0x10) = 0x3c;\n    *(undefined4 *)(puVar15 + -0x14) = 0;\n    *(undefined1 **)(puVar15 + -0x18) = puVar15 + 0x3c;\n    *(undefined4 *)(puVar15 + -0x1c) = *(undefined4 *)(puVar15 + 0xa4);\n    *(undefined4 *)(puVar15 + -0x20) = *(undefined4 *)(puVar15 + 0xa0);\n    *(undefined4 *)(puVar15 + -0x24) = *(undefined4 *)(puVar15 + 0x9c);\n    *(undefined4 *)(puVar15 + -0x28) = *(undefined4 *)(puVar15 + 0x98);\n    *(undefined4 *)(puVar15 + -0x2c) = *(undefined4 *)(puVar15 + 0x94);\n    *(undefined1 **)(puVar15 + -0x30) = puVar15 + 0x28;\n    *(undefined **)(puVar15 + -0x34) = &UNK_00201cfc;\n    FUN_001fc0e0();\n    *(undefined4 *)(puVar15 + 0x94) = *(undefined4 *)(puVar15 + 0x24);\n    *(undefined4 *)(puVar15 + 0x98) = *(undefined4 *)(puVar15 + 0x28);\n    puVar16 = puVar15 + -4;\n    if (*(int *)(puVar15 + 0x34) == 0) {\n      **(undefined4 **)(puVar15 + 0xac) = *(undefined4 *)(puVar15 + 0x38);\n      puVar16 = puVar15 + -4;\n    }\n    break;\n  case 0x54:\n    *(undefined1 **)(puVar15 + -4) = puVar15 + 0x40;\n    *(undefined **)(puVar15 + -8) = &UNK_002a3ef6;\n    pcVar11 = "%H:%M:%S";\ncode_r0x00201ca2:\n    *(char **)(puVar15 + -0xc) = pcVar11;\n    *(int **)(puVar15 + -0x10) = piVar10;\n    *(undefined **)(puVar15 + -0x14) = &UNK_00201ca9;\n    FUN_001f94d0();\n    *(undefined1 **)(puVar15 + -0xc) = puVar15 + 0x40;\n    goto code_r0x00201b30;\n  case 0x58:\n    *(undefined4 *)(puVar15 + -0xc) = *(undefined4 *)(*(int *)(*(int *)(puVar15 + 0x18) + 8) + 0x10)\n    ;\n    goto code_r0x00201b30;\n  case 0x5a:\n    *(undefined **)(puVar15 + -4) = &UNK_00201d80;\n    uVar18 = FUN_001f91d0();\n    if ((*(byte *)(piVar10[6] + 1 + (uVar18 & 0xff) * 2) & 1) == 0) goto LAB_00201ab8;\n    *(undefined1 **)(puVar15 + 0x14) = puVar15 + 0x28;\n    puVar2 = puVar15 + 0x38;\n    *(undefined1 **)(puVar15 + -8) = puVar2;\n    *(undefined4 *)(puVar15 + -0xc) = *(undefined4 *)(puVar15 + 0xa8);\n    *(undefined4 *)(puVar15 + -0x10) = 0xe;\n    *(undefined4 *)(puVar15 + -0x14) = *(undefined4 *)(puVar15 + 0x24);\n    puVar3 = puVar15 + 0x40;\n    *(undefined1 **)(puVar15 + -0x18) = puVar3;\n    *(undefined4 *)(puVar15 + -0x1c) = *(undefined4 *)(puVar15 + 0xa4);\n    *(undefined4 *)(puVar15 + -0x20) = *(undefined4 *)(puVar15 + 0xa0);\n    *(undefined4 *)(puVar15 + -0x24) = *(undefined4 *)(puVar15 + 0x9c);\n    *(undefined4 *)(puVar15 + -0x28) = *(undefined4 *)(puVar15 + 0x98);\n    *(undefined4 *)(puVar15 + -0x2c) = *(undefined4 *)(puVar15 + 0x94);\n    *(undefined1 **)(puVar15 + -0x30) = puVar15 + 0x28;\n    *(undefined **)(puVar15 + -0x34) = &UNK_00201ddc;\n    FUN_00201020();\n    *(undefined4 *)(puVar15 + 0x94) = *(undefined4 *)(puVar15 + 0x24);\n    *(undefined4 *)(puVar15 + 0x98) = *(undefined4 *)(puVar15 + 0x28);\n    *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0xc);\n    *(undefined4 *)(puVar15 + -0x14) = *(undefined4 *)(puVar15 + 4);\n    *(undefined **)(puVar15 + -0x18) = &UNK_00201e02;\n    cVar6 = FUN_00200f70();\n    puVar16 = puVar15 + -4;\n    if ((cVar6 != '\0') ||\n       (puVar16 = puVar15 + -4, *(int *)(puVar15 + 0x34) != 0 || *(int *)(puVar15 + 0x3c) != 0))\n    break;\n    *(undefined **)(puVar15 + -8) = &UNK_00201e2b;\n    uVar12 = FUN_001f91d0();\n    iVar1 = piVar10[7];\n    *(undefined4 *)(puVar15 + 0x1c) = uVar12;\n    if ((char)iVar1 == '\0') {\n      *(undefined **)(puVar15 + -8) = &UNK_002023c1;\n      cVar6 = FUN_001f9220();\n    }\n    else {\n      cVar6 = *(char *)((int)piVar10 + 0x4a);\n    }\n    if (puVar15[0x1c] != cVar6) {\n      *(undefined **)(puVar15 + -8) = &UNK_00201e53;\n      uVar12 = FUN_001f91d0();\n      iVar1 = piVar10[7];\n      *(undefined4 *)(puVar15 + 0x1c) = uVar12;\n      if ((char)iVar1 == '\0') {\n        *(undefined **)(puVar15 + -8) = &UNK_002023d2;\n        cVar6 = FUN_001f9220();\n      }\n      else {\n        cVar6 = (char)piVar10[0x12];\n      }\n      puVar16 = puVar15 + -4;\n      if (puVar15[0x1c] != cVar6) break;\n    }\n    *(undefined1 **)(puVar15 + -8) = puVar2;\n    *(undefined4 *)(puVar15 + -0xc) = *(undefined4 *)(puVar15 + 0xa4);\n    *(undefined4 *)(puVar15 + -0x10) = 2;\n    *(undefined4 *)(puVar15 + -0x14) = 0x17;\n    *(undefined4 *)(puVar15 + -0x18) = 0;\n    *(undefined1 **)(puVar15 + -0x1c) = puVar3;\n    *(undefined4 *)(puVar15 + -0x20) = *(undefined4 *)(puVar15 + 0xa0);\n    *(undefined4 *)(puVar15 + -0x24) = *(undefined4 *)(puVar15 + 0x9c);\n    *(undefined4 *)(puVar15 + -0x28) = *(undefined4 *)(puVar15 + 0x98);\n    *(undefined4 *)(puVar15 + -0x2c) = *(undefined4 *)(puVar15 + 0x94);\n    *(undefined4 *)(puVar15 + -0x30) = *(undefined4 *)(puVar15 + 0x90);\n    *(undefined4 *)(puVar15 + -0x34) = *(undefined4 *)(puVar15 + 0x10);\n    *(undefined **)(puVar15 + -0x38) = &UNK_00201eaa;\n    FUN_001fc0e0();\n    *(undefined4 *)(puVar15 + 0x90) = *(undefined4 *)(puVar15 + 0x20);\n    *(undefined4 *)(puVar15 + 0x94) = *(undefined4 *)(puVar15 + 0x24);\n    *(undefined1 **)(puVar15 + -0xc) = puVar2;\n    *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0xa0);\n    *(undefined4 *)(puVar15 + -0x14) = 2;\n    *(undefined4 *)(puVar15 + -0x18) = 0x3b;\n    *(undefined4 *)(puVar15 + -0x1c) = 0;\n    *(undefined1 **)(puVar15 + -0x20) = puVar3;\n    *(undefined4 *)(puVar15 + -0x24) = *(undefined4 *)(puVar15 + 0x9c);\n    *(undefined4 *)(puVar15 + -0x28) = *(undefined4 *)(puVar15 + 0x98);\n    *(undefined4 *)(puVar15 + -0x2c) = *(undefined4 *)(puVar15 + 0x24);\n    *(undefined4 *)(puVar15 + -0x30) = *(undefined4 *)(puVar15 + 0x20);\n    *(undefined4 *)(puVar15 + -0x34) = *(undefined4 *)(puVar15 + 0x8c);\n    puVar17 = puVar15 + -0x38;\n    *(undefined4 *)(puVar15 + -0x38) = *(undefined4 *)(puVar15 + 0xc);\n    *(undefined **)(puVar15 + -0x3c) = &UNK_00201ef2;\n    FUN_001fc0e0();\n    goto code_r0x00201b6c;\n  case 0x61:\n    iVar1 = *(int *)(*(int *)(puVar15 + 0x18) + 8);\n    *(undefined4 *)(puVar15 + 0x40) = *(undefined4 *)(iVar1 + 0x48);\n    *(undefined4 *)(puVar15 + 0x44) = *(undefined4 *)(iVar1 + 0x4c);\n    *(undefined4 *)(puVar15 + 0x48) = *(undefined4 *)(iVar1 + 0x50);\n    *(undefined4 *)(puVar15 + 0x4c) = *(undefined4 *)(iVar1 + 0x54);\n    *(undefined4 *)(puVar15 + 0x50) = *(undefined4 *)(iVar1 + 0x58);\n    *(undefined4 *)(puVar15 + 0x54) = *(undefined4 *)(iVar1 + 0x5c);\n    uVar12 = *(undefined4 *)(iVar1 + 0x60);\ncode_r0x00201f34:\n    *(undefined4 *)(puVar15 + 0x58) = uVar12;\n    *(undefined1 **)(puVar15 + -8) = puVar15 + 0x38;\n    *(undefined4 *)(puVar15 + -0xc) = *(undefined4 *)(puVar15 + 0xa8);\n    *(undefined4 *)(puVar15 + -0x10) = 7;\n    *(undefined1 **)(puVar15 + -0x14) = puVar15 + 0x40;\n    *(undefined1 **)(puVar15 + -0x18) = puVar15 + 0x3c;\n    *(undefined4 *)(puVar15 + -0x1c) = *(undefined4 *)(puVar15 + 0xa4);\n    *(undefined4 *)(puVar15 + -0x20) = *(undefined4 *)(puVar15 + 0xa0);\n    *(undefined4 *)(puVar15 + -0x24) = *(undefined4 *)(puVar15 + 0x9c);\n    *(undefined4 *)(puVar15 + -0x28) = *(undefined4 *)(puVar15 + 0x98);\n    *(undefined4 *)(puVar15 + -0x2c) = *(undefined4 *)(puVar15 + 0x94);\n    *(undefined1 **)(puVar15 + -0x30) = puVar15 + 0x28;\n    *(undefined **)(puVar15 + -0x34) = &UNK_00201f80;\n    FUN_00201020();\n    *(undefined4 *)(puVar15 + 0x94) = *(undefined4 *)(puVar15 + 0x24);\n    *(undefined4 *)(puVar15 + 0x98) = *(undefined4 *)(puVar15 + 0x28);\n    puVar16 = puVar15 + -4;\n    if (*(int *)(puVar15 + 0x34) == 0) {\n      *(undefined4 *)(*(int *)(puVar15 + 0xac) + 0x18) = *(undefined4 *)(puVar15 + 0x38);\n      puVar16 = puVar15 + -4;\n    }\n    break;\n  case 0x62:\n  case 0x68:\n    *(undefined1 **)(puVar15 + -0xc) = puVar15 + 0x40;\n    *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0x18);\n    *(undefined **)(puVar15 + -0x14) = &UNK_00202171;\n    FUN_001fb0c0();\ncode_r0x00201fd1:\n    *(undefined1 **)(puVar15 + -8) = puVar15 + 0x38;\n    *(undefined4 *)(puVar15 + -0xc) = *(undefined4 *)(puVar15 + 0xa8);\n    *(undefined4 *)(puVar15 + -0x10) = 0xc;\n    *(undefined1 **)(puVar15 + -0x14) = puVar15 + 0x40;\n    *(undefined1 **)(puVar15 + -0x18) = puVar15 + 0x3c;\n    *(undefined4 *)(puVar15 + -0x1c) = *(undefined4 *)(puVar15 + 0xa4);\n    *(undefined4 *)(puVar15 + -0x20) = *(undefined4 *)(puVar15 + 0xa0);\n    *(undefined4 *)(puVar15 + -0x24) = *(undefined4 *)(puVar15 + 0x9c);\n    *(undefined4 *)(puVar15 + -0x28) = *(undefined4 *)(puVar15 + 0x98);\n    *(undefined4 *)(puVar15 + -0x2c) = *(undefined4 *)(puVar15 + 0x94);\n    *(undefined1 **)(puVar15 + -0x30) = puVar15 + 0x28;\n    *(undefined **)(puVar15 + -0x34) = &UNK_00202015;\n    FUN_00201020();\n    *(undefined4 *)(puVar15 + 0x94) = *(undefined4 *)(puVar15 + 0x24);\n    *(undefined4 *)(puVar15 + 0x98) = *(undefined4 *)(puVar15 + 0x28);\n    puVar16 = puVar15 + -4;\n    if (*(int *)(puVar15 + 0x34) == 0) {\n      *(undefined4 *)(*(int *)(puVar15 + 0xac) + 0x10) = *(undefined4 *)(puVar15 + 0x38);\n      puVar16 = puVar15 + -4;\n    }\n    break;\n  case 99:\n    *(undefined4 *)(puVar15 + -0xc) = *(undefined4 *)(*(int *)(*(int *)(puVar15 + 0x18) + 8) + 0x18)\n    ;\n    goto code_r0x00201b30;\n  case 100:\n    *(undefined1 **)(puVar15 + -4) = puVar15 + 0x38;\n    *(undefined4 *)(puVar15 + -8) = *(undefined4 *)(puVar15 + 0xa8);\n    *(undefined4 *)(puVar15 + -0xc) = 2;\n    *(undefined4 *)(puVar15 + -0x10) = 0x1f;\n    *(undefined4 *)(puVar15 + -0x14) = 1;\n    goto code_r0x002021b6;\n  case 0x65:\n    *(undefined **)(puVar15 + -4) = &UNK_00202230;\n    uVar18 = FUN_001f91d0();\n    if ((*(byte *)(piVar10[6] + 1 + (uVar18 & 0xff) * 2) & 0x20) == 0) {\n      *(undefined1 **)(puVar15 + -4) = puVar15 + 0x38;\n      *(undefined4 *)(puVar15 + -8) = *(undefined4 *)(puVar15 + 0xa8);\n      *(undefined4 *)(puVar15 + -0xc) = 2;\n      *(undefined4 *)(puVar15 + -0x10) = 0x1f;\n      *(undefined4 *)(puVar15 + -0x14) = 10;\n    }\n    else {\n      *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0x98);\n      *(undefined **)(puVar15 + -0x14) = &UNK_00202250;\n      FUN_001f24d0();\n      *(undefined4 *)(puVar15 + 0x9c) = 0xffffffff;\n      *(undefined1 **)(puVar15 + -4) = puVar15 + 0x38;\n      *(undefined4 *)(puVar15 + -8) = *(undefined4 *)(puVar15 + 0xa8);\n      *(undefined4 *)(puVar15 + -0xc) = 1;\n      *(undefined4 *)(puVar15 + -0x10) = 9;\n      *(undefined4 *)(puVar15 + -0x14) = 1;\n    }\ncode_r0x002021b6:\n    *(undefined1 **)(puVar15 + -0x18) = puVar15 + 0x3c;\n    *(undefined4 *)(puVar15 + -0x1c) = *(undefined4 *)(puVar15 + 0xa4);\n    *(undefined4 *)(puVar15 + -0x20) = *(undefined4 *)(puVar15 + 0xa0);\n    *(undefined4 *)(puVar15 + -0x24) = *(undefined4 *)(puVar15 + 0x9c);\n    *(undefined4 *)(puVar15 + -0x28) = *(undefined4 *)(puVar15 + 0x98);\n    *(undefined4 *)(puVar15 + -0x2c) = *(undefined4 *)(puVar15 + 0x94);\n    *(undefined1 **)(puVar15 + -0x30) = puVar15 + 0x28;\n    *(undefined **)(puVar15 + -0x34) = &UNK_002021e4;\n    FUN_001fc0e0();\n    *(undefined4 *)(puVar15 + 0x94) = *(undefined4 *)(puVar15 + 0x24);\n    *(undefined4 *)(puVar15 + 0x98) = *(undefined4 *)(puVar15 + 0x28);\n    puVar16 = puVar15 + -4;\n    if (*(int *)(puVar15 + 0x34) == 0) {\n      *(undefined4 *)(*(int *)(puVar15 + 0xac) + 0xc) = *(undefined4 *)(puVar15 + 0x38);\n      puVar16 = puVar15 + -4;\n    }\n    break;\n  case 0x6d:\n    *(undefined1 **)(puVar15 + -4) = puVar15 + 0x38;\n    *(undefined4 *)(puVar15 + -8) = *(undefined4 *)(puVar15 + 0xa8);\n    *(undefined4 *)(puVar15 + -0xc) = 2;\n    *(undefined4 *)(puVar15 + -0x10) = 0xc;\n    *(undefined4 *)(puVar15 + -0x14) = 1;\n    *(undefined1 **)(puVar15 + -0x18) = puVar15 + 0x3c;\n    *(undefined4 *)(puVar15 + -0x1c) = *(undefined4 *)(puVar15 + 0xa4);\n    *(undefined4 *)(puVar15 + -0x20) = *(undefined4 *)(puVar15 + 0xa0);\n    *(undefined4 *)(puVar15 + -0x24) = *(undefined4 *)(puVar15 + 0x9c);\n    *(undefined4 *)(puVar15 + -0x28) = *(undefined4 *)(puVar15 + 0x98);\n    *(undefined4 *)(puVar15 + -0x2c) = *(undefined4 *)(puVar15 + 0x94);\n    *(undefined1 **)(puVar15 + -0x30) = puVar15 + 0x28;\n    *(undefined **)(puVar15 + -0x34) = &UNK_002022c4;\n    FUN_001fc0e0();\n    *(undefined4 *)(puVar15 + 0x94) = *(undefined4 *)(puVar15 + 0x24);\n    *(undefined4 *)(puVar15 + 0x98) = *(undefined4 *)(puVar15 + 0x28);\n    puVar16 = puVar15 + -4;\n    if (*(int *)(puVar15 + 0x34) == 0) {\n      *(int *)(*(int *)(puVar15 + 0xac) + 0x10) = *(int *)(puVar15 + 0x38) + -1;\n      puVar16 = puVar15 + -4;\n    }\n    break;\n  case 0x6e:\n    *(undefined **)(puVar15 + -4) = &UNK_00202310;\n    bVar9 = FUN_001f91d0();\n    bVar8 = *(byte *)((int)piVar10 + bVar9 + 0x11d);\n    if (bVar8 == 0) {\n      pcVar4 = *(code **)(*piVar10 + 0x20);\n      bVar8 = bVar9;\n      if (pcVar4 != (code *)PTR_FUN_0038ed98) {\n        *(undefined4 *)(puVar15 + -8) = 0;\n        *(int *)(puVar15 + -0xc) = (int)(char)bVar9;\n        *(int **)(puVar15 + -0x10) = piVar10;\n        *(undefined **)(puVar15 + -0x14) = &UNK_002023ab;\n        bVar8 = (*pcVar4)();\n      }\n      if (bVar8 == 0) goto LAB_00201ab8;\n      *(byte *)((int)piVar10 + bVar9 + 0x11d) = bVar8;\n    }\n    if (bVar8 != 10) goto LAB_00201ab8;\ncode_r0x00202346:\n    *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0x98);\n    *(undefined **)(puVar15 + -0x14) = &UNK_00202355;\n    FUN_001f24d0();\n    *(undefined4 *)(puVar15 + 0x9c) = 0xffffffff;\n    break;\n  case 0x74:\n    *(undefined **)(puVar15 + -4) = &UNK_00201a70;\n    bVar9 = FUN_001f91d0();\n    bVar8 = *(byte *)((int)piVar10 + bVar9 + 0x11d);\n    if (bVar8 == 0) {\n      pcVar4 = *(code **)(*piVar10 + 0x20);\n      bVar8 = bVar9;\n      if (pcVar4 != *(code **)(puVar15 + 0x1c)) {\n        *(undefined4 *)(puVar15 + -8) = 0;\n        *(int *)(puVar15 + -0xc) = (int)(char)bVar9;\n        *(int **)(puVar15 + -0x10) = piVar10;\n        *(undefined **)(puVar15 + -0x14) = &UNK_00201a98;\n        bVar8 = (*pcVar4)();\n      }\n      if (bVar8 == 0) goto LAB_00201ab8;\n      *(byte *)((int)piVar10 + bVar9 + 0x11d) = bVar8;\n    }\n    if (bVar8 == 9) goto code_r0x00202346;\n    goto LAB_00201ab8;\n  case 0x78:\n    *(undefined4 *)(puVar15 + -0xc) = *(undefined4 *)(*(int *)(*(int *)(puVar15 + 0x18) + 8) + 8);\ncode_r0x00201b30:\n    *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0xb0);\n    *(undefined1 **)(puVar15 + -0x14) = puVar15 + 0x38;\n    *(undefined4 *)(puVar15 + -0x18) = *(undefined4 *)(puVar15 + 0xa8);\n    *(undefined4 *)(puVar15 + -0x1c) = *(undefined4 *)(puVar15 + 0xa4);\n    *(undefined4 *)(puVar15 + -0x20) = *(undefined4 *)(puVar15 + 0xa0);\n    *(undefined4 *)(puVar15 + -0x24) = *(undefined4 *)(puVar15 + 0x9c);\n    *(undefined4 *)(puVar15 + -0x28) = *(undefined4 *)(puVar15 + 0x98);\n    *(undefined4 *)(puVar15 + -0x2c) = *(undefined4 *)(puVar15 + 0x94);\n    puVar17 = puVar15 + -0x30;\n    *(undefined1 **)(puVar15 + -0x30) = puVar15 + 0x28;\n    *(undefined **)(puVar15 + -0x34) = &UNK_00201b6c;\n    FUN_00201820();\ncode_r0x00201b6c:\n    *(undefined4 *)(puVar17 + 0xc4) = *(undefined4 *)(puVar17 + 0x54);\n    *(undefined4 *)(puVar17 + 200) = *(undefined4 *)(puVar17 + 0x58);\n    puVar16 = puVar17 + 0x2c;\n  }" (switch "switch") (parenthesized_expression "(bVar9)" (( "(") (identifier "bVar9") () ")")) (compound_statement "{\n  case 0x41:\n    iVar1 = *(int *)(*(int *)(puVar15 + 0x18) + 8);\n    *(undefined4 *)(puVar15 + 0x40) = *(undefined4 *)(iVar1 + 0x2c);\n    *(undefined4 *)(puVar15 + 0x44) = *(undefined4 *)(iVar1 + 0x30);\n    *(undefined4 *)(puVar15 + 0x48) = *(undefined4 *)(iVar1 + 0x34);\n    *(undefined4 *)(puVar15 + 0x4c) = *(undefined4 *)(iVar1 + 0x38);\n    *(undefined4 *)(puVar15 + 0x50) = *(undefined4 *)(iVar1 + 0x3c);\n    *(undefined4 *)(puVar15 + 0x54) = *(undefined4 *)(iVar1 + 0x40);\n    uVar12 = *(undefined4 *)(iVar1 + 0x44);\n    goto code_r0x00201f34;\n  case 0x42:\n    *(undefined1 **)(puVar15 + -0xc) = puVar15 + 0x40;\n    *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0x18);\n    *(undefined **)(puVar15 + -0x14) = &UNK_00201fd1;\n    FUN_001fb050();\n    goto code_r0x00201fd1;\n  case 0x43:\n  case 0x59:\n  case 0x79:\n    *(undefined1 **)(puVar15 + -4) = puVar15 + 0x38;\n    *(undefined4 *)(puVar15 + -8) = *(undefined4 *)(puVar15 + 0xa8);\n    *(undefined4 *)(puVar15 + -0xc) = 4;\n    *(undefined4 *)(puVar15 + -0x10) = 9999;\n    *(undefined4 *)(puVar15 + -0x14) = 0;\n    *(undefined1 **)(puVar15 + -0x18) = puVar15 + 0x3c;\n    *(undefined4 *)(puVar15 + -0x1c) = *(undefined4 *)(puVar15 + 0xa4);\n    *(undefined4 *)(puVar15 + -0x20) = *(undefined4 *)(puVar15 + 0xa0);\n    *(undefined4 *)(puVar15 + -0x24) = *(undefined4 *)(puVar15 + 0x9c);\n    *(undefined4 *)(puVar15 + -0x28) = *(undefined4 *)(puVar15 + 0x98);\n    *(undefined4 *)(puVar15 + -0x2c) = *(undefined4 *)(puVar15 + 0x94);\n    *(undefined1 **)(puVar15 + -0x30) = puVar15 + 0x28;\n    *(undefined **)(puVar15 + -0x34) = &UNK_00202097;\n    FUN_001fc0e0();\n    *(undefined4 *)(puVar15 + 0x94) = *(undefined4 *)(puVar15 + 0x24);\n    *(undefined4 *)(puVar15 + 0x98) = *(undefined4 *)(puVar15 + 0x28);\n    puVar16 = puVar15 + -4;\n    if (*(int *)(puVar15 + 0x34) == 0) {\n      iVar1 = *(int *)(puVar15 + 0x38);\n      iVar13 = iVar1 + -0x76c;\n      if (iVar1 < 0) {\n        iVar13 = iVar1 + 100;\n      }\n      *(int *)(*(int *)(puVar15 + 0xac) + 0x14) = iVar13;\n      puVar16 = puVar15 + -4;\n    }\n    break;\n  case 0x44:\n    *(undefined1 **)(puVar15 + -4) = puVar15 + 0x40;\n    *(undefined **)(puVar15 + -8) = &UNK_002a3ee7;\n    pcVar11 = "%m/%d/%y";\n    goto code_r0x00201ca2;\n  default:\n    goto LAB_00201ab8;\n  case 0x48:\n    *(undefined1 **)(puVar15 + -4) = puVar15 + 0x38;\n    *(undefined4 *)(puVar15 + -8) = *(undefined4 *)(puVar15 + 0xa8);\n    *(undefined4 *)(puVar15 + -0xc) = 2;\n    *(undefined4 *)(puVar15 + -0x10) = 0x17;\n    *(undefined4 *)(puVar15 + -0x14) = 0;\n    goto code_r0x00201ba6;\n  case 0x49:\n    *(undefined1 **)(puVar15 + -4) = puVar15 + 0x38;\n    *(undefined4 *)(puVar15 + -8) = *(undefined4 *)(puVar15 + 0xa8);\n    *(undefined4 *)(puVar15 + -0xc) = 2;\n    *(undefined4 *)(puVar15 + -0x10) = 0xc;\n    *(undefined4 *)(puVar15 + -0x14) = 1;\ncode_r0x00201ba6:\n    *(undefined1 **)(puVar15 + -0x18) = puVar15 + 0x3c;\n    *(undefined4 *)(puVar15 + -0x1c) = *(undefined4 *)(puVar15 + 0xa4);\n    *(undefined4 *)(puVar15 + -0x20) = *(undefined4 *)(puVar15 + 0xa0);\n    *(undefined4 *)(puVar15 + -0x24) = *(undefined4 *)(puVar15 + 0x9c);\n    *(undefined4 *)(puVar15 + -0x28) = *(undefined4 *)(puVar15 + 0x98);\n    *(undefined4 *)(puVar15 + -0x2c) = *(undefined4 *)(puVar15 + 0x94);\n    *(undefined1 **)(puVar15 + -0x30) = puVar15 + 0x28;\n    *(undefined **)(puVar15 + -0x34) = &UNK_00201bd4;\n    FUN_001fc0e0();\n    *(undefined4 *)(puVar15 + 0x94) = *(undefined4 *)(puVar15 + 0x24);\n    *(undefined4 *)(puVar15 + 0x98) = *(undefined4 *)(puVar15 + 0x28);\n    puVar16 = puVar15 + -4;\n    if (*(int *)(puVar15 + 0x34) == 0) {\n      *(undefined4 *)(*(int *)(puVar15 + 0xac) + 8) = *(undefined4 *)(puVar15 + 0x38);\n      puVar16 = puVar15 + -4;\n    }\n    break;\n  case 0x4d:\n    *(undefined1 **)(puVar15 + -4) = puVar15 + 0x38;\n    *(undefined4 *)(puVar15 + -8) = *(undefined4 *)(puVar15 + 0xa8);\n    *(undefined4 *)(puVar15 + -0xc) = 2;\n    *(undefined4 *)(puVar15 + -0x10) = 0x3b;\n    *(undefined4 *)(puVar15 + -0x14) = 0;\n    *(undefined1 **)(puVar15 + -0x18) = puVar15 + 0x3c;\n    *(undefined4 *)(puVar15 + -0x1c) = *(undefined4 *)(puVar15 + 0xa4);\n    *(undefined4 *)(puVar15 + -0x20) = *(undefined4 *)(puVar15 + 0xa0);\n    *(undefined4 *)(puVar15 + -0x24) = *(undefined4 *)(puVar15 + 0x9c);\n    *(undefined4 *)(puVar15 + -0x28) = *(undefined4 *)(puVar15 + 0x98);\n    *(undefined4 *)(puVar15 + -0x2c) = *(undefined4 *)(puVar15 + 0x94);\n    *(undefined1 **)(puVar15 + -0x30) = puVar15 + 0x28;\n    *(undefined **)(puVar15 + -0x34) = &UNK_00201c54;\n    FUN_001fc0e0();\n    *(undefined4 *)(puVar15 + 0x94) = *(undefined4 *)(puVar15 + 0x24);\n    *(undefined4 *)(puVar15 + 0x98) = *(undefined4 *)(puVar15 + 0x28);\n    puVar16 = puVar15 + -4;\n    if (*(int *)(puVar15 + 0x34) == 0) {\n      *(undefined4 *)(*(int *)(puVar15 + 0xac) + 4) = *(undefined4 *)(puVar15 + 0x38);\n      puVar16 = puVar15 + -4;\n    }\n    break;\n  case 0x52:\n    *(undefined1 **)(puVar15 + -4) = puVar15 + 0x40;\n    *(char **)(puVar15 + -8) = "%H:%M:%S";\n    pcVar11 = "%H:%M";\n    goto code_r0x00201ca2;\n  case 0x53:\n    *(undefined1 **)(puVar15 + -4) = puVar15 + 0x38;\n    *(undefined4 *)(puVar15 + -8) = *(undefined4 *)(puVar15 + 0xa8);\n    *(undefined4 *)(puVar15 + -0xc) = 2;\n    *(undefined4 *)(puVar15 + -0x10) = 0x3c;\n    *(undefined4 *)(puVar15 + -0x14) = 0;\n    *(undefined1 **)(puVar15 + -0x18) = puVar15 + 0x3c;\n    *(undefined4 *)(puVar15 + -0x1c) = *(undefined4 *)(puVar15 + 0xa4);\n    *(undefined4 *)(puVar15 + -0x20) = *(undefined4 *)(puVar15 + 0xa0);\n    *(undefined4 *)(puVar15 + -0x24) = *(undefined4 *)(puVar15 + 0x9c);\n    *(undefined4 *)(puVar15 + -0x28) = *(undefined4 *)(puVar15 + 0x98);\n    *(undefined4 *)(puVar15 + -0x2c) = *(undefined4 *)(puVar15 + 0x94);\n    *(undefined1 **)(puVar15 + -0x30) = puVar15 + 0x28;\n    *(undefined **)(puVar15 + -0x34) = &UNK_00201cfc;\n    FUN_001fc0e0();\n    *(undefined4 *)(puVar15 + 0x94) = *(undefined4 *)(puVar15 + 0x24);\n    *(undefined4 *)(puVar15 + 0x98) = *(undefined4 *)(puVar15 + 0x28);\n    puVar16 = puVar15 + -4;\n    if (*(int *)(puVar15 + 0x34) == 0) {\n      **(undefined4 **)(puVar15 + 0xac) = *(undefined4 *)(puVar15 + 0x38);\n      puVar16 = puVar15 + -4;\n    }\n    break;\n  case 0x54:\n    *(undefined1 **)(puVar15 + -4) = puVar15 + 0x40;\n    *(undefined **)(puVar15 + -8) = &UNK_002a3ef6;\n    pcVar11 = "%H:%M:%S";\ncode_r0x00201ca2:\n    *(char **)(puVar15 + -0xc) = pcVar11;\n    *(int **)(puVar15 + -0x10) = piVar10;\n    *(undefined **)(puVar15 + -0x14) = &UNK_00201ca9;\n    FUN_001f94d0();\n    *(undefined1 **)(puVar15 + -0xc) = puVar15 + 0x40;\n    goto code_r0x00201b30;\n  case 0x58:\n    *(undefined4 *)(puVar15 + -0xc) = *(undefined4 *)(*(int *)(*(int *)(puVar15 + 0x18) + 8) + 0x10)\n    ;\n    goto code_r0x00201b30;\n  case 0x5a:\n    *(undefined **)(puVar15 + -4) = &UNK_00201d80;\n    uVar18 = FUN_001f91d0();\n    if ((*(byte *)(piVar10[6] + 1 + (uVar18 & 0xff) * 2) & 1) == 0) goto LAB_00201ab8;\n    *(undefined1 **)(puVar15 + 0x14) = puVar15 + 0x28;\n    puVar2 = puVar15 + 0x38;\n    *(undefined1 **)(puVar15 + -8) = puVar2;\n    *(undefined4 *)(puVar15 + -0xc) = *(undefined4 *)(puVar15 + 0xa8);\n    *(undefined4 *)(puVar15 + -0x10) = 0xe;\n    *(undefined4 *)(puVar15 + -0x14) = *(undefined4 *)(puVar15 + 0x24);\n    puVar3 = puVar15 + 0x40;\n    *(undefined1 **)(puVar15 + -0x18) = puVar3;\n    *(undefined4 *)(puVar15 + -0x1c) = *(undefined4 *)(puVar15 + 0xa4);\n    *(undefined4 *)(puVar15 + -0x20) = *(undefined4 *)(puVar15 + 0xa0);\n    *(undefined4 *)(puVar15 + -0x24) = *(undefined4 *)(puVar15 + 0x9c);\n    *(undefined4 *)(puVar15 + -0x28) = *(undefined4 *)(puVar15 + 0x98);\n    *(undefined4 *)(puVar15 + -0x2c) = *(undefined4 *)(puVar15 + 0x94);\n    *(undefined1 **)(puVar15 + -0x30) = puVar15 + 0x28;\n    *(undefined **)(puVar15 + -0x34) = &UNK_00201ddc;\n    FUN_00201020();\n    *(undefined4 *)(puVar15 + 0x94) = *(undefined4 *)(puVar15 + 0x24);\n    *(undefined4 *)(puVar15 + 0x98) = *(undefined4 *)(puVar15 + 0x28);\n    *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0xc);\n    *(undefined4 *)(puVar15 + -0x14) = *(undefined4 *)(puVar15 + 4);\n    *(undefined **)(puVar15 + -0x18) = &UNK_00201e02;\n    cVar6 = FUN_00200f70();\n    puVar16 = puVar15 + -4;\n    if ((cVar6 != '\0') ||\n       (puVar16 = puVar15 + -4, *(int *)(puVar15 + 0x34) != 0 || *(int *)(puVar15 + 0x3c) != 0))\n    break;\n    *(undefined **)(puVar15 + -8) = &UNK_00201e2b;\n    uVar12 = FUN_001f91d0();\n    iVar1 = piVar10[7];\n    *(undefined4 *)(puVar15 + 0x1c) = uVar12;\n    if ((char)iVar1 == '\0') {\n      *(undefined **)(puVar15 + -8) = &UNK_002023c1;\n      cVar6 = FUN_001f9220();\n    }\n    else {\n      cVar6 = *(char *)((int)piVar10 + 0x4a);\n    }\n    if (puVar15[0x1c] != cVar6) {\n      *(undefined **)(puVar15 + -8) = &UNK_00201e53;\n      uVar12 = FUN_001f91d0();\n      iVar1 = piVar10[7];\n      *(undefined4 *)(puVar15 + 0x1c) = uVar12;\n      if ((char)iVar1 == '\0') {\n        *(undefined **)(puVar15 + -8) = &UNK_002023d2;\n        cVar6 = FUN_001f9220();\n      }\n      else {\n        cVar6 = (char)piVar10[0x12];\n      }\n      puVar16 = puVar15 + -4;\n      if (puVar15[0x1c] != cVar6) break;\n    }\n    *(undefined1 **)(puVar15 + -8) = puVar2;\n    *(undefined4 *)(puVar15 + -0xc) = *(undefined4 *)(puVar15 + 0xa4);\n    *(undefined4 *)(puVar15 + -0x10) = 2;\n    *(undefined4 *)(puVar15 + -0x14) = 0x17;\n    *(undefined4 *)(puVar15 + -0x18) = 0;\n    *(undefined1 **)(puVar15 + -0x1c) = puVar3;\n    *(undefined4 *)(puVar15 + -0x20) = *(undefined4 *)(puVar15 + 0xa0);\n    *(undefined4 *)(puVar15 + -0x24) = *(undefined4 *)(puVar15 + 0x9c);\n    *(undefined4 *)(puVar15 + -0x28) = *(undefined4 *)(puVar15 + 0x98);\n    *(undefined4 *)(puVar15 + -0x2c) = *(undefined4 *)(puVar15 + 0x94);\n    *(undefined4 *)(puVar15 + -0x30) = *(undefined4 *)(puVar15 + 0x90);\n    *(undefined4 *)(puVar15 + -0x34) = *(undefined4 *)(puVar15 + 0x10);\n    *(undefined **)(puVar15 + -0x38) = &UNK_00201eaa;\n    FUN_001fc0e0();\n    *(undefined4 *)(puVar15 + 0x90) = *(undefined4 *)(puVar15 + 0x20);\n    *(undefined4 *)(puVar15 + 0x94) = *(undefined4 *)(puVar15 + 0x24);\n    *(undefined1 **)(puVar15 + -0xc) = puVar2;\n    *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0xa0);\n    *(undefined4 *)(puVar15 + -0x14) = 2;\n    *(undefined4 *)(puVar15 + -0x18) = 0x3b;\n    *(undefined4 *)(puVar15 + -0x1c) = 0;\n    *(undefined1 **)(puVar15 + -0x20) = puVar3;\n    *(undefined4 *)(puVar15 + -0x24) = *(undefined4 *)(puVar15 + 0x9c);\n    *(undefined4 *)(puVar15 + -0x28) = *(undefined4 *)(puVar15 + 0x98);\n    *(undefined4 *)(puVar15 + -0x2c) = *(undefined4 *)(puVar15 + 0x24);\n    *(undefined4 *)(puVar15 + -0x30) = *(undefined4 *)(puVar15 + 0x20);\n    *(undefined4 *)(puVar15 + -0x34) = *(undefined4 *)(puVar15 + 0x8c);\n    puVar17 = puVar15 + -0x38;\n    *(undefined4 *)(puVar15 + -0x38) = *(undefined4 *)(puVar15 + 0xc);\n    *(undefined **)(puVar15 + -0x3c) = &UNK_00201ef2;\n    FUN_001fc0e0();\n    goto code_r0x00201b6c;\n  case 0x61:\n    iVar1 = *(int *)(*(int *)(puVar15 + 0x18) + 8);\n    *(undefined4 *)(puVar15 + 0x40) = *(undefined4 *)(iVar1 + 0x48);\n    *(undefined4 *)(puVar15 + 0x44) = *(undefined4 *)(iVar1 + 0x4c);\n    *(undefined4 *)(puVar15 + 0x48) = *(undefined4 *)(iVar1 + 0x50);\n    *(undefined4 *)(puVar15 + 0x4c) = *(undefined4 *)(iVar1 + 0x54);\n    *(undefined4 *)(puVar15 + 0x50) = *(undefined4 *)(iVar1 + 0x58);\n    *(undefined4 *)(puVar15 + 0x54) = *(undefined4 *)(iVar1 + 0x5c);\n    uVar12 = *(undefined4 *)(iVar1 + 0x60);\ncode_r0x00201f34:\n    *(undefined4 *)(puVar15 + 0x58) = uVar12;\n    *(undefined1 **)(puVar15 + -8) = puVar15 + 0x38;\n    *(undefined4 *)(puVar15 + -0xc) = *(undefined4 *)(puVar15 + 0xa8);\n    *(undefined4 *)(puVar15 + -0x10) = 7;\n    *(undefined1 **)(puVar15 + -0x14) = puVar15 + 0x40;\n    *(undefined1 **)(puVar15 + -0x18) = puVar15 + 0x3c;\n    *(undefined4 *)(puVar15 + -0x1c) = *(undefined4 *)(puVar15 + 0xa4);\n    *(undefined4 *)(puVar15 + -0x20) = *(undefined4 *)(puVar15 + 0xa0);\n    *(undefined4 *)(puVar15 + -0x24) = *(undefined4 *)(puVar15 + 0x9c);\n    *(undefined4 *)(puVar15 + -0x28) = *(undefined4 *)(puVar15 + 0x98);\n    *(undefined4 *)(puVar15 + -0x2c) = *(undefined4 *)(puVar15 + 0x94);\n    *(undefined1 **)(puVar15 + -0x30) = puVar15 + 0x28;\n    *(undefined **)(puVar15 + -0x34) = &UNK_00201f80;\n    FUN_00201020();\n    *(undefined4 *)(puVar15 + 0x94) = *(undefined4 *)(puVar15 + 0x24);\n    *(undefined4 *)(puVar15 + 0x98) = *(undefined4 *)(puVar15 + 0x28);\n    puVar16 = puVar15 + -4;\n    if (*(int *)(puVar15 + 0x34) == 0) {\n      *(undefined4 *)(*(int *)(puVar15 + 0xac) + 0x18) = *(undefined4 *)(puVar15 + 0x38);\n      puVar16 = puVar15 + -4;\n    }\n    break;\n  case 0x62:\n  case 0x68:\n    *(undefined1 **)(puVar15 + -0xc) = puVar15 + 0x40;\n    *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0x18);\n    *(undefined **)(puVar15 + -0x14) = &UNK_00202171;\n    FUN_001fb0c0();\ncode_r0x00201fd1:\n    *(undefined1 **)(puVar15 + -8) = puVar15 + 0x38;\n    *(undefined4 *)(puVar15 + -0xc) = *(undefined4 *)(puVar15 + 0xa8);\n    *(undefined4 *)(puVar15 + -0x10) = 0xc;\n    *(undefined1 **)(puVar15 + -0x14) = puVar15 + 0x40;\n    *(undefined1 **)(puVar15 + -0x18) = puVar15 + 0x3c;\n    *(undefined4 *)(puVar15 + -0x1c) = *(undefined4 *)(puVar15 + 0xa4);\n    *(undefined4 *)(puVar15 + -0x20) = *(undefined4 *)(puVar15 + 0xa0);\n    *(undefined4 *)(puVar15 + -0x24) = *(undefined4 *)(puVar15 + 0x9c);\n    *(undefined4 *)(puVar15 + -0x28) = *(undefined4 *)(puVar15 + 0x98);\n    *(undefined4 *)(puVar15 + -0x2c) = *(undefined4 *)(puVar15 + 0x94);\n    *(undefined1 **)(puVar15 + -0x30) = puVar15 + 0x28;\n    *(undefined **)(puVar15 + -0x34) = &UNK_00202015;\n    FUN_00201020();\n    *(undefined4 *)(puVar15 + 0x94) = *(undefined4 *)(puVar15 + 0x24);\n    *(undefined4 *)(puVar15 + 0x98) = *(undefined4 *)(puVar15 + 0x28);\n    puVar16 = puVar15 + -4;\n    if (*(int *)(puVar15 + 0x34) == 0) {\n      *(undefined4 *)(*(int *)(puVar15 + 0xac) + 0x10) = *(undefined4 *)(puVar15 + 0x38);\n      puVar16 = puVar15 + -4;\n    }\n    break;\n  case 99:\n    *(undefined4 *)(puVar15 + -0xc) = *(undefined4 *)(*(int *)(*(int *)(puVar15 + 0x18) + 8) + 0x18)\n    ;\n    goto code_r0x00201b30;\n  case 100:\n    *(undefined1 **)(puVar15 + -4) = puVar15 + 0x38;\n    *(undefined4 *)(puVar15 + -8) = *(undefined4 *)(puVar15 + 0xa8);\n    *(undefined4 *)(puVar15 + -0xc) = 2;\n    *(undefined4 *)(puVar15 + -0x10) = 0x1f;\n    *(undefined4 *)(puVar15 + -0x14) = 1;\n    goto code_r0x002021b6;\n  case 0x65:\n    *(undefined **)(puVar15 + -4) = &UNK_00202230;\n    uVar18 = FUN_001f91d0();\n    if ((*(byte *)(piVar10[6] + 1 + (uVar18 & 0xff) * 2) & 0x20) == 0) {\n      *(undefined1 **)(puVar15 + -4) = puVar15 + 0x38;\n      *(undefined4 *)(puVar15 + -8) = *(undefined4 *)(puVar15 + 0xa8);\n      *(undefined4 *)(puVar15 + -0xc) = 2;\n      *(undefined4 *)(puVar15 + -0x10) = 0x1f;\n      *(undefined4 *)(puVar15 + -0x14) = 10;\n    }\n    else {\n      *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0x98);\n      *(undefined **)(puVar15 + -0x14) = &UNK_00202250;\n      FUN_001f24d0();\n      *(undefined4 *)(puVar15 + 0x9c) = 0xffffffff;\n      *(undefined1 **)(puVar15 + -4) = puVar15 + 0x38;\n      *(undefined4 *)(puVar15 + -8) = *(undefined4 *)(puVar15 + 0xa8);\n      *(undefined4 *)(puVar15 + -0xc) = 1;\n      *(undefined4 *)(puVar15 + -0x10) = 9;\n      *(undefined4 *)(puVar15 + -0x14) = 1;\n    }\ncode_r0x002021b6:\n    *(undefined1 **)(puVar15 + -0x18) = puVar15 + 0x3c;\n    *(undefined4 *)(puVar15 + -0x1c) = *(undefined4 *)(puVar15 + 0xa4);\n    *(undefined4 *)(puVar15 + -0x20) = *(undefined4 *)(puVar15 + 0xa0);\n    *(undefined4 *)(puVar15 + -0x24) = *(undefined4 *)(puVar15 + 0x9c);\n    *(undefined4 *)(puVar15 + -0x28) = *(undefined4 *)(puVar15 + 0x98);\n    *(undefined4 *)(puVar15 + -0x2c) = *(undefined4 *)(puVar15 + 0x94);\n    *(undefined1 **)(puVar15 + -0x30) = puVar15 + 0x28;\n    *(undefined **)(puVar15 + -0x34) = &UNK_002021e4;\n    FUN_001fc0e0();\n    *(undefined4 *)(puVar15 + 0x94) = *(undefined4 *)(puVar15 + 0x24);\n    *(undefined4 *)(puVar15 + 0x98) = *(undefined4 *)(puVar15 + 0x28);\n    puVar16 = puVar15 + -4;\n    if (*(int *)(puVar15 + 0x34) == 0) {\n      *(undefined4 *)(*(int *)(puVar15 + 0xac) + 0xc) = *(undefined4 *)(puVar15 + 0x38);\n      puVar16 = puVar15 + -4;\n    }\n    break;\n  case 0x6d:\n    *(undefined1 **)(puVar15 + -4) = puVar15 + 0x38;\n    *(undefined4 *)(puVar15 + -8) = *(undefined4 *)(puVar15 + 0xa8);\n    *(undefined4 *)(puVar15 + -0xc) = 2;\n    *(undefined4 *)(puVar15 + -0x10) = 0xc;\n    *(undefined4 *)(puVar15 + -0x14) = 1;\n    *(undefined1 **)(puVar15 + -0x18) = puVar15 + 0x3c;\n    *(undefined4 *)(puVar15 + -0x1c) = *(undefined4 *)(puVar15 + 0xa4);\n    *(undefined4 *)(puVar15 + -0x20) = *(undefined4 *)(puVar15 + 0xa0);\n    *(undefined4 *)(puVar15 + -0x24) = *(undefined4 *)(puVar15 + 0x9c);\n    *(undefined4 *)(puVar15 + -0x28) = *(undefined4 *)(puVar15 + 0x98);\n    *(undefined4 *)(puVar15 + -0x2c) = *(undefined4 *)(puVar15 + 0x94);\n    *(undefined1 **)(puVar15 + -0x30) = puVar15 + 0x28;\n    *(undefined **)(puVar15 + -0x34) = &UNK_002022c4;\n    FUN_001fc0e0();\n    *(undefined4 *)(puVar15 + 0x94) = *(undefined4 *)(puVar15 + 0x24);\n    *(undefined4 *)(puVar15 + 0x98) = *(undefined4 *)(puVar15 + 0x28);\n    puVar16 = puVar15 + -4;\n    if (*(int *)(puVar15 + 0x34) == 0) {\n      *(int *)(*(int *)(puVar15 + 0xac) + 0x10) = *(int *)(puVar15 + 0x38) + -1;\n      puVar16 = puVar15 + -4;\n    }\n    break;\n  case 0x6e:\n    *(undefined **)(puVar15 + -4) = &UNK_00202310;\n    bVar9 = FUN_001f91d0();\n    bVar8 = *(byte *)((int)piVar10 + bVar9 + 0x11d);\n    if (bVar8 == 0) {\n      pcVar4 = *(code **)(*piVar10 + 0x20);\n      bVar8 = bVar9;\n      if (pcVar4 != (code *)PTR_FUN_0038ed98) {\n        *(undefined4 *)(puVar15 + -8) = 0;\n        *(int *)(puVar15 + -0xc) = (int)(char)bVar9;\n        *(int **)(puVar15 + -0x10) = piVar10;\n        *(undefined **)(puVar15 + -0x14) = &UNK_002023ab;\n        bVar8 = (*pcVar4)();\n      }\n      if (bVar8 == 0) goto LAB_00201ab8;\n      *(byte *)((int)piVar10 + bVar9 + 0x11d) = bVar8;\n    }\n    if (bVar8 != 10) goto LAB_00201ab8;\ncode_r0x00202346:\n    *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0x98);\n    *(undefined **)(puVar15 + -0x14) = &UNK_00202355;\n    FUN_001f24d0();\n    *(undefined4 *)(puVar15 + 0x9c) = 0xffffffff;\n    break;\n  case 0x74:\n    *(undefined **)(puVar15 + -4) = &UNK_00201a70;\n    bVar9 = FUN_001f91d0();\n    bVar8 = *(byte *)((int)piVar10 + bVar9 + 0x11d);\n    if (bVar8 == 0) {\n      pcVar4 = *(code **)(*piVar10 + 0x20);\n      bVar8 = bVar9;\n      if (pcVar4 != *(code **)(puVar15 + 0x1c)) {\n        *(undefined4 *)(puVar15 + -8) = 0;\n        *(int *)(puVar15 + -0xc) = (int)(char)bVar9;\n        *(int **)(puVar15 + -0x10) = piVar10;\n        *(undefined **)(puVar15 + -0x14) = &UNK_00201a98;\n        bVar8 = (*pcVar4)();\n      }\n      if (bVar8 == 0) goto LAB_00201ab8;\n      *(byte *)((int)piVar10 + bVar9 + 0x11d) = bVar8;\n    }\n    if (bVar8 == 9) goto code_r0x00202346;\n    goto LAB_00201ab8;\n  case 0x78:\n    *(undefined4 *)(puVar15 + -0xc) = *(undefined4 *)(*(int *)(*(int *)(puVar15 + 0x18) + 8) + 8);\ncode_r0x00201b30:\n    *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0xb0);\n    *(undefined1 **)(puVar15 + -0x14) = puVar15 + 0x38;\n    *(undefined4 *)(puVar15 + -0x18) = *(undefined4 *)(puVar15 + 0xa8);\n    *(undefined4 *)(puVar15 + -0x1c) = *(undefined4 *)(puVar15 + 0xa4);\n    *(undefined4 *)(puVar15 + -0x20) = *(undefined4 *)(puVar15 + 0xa0);\n    *(undefined4 *)(puVar15 + -0x24) = *(undefined4 *)(puVar15 + 0x9c);\n    *(undefined4 *)(puVar15 + -0x28) = *(undefined4 *)(puVar15 + 0x98);\n    *(undefined4 *)(puVar15 + -0x2c) = *(undefined4 *)(puVar15 + 0x94);\n    puVar17 = puVar15 + -0x30;\n    *(undefined1 **)(puVar15 + -0x30) = puVar15 + 0x28;\n    *(undefined **)(puVar15 + -0x34) = &UNK_00201b6c;\n    FUN_00201820();\ncode_r0x00201b6c:\n    *(undefined4 *)(puVar17 + 0xc4) = *(undefined4 *)(puVar17 + 0x54);\n    *(undefined4 *)(puVar17 + 200) = *(undefined4 *)(puVar17 + 0x58);\n    puVar16 = puVar17 + 0x2c;\n  }" ({ "{") (case_statement "case 0x41:\n    iVar1 = *(int *)(*(int *)(puVar15 + 0x18) + 8);\n    *(undefined4 *)(puVar15 + 0x40) = *(undefined4 *)(iVar1 + 0x2c);\n    *(undefined4 *)(puVar15 + 0x44) = *(undefined4 *)(iVar1 + 0x30);\n    *(undefined4 *)(puVar15 + 0x48) = *(undefined4 *)(iVar1 + 0x34);\n    *(undefined4 *)(puVar15 + 0x4c) = *(undefined4 *)(iVar1 + 0x38);\n    *(undefined4 *)(puVar15 + 0x50) = *(undefined4 *)(iVar1 + 0x3c);\n    *(undefined4 *)(puVar15 + 0x54) = *(undefined4 *)(iVar1 + 0x40);\n    uVar12 = *(undefined4 *)(iVar1 + 0x44);\n    goto code_r0x00201f34;" (case "case") (number_literal "0x41") (: ":") (expression_statement "iVar1 = *(int *)(*(int *)(puVar15 + 0x18) + 8);" (assignment_expression "iVar1 = *(int *)(*(int *)(puVar15 + 0x18) + 8)" (identifier "iVar1") (= "=") (pointer_expression "*(int *)(*(int *)(puVar15 + 0x18) + 8)" (* "*") (cast_expression "(int *)(*(int *)(puVar15 + 0x18) + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(puVar15 + 0x18) + 8)" (( "(") (binary_expression "*(int *)(puVar15 + 0x18) + 8" (pointer_expression "*(int *)(puVar15 + 0x18)" (* "*") (cast_expression "(int *)(puVar15 + 0x18)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + 0x18)" (( "(") (binary_expression "puVar15 + 0x18" (identifier "puVar15") (+ "+") (number_literal "0x18")) () ")")))) (+ "+") (number_literal "8")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(puVar15 + 0x40) = *(undefined4 *)(iVar1 + 0x2c);" (assignment_expression "*(undefined4 *)(puVar15 + 0x40) = *(undefined4 *)(iVar1 + 0x2c)" (pointer_expression "*(undefined4 *)(puVar15 + 0x40)" (* "*") (cast_expression "(undefined4 *)(puVar15 + 0x40)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + 0x40)" (( "(") (binary_expression "puVar15 + 0x40" (identifier "puVar15") (+ "+") (number_literal "0x40")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(iVar1 + 0x2c)" (* "*") (cast_expression "(undefined4 *)(iVar1 + 0x2c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar1 + 0x2c)" (( "(") (binary_expression "iVar1 + 0x2c" (identifier "iVar1") (+ "+") (number_literal "0x2c")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(puVar15 + 0x44) = *(undefined4 *)(iVar1 + 0x30);" (assignment_expression "*(undefined4 *)(puVar15 + 0x44) = *(undefined4 *)(iVar1 + 0x30)" (pointer_expression "*(undefined4 *)(puVar15 + 0x44)" (* "*") (cast_expression "(undefined4 *)(puVar15 + 0x44)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + 0x44)" (( "(") (binary_expression "puVar15 + 0x44" (identifier "puVar15") (+ "+") (number_literal "0x44")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(iVar1 + 0x30)" (* "*") (cast_expression "(undefined4 *)(iVar1 + 0x30)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar1 + 0x30)" (( "(") (binary_expression "iVar1 + 0x30" (identifier "iVar1") (+ "+") (number_literal "0x30")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(puVar15 + 0x48) = *(undefined4 *)(iVar1 + 0x34);" (assignment_expression "*(undefined4 *)(puVar15 + 0x48) = *(undefined4 *)(iVar1 + 0x34)" (pointer_expression "*(undefined4 *)(puVar15 + 0x48)" (* "*") (cast_expression "(undefined4 *)(puVar15 + 0x48)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + 0x48)" (( "(") (binary_expression "puVar15 + 0x48" (identifier "puVar15") (+ "+") (number_literal "0x48")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(iVar1 + 0x34)" (* "*") (cast_expression "(undefined4 *)(iVar1 + 0x34)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar1 + 0x34)" (( "(") (binary_expression "iVar1 + 0x34" (identifier "iVar1") (+ "+") (number_literal "0x34")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(puVar15 + 0x4c) = *(undefined4 *)(iVar1 + 0x38);" (assignment_expression "*(undefined4 *)(puVar15 + 0x4c) = *(undefined4 *)(iVar1 + 0x38)" (pointer_expression "*(undefined4 *)(puVar15 + 0x4c)" (* "*") (cast_expression "(undefined4 *)(puVar15 + 0x4c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + 0x4c)" (( "(") (binary_expression "puVar15 + 0x4c" (identifier "puVar15") (+ "+") (number_literal "0x4c")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(iVar1 + 0x38)" (* "*") (cast_expression "(undefined4 *)(iVar1 + 0x38)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar1 + 0x38)" (( "(") (binary_expression "iVar1 + 0x38" (identifier "iVar1") (+ "+") (number_literal "0x38")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(puVar15 + 0x50) = *(undefined4 *)(iVar1 + 0x3c);" (assignment_expression "*(undefined4 *)(puVar15 + 0x50) = *(undefined4 *)(iVar1 + 0x3c)" (pointer_expression "*(undefined4 *)(puVar15 + 0x50)" (* "*") (cast_expression "(undefined4 *)(puVar15 + 0x50)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + 0x50)" (( "(") (binary_expression "puVar15 + 0x50" (identifier "puVar15") (+ "+") (number_literal "0x50")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(iVar1 + 0x3c)" (* "*") (cast_expression "(undefined4 *)(iVar1 + 0x3c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar1 + 0x3c)" (( "(") (binary_expression "iVar1 + 0x3c" (identifier "iVar1") (+ "+") (number_literal "0x3c")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(puVar15 + 0x54) = *(undefined4 *)(iVar1 + 0x40);" (assignment_expression "*(undefined4 *)(puVar15 + 0x54) = *(undefined4 *)(iVar1 + 0x40)" (pointer_expression "*(undefined4 *)(puVar15 + 0x54)" (* "*") (cast_expression "(undefined4 *)(puVar15 + 0x54)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + 0x54)" (( "(") (binary_expression "puVar15 + 0x54" (identifier "puVar15") (+ "+") (number_literal "0x54")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(iVar1 + 0x40)" (* "*") (cast_expression "(undefined4 *)(iVar1 + 0x40)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar1 + 0x40)" (( "(") (binary_expression "iVar1 + 0x40" (identifier "iVar1") (+ "+") (number_literal "0x40")) () ")"))))) (; ";")) (expression_statement "uVar12 = *(undefined4 *)(iVar1 + 0x44);" (assignment_expression "uVar12 = *(undefined4 *)(iVar1 + 0x44)" (identifier "uVar12") (= "=") (pointer_expression "*(undefined4 *)(iVar1 + 0x44)" (* "*") (cast_expression "(undefined4 *)(iVar1 + 0x44)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar1 + 0x44)" (( "(") (binary_expression "iVar1 + 0x44" (identifier "iVar1") (+ "+") (number_literal "0x44")) () ")"))))) (; ";")) (goto_statement "goto code_r0x00201f34;" (goto "goto") (statement_identifier "code_r0x00201f34") (; ";"))) (case_statement "case 0x42:\n    *(undefined1 **)(puVar15 + -0xc) = puVar15 + 0x40;\n    *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0x18);\n    *(undefined **)(puVar15 + -0x14) = &UNK_00201fd1;\n    FUN_001fb050();\n    goto code_r0x00201fd1;" (case "case") (number_literal "0x42") (: ":") (expression_statement "*(undefined1 **)(puVar15 + -0xc) = puVar15 + 0x40;" (assignment_expression "*(undefined1 **)(puVar15 + -0xc) = puVar15 + 0x40" (pointer_expression "*(undefined1 **)(puVar15 + -0xc)" (* "*") (cast_expression "(undefined1 **)(puVar15 + -0xc)" (( "(") (type_descriptor "undefined1 **" (type_identifier "undefined1") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar15 + -0xc)" (( "(") (binary_expression "puVar15 + -0xc" (identifier "puVar15") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (binary_expression "puVar15 + 0x40" (identifier "puVar15") (+ "+") (number_literal "0x40"))) (; ";")) (expression_statement "*(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0x18);" (assignment_expression "*(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0x18)" (pointer_expression "*(undefined4 *)(puVar15 + -0x10)" (* "*") (cast_expression "(undefined4 *)(puVar15 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -0x10)" (( "(") (binary_expression "puVar15 + -0x10" (identifier "puVar15") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(puVar15 + 0x18)" (* "*") (cast_expression "(undefined4 *)(puVar15 + 0x18)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + 0x18)" (( "(") (binary_expression "puVar15 + 0x18" (identifier "puVar15") (+ "+") (number_literal "0x18")) () ")"))))) (; ";")) (expression_statement "*(undefined **)(puVar15 + -0x14) = &UNK_00201fd1;" (assignment_expression "*(undefined **)(puVar15 + -0x14) = &UNK_00201fd1" (pointer_expression "*(undefined **)(puVar15 + -0x14)" (* "*") (cast_expression "(undefined **)(puVar15 + -0x14)" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar15 + -0x14)" (( "(") (binary_expression "puVar15 + -0x14" (identifier "puVar15") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (pointer_expression "&UNK_00201fd1" (& "&") (identifier "UNK_00201fd1"))) (; ";")) (expression_statement "FUN_001fb050();" (call_expression "FUN_001fb050()" (identifier "FUN_001fb050") (argument_list "()" (( "(") () ")"))) (; ";")) (goto_statement "goto code_r0x00201fd1;" (goto "goto") (statement_identifier "code_r0x00201fd1") (; ";"))) (case_statement "case 0x43:" (case "case") (number_literal "0x43") (: ":")) (case_statement "case 0x59:" (case "case") (number_literal "0x59") (: ":")) (case_statement "case 0x79:\n    *(undefined1 **)(puVar15 + -4) = puVar15 + 0x38;\n    *(undefined4 *)(puVar15 + -8) = *(undefined4 *)(puVar15 + 0xa8);\n    *(undefined4 *)(puVar15 + -0xc) = 4;\n    *(undefined4 *)(puVar15 + -0x10) = 9999;\n    *(undefined4 *)(puVar15 + -0x14) = 0;\n    *(undefined1 **)(puVar15 + -0x18) = puVar15 + 0x3c;\n    *(undefined4 *)(puVar15 + -0x1c) = *(undefined4 *)(puVar15 + 0xa4);\n    *(undefined4 *)(puVar15 + -0x20) = *(undefined4 *)(puVar15 + 0xa0);\n    *(undefined4 *)(puVar15 + -0x24) = *(undefined4 *)(puVar15 + 0x9c);\n    *(undefined4 *)(puVar15 + -0x28) = *(undefined4 *)(puVar15 + 0x98);\n    *(undefined4 *)(puVar15 + -0x2c) = *(undefined4 *)(puVar15 + 0x94);\n    *(undefined1 **)(puVar15 + -0x30) = puVar15 + 0x28;\n    *(undefined **)(puVar15 + -0x34) = &UNK_00202097;\n    FUN_001fc0e0();\n    *(undefined4 *)(puVar15 + 0x94) = *(undefined4 *)(puVar15 + 0x24);\n    *(undefined4 *)(puVar15 + 0x98) = *(undefined4 *)(puVar15 + 0x28);\n    puVar16 = puVar15 + -4;\n    if (*(int *)(puVar15 + 0x34) == 0) {\n      iVar1 = *(int *)(puVar15 + 0x38);\n      iVar13 = iVar1 + -0x76c;\n      if (iVar1 < 0) {\n        iVar13 = iVar1 + 100;\n      }\n      *(int *)(*(int *)(puVar15 + 0xac) + 0x14) = iVar13;\n      puVar16 = puVar15 + -4;\n    }\n    break;" (case "case") (number_literal "0x79") (: ":") (expression_statement "*(undefined1 **)(puVar15 + -4) = puVar15 + 0x38;" (assignment_expression "*(undefined1 **)(puVar15 + -4) = puVar15 + 0x38" (pointer_expression "*(undefined1 **)(puVar15 + -4)" (* "*") (cast_expression "(undefined1 **)(puVar15 + -4)" (( "(") (type_descriptor "undefined1 **" (type_identifier "undefined1") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar15 + -4)" (( "(") (binary_expression "puVar15 + -4" (identifier "puVar15") (+ "+") (number_literal "-4")) () ")")))) (= "=") (binary_expression "puVar15 + 0x38" (identifier "puVar15") (+ "+") (number_literal "0x38"))) (; ";")) (expression_statement "*(undefined4 *)(puVar15 + -8) = *(undefined4 *)(puVar15 + 0xa8);" (assignment_expression "*(undefined4 *)(puVar15 + -8) = *(undefined4 *)(puVar15 + 0xa8)" (pointer_expression "*(undefined4 *)(puVar15 + -8)" (* "*") (cast_expression "(undefined4 *)(puVar15 + -8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -8)" (( "(") (binary_expression "puVar15 + -8" (identifier "puVar15") (+ "+") (number_literal "-8")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(puVar15 + 0xa8)" (* "*") (cast_expression "(undefined4 *)(puVar15 + 0xa8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + 0xa8)" (( "(") (binary_expression "puVar15 + 0xa8" (identifier "puVar15") (+ "+") (number_literal "0xa8")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(puVar15 + -0xc) = 4;" (assignment_expression "*(undefined4 *)(puVar15 + -0xc) = 4" (pointer_expression "*(undefined4 *)(puVar15 + -0xc)" (* "*") (cast_expression "(undefined4 *)(puVar15 + -0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -0xc)" (( "(") (binary_expression "puVar15 + -0xc" (identifier "puVar15") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (number_literal "4")) (; ";")) (expression_statement "*(undefined4 *)(puVar15 + -0x10) = 9999;" (assignment_expression "*(undefined4 *)(puVar15 + -0x10) = 9999" (pointer_expression "*(undefined4 *)(puVar15 + -0x10)" (* "*") (cast_expression "(undefined4 *)(puVar15 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -0x10)" (( "(") (binary_expression "puVar15 + -0x10" (identifier "puVar15") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (number_literal "9999")) (; ";")) (expression_statement "*(undefined4 *)(puVar15 + -0x14) = 0;" (assignment_expression "*(undefined4 *)(puVar15 + -0x14) = 0" (pointer_expression "*(undefined4 *)(puVar15 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar15 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -0x14)" (( "(") (binary_expression "puVar15 + -0x14" (identifier "puVar15") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined1 **)(puVar15 + -0x18) = puVar15 + 0x3c;" (assignment_expression "*(undefined1 **)(puVar15 + -0x18) = puVar15 + 0x3c" (pointer_expression "*(undefined1 **)(puVar15 + -0x18)" (* "*") (cast_expression "(undefined1 **)(puVar15 + -0x18)" (( "(") (type_descriptor "undefined1 **" (type_identifier "undefined1") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar15 + -0x18)" (( "(") (binary_expression "puVar15 + -0x18" (identifier "puVar15") (+ "+") (number_literal "-0x18")) () ")")))) (= "=") (binary_expression "puVar15 + 0x3c" (identifier "puVar15") (+ "+") (number_literal "0x3c"))) (; ";")) (expression_statement "*(undefined4 *)(puVar15 + -0x1c) = *(undefined4 *)(puVar15 + 0xa4);" (assignment_expression "*(undefined4 *)(puVar15 + -0x1c) = *(undefined4 *)(puVar15 + 0xa4)" (pointer_expression "*(undefined4 *)(puVar15 + -0x1c)" (* "*") (cast_expression "(undefined4 *)(puVar15 + -0x1c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -0x1c)" (( "(") (binary_expression "puVar15 + -0x1c" (identifier "puVar15") (+ "+") (number_literal "-0x1c")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(puVar15 + 0xa4)" (* "*") (cast_expression "(undefined4 *)(puVar15 + 0xa4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + 0xa4)" (( "(") (binary_expression "puVar15 + 0xa4" (identifier "puVar15") (+ "+") (number_literal "0xa4")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(puVar15 + -0x20) = *(undefined4 *)(puVar15 + 0xa0);" (assignment_expression "*(undefined4 *)(puVar15 + -0x20) = *(undefined4 *)(puVar15 + 0xa0)" (pointer_expression "*(undefined4 *)(puVar15 + -0x20)" (* "*") (cast_expression "(undefined4 *)(puVar15 + -0x20)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -0x20)" (( "(") (binary_expression "puVar15 + -0x20" (identifier "puVar15") (+ "+") (number_literal "-0x20")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(puVar15 + 0xa0)" (* "*") (cast_expression "(undefined4 *)(puVar15 + 0xa0)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + 0xa0)" (( "(") (binary_expression "puVar15 + 0xa0" (identifier "puVar15") (+ "+") (number_literal "0xa0")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(puVar15 + -0x24) = *(undefined4 *)(puVar15 + 0x9c);" (assignment_expression "*(undefined4 *)(puVar15 + -0x24) = *(undefined4 *)(puVar15 + 0x9c)" (pointer_expression "*(undefined4 *)(puVar15 + -0x24)" (* "*") (cast_expression "(undefined4 *)(puVar15 + -0x24)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -0x24)" (( "(") (binary_expression "puVar15 + -0x24" (identifier "puVar15") (+ "+") (number_literal "-0x24")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(puVar15 + 0x9c)" (* "*") (cast_expression "(undefined4 *)(puVar15 + 0x9c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + 0x9c)" (( "(") (binary_expression "puVar15 + 0x9c" (identifier "puVar15") (+ "+") (number_literal "0x9c")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(puVar15 + -0x28) = *(undefined4 *)(puVar15 + 0x98);" (assignment_expression "*(undefined4 *)(puVar15 + -0x28) = *(undefined4 *)(puVar15 + 0x98)" (pointer_expression "*(undefined4 *)(puVar15 + -0x28)" (* "*") (cast_expression "(undefined4 *)(puVar15 + -0x28)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -0x28)" (( "(") (binary_expression "puVar15 + -0x28" (identifier "puVar15") (+ "+") (number_literal "-0x28")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(puVar15 + 0x98)" (* "*") (cast_expression "(undefined4 *)(puVar15 + 0x98)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + 0x98)" (( "(") (binary_expression "puVar15 + 0x98" (identifier "puVar15") (+ "+") (number_literal "0x98")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(puVar15 + -0x2c) = *(undefined4 *)(puVar15 + 0x94);" (assignment_expression "*(undefined4 *)(puVar15 + -0x2c) = *(undefined4 *)(puVar15 + 0x94)" (pointer_expression "*(undefined4 *)(puVar15 + -0x2c)" (* "*") (cast_expression "(undefined4 *)(puVar15 + -0x2c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -0x2c)" (( "(") (binary_expression "puVar15 + -0x2c" (identifier "puVar15") (+ "+") (number_literal "-0x2c")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(puVar15 + 0x94)" (* "*") (cast_expression "(undefined4 *)(puVar15 + 0x94)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + 0x94)" (( "(") (binary_expression "puVar15 + 0x94" (identifier "puVar15") (+ "+") (number_literal "0x94")) () ")"))))) (; ";")) (expression_statement "*(undefined1 **)(puVar15 + -0x30) = puVar15 + 0x28;" (assignment_expression "*(undefined1 **)(puVar15 + -0x30) = puVar15 + 0x28" (pointer_expression "*(undefined1 **)(puVar15 + -0x30)" (* "*") (cast_expression "(undefined1 **)(puVar15 + -0x30)" (( "(") (type_descriptor "undefined1 **" (type_identifier "undefined1") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar15 + -0x30)" (( "(") (binary_expression "puVar15 + -0x30" (identifier "puVar15") (+ "+") (number_literal "-0x30")) () ")")))) (= "=") (binary_expression "puVar15 + 0x28" (identifier "puVar15") (+ "+") (number_literal "0x28"))) (; ";")) (expression_statement "*(undefined **)(puVar15 + -0x34) = &UNK_00202097;" (assignment_expression "*(undefined **)(puVar15 + -0x34) = &UNK_00202097" (pointer_expression "*(undefined **)(puVar15 + -0x34)" (* "*") (cast_expression "(undefined **)(puVar15 + -0x34)" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar15 + -0x34)" (( "(") (binary_expression "puVar15 + -0x34" (identifier "puVar15") (+ "+") (number_literal "-0x34")) () ")")))) (= "=") (pointer_expression "&UNK_00202097" (& "&") (identifier "UNK_00202097"))) (; ";")) (expression_statement "FUN_001fc0e0();" (call_expression "FUN_001fc0e0()" (identifier "FUN_001fc0e0") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "*(undefined4 *)(puVar15 + 0x94) = *(undefined4 *)(puVar15 + 0x24);" (assignment_expression "*(undefined4 *)(puVar15 + 0x94) = *(undefined4 *)(puVar15 + 0x24)" (pointer_expression "*(undefined4 *)(puVar15 + 0x94)" (* "*") (cast_expression "(undefined4 *)(puVar15 + 0x94)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + 0x94)" (( "(") (binary_expression "puVar15 + 0x94" (identifier "puVar15") (+ "+") (number_literal "0x94")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(puVar15 + 0x24)" (* "*") (cast_expression "(undefined4 *)(puVar15 + 0x24)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + 0x24)" (( "(") (binary_expression "puVar15 + 0x24" (identifier "puVar15") (+ "+") (number_literal "0x24")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(puVar15 + 0x98) = *(undefined4 *)(puVar15 + 0x28);" (assignment_expression "*(undefined4 *)(puVar15 + 0x98) = *(undefined4 *)(puVar15 + 0x28)" (pointer_expression "*(undefined4 *)(puVar15 + 0x98)" (* "*") (cast_expression "(undefined4 *)(puVar15 + 0x98)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + 0x98)" (( "(") (binary_expression "puVar15 + 0x98" (identifier "puVar15") (+ "+") (number_literal "0x98")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(puVar15 + 0x28)" (* "*") (cast_expression "(undefined4 *)(puVar15 + 0x28)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + 0x28)" (( "(") (binary_expression "puVar15 + 0x28" (identifier "puVar15") (+ "+") (number_literal "0x28")) () ")"))))) (; ";")) (expression_statement "puVar16 = puVar15 + -4;" (assignment_expression "puVar16 = puVar15 + -4" (identifier "puVar16") (= "=") (binary_expression "puVar15 + -4" (identifier "puVar15") (+ "+") (number_literal "-4"))) (; ";")) (if_statement "if (*(int *)(puVar15 + 0x34) == 0) {\n      iVar1 = *(int *)(puVar15 + 0x38);\n      iVar13 = iVar1 + -0x76c;\n      if (iVar1 < 0) {\n        iVar13 = iVar1 + 100;\n      }\n      *(int *)(*(int *)(puVar15 + 0xac) + 0x14) = iVar13;\n      puVar16 = puVar15 + -4;\n    }" (if "if") (parenthesized_expression "(*(int *)(puVar15 + 0x34) == 0)" (( "(") (binary_expression "*(int *)(puVar15 + 0x34) == 0" (pointer_expression "*(int *)(puVar15 + 0x34)" (* "*") (cast_expression "(int *)(puVar15 + 0x34)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + 0x34)" (( "(") (binary_expression "puVar15 + 0x34" (identifier "puVar15") (+ "+") (number_literal "0x34")) () ")")))) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      iVar1 = *(int *)(puVar15 + 0x38);\n      iVar13 = iVar1 + -0x76c;\n      if (iVar1 < 0) {\n        iVar13 = iVar1 + 100;\n      }\n      *(int *)(*(int *)(puVar15 + 0xac) + 0x14) = iVar13;\n      puVar16 = puVar15 + -4;\n    }" ({ "{") (expression_statement "iVar1 = *(int *)(puVar15 + 0x38);" (assignment_expression "iVar1 = *(int *)(puVar15 + 0x38)" (identifier "iVar1") (= "=") (pointer_expression "*(int *)(puVar15 + 0x38)" (* "*") (cast_expression "(int *)(puVar15 + 0x38)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + 0x38)" (( "(") (binary_expression "puVar15 + 0x38" (identifier "puVar15") (+ "+") (number_literal "0x38")) () ")"))))) (; ";")) (expression_statement "iVar13 = iVar1 + -0x76c;" (assignment_expression "iVar13 = iVar1 + -0x76c" (identifier "iVar13") (= "=") (binary_expression "iVar1 + -0x76c" (identifier "iVar1") (+ "+") (number_literal "-0x76c"))) (; ";")) (if_statement "if (iVar1 < 0) {\n        iVar13 = iVar1 + 100;\n      }" (if "if") (parenthesized_expression "(iVar1 < 0)" (( "(") (binary_expression "iVar1 < 0" (identifier "iVar1") (< "<") (number_literal "0")) () ")")) (compound_statement "{\n        iVar13 = iVar1 + 100;\n      }" ({ "{") (expression_statement "iVar13 = iVar1 + 100;" (assignment_expression "iVar13 = iVar1 + 100" (identifier "iVar13") (= "=") (binary_expression "iVar1 + 100" (identifier "iVar1") (+ "+") (number_literal "100"))) (; ";")) (} "}"))) (expression_statement "*(int *)(*(int *)(puVar15 + 0xac) + 0x14) = iVar13;" (assignment_expression "*(int *)(*(int *)(puVar15 + 0xac) + 0x14) = iVar13" (pointer_expression "*(int *)(*(int *)(puVar15 + 0xac) + 0x14)" (* "*") (cast_expression "(int *)(*(int *)(puVar15 + 0xac) + 0x14)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(puVar15 + 0xac) + 0x14)" (( "(") (binary_expression "*(int *)(puVar15 + 0xac) + 0x14" (pointer_expression "*(int *)(puVar15 + 0xac)" (* "*") (cast_expression "(int *)(puVar15 + 0xac)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + 0xac)" (( "(") (binary_expression "puVar15 + 0xac" (identifier "puVar15") (+ "+") (number_literal "0xac")) () ")")))) (+ "+") (number_literal "0x14")) () ")")))) (= "=") (identifier "iVar13")) (; ";")) (expression_statement "puVar16 = puVar15 + -4;" (assignment_expression "puVar16 = puVar15 + -4" (identifier "puVar16") (= "=") (binary_expression "puVar15 + -4" (identifier "puVar15") (+ "+") (number_literal "-4"))) (; ";")) (} "}"))) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 0x44:\n    *(undefined1 **)(puVar15 + -4) = puVar15 + 0x40;\n    *(undefined **)(puVar15 + -8) = &UNK_002a3ee7;\n    pcVar11 = "%m/%d/%y";\n    goto code_r0x00201ca2;" (case "case") (number_literal "0x44") (: ":") (expression_statement "*(undefined1 **)(puVar15 + -4) = puVar15 + 0x40;" (assignment_expression "*(undefined1 **)(puVar15 + -4) = puVar15 + 0x40" (pointer_expression "*(undefined1 **)(puVar15 + -4)" (* "*") (cast_expression "(undefined1 **)(puVar15 + -4)" (( "(") (type_descriptor "undefined1 **" (type_identifier "undefined1") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar15 + -4)" (( "(") (binary_expression "puVar15 + -4" (identifier "puVar15") (+ "+") (number_literal "-4")) () ")")))) (= "=") (binary_expression "puVar15 + 0x40" (identifier "puVar15") (+ "+") (number_literal "0x40"))) (; ";")) (expression_statement "*(undefined **)(puVar15 + -8) = &UNK_002a3ee7;" (assignment_expression "*(undefined **)(puVar15 + -8) = &UNK_002a3ee7" (pointer_expression "*(undefined **)(puVar15 + -8)" (* "*") (cast_expression "(undefined **)(puVar15 + -8)" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar15 + -8)" (( "(") (binary_expression "puVar15 + -8" (identifier "puVar15") (+ "+") (number_literal "-8")) () ")")))) (= "=") (pointer_expression "&UNK_002a3ee7" (& "&") (identifier "UNK_002a3ee7"))) (; ";")) (expression_statement "pcVar11 = "%m/%d/%y";" (assignment_expression "pcVar11 = "%m/%d/%y"" (identifier "pcVar11") (= "=") (string_literal ""%m/%d/%y"" (" """) (string_content "%m/%d/%y") (" """))) (; ";")) (goto_statement "goto code_r0x00201ca2;" (goto "goto") (statement_identifier "code_r0x00201ca2") (; ";"))) (case_statement "default:\n    goto LAB_00201ab8;" (default "default") (: ":") (goto_statement "goto LAB_00201ab8;" (goto "goto") (statement_identifier "LAB_00201ab8") (; ";"))) (case_statement "case 0x48:\n    *(undefined1 **)(puVar15 + -4) = puVar15 + 0x38;\n    *(undefined4 *)(puVar15 + -8) = *(undefined4 *)(puVar15 + 0xa8);\n    *(undefined4 *)(puVar15 + -0xc) = 2;\n    *(undefined4 *)(puVar15 + -0x10) = 0x17;\n    *(undefined4 *)(puVar15 + -0x14) = 0;\n    goto code_r0x00201ba6;" (case "case") (number_literal "0x48") (: ":") (expression_statement "*(undefined1 **)(puVar15 + -4) = puVar15 + 0x38;" (assignment_expression "*(undefined1 **)(puVar15 + -4) = puVar15 + 0x38" (pointer_expression "*(undefined1 **)(puVar15 + -4)" (* "*") (cast_expression "(undefined1 **)(puVar15 + -4)" (( "(") (type_descriptor "undefined1 **" (type_identifier "undefined1") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar15 + -4)" (( "(") (binary_expression "puVar15 + -4" (identifier "puVar15") (+ "+") (number_literal "-4")) () ")")))) (= "=") (binary_expression "puVar15 + 0x38" (identifier "puVar15") (+ "+") (number_literal "0x38"))) (; ";")) (expression_statement "*(undefined4 *)(puVar15 + -8) = *(undefined4 *)(puVar15 + 0xa8);" (assignment_expression "*(undefined4 *)(puVar15 + -8) = *(undefined4 *)(puVar15 + 0xa8)" (pointer_expression "*(undefined4 *)(puVar15 + -8)" (* "*") (cast_expression "(undefined4 *)(puVar15 + -8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -8)" (( "(") (binary_expression "puVar15 + -8" (identifier "puVar15") (+ "+") (number_literal "-8")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(puVar15 + 0xa8)" (* "*") (cast_expression "(undefined4 *)(puVar15 + 0xa8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + 0xa8)" (( "(") (binary_expression "puVar15 + 0xa8" (identifier "puVar15") (+ "+") (number_literal "0xa8")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(puVar15 + -0xc) = 2;" (assignment_expression "*(undefined4 *)(puVar15 + -0xc) = 2" (pointer_expression "*(undefined4 *)(puVar15 + -0xc)" (* "*") (cast_expression "(undefined4 *)(puVar15 + -0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -0xc)" (( "(") (binary_expression "puVar15 + -0xc" (identifier "puVar15") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (number_literal "2")) (; ";")) (expression_statement "*(undefined4 *)(puVar15 + -0x10) = 0x17;" (assignment_expression "*(undefined4 *)(puVar15 + -0x10) = 0x17" (pointer_expression "*(undefined4 *)(puVar15 + -0x10)" (* "*") (cast_expression "(undefined4 *)(puVar15 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -0x10)" (( "(") (binary_expression "puVar15 + -0x10" (identifier "puVar15") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (number_literal "0x17")) (; ";")) (expression_statement "*(undefined4 *)(puVar15 + -0x14) = 0;" (assignment_expression "*(undefined4 *)(puVar15 + -0x14) = 0" (pointer_expression "*(undefined4 *)(puVar15 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar15 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -0x14)" (( "(") (binary_expression "puVar15 + -0x14" (identifier "puVar15") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0")) (; ";")) (goto_statement "goto code_r0x00201ba6;" (goto "goto") (statement_identifier "code_r0x00201ba6") (; ";"))) (case_statement "case 0x49:\n    *(undefined1 **)(puVar15 + -4) = puVar15 + 0x38;\n    *(undefined4 *)(puVar15 + -8) = *(undefined4 *)(puVar15 + 0xa8);\n    *(undefined4 *)(puVar15 + -0xc) = 2;\n    *(undefined4 *)(puVar15 + -0x10) = 0xc;\n    *(undefined4 *)(puVar15 + -0x14) = 1;\ncode_r0x00201ba6:\n    *(undefined1 **)(puVar15 + -0x18) = puVar15 + 0x3c;\n    *(undefined4 *)(puVar15 + -0x1c) = *(undefined4 *)(puVar15 + 0xa4);\n    *(undefined4 *)(puVar15 + -0x20) = *(undefined4 *)(puVar15 + 0xa0);\n    *(undefined4 *)(puVar15 + -0x24) = *(undefined4 *)(puVar15 + 0x9c);\n    *(undefined4 *)(puVar15 + -0x28) = *(undefined4 *)(puVar15 + 0x98);\n    *(undefined4 *)(puVar15 + -0x2c) = *(undefined4 *)(puVar15 + 0x94);\n    *(undefined1 **)(puVar15 + -0x30) = puVar15 + 0x28;\n    *(undefined **)(puVar15 + -0x34) = &UNK_00201bd4;\n    FUN_001fc0e0();\n    *(undefined4 *)(puVar15 + 0x94) = *(undefined4 *)(puVar15 + 0x24);\n    *(undefined4 *)(puVar15 + 0x98) = *(undefined4 *)(puVar15 + 0x28);\n    puVar16 = puVar15 + -4;\n    if (*(int *)(puVar15 + 0x34) == 0) {\n      *(undefined4 *)(*(int *)(puVar15 + 0xac) + 8) = *(undefined4 *)(puVar15 + 0x38);\n      puVar16 = puVar15 + -4;\n    }\n    break;" (case "case") (number_literal "0x49") (: ":") (expression_statement "*(undefined1 **)(puVar15 + -4) = puVar15 + 0x38;" (assignment_expression "*(undefined1 **)(puVar15 + -4) = puVar15 + 0x38" (pointer_expression "*(undefined1 **)(puVar15 + -4)" (* "*") (cast_expression "(undefined1 **)(puVar15 + -4)" (( "(") (type_descriptor "undefined1 **" (type_identifier "undefined1") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar15 + -4)" (( "(") (binary_expression "puVar15 + -4" (identifier "puVar15") (+ "+") (number_literal "-4")) () ")")))) (= "=") (binary_expression "puVar15 + 0x38" (identifier "puVar15") (+ "+") (number_literal "0x38"))) (; ";")) (expression_statement "*(undefined4 *)(puVar15 + -8) = *(undefined4 *)(puVar15 + 0xa8);" (assignment_expression "*(undefined4 *)(puVar15 + -8) = *(undefined4 *)(puVar15 + 0xa8)" (pointer_expression "*(undefined4 *)(puVar15 + -8)" (* "*") (cast_expression "(undefined4 *)(puVar15 + -8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -8)" (( "(") (binary_expression "puVar15 + -8" (identifier "puVar15") (+ "+") (number_literal "-8")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(puVar15 + 0xa8)" (* "*") (cast_expression "(undefined4 *)(puVar15 + 0xa8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + 0xa8)" (( "(") (binary_expression "puVar15 + 0xa8" (identifier "puVar15") (+ "+") (number_literal "0xa8")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(puVar15 + -0xc) = 2;" (assignment_expression "*(undefined4 *)(puVar15 + -0xc) = 2" (pointer_expression "*(undefined4 *)(puVar15 + -0xc)" (* "*") (cast_expression "(undefined4 *)(puVar15 + -0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -0xc)" (( "(") (binary_expression "puVar15 + -0xc" (identifier "puVar15") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (number_literal "2")) (; ";")) (expression_statement "*(undefined4 *)(puVar15 + -0x10) = 0xc;" (assignment_expression "*(undefined4 *)(puVar15 + -0x10) = 0xc" (pointer_expression "*(undefined4 *)(puVar15 + -0x10)" (* "*") (cast_expression "(undefined4 *)(puVar15 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -0x10)" (( "(") (binary_expression "puVar15 + -0x10" (identifier "puVar15") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (number_literal "0xc")) (; ";")) (expression_statement "*(undefined4 *)(puVar15 + -0x14) = 1;" (assignment_expression "*(undefined4 *)(puVar15 + -0x14) = 1" (pointer_expression "*(undefined4 *)(puVar15 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar15 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -0x14)" (( "(") (binary_expression "puVar15 + -0x14" (identifier "puVar15") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "1")) (; ";")) (labeled_statement "code_r0x00201ba6:\n    *(undefined1 **)(puVar15 + -0x18) = puVar15 + 0x3c;" (statement_identifier "code_r0x00201ba6") (: ":") (expression_statement "*(undefined1 **)(puVar15 + -0x18) = puVar15 + 0x3c;" (assignment_expression "*(undefined1 **)(puVar15 + -0x18) = puVar15 + 0x3c" (pointer_expression "*(undefined1 **)(puVar15 + -0x18)" (* "*") (cast_expression "(undefined1 **)(puVar15 + -0x18)" (( "(") (type_descriptor "undefined1 **" (type_identifier "undefined1") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar15 + -0x18)" (( "(") (binary_expression "puVar15 + -0x18" (identifier "puVar15") (+ "+") (number_literal "-0x18")) () ")")))) (= "=") (binary_expression "puVar15 + 0x3c" (identifier "puVar15") (+ "+") (number_literal "0x3c"))) (; ";"))) (expression_statement "*(undefined4 *)(puVar15 + -0x1c) = *(undefined4 *)(puVar15 + 0xa4);" (assignment_expression "*(undefined4 *)(puVar15 + -0x1c) = *(undefined4 *)(puVar15 + 0xa4)" (pointer_expression "*(undefined4 *)(puVar15 + -0x1c)" (* "*") (cast_expression "(undefined4 *)(puVar15 + -0x1c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -0x1c)" (( "(") (binary_expression "puVar15 + -0x1c" (identifier "puVar15") (+ "+") (number_literal "-0x1c")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(puVar15 + 0xa4)" (* "*") (cast_expression "(undefined4 *)(puVar15 + 0xa4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + 0xa4)" (( "(") (binary_expression "puVar15 + 0xa4" (identifier "puVar15") (+ "+") (number_literal "0xa4")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(puVar15 + -0x20) = *(undefined4 *)(puVar15 + 0xa0);" (assignment_expression "*(undefined4 *)(puVar15 + -0x20) = *(undefined4 *)(puVar15 + 0xa0)" (pointer_expression "*(undefined4 *)(puVar15 + -0x20)" (* "*") (cast_expression "(undefined4 *)(puVar15 + -0x20)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -0x20)" (( "(") (binary_expression "puVar15 + -0x20" (identifier "puVar15") (+ "+") (number_literal "-0x20")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(puVar15 + 0xa0)" (* "*") (cast_expression "(undefined4 *)(puVar15 + 0xa0)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + 0xa0)" (( "(") (binary_expression "puVar15 + 0xa0" (identifier "puVar15") (+ "+") (number_literal "0xa0")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(puVar15 + -0x24) = *(undefined4 *)(puVar15 + 0x9c);" (assignment_expression "*(undefined4 *)(puVar15 + -0x24) = *(undefined4 *)(puVar15 + 0x9c)" (pointer_expression "*(undefined4 *)(puVar15 + -0x24)" (* "*") (cast_expression "(undefined4 *)(puVar15 + -0x24)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -0x24)" (( "(") (binary_expression "puVar15 + -0x24" (identifier "puVar15") (+ "+") (number_literal "-0x24")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(puVar15 + 0x9c)" (* "*") (cast_expression "(undefined4 *)(puVar15 + 0x9c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + 0x9c)" (( "(") (binary_expression "puVar15 + 0x9c" (identifier "puVar15") (+ "+") (number_literal "0x9c")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(puVar15 + -0x28) = *(undefined4 *)(puVar15 + 0x98);" (assignment_expression "*(undefined4 *)(puVar15 + -0x28) = *(undefined4 *)(puVar15 + 0x98)" (pointer_expression "*(undefined4 *)(puVar15 + -0x28)" (* "*") (cast_expression "(undefined4 *)(puVar15 + -0x28)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -0x28)" (( "(") (binary_expression "puVar15 + -0x28" (identifier "puVar15") (+ "+") (number_literal "-0x28")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(puVar15 + 0x98)" (* "*") (cast_expression "(undefined4 *)(puVar15 + 0x98)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + 0x98)" (( "(") (binary_expression "puVar15 + 0x98" (identifier "puVar15") (+ "+") (number_literal "0x98")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(puVar15 + -0x2c) = *(undefined4 *)(puVar15 + 0x94);" (assignment_expression "*(undefined4 *)(puVar15 + -0x2c) = *(undefined4 *)(puVar15 + 0x94)" (pointer_expression "*(undefined4 *)(puVar15 + -0x2c)" (* "*") (cast_expression "(undefined4 *)(puVar15 + -0x2c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -0x2c)" (( "(") (binary_expression "puVar15 + -0x2c" (identifier "puVar15") (+ "+") (number_literal "-0x2c")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(puVar15 + 0x94)" (* "*") (cast_expression "(undefined4 *)(puVar15 + 0x94)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + 0x94)" (( "(") (binary_expression "puVar15 + 0x94" (identifier "puVar15") (+ "+") (number_literal "0x94")) () ")"))))) (; ";")) (expression_statement "*(undefined1 **)(puVar15 + -0x30) = puVar15 + 0x28;" (assignment_expression "*(undefined1 **)(puVar15 + -0x30) = puVar15 + 0x28" (pointer_expression "*(undefined1 **)(puVar15 + -0x30)" (* "*") (cast_expression "(undefined1 **)(puVar15 + -0x30)" (( "(") (type_descriptor "undefined1 **" (type_identifier "undefined1") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar15 + -0x30)" (( "(") (binary_expression "puVar15 + -0x30" (identifier "puVar15") (+ "+") (number_literal "-0x30")) () ")")))) (= "=") (binary_expression "puVar15 + 0x28" (identifier "puVar15") (+ "+") (number_literal "0x28"))) (; ";")) (expression_statement "*(undefined **)(puVar15 + -0x34) = &UNK_00201bd4;" (assignment_expression "*(undefined **)(puVar15 + -0x34) = &UNK_00201bd4" (pointer_expression "*(undefined **)(puVar15 + -0x34)" (* "*") (cast_expression "(undefined **)(puVar15 + -0x34)" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar15 + -0x34)" (( "(") (binary_expression "puVar15 + -0x34" (identifier "puVar15") (+ "+") (number_literal "-0x34")) () ")")))) (= "=") (pointer_expression "&UNK_00201bd4" (& "&") (identifier "UNK_00201bd4"))) (; ";")) (expression_statement "FUN_001fc0e0();" (call_expression "FUN_001fc0e0()" (identifier "FUN_001fc0e0") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "*(undefined4 *)(puVar15 + 0x94) = *(undefined4 *)(puVar15 + 0x24);" (assignment_expression "*(undefined4 *)(puVar15 + 0x94) = *(undefined4 *)(puVar15 + 0x24)" (pointer_expression "*(undefined4 *)(puVar15 + 0x94)" (* "*") (cast_expression "(undefined4 *)(puVar15 + 0x94)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + 0x94)" (( "(") (binary_expression "puVar15 + 0x94" (identifier "puVar15") (+ "+") (number_literal "0x94")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(puVar15 + 0x24)" (* "*") (cast_expression "(undefined4 *)(puVar15 + 0x24)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + 0x24)" (( "(") (binary_expression "puVar15 + 0x24" (identifier "puVar15") (+ "+") (number_literal "0x24")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(puVar15 + 0x98) = *(undefined4 *)(puVar15 + 0x28);" (assignment_expression "*(undefined4 *)(puVar15 + 0x98) = *(undefined4 *)(puVar15 + 0x28)" (pointer_expression "*(undefined4 *)(puVar15 + 0x98)" (* "*") (cast_expression "(undefined4 *)(puVar15 + 0x98)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + 0x98)" (( "(") (binary_expression "puVar15 + 0x98" (identifier "puVar15") (+ "+") (number_literal "0x98")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(puVar15 + 0x28)" (* "*") (cast_expression "(undefined4 *)(puVar15 + 0x28)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + 0x28)" (( "(") (binary_expression "puVar15 + 0x28" (identifier "puVar15") (+ "+") (number_literal "0x28")) () ")"))))) (; ";")) (expression_statement "puVar16 = puVar15 + -4;" (assignment_expression "puVar16 = puVar15 + -4" (identifier "puVar16") (= "=") (binary_expression "puVar15 + -4" (identifier "puVar15") (+ "+") (number_literal "-4"))) (; ";")) (if_statement "if (*(int *)(puVar15 + 0x34) == 0) {\n      *(undefined4 *)(*(int *)(puVar15 + 0xac) + 8) = *(undefined4 *)(puVar15 + 0x38);\n      puVar16 = puVar15 + -4;\n    }" (if "if") (parenthesized_expression "(*(int *)(puVar15 + 0x34) == 0)" (( "(") (binary_expression "*(int *)(puVar15 + 0x34) == 0" (pointer_expression "*(int *)(puVar15 + 0x34)" (* "*") (cast_expression "(int *)(puVar15 + 0x34)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + 0x34)" (( "(") (binary_expression "puVar15 + 0x34" (identifier "puVar15") (+ "+") (number_literal "0x34")) () ")")))) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      *(undefined4 *)(*(int *)(puVar15 + 0xac) + 8) = *(undefined4 *)(puVar15 + 0x38);\n      puVar16 = puVar15 + -4;\n    }" ({ "{") (expression_statement "*(undefined4 *)(*(int *)(puVar15 + 0xac) + 8) = *(undefined4 *)(puVar15 + 0x38);" (assignment_expression "*(undefined4 *)(*(int *)(puVar15 + 0xac) + 8) = *(undefined4 *)(puVar15 + 0x38)" (pointer_expression "*(undefined4 *)(*(int *)(puVar15 + 0xac) + 8)" (* "*") (cast_expression "(undefined4 *)(*(int *)(puVar15 + 0xac) + 8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(puVar15 + 0xac) + 8)" (( "(") (binary_expression "*(int *)(puVar15 + 0xac) + 8" (pointer_expression "*(int *)(puVar15 + 0xac)" (* "*") (cast_expression "(int *)(puVar15 + 0xac)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + 0xac)" (( "(") (binary_expression "puVar15 + 0xac" (identifier "puVar15") (+ "+") (number_literal "0xac")) () ")")))) (+ "+") (number_literal "8")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(puVar15 + 0x38)" (* "*") (cast_expression "(undefined4 *)(puVar15 + 0x38)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + 0x38)" (( "(") (binary_expression "puVar15 + 0x38" (identifier "puVar15") (+ "+") (number_literal "0x38")) () ")"))))) (; ";")) (expression_statement "puVar16 = puVar15 + -4;" (assignment_expression "puVar16 = puVar15 + -4" (identifier "puVar16") (= "=") (binary_expression "puVar15 + -4" (identifier "puVar15") (+ "+") (number_literal "-4"))) (; ";")) (} "}"))) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 0x4d:\n    *(undefined1 **)(puVar15 + -4) = puVar15 + 0x38;\n    *(undefined4 *)(puVar15 + -8) = *(undefined4 *)(puVar15 + 0xa8);\n    *(undefined4 *)(puVar15 + -0xc) = 2;\n    *(undefined4 *)(puVar15 + -0x10) = 0x3b;\n    *(undefined4 *)(puVar15 + -0x14) = 0;\n    *(undefined1 **)(puVar15 + -0x18) = puVar15 + 0x3c;\n    *(undefined4 *)(puVar15 + -0x1c) = *(undefined4 *)(puVar15 + 0xa4);\n    *(undefined4 *)(puVar15 + -0x20) = *(undefined4 *)(puVar15 + 0xa0);\n    *(undefined4 *)(puVar15 + -0x24) = *(undefined4 *)(puVar15 + 0x9c);\n    *(undefined4 *)(puVar15 + -0x28) = *(undefined4 *)(puVar15 + 0x98);\n    *(undefined4 *)(puVar15 + -0x2c) = *(undefined4 *)(puVar15 + 0x94);\n    *(undefined1 **)(puVar15 + -0x30) = puVar15 + 0x28;\n    *(undefined **)(puVar15 + -0x34) = &UNK_00201c54;\n    FUN_001fc0e0();\n    *(undefined4 *)(puVar15 + 0x94) = *(undefined4 *)(puVar15 + 0x24);\n    *(undefined4 *)(puVar15 + 0x98) = *(undefined4 *)(puVar15 + 0x28);\n    puVar16 = puVar15 + -4;\n    if (*(int *)(puVar15 + 0x34) == 0) {\n      *(undefined4 *)(*(int *)(puVar15 + 0xac) + 4) = *(undefined4 *)(puVar15 + 0x38);\n      puVar16 = puVar15 + -4;\n    }\n    break;" (case "case") (number_literal "0x4d") (: ":") (expression_statement "*(undefined1 **)(puVar15 + -4) = puVar15 + 0x38;" (assignment_expression "*(undefined1 **)(puVar15 + -4) = puVar15 + 0x38" (pointer_expression "*(undefined1 **)(puVar15 + -4)" (* "*") (cast_expression "(undefined1 **)(puVar15 + -4)" (( "(") (type_descriptor "undefined1 **" (type_identifier "undefined1") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar15 + -4)" (( "(") (binary_expression "puVar15 + -4" (identifier "puVar15") (+ "+") (number_literal "-4")) () ")")))) (= "=") (binary_expression "puVar15 + 0x38" (identifier "puVar15") (+ "+") (number_literal "0x38"))) (; ";")) (expression_statement "*(undefined4 *)(puVar15 + -8) = *(undefined4 *)(puVar15 + 0xa8);" (assignment_expression "*(undefined4 *)(puVar15 + -8) = *(undefined4 *)(puVar15 + 0xa8)" (pointer_expression "*(undefined4 *)(puVar15 + -8)" (* "*") (cast_expression "(undefined4 *)(puVar15 + -8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -8)" (( "(") (binary_expression "puVar15 + -8" (identifier "puVar15") (+ "+") (number_literal "-8")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(puVar15 + 0xa8)" (* "*") (cast_expression "(undefined4 *)(puVar15 + 0xa8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + 0xa8)" (( "(") (binary_expression "puVar15 + 0xa8" (identifier "puVar15") (+ "+") (number_literal "0xa8")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(puVar15 + -0xc) = 2;" (assignment_expression "*(undefined4 *)(puVar15 + -0xc) = 2" (pointer_expression "*(undefined4 *)(puVar15 + -0xc)" (* "*") (cast_expression "(undefined4 *)(puVar15 + -0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -0xc)" (( "(") (binary_expression "puVar15 + -0xc" (identifier "puVar15") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (number_literal "2")) (; ";")) (expression_statement "*(undefined4 *)(puVar15 + -0x10) = 0x3b;" (assignment_expression "*(undefined4 *)(puVar15 + -0x10) = 0x3b" (pointer_expression "*(undefined4 *)(puVar15 + -0x10)" (* "*") (cast_expression "(undefined4 *)(puVar15 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -0x10)" (( "(") (binary_expression "puVar15 + -0x10" (identifier "puVar15") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (number_literal "0x3b")) (; ";")) (expression_statement "*(undefined4 *)(puVar15 + -0x14) = 0;" (assignment_expression "*(undefined4 *)(puVar15 + -0x14) = 0" (pointer_expression "*(undefined4 *)(puVar15 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar15 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -0x14)" (( "(") (binary_expression "puVar15 + -0x14" (identifier "puVar15") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined1 **)(puVar15 + -0x18) = puVar15 + 0x3c;" (assignment_expression "*(undefined1 **)(puVar15 + -0x18) = puVar15 + 0x3c" (pointer_expression "*(undefined1 **)(puVar15 + -0x18)" (* "*") (cast_expression "(undefined1 **)(puVar15 + -0x18)" (( "(") (type_descriptor "undefined1 **" (type_identifier "undefined1") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar15 + -0x18)" (( "(") (binary_expression "puVar15 + -0x18" (identifier "puVar15") (+ "+") (number_literal "-0x18")) () ")")))) (= "=") (binary_expression "puVar15 + 0x3c" (identifier "puVar15") (+ "+") (number_literal "0x3c"))) (; ";")) (expression_statement "*(undefined4 *)(puVar15 + -0x1c) = *(undefined4 *)(puVar15 + 0xa4);" (assignment_expression "*(undefined4 *)(puVar15 + -0x1c) = *(undefined4 *)(puVar15 + 0xa4)" (pointer_expression "*(undefined4 *)(puVar15 + -0x1c)" (* "*") (cast_expression "(undefined4 *)(puVar15 + -0x1c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -0x1c)" (( "(") (binary_expression "puVar15 + -0x1c" (identifier "puVar15") (+ "+") (number_literal "-0x1c")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(puVar15 + 0xa4)" (* "*") (cast_expression "(undefined4 *)(puVar15 + 0xa4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + 0xa4)" (( "(") (binary_expression "puVar15 + 0xa4" (identifier "puVar15") (+ "+") (number_literal "0xa4")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(puVar15 + -0x20) = *(undefined4 *)(puVar15 + 0xa0);" (assignment_expression "*(undefined4 *)(puVar15 + -0x20) = *(undefined4 *)(puVar15 + 0xa0)" (pointer_expression "*(undefined4 *)(puVar15 + -0x20)" (* "*") (cast_expression "(undefined4 *)(puVar15 + -0x20)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -0x20)" (( "(") (binary_expression "puVar15 + -0x20" (identifier "puVar15") (+ "+") (number_literal "-0x20")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(puVar15 + 0xa0)" (* "*") (cast_expression "(undefined4 *)(puVar15 + 0xa0)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + 0xa0)" (( "(") (binary_expression "puVar15 + 0xa0" (identifier "puVar15") (+ "+") (number_literal "0xa0")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(puVar15 + -0x24) = *(undefined4 *)(puVar15 + 0x9c);" (assignment_expression "*(undefined4 *)(puVar15 + -0x24) = *(undefined4 *)(puVar15 + 0x9c)" (pointer_expression "*(undefined4 *)(puVar15 + -0x24)" (* "*") (cast_expression "(undefined4 *)(puVar15 + -0x24)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -0x24)" (( "(") (binary_expression "puVar15 + -0x24" (identifier "puVar15") (+ "+") (number_literal "-0x24")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(puVar15 + 0x9c)" (* "*") (cast_expression "(undefined4 *)(puVar15 + 0x9c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + 0x9c)" (( "(") (binary_expression "puVar15 + 0x9c" (identifier "puVar15") (+ "+") (number_literal "0x9c")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(puVar15 + -0x28) = *(undefined4 *)(puVar15 + 0x98);" (assignment_expression "*(undefined4 *)(puVar15 + -0x28) = *(undefined4 *)(puVar15 + 0x98)" (pointer_expression "*(undefined4 *)(puVar15 + -0x28)" (* "*") (cast_expression "(undefined4 *)(puVar15 + -0x28)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -0x28)" (( "(") (binary_expression "puVar15 + -0x28" (identifier "puVar15") (+ "+") (number_literal "-0x28")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(puVar15 + 0x98)" (* "*") (cast_expression "(undefined4 *)(puVar15 + 0x98)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + 0x98)" (( "(") (binary_expression "puVar15 + 0x98" (identifier "puVar15") (+ "+") (number_literal "0x98")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(puVar15 + -0x2c) = *(undefined4 *)(puVar15 + 0x94);" (assignment_expression "*(undefined4 *)(puVar15 + -0x2c) = *(undefined4 *)(puVar15 + 0x94)" (pointer_expression "*(undefined4 *)(puVar15 + -0x2c)" (* "*") (cast_expression "(undefined4 *)(puVar15 + -0x2c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -0x2c)" (( "(") (binary_expression "puVar15 + -0x2c" (identifier "puVar15") (+ "+") (number_literal "-0x2c")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(puVar15 + 0x94)" (* "*") (cast_expression "(undefined4 *)(puVar15 + 0x94)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + 0x94)" (( "(") (binary_expression "puVar15 + 0x94" (identifier "puVar15") (+ "+") (number_literal "0x94")) () ")"))))) (; ";")) (expression_statement "*(undefined1 **)(puVar15 + -0x30) = puVar15 + 0x28;" (assignment_expression "*(undefined1 **)(puVar15 + -0x30) = puVar15 + 0x28" (pointer_expression "*(undefined1 **)(puVar15 + -0x30)" (* "*") (cast_expression "(undefined1 **)(puVar15 + -0x30)" (( "(") (type_descriptor "undefined1 **" (type_identifier "undefined1") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar15 + -0x30)" (( "(") (binary_expression "puVar15 + -0x30" (identifier "puVar15") (+ "+") (number_literal "-0x30")) () ")")))) (= "=") (binary_expression "puVar15 + 0x28" (identifier "puVar15") (+ "+") (number_literal "0x28"))) (; ";")) (expression_statement "*(undefined **)(puVar15 + -0x34) = &UNK_00201c54;" (assignment_expression "*(undefined **)(puVar15 + -0x34) = &UNK_00201c54" (pointer_expression "*(undefined **)(puVar15 + -0x34)" (* "*") (cast_expression "(undefined **)(puVar15 + -0x34)" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar15 + -0x34)" (( "(") (binary_expression "puVar15 + -0x34" (identifier "puVar15") (+ "+") (number_literal "-0x34")) () ")")))) (= "=") (pointer_expression "&UNK_00201c54" (& "&") (identifier "UNK_00201c54"))) (; ";")) (expression_statement "FUN_001fc0e0();" (call_expression "FUN_001fc0e0()" (identifier "FUN_001fc0e0") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "*(undefined4 *)(puVar15 + 0x94) = *(undefined4 *)(puVar15 + 0x24);" (assignment_expression "*(undefined4 *)(puVar15 + 0x94) = *(undefined4 *)(puVar15 + 0x24)" (pointer_expression "*(undefined4 *)(puVar15 + 0x94)" (* "*") (cast_expression "(undefined4 *)(puVar15 + 0x94)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + 0x94)" (( "(") (binary_expression "puVar15 + 0x94" (identifier "puVar15") (+ "+") (number_literal "0x94")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(puVar15 + 0x24)" (* "*") (cast_expression "(undefined4 *)(puVar15 + 0x24)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + 0x24)" (( "(") (binary_expression "puVar15 + 0x24" (identifier "puVar15") (+ "+") (number_literal "0x24")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(puVar15 + 0x98) = *(undefined4 *)(puVar15 + 0x28);" (assignment_expression "*(undefined4 *)(puVar15 + 0x98) = *(undefined4 *)(puVar15 + 0x28)" (pointer_expression "*(undefined4 *)(puVar15 + 0x98)" (* "*") (cast_expression "(undefined4 *)(puVar15 + 0x98)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + 0x98)" (( "(") (binary_expression "puVar15 + 0x98" (identifier "puVar15") (+ "+") (number_literal "0x98")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(puVar15 + 0x28)" (* "*") (cast_expression "(undefined4 *)(puVar15 + 0x28)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + 0x28)" (( "(") (binary_expression "puVar15 + 0x28" (identifier "puVar15") (+ "+") (number_literal "0x28")) () ")"))))) (; ";")) (expression_statement "puVar16 = puVar15 + -4;" (assignment_expression "puVar16 = puVar15 + -4" (identifier "puVar16") (= "=") (binary_expression "puVar15 + -4" (identifier "puVar15") (+ "+") (number_literal "-4"))) (; ";")) (if_statement "if (*(int *)(puVar15 + 0x34) == 0) {\n      *(undefined4 *)(*(int *)(puVar15 + 0xac) + 4) = *(undefined4 *)(puVar15 + 0x38);\n      puVar16 = puVar15 + -4;\n    }" (if "if") (parenthesized_expression "(*(int *)(puVar15 + 0x34) == 0)" (( "(") (binary_expression "*(int *)(puVar15 + 0x34) == 0" (pointer_expression "*(int *)(puVar15 + 0x34)" (* "*") (cast_expression "(int *)(puVar15 + 0x34)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + 0x34)" (( "(") (binary_expression "puVar15 + 0x34" (identifier "puVar15") (+ "+") (number_literal "0x34")) () ")")))) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      *(undefined4 *)(*(int *)(puVar15 + 0xac) + 4) = *(undefined4 *)(puVar15 + 0x38);\n      puVar16 = puVar15 + -4;\n    }" ({ "{") (expression_statement "*(undefined4 *)(*(int *)(puVar15 + 0xac) + 4) = *(undefined4 *)(puVar15 + 0x38);" (assignment_expression "*(undefined4 *)(*(int *)(puVar15 + 0xac) + 4) = *(undefined4 *)(puVar15 + 0x38)" (pointer_expression "*(undefined4 *)(*(int *)(puVar15 + 0xac) + 4)" (* "*") (cast_expression "(undefined4 *)(*(int *)(puVar15 + 0xac) + 4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(puVar15 + 0xac) + 4)" (( "(") (binary_expression "*(int *)(puVar15 + 0xac) + 4" (pointer_expression "*(int *)(puVar15 + 0xac)" (* "*") (cast_expression "(int *)(puVar15 + 0xac)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + 0xac)" (( "(") (binary_expression "puVar15 + 0xac" (identifier "puVar15") (+ "+") (number_literal "0xac")) () ")")))) (+ "+") (number_literal "4")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(puVar15 + 0x38)" (* "*") (cast_expression "(undefined4 *)(puVar15 + 0x38)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + 0x38)" (( "(") (binary_expression "puVar15 + 0x38" (identifier "puVar15") (+ "+") (number_literal "0x38")) () ")"))))) (; ";")) (expression_statement "puVar16 = puVar15 + -4;" (assignment_expression "puVar16 = puVar15 + -4" (identifier "puVar16") (= "=") (binary_expression "puVar15 + -4" (identifier "puVar15") (+ "+") (number_literal "-4"))) (; ";")) (} "}"))) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 0x52:\n    *(undefined1 **)(puVar15 + -4) = puVar15 + 0x40;\n    *(char **)(puVar15 + -8) = "%H:%M:%S";\n    pcVar11 = "%H:%M";\n    goto code_r0x00201ca2;" (case "case") (number_literal "0x52") (: ":") (expression_statement "*(undefined1 **)(puVar15 + -4) = puVar15 + 0x40;" (assignment_expression "*(undefined1 **)(puVar15 + -4) = puVar15 + 0x40" (pointer_expression "*(undefined1 **)(puVar15 + -4)" (* "*") (cast_expression "(undefined1 **)(puVar15 + -4)" (( "(") (type_descriptor "undefined1 **" (type_identifier "undefined1") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar15 + -4)" (( "(") (binary_expression "puVar15 + -4" (identifier "puVar15") (+ "+") (number_literal "-4")) () ")")))) (= "=") (binary_expression "puVar15 + 0x40" (identifier "puVar15") (+ "+") (number_literal "0x40"))) (; ";")) (expression_statement "*(char **)(puVar15 + -8) = "%H:%M:%S";" (assignment_expression "*(char **)(puVar15 + -8) = "%H:%M:%S"" (pointer_expression "*(char **)(puVar15 + -8)" (* "*") (cast_expression "(char **)(puVar15 + -8)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar15 + -8)" (( "(") (binary_expression "puVar15 + -8" (identifier "puVar15") (+ "+") (number_literal "-8")) () ")")))) (= "=") (string_literal ""%H:%M:%S"" (" """) (string_content "%H:%M:%S") (" """))) (; ";")) (expression_statement "pcVar11 = "%H:%M";" (assignment_expression "pcVar11 = "%H:%M"" (identifier "pcVar11") (= "=") (string_literal ""%H:%M"" (" """) (string_content "%H:%M") (" """))) (; ";")) (goto_statement "goto code_r0x00201ca2;" (goto "goto") (statement_identifier "code_r0x00201ca2") (; ";"))) (case_statement "case 0x53:\n    *(undefined1 **)(puVar15 + -4) = puVar15 + 0x38;\n    *(undefined4 *)(puVar15 + -8) = *(undefined4 *)(puVar15 + 0xa8);\n    *(undefined4 *)(puVar15 + -0xc) = 2;\n    *(undefined4 *)(puVar15 + -0x10) = 0x3c;\n    *(undefined4 *)(puVar15 + -0x14) = 0;\n    *(undefined1 **)(puVar15 + -0x18) = puVar15 + 0x3c;\n    *(undefined4 *)(puVar15 + -0x1c) = *(undefined4 *)(puVar15 + 0xa4);\n    *(undefined4 *)(puVar15 + -0x20) = *(undefined4 *)(puVar15 + 0xa0);\n    *(undefined4 *)(puVar15 + -0x24) = *(undefined4 *)(puVar15 + 0x9c);\n    *(undefined4 *)(puVar15 + -0x28) = *(undefined4 *)(puVar15 + 0x98);\n    *(undefined4 *)(puVar15 + -0x2c) = *(undefined4 *)(puVar15 + 0x94);\n    *(undefined1 **)(puVar15 + -0x30) = puVar15 + 0x28;\n    *(undefined **)(puVar15 + -0x34) = &UNK_00201cfc;\n    FUN_001fc0e0();\n    *(undefined4 *)(puVar15 + 0x94) = *(undefined4 *)(puVar15 + 0x24);\n    *(undefined4 *)(puVar15 + 0x98) = *(undefined4 *)(puVar15 + 0x28);\n    puVar16 = puVar15 + -4;\n    if (*(int *)(puVar15 + 0x34) == 0) {\n      **(undefined4 **)(puVar15 + 0xac) = *(undefined4 *)(puVar15 + 0x38);\n      puVar16 = puVar15 + -4;\n    }\n    break;" (case "case") (number_literal "0x53") (: ":") (expression_statement "*(undefined1 **)(puVar15 + -4) = puVar15 + 0x38;" (assignment_expression "*(undefined1 **)(puVar15 + -4) = puVar15 + 0x38" (pointer_expression "*(undefined1 **)(puVar15 + -4)" (* "*") (cast_expression "(undefined1 **)(puVar15 + -4)" (( "(") (type_descriptor "undefined1 **" (type_identifier "undefined1") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar15 + -4)" (( "(") (binary_expression "puVar15 + -4" (identifier "puVar15") (+ "+") (number_literal "-4")) () ")")))) (= "=") (binary_expression "puVar15 + 0x38" (identifier "puVar15") (+ "+") (number_literal "0x38"))) (; ";")) (expression_statement "*(undefined4 *)(puVar15 + -8) = *(undefined4 *)(puVar15 + 0xa8);" (assignment_expression "*(undefined4 *)(puVar15 + -8) = *(undefined4 *)(puVar15 + 0xa8)" (pointer_expression "*(undefined4 *)(puVar15 + -8)" (* "*") (cast_expression "(undefined4 *)(puVar15 + -8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -8)" (( "(") (binary_expression "puVar15 + -8" (identifier "puVar15") (+ "+") (number_literal "-8")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(puVar15 + 0xa8)" (* "*") (cast_expression "(undefined4 *)(puVar15 + 0xa8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + 0xa8)" (( "(") (binary_expression "puVar15 + 0xa8" (identifier "puVar15") (+ "+") (number_literal "0xa8")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(puVar15 + -0xc) = 2;" (assignment_expression "*(undefined4 *)(puVar15 + -0xc) = 2" (pointer_expression "*(undefined4 *)(puVar15 + -0xc)" (* "*") (cast_expression "(undefined4 *)(puVar15 + -0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -0xc)" (( "(") (binary_expression "puVar15 + -0xc" (identifier "puVar15") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (number_literal "2")) (; ";")) (expression_statement "*(undefined4 *)(puVar15 + -0x10) = 0x3c;" (assignment_expression "*(undefined4 *)(puVar15 + -0x10) = 0x3c" (pointer_expression "*(undefined4 *)(puVar15 + -0x10)" (* "*") (cast_expression "(undefined4 *)(puVar15 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -0x10)" (( "(") (binary_expression "puVar15 + -0x10" (identifier "puVar15") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (number_literal "0x3c")) (; ";")) (expression_statement "*(undefined4 *)(puVar15 + -0x14) = 0;" (assignment_expression "*(undefined4 *)(puVar15 + -0x14) = 0" (pointer_expression "*(undefined4 *)(puVar15 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar15 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -0x14)" (( "(") (binary_expression "puVar15 + -0x14" (identifier "puVar15") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined1 **)(puVar15 + -0x18) = puVar15 + 0x3c;" (assignment_expression "*(undefined1 **)(puVar15 + -0x18) = puVar15 + 0x3c" (pointer_expression "*(undefined1 **)(puVar15 + -0x18)" (* "*") (cast_expression "(undefined1 **)(puVar15 + -0x18)" (( "(") (type_descriptor "undefined1 **" (type_identifier "undefined1") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar15 + -0x18)" (( "(") (binary_expression "puVar15 + -0x18" (identifier "puVar15") (+ "+") (number_literal "-0x18")) () ")")))) (= "=") (binary_expression "puVar15 + 0x3c" (identifier "puVar15") (+ "+") (number_literal "0x3c"))) (; ";")) (expression_statement "*(undefined4 *)(puVar15 + -0x1c) = *(undefined4 *)(puVar15 + 0xa4);" (assignment_expression "*(undefined4 *)(puVar15 + -0x1c) = *(undefined4 *)(puVar15 + 0xa4)" (pointer_expression "*(undefined4 *)(puVar15 + -0x1c)" (* "*") (cast_expression "(undefined4 *)(puVar15 + -0x1c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -0x1c)" (( "(") (binary_expression "puVar15 + -0x1c" (identifier "puVar15") (+ "+") (number_literal "-0x1c")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(puVar15 + 0xa4)" (* "*") (cast_expression "(undefined4 *)(puVar15 + 0xa4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + 0xa4)" (( "(") (binary_expression "puVar15 + 0xa4" (identifier "puVar15") (+ "+") (number_literal "0xa4")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(puVar15 + -0x20) = *(undefined4 *)(puVar15 + 0xa0);" (assignment_expression "*(undefined4 *)(puVar15 + -0x20) = *(undefined4 *)(puVar15 + 0xa0)" (pointer_expression "*(undefined4 *)(puVar15 + -0x20)" (* "*") (cast_expression "(undefined4 *)(puVar15 + -0x20)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -0x20)" (( "(") (binary_expression "puVar15 + -0x20" (identifier "puVar15") (+ "+") (number_literal "-0x20")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(puVar15 + 0xa0)" (* "*") (cast_expression "(undefined4 *)(puVar15 + 0xa0)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + 0xa0)" (( "(") (binary_expression "puVar15 + 0xa0" (identifier "puVar15") (+ "+") (number_literal "0xa0")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(puVar15 + -0x24) = *(undefined4 *)(puVar15 + 0x9c);" (assignment_expression "*(undefined4 *)(puVar15 + -0x24) = *(undefined4 *)(puVar15 + 0x9c)" (pointer_expression "*(undefined4 *)(puVar15 + -0x24)" (* "*") (cast_expression "(undefined4 *)(puVar15 + -0x24)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -0x24)" (( "(") (binary_expression "puVar15 + -0x24" (identifier "puVar15") (+ "+") (number_literal "-0x24")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(puVar15 + 0x9c)" (* "*") (cast_expression "(undefined4 *)(puVar15 + 0x9c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + 0x9c)" (( "(") (binary_expression "puVar15 + 0x9c" (identifier "puVar15") (+ "+") (number_literal "0x9c")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(puVar15 + -0x28) = *(undefined4 *)(puVar15 + 0x98);" (assignment_expression "*(undefined4 *)(puVar15 + -0x28) = *(undefined4 *)(puVar15 + 0x98)" (pointer_expression "*(undefined4 *)(puVar15 + -0x28)" (* "*") (cast_expression "(undefined4 *)(puVar15 + -0x28)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -0x28)" (( "(") (binary_expression "puVar15 + -0x28" (identifier "puVar15") (+ "+") (number_literal "-0x28")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(puVar15 + 0x98)" (* "*") (cast_expression "(undefined4 *)(puVar15 + 0x98)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + 0x98)" (( "(") (binary_expression "puVar15 + 0x98" (identifier "puVar15") (+ "+") (number_literal "0x98")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(puVar15 + -0x2c) = *(undefined4 *)(puVar15 + 0x94);" (assignment_expression "*(undefined4 *)(puVar15 + -0x2c) = *(undefined4 *)(puVar15 + 0x94)" (pointer_expression "*(undefined4 *)(puVar15 + -0x2c)" (* "*") (cast_expression "(undefined4 *)(puVar15 + -0x2c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -0x2c)" (( "(") (binary_expression "puVar15 + -0x2c" (identifier "puVar15") (+ "+") (number_literal "-0x2c")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(puVar15 + 0x94)" (* "*") (cast_expression "(undefined4 *)(puVar15 + 0x94)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + 0x94)" (( "(") (binary_expression "puVar15 + 0x94" (identifier "puVar15") (+ "+") (number_literal "0x94")) () ")"))))) (; ";")) (expression_statement "*(undefined1 **)(puVar15 + -0x30) = puVar15 + 0x28;" (assignment_expression "*(undefined1 **)(puVar15 + -0x30) = puVar15 + 0x28" (pointer_expression "*(undefined1 **)(puVar15 + -0x30)" (* "*") (cast_expression "(undefined1 **)(puVar15 + -0x30)" (( "(") (type_descriptor "undefined1 **" (type_identifier "undefined1") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar15 + -0x30)" (( "(") (binary_expression "puVar15 + -0x30" (identifier "puVar15") (+ "+") (number_literal "-0x30")) () ")")))) (= "=") (binary_expression "puVar15 + 0x28" (identifier "puVar15") (+ "+") (number_literal "0x28"))) (; ";")) (expression_statement "*(undefined **)(puVar15 + -0x34) = &UNK_00201cfc;" (assignment_expression "*(undefined **)(puVar15 + -0x34) = &UNK_00201cfc" (pointer_expression "*(undefined **)(puVar15 + -0x34)" (* "*") (cast_expression "(undefined **)(puVar15 + -0x34)" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar15 + -0x34)" (( "(") (binary_expression "puVar15 + -0x34" (identifier "puVar15") (+ "+") (number_literal "-0x34")) () ")")))) (= "=") (pointer_expression "&UNK_00201cfc" (& "&") (identifier "UNK_00201cfc"))) (; ";")) (expression_statement "FUN_001fc0e0();" (call_expression "FUN_001fc0e0()" (identifier "FUN_001fc0e0") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "*(undefined4 *)(puVar15 + 0x94) = *(undefined4 *)(puVar15 + 0x24);" (assignment_expression "*(undefined4 *)(puVar15 + 0x94) = *(undefined4 *)(puVar15 + 0x24)" (pointer_expression "*(undefined4 *)(puVar15 + 0x94)" (* "*") (cast_expression "(undefined4 *)(puVar15 + 0x94)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + 0x94)" (( "(") (binary_expression "puVar15 + 0x94" (identifier "puVar15") (+ "+") (number_literal "0x94")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(puVar15 + 0x24)" (* "*") (cast_expression "(undefined4 *)(puVar15 + 0x24)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + 0x24)" (( "(") (binary_expression "puVar15 + 0x24" (identifier "puVar15") (+ "+") (number_literal "0x24")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(puVar15 + 0x98) = *(undefined4 *)(puVar15 + 0x28);" (assignment_expression "*(undefined4 *)(puVar15 + 0x98) = *(undefined4 *)(puVar15 + 0x28)" (pointer_expression "*(undefined4 *)(puVar15 + 0x98)" (* "*") (cast_expression "(undefined4 *)(puVar15 + 0x98)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + 0x98)" (( "(") (binary_expression "puVar15 + 0x98" (identifier "puVar15") (+ "+") (number_literal "0x98")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(puVar15 + 0x28)" (* "*") (cast_expression "(undefined4 *)(puVar15 + 0x28)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + 0x28)" (( "(") (binary_expression "puVar15 + 0x28" (identifier "puVar15") (+ "+") (number_literal "0x28")) () ")"))))) (; ";")) (expression_statement "puVar16 = puVar15 + -4;" (assignment_expression "puVar16 = puVar15 + -4" (identifier "puVar16") (= "=") (binary_expression "puVar15 + -4" (identifier "puVar15") (+ "+") (number_literal "-4"))) (; ";")) (if_statement "if (*(int *)(puVar15 + 0x34) == 0) {\n      **(undefined4 **)(puVar15 + 0xac) = *(undefined4 *)(puVar15 + 0x38);\n      puVar16 = puVar15 + -4;\n    }" (if "if") (parenthesized_expression "(*(int *)(puVar15 + 0x34) == 0)" (( "(") (binary_expression "*(int *)(puVar15 + 0x34) == 0" (pointer_expression "*(int *)(puVar15 + 0x34)" (* "*") (cast_expression "(int *)(puVar15 + 0x34)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + 0x34)" (( "(") (binary_expression "puVar15 + 0x34" (identifier "puVar15") (+ "+") (number_literal "0x34")) () ")")))) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      **(undefined4 **)(puVar15 + 0xac) = *(undefined4 *)(puVar15 + 0x38);\n      puVar16 = puVar15 + -4;\n    }" ({ "{") (expression_statement "**(undefined4 **)(puVar15 + 0xac) = *(undefined4 *)(puVar15 + 0x38);" (assignment_expression "**(undefined4 **)(puVar15 + 0xac) = *(undefined4 *)(puVar15 + 0x38)" (pointer_expression "**(undefined4 **)(puVar15 + 0xac)" (* "*") (pointer_expression "*(undefined4 **)(puVar15 + 0xac)" (* "*") (cast_expression "(undefined4 **)(puVar15 + 0xac)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar15 + 0xac)" (( "(") (binary_expression "puVar15 + 0xac" (identifier "puVar15") (+ "+") (number_literal "0xac")) () ")"))))) (= "=") (pointer_expression "*(undefined4 *)(puVar15 + 0x38)" (* "*") (cast_expression "(undefined4 *)(puVar15 + 0x38)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + 0x38)" (( "(") (binary_expression "puVar15 + 0x38" (identifier "puVar15") (+ "+") (number_literal "0x38")) () ")"))))) (; ";")) (expression_statement "puVar16 = puVar15 + -4;" (assignment_expression "puVar16 = puVar15 + -4" (identifier "puVar16") (= "=") (binary_expression "puVar15 + -4" (identifier "puVar15") (+ "+") (number_literal "-4"))) (; ";")) (} "}"))) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 0x54:\n    *(undefined1 **)(puVar15 + -4) = puVar15 + 0x40;\n    *(undefined **)(puVar15 + -8) = &UNK_002a3ef6;\n    pcVar11 = "%H:%M:%S";\ncode_r0x00201ca2:\n    *(char **)(puVar15 + -0xc) = pcVar11;\n    *(int **)(puVar15 + -0x10) = piVar10;\n    *(undefined **)(puVar15 + -0x14) = &UNK_00201ca9;\n    FUN_001f94d0();\n    *(undefined1 **)(puVar15 + -0xc) = puVar15 + 0x40;\n    goto code_r0x00201b30;" (case "case") (number_literal "0x54") (: ":") (expression_statement "*(undefined1 **)(puVar15 + -4) = puVar15 + 0x40;" (assignment_expression "*(undefined1 **)(puVar15 + -4) = puVar15 + 0x40" (pointer_expression "*(undefined1 **)(puVar15 + -4)" (* "*") (cast_expression "(undefined1 **)(puVar15 + -4)" (( "(") (type_descriptor "undefined1 **" (type_identifier "undefined1") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar15 + -4)" (( "(") (binary_expression "puVar15 + -4" (identifier "puVar15") (+ "+") (number_literal "-4")) () ")")))) (= "=") (binary_expression "puVar15 + 0x40" (identifier "puVar15") (+ "+") (number_literal "0x40"))) (; ";")) (expression_statement "*(undefined **)(puVar15 + -8) = &UNK_002a3ef6;" (assignment_expression "*(undefined **)(puVar15 + -8) = &UNK_002a3ef6" (pointer_expression "*(undefined **)(puVar15 + -8)" (* "*") (cast_expression "(undefined **)(puVar15 + -8)" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar15 + -8)" (( "(") (binary_expression "puVar15 + -8" (identifier "puVar15") (+ "+") (number_literal "-8")) () ")")))) (= "=") (pointer_expression "&UNK_002a3ef6" (& "&") (identifier "UNK_002a3ef6"))) (; ";")) (expression_statement "pcVar11 = "%H:%M:%S";" (assignment_expression "pcVar11 = "%H:%M:%S"" (identifier "pcVar11") (= "=") (string_literal ""%H:%M:%S"" (" """) (string_content "%H:%M:%S") (" """))) (; ";")) (labeled_statement "code_r0x00201ca2:\n    *(char **)(puVar15 + -0xc) = pcVar11;" (statement_identifier "code_r0x00201ca2") (: ":") (expression_statement "*(char **)(puVar15 + -0xc) = pcVar11;" (assignment_expression "*(char **)(puVar15 + -0xc) = pcVar11" (pointer_expression "*(char **)(puVar15 + -0xc)" (* "*") (cast_expression "(char **)(puVar15 + -0xc)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar15 + -0xc)" (( "(") (binary_expression "puVar15 + -0xc" (identifier "puVar15") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (identifier "pcVar11")) (; ";"))) (expression_statement "*(int **)(puVar15 + -0x10) = piVar10;" (assignment_expression "*(int **)(puVar15 + -0x10) = piVar10" (pointer_expression "*(int **)(puVar15 + -0x10)" (* "*") (cast_expression "(int **)(puVar15 + -0x10)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar15 + -0x10)" (( "(") (binary_expression "puVar15 + -0x10" (identifier "puVar15") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "piVar10")) (; ";")) (expression_statement "*(undefined **)(puVar15 + -0x14) = &UNK_00201ca9;" (assignment_expression "*(undefined **)(puVar15 + -0x14) = &UNK_00201ca9" (pointer_expression "*(undefined **)(puVar15 + -0x14)" (* "*") (cast_expression "(undefined **)(puVar15 + -0x14)" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar15 + -0x14)" (( "(") (binary_expression "puVar15 + -0x14" (identifier "puVar15") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (pointer_expression "&UNK_00201ca9" (& "&") (identifier "UNK_00201ca9"))) (; ";")) (expression_statement "FUN_001f94d0();" (call_expression "FUN_001f94d0()" (identifier "FUN_001f94d0") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "*(undefined1 **)(puVar15 + -0xc) = puVar15 + 0x40;" (assignment_expression "*(undefined1 **)(puVar15 + -0xc) = puVar15 + 0x40" (pointer_expression "*(undefined1 **)(puVar15 + -0xc)" (* "*") (cast_expression "(undefined1 **)(puVar15 + -0xc)" (( "(") (type_descriptor "undefined1 **" (type_identifier "undefined1") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar15 + -0xc)" (( "(") (binary_expression "puVar15 + -0xc" (identifier "puVar15") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (binary_expression "puVar15 + 0x40" (identifier "puVar15") (+ "+") (number_literal "0x40"))) (; ";")) (goto_statement "goto code_r0x00201b30;" (goto "goto") (statement_identifier "code_r0x00201b30") (; ";"))) (case_statement "case 0x58:\n    *(undefined4 *)(puVar15 + -0xc) = *(undefined4 *)(*(int *)(*(int *)(puVar15 + 0x18) + 8) + 0x10)\n    ;\n    goto code_r0x00201b30;" (case "case") (number_literal "0x58") (: ":") (expression_statement "*(undefined4 *)(puVar15 + -0xc) = *(undefined4 *)(*(int *)(*(int *)(puVar15 + 0x18) + 8) + 0x10)\n    ;" (assignment_expression "*(undefined4 *)(puVar15 + -0xc) = *(undefined4 *)(*(int *)(*(int *)(puVar15 + 0x18) + 8) + 0x10)" (pointer_expression "*(undefined4 *)(puVar15 + -0xc)" (* "*") (cast_expression "(undefined4 *)(puVar15 + -0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -0xc)" (( "(") (binary_expression "puVar15 + -0xc" (identifier "puVar15") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(*(int *)(*(int *)(puVar15 + 0x18) + 8) + 0x10)" (* "*") (cast_expression "(undefined4 *)(*(int *)(*(int *)(puVar15 + 0x18) + 8) + 0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(*(int *)(puVar15 + 0x18) + 8) + 0x10)" (( "(") (binary_expression "*(int *)(*(int *)(puVar15 + 0x18) + 8) + 0x10" (pointer_expression "*(int *)(*(int *)(puVar15 + 0x18) + 8)" (* "*") (cast_expression "(int *)(*(int *)(puVar15 + 0x18) + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(puVar15 + 0x18) + 8)" (( "(") (binary_expression "*(int *)(puVar15 + 0x18) + 8" (pointer_expression "*(int *)(puVar15 + 0x18)" (* "*") (cast_expression "(int *)(puVar15 + 0x18)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + 0x18)" (( "(") (binary_expression "puVar15 + 0x18" (identifier "puVar15") (+ "+") (number_literal "0x18")) () ")")))) (+ "+") (number_literal "8")) () ")")))) (+ "+") (number_literal "0x10")) () ")"))))) (; ";")) (goto_statement "goto code_r0x00201b30;" (goto "goto") (statement_identifier "code_r0x00201b30") (; ";"))) (case_statement "case 0x5a:\n    *(undefined **)(puVar15 + -4) = &UNK_00201d80;\n    uVar18 = FUN_001f91d0();\n    if ((*(byte *)(piVar10[6] + 1 + (uVar18 & 0xff) * 2) & 1) == 0) goto LAB_00201ab8;\n    *(undefined1 **)(puVar15 + 0x14) = puVar15 + 0x28;\n    puVar2 = puVar15 + 0x38;\n    *(undefined1 **)(puVar15 + -8) = puVar2;\n    *(undefined4 *)(puVar15 + -0xc) = *(undefined4 *)(puVar15 + 0xa8);\n    *(undefined4 *)(puVar15 + -0x10) = 0xe;\n    *(undefined4 *)(puVar15 + -0x14) = *(undefined4 *)(puVar15 + 0x24);\n    puVar3 = puVar15 + 0x40;\n    *(undefined1 **)(puVar15 + -0x18) = puVar3;\n    *(undefined4 *)(puVar15 + -0x1c) = *(undefined4 *)(puVar15 + 0xa4);\n    *(undefined4 *)(puVar15 + -0x20) = *(undefined4 *)(puVar15 + 0xa0);\n    *(undefined4 *)(puVar15 + -0x24) = *(undefined4 *)(puVar15 + 0x9c);\n    *(undefined4 *)(puVar15 + -0x28) = *(undefined4 *)(puVar15 + 0x98);\n    *(undefined4 *)(puVar15 + -0x2c) = *(undefined4 *)(puVar15 + 0x94);\n    *(undefined1 **)(puVar15 + -0x30) = puVar15 + 0x28;\n    *(undefined **)(puVar15 + -0x34) = &UNK_00201ddc;\n    FUN_00201020();\n    *(undefined4 *)(puVar15 + 0x94) = *(undefined4 *)(puVar15 + 0x24);\n    *(undefined4 *)(puVar15 + 0x98) = *(undefined4 *)(puVar15 + 0x28);\n    *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0xc);\n    *(undefined4 *)(puVar15 + -0x14) = *(undefined4 *)(puVar15 + 4);\n    *(undefined **)(puVar15 + -0x18) = &UNK_00201e02;\n    cVar6 = FUN_00200f70();\n    puVar16 = puVar15 + -4;\n    if ((cVar6 != '\0') ||\n       (puVar16 = puVar15 + -4, *(int *)(puVar15 + 0x34) != 0 || *(int *)(puVar15 + 0x3c) != 0))\n    break;\n    *(undefined **)(puVar15 + -8) = &UNK_00201e2b;\n    uVar12 = FUN_001f91d0();\n    iVar1 = piVar10[7];\n    *(undefined4 *)(puVar15 + 0x1c) = uVar12;\n    if ((char)iVar1 == '\0') {\n      *(undefined **)(puVar15 + -8) = &UNK_002023c1;\n      cVar6 = FUN_001f9220();\n    }\n    else {\n      cVar6 = *(char *)((int)piVar10 + 0x4a);\n    }\n    if (puVar15[0x1c] != cVar6) {\n      *(undefined **)(puVar15 + -8) = &UNK_00201e53;\n      uVar12 = FUN_001f91d0();\n      iVar1 = piVar10[7];\n      *(undefined4 *)(puVar15 + 0x1c) = uVar12;\n      if ((char)iVar1 == '\0') {\n        *(undefined **)(puVar15 + -8) = &UNK_002023d2;\n        cVar6 = FUN_001f9220();\n      }\n      else {\n        cVar6 = (char)piVar10[0x12];\n      }\n      puVar16 = puVar15 + -4;\n      if (puVar15[0x1c] != cVar6) break;\n    }\n    *(undefined1 **)(puVar15 + -8) = puVar2;\n    *(undefined4 *)(puVar15 + -0xc) = *(undefined4 *)(puVar15 + 0xa4);\n    *(undefined4 *)(puVar15 + -0x10) = 2;\n    *(undefined4 *)(puVar15 + -0x14) = 0x17;\n    *(undefined4 *)(puVar15 + -0x18) = 0;\n    *(undefined1 **)(puVar15 + -0x1c) = puVar3;\n    *(undefined4 *)(puVar15 + -0x20) = *(undefined4 *)(puVar15 + 0xa0);\n    *(undefined4 *)(puVar15 + -0x24) = *(undefined4 *)(puVar15 + 0x9c);\n    *(undefined4 *)(puVar15 + -0x28) = *(undefined4 *)(puVar15 + 0x98);\n    *(undefined4 *)(puVar15 + -0x2c) = *(undefined4 *)(puVar15 + 0x94);\n    *(undefined4 *)(puVar15 + -0x30) = *(undefined4 *)(puVar15 + 0x90);\n    *(undefined4 *)(puVar15 + -0x34) = *(undefined4 *)(puVar15 + 0x10);\n    *(undefined **)(puVar15 + -0x38) = &UNK_00201eaa;\n    FUN_001fc0e0();\n    *(undefined4 *)(puVar15 + 0x90) = *(undefined4 *)(puVar15 + 0x20);\n    *(undefined4 *)(puVar15 + 0x94) = *(undefined4 *)(puVar15 + 0x24);\n    *(undefined1 **)(puVar15 + -0xc) = puVar2;\n    *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0xa0);\n    *(undefined4 *)(puVar15 + -0x14) = 2;\n    *(undefined4 *)(puVar15 + -0x18) = 0x3b;\n    *(undefined4 *)(puVar15 + -0x1c) = 0;\n    *(undefined1 **)(puVar15 + -0x20) = puVar3;\n    *(undefined4 *)(puVar15 + -0x24) = *(undefined4 *)(puVar15 + 0x9c);\n    *(undefined4 *)(puVar15 + -0x28) = *(undefined4 *)(puVar15 + 0x98);\n    *(undefined4 *)(puVar15 + -0x2c) = *(undefined4 *)(puVar15 + 0x24);\n    *(undefined4 *)(puVar15 + -0x30) = *(undefined4 *)(puVar15 + 0x20);\n    *(undefined4 *)(puVar15 + -0x34) = *(undefined4 *)(puVar15 + 0x8c);\n    puVar17 = puVar15 + -0x38;\n    *(undefined4 *)(puVar15 + -0x38) = *(undefined4 *)(puVar15 + 0xc);\n    *(undefined **)(puVar15 + -0x3c) = &UNK_00201ef2;\n    FUN_001fc0e0();\n    goto code_r0x00201b6c;" (case "case") (number_literal "0x5a") (: ":") (expression_statement "*(undefined **)(puVar15 + -4) = &UNK_00201d80;" (assignment_expression "*(undefined **)(puVar15 + -4) = &UNK_00201d80" (pointer_expression "*(undefined **)(puVar15 + -4)" (* "*") (cast_expression "(undefined **)(puVar15 + -4)" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar15 + -4)" (( "(") (binary_expression "puVar15 + -4" (identifier "puVar15") (+ "+") (number_literal "-4")) () ")")))) (= "=") (pointer_expression "&UNK_00201d80" (& "&") (identifier "UNK_00201d80"))) (; ";")) (expression_statement "uVar18 = FUN_001f91d0();" (assignment_expression "uVar18 = FUN_001f91d0()" (identifier "uVar18") (= "=") (call_expression "FUN_001f91d0()" (identifier "FUN_001f91d0") (argument_list "()" (( "(") () ")")))) (; ";")) (if_statement "if ((*(byte *)(piVar10[6] + 1 + (uVar18 & 0xff) * 2) & 1) == 0) goto LAB_00201ab8;" (if "if") (parenthesized_expression "((*(byte *)(piVar10[6] + 1 + (uVar18 & 0xff) * 2) & 1) == 0)" (( "(") (binary_expression "(*(byte *)(piVar10[6] + 1 + (uVar18 & 0xff) * 2) & 1) == 0" (parenthesized_expression "(*(byte *)(piVar10[6] + 1 + (uVar18 & 0xff) * 2) & 1)" (( "(") (binary_expression "*(byte *)(piVar10[6] + 1 + (uVar18 & 0xff) * 2) & 1" (pointer_expression "*(byte *)(piVar10[6] + 1 + (uVar18 & 0xff) * 2)" (* "*") (cast_expression "(byte *)(piVar10[6] + 1 + (uVar18 & 0xff) * 2)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(piVar10[6] + 1 + (uVar18 & 0xff) * 2)" (( "(") (binary_expression "piVar10[6] + 1 + (uVar18 & 0xff) * 2" (binary_expression "piVar10[6] + 1" (subscript_expression "piVar10[6]" (identifier "piVar10") ([ "[") (number_literal "6") (] "]")) (+ "+") (number_literal "1")) (+ "+") (binary_expression "(uVar18 & 0xff) * 2" (parenthesized_expression "(uVar18 & 0xff)" (( "(") (binary_expression "uVar18 & 0xff" (identifier "uVar18") (& "&") (number_literal "0xff")) () ")")) (* "*") (number_literal "2"))) () ")")))) (& "&") (number_literal "1")) () ")")) (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_00201ab8;" (goto "goto") (statement_identifier "LAB_00201ab8") (; ";"))) (expression_statement "*(undefined1 **)(puVar15 + 0x14) = puVar15 + 0x28;" (assignment_expression "*(undefined1 **)(puVar15 + 0x14) = puVar15 + 0x28" (pointer_expression "*(undefined1 **)(puVar15 + 0x14)" (* "*") (cast_expression "(undefined1 **)(puVar15 + 0x14)" (( "(") (type_descriptor "undefined1 **" (type_identifier "undefined1") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar15 + 0x14)" (( "(") (binary_expression "puVar15 + 0x14" (identifier "puVar15") (+ "+") (number_literal "0x14")) () ")")))) (= "=") (binary_expression "puVar15 + 0x28" (identifier "puVar15") (+ "+") (number_literal "0x28"))) (; ";")) (expression_statement "puVar2 = puVar15 + 0x38;" (assignment_expression "puVar2 = puVar15 + 0x38" (identifier "puVar2") (= "=") (binary_expression "puVar15 + 0x38" (identifier "puVar15") (+ "+") (number_literal "0x38"))) (; ";")) (expression_statement "*(undefined1 **)(puVar15 + -8) = puVar2;" (assignment_expression "*(undefined1 **)(puVar15 + -8) = puVar2" (pointer_expression "*(undefined1 **)(puVar15 + -8)" (* "*") (cast_expression "(undefined1 **)(puVar15 + -8)" (( "(") (type_descriptor "undefined1 **" (type_identifier "undefined1") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar15 + -8)" (( "(") (binary_expression "puVar15 + -8" (identifier "puVar15") (+ "+") (number_literal "-8")) () ")")))) (= "=") (identifier "puVar2")) (; ";")) (expression_statement "*(undefined4 *)(puVar15 + -0xc) = *(undefined4 *)(puVar15 + 0xa8);" (assignment_expression "*(undefined4 *)(puVar15 + -0xc) = *(undefined4 *)(puVar15 + 0xa8)" (pointer_expression "*(undefined4 *)(puVar15 + -0xc)" (* "*") (cast_expression "(undefined4 *)(puVar15 + -0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -0xc)" (( "(") (binary_expression "puVar15 + -0xc" (identifier "puVar15") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(puVar15 + 0xa8)" (* "*") (cast_expression "(undefined4 *)(puVar15 + 0xa8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + 0xa8)" (( "(") (binary_expression "puVar15 + 0xa8" (identifier "puVar15") (+ "+") (number_literal "0xa8")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(puVar15 + -0x10) = 0xe;" (assignment_expression "*(undefined4 *)(puVar15 + -0x10) = 0xe" (pointer_expression "*(undefined4 *)(puVar15 + -0x10)" (* "*") (cast_expression "(undefined4 *)(puVar15 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -0x10)" (( "(") (binary_expression "puVar15 + -0x10" (identifier "puVar15") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (number_literal "0xe")) (; ";")) (expression_statement "*(undefined4 *)(puVar15 + -0x14) = *(undefined4 *)(puVar15 + 0x24);" (assignment_expression "*(undefined4 *)(puVar15 + -0x14) = *(undefined4 *)(puVar15 + 0x24)" (pointer_expression "*(undefined4 *)(puVar15 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar15 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -0x14)" (( "(") (binary_expression "puVar15 + -0x14" (identifier "puVar15") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(puVar15 + 0x24)" (* "*") (cast_expression "(undefined4 *)(puVar15 + 0x24)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + 0x24)" (( "(") (binary_expression "puVar15 + 0x24" (identifier "puVar15") (+ "+") (number_literal "0x24")) () ")"))))) (; ";")) (expression_statement "puVar3 = puVar15 + 0x40;" (assignment_expression "puVar3 = puVar15 + 0x40" (identifier "puVar3") (= "=") (binary_expression "puVar15 + 0x40" (identifier "puVar15") (+ "+") (number_literal "0x40"))) (; ";")) (expression_statement "*(undefined1 **)(puVar15 + -0x18) = puVar3;" (assignment_expression "*(undefined1 **)(puVar15 + -0x18) = puVar3" (pointer_expression "*(undefined1 **)(puVar15 + -0x18)" (* "*") (cast_expression "(undefined1 **)(puVar15 + -0x18)" (( "(") (type_descriptor "undefined1 **" (type_identifier "undefined1") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar15 + -0x18)" (( "(") (binary_expression "puVar15 + -0x18" (identifier "puVar15") (+ "+") (number_literal "-0x18")) () ")")))) (= "=") (identifier "puVar3")) (; ";")) (expression_statement "*(undefined4 *)(puVar15 + -0x1c) = *(undefined4 *)(puVar15 + 0xa4);" (assignment_expression "*(undefined4 *)(puVar15 + -0x1c) = *(undefined4 *)(puVar15 + 0xa4)" (pointer_expression "*(undefined4 *)(puVar15 + -0x1c)" (* "*") (cast_expression "(undefined4 *)(puVar15 + -0x1c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -0x1c)" (( "(") (binary_expression "puVar15 + -0x1c" (identifier "puVar15") (+ "+") (number_literal "-0x1c")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(puVar15 + 0xa4)" (* "*") (cast_expression "(undefined4 *)(puVar15 + 0xa4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + 0xa4)" (( "(") (binary_expression "puVar15 + 0xa4" (identifier "puVar15") (+ "+") (number_literal "0xa4")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(puVar15 + -0x20) = *(undefined4 *)(puVar15 + 0xa0);" (assignment_expression "*(undefined4 *)(puVar15 + -0x20) = *(undefined4 *)(puVar15 + 0xa0)" (pointer_expression "*(undefined4 *)(puVar15 + -0x20)" (* "*") (cast_expression "(undefined4 *)(puVar15 + -0x20)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -0x20)" (( "(") (binary_expression "puVar15 + -0x20" (identifier "puVar15") (+ "+") (number_literal "-0x20")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(puVar15 + 0xa0)" (* "*") (cast_expression "(undefined4 *)(puVar15 + 0xa0)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + 0xa0)" (( "(") (binary_expression "puVar15 + 0xa0" (identifier "puVar15") (+ "+") (number_literal "0xa0")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(puVar15 + -0x24) = *(undefined4 *)(puVar15 + 0x9c);" (assignment_expression "*(undefined4 *)(puVar15 + -0x24) = *(undefined4 *)(puVar15 + 0x9c)" (pointer_expression "*(undefined4 *)(puVar15 + -0x24)" (* "*") (cast_expression "(undefined4 *)(puVar15 + -0x24)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -0x24)" (( "(") (binary_expression "puVar15 + -0x24" (identifier "puVar15") (+ "+") (number_literal "-0x24")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(puVar15 + 0x9c)" (* "*") (cast_expression "(undefined4 *)(puVar15 + 0x9c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + 0x9c)" (( "(") (binary_expression "puVar15 + 0x9c" (identifier "puVar15") (+ "+") (number_literal "0x9c")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(puVar15 + -0x28) = *(undefined4 *)(puVar15 + 0x98);" (assignment_expression "*(undefined4 *)(puVar15 + -0x28) = *(undefined4 *)(puVar15 + 0x98)" (pointer_expression "*(undefined4 *)(puVar15 + -0x28)" (* "*") (cast_expression "(undefined4 *)(puVar15 + -0x28)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -0x28)" (( "(") (binary_expression "puVar15 + -0x28" (identifier "puVar15") (+ "+") (number_literal "-0x28")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(puVar15 + 0x98)" (* "*") (cast_expression "(undefined4 *)(puVar15 + 0x98)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + 0x98)" (( "(") (binary_expression "puVar15 + 0x98" (identifier "puVar15") (+ "+") (number_literal "0x98")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(puVar15 + -0x2c) = *(undefined4 *)(puVar15 + 0x94);" (assignment_expression "*(undefined4 *)(puVar15 + -0x2c) = *(undefined4 *)(puVar15 + 0x94)" (pointer_expression "*(undefined4 *)(puVar15 + -0x2c)" (* "*") (cast_expression "(undefined4 *)(puVar15 + -0x2c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -0x2c)" (( "(") (binary_expression "puVar15 + -0x2c" (identifier "puVar15") (+ "+") (number_literal "-0x2c")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(puVar15 + 0x94)" (* "*") (cast_expression "(undefined4 *)(puVar15 + 0x94)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + 0x94)" (( "(") (binary_expression "puVar15 + 0x94" (identifier "puVar15") (+ "+") (number_literal "0x94")) () ")"))))) (; ";")) (expression_statement "*(undefined1 **)(puVar15 + -0x30) = puVar15 + 0x28;" (assignment_expression "*(undefined1 **)(puVar15 + -0x30) = puVar15 + 0x28" (pointer_expression "*(undefined1 **)(puVar15 + -0x30)" (* "*") (cast_expression "(undefined1 **)(puVar15 + -0x30)" (( "(") (type_descriptor "undefined1 **" (type_identifier "undefined1") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar15 + -0x30)" (( "(") (binary_expression "puVar15 + -0x30" (identifier "puVar15") (+ "+") (number_literal "-0x30")) () ")")))) (= "=") (binary_expression "puVar15 + 0x28" (identifier "puVar15") (+ "+") (number_literal "0x28"))) (; ";")) (expression_statement "*(undefined **)(puVar15 + -0x34) = &UNK_00201ddc;" (assignment_expression "*(undefined **)(puVar15 + -0x34) = &UNK_00201ddc" (pointer_expression "*(undefined **)(puVar15 + -0x34)" (* "*") (cast_expression "(undefined **)(puVar15 + -0x34)" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar15 + -0x34)" (( "(") (binary_expression "puVar15 + -0x34" (identifier "puVar15") (+ "+") (number_literal "-0x34")) () ")")))) (= "=") (pointer_expression "&UNK_00201ddc" (& "&") (identifier "UNK_00201ddc"))) (; ";")) (expression_statement "FUN_00201020();" (call_expression "FUN_00201020()" (identifier "FUN_00201020") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "*(undefined4 *)(puVar15 + 0x94) = *(undefined4 *)(puVar15 + 0x24);" (assignment_expression "*(undefined4 *)(puVar15 + 0x94) = *(undefined4 *)(puVar15 + 0x24)" (pointer_expression "*(undefined4 *)(puVar15 + 0x94)" (* "*") (cast_expression "(undefined4 *)(puVar15 + 0x94)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + 0x94)" (( "(") (binary_expression "puVar15 + 0x94" (identifier "puVar15") (+ "+") (number_literal "0x94")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(puVar15 + 0x24)" (* "*") (cast_expression "(undefined4 *)(puVar15 + 0x24)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + 0x24)" (( "(") (binary_expression "puVar15 + 0x24" (identifier "puVar15") (+ "+") (number_literal "0x24")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(puVar15 + 0x98) = *(undefined4 *)(puVar15 + 0x28);" (assignment_expression "*(undefined4 *)(puVar15 + 0x98) = *(undefined4 *)(puVar15 + 0x28)" (pointer_expression "*(undefined4 *)(puVar15 + 0x98)" (* "*") (cast_expression "(undefined4 *)(puVar15 + 0x98)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + 0x98)" (( "(") (binary_expression "puVar15 + 0x98" (identifier "puVar15") (+ "+") (number_literal "0x98")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(puVar15 + 0x28)" (* "*") (cast_expression "(undefined4 *)(puVar15 + 0x28)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + 0x28)" (( "(") (binary_expression "puVar15 + 0x28" (identifier "puVar15") (+ "+") (number_literal "0x28")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0xc);" (assignment_expression "*(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0xc)" (pointer_expression "*(undefined4 *)(puVar15 + -0x10)" (* "*") (cast_expression "(undefined4 *)(puVar15 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -0x10)" (( "(") (binary_expression "puVar15 + -0x10" (identifier "puVar15") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(puVar15 + 0xc)" (* "*") (cast_expression "(undefined4 *)(puVar15 + 0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + 0xc)" (( "(") (binary_expression "puVar15 + 0xc" (identifier "puVar15") (+ "+") (number_literal "0xc")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(puVar15 + -0x14) = *(undefined4 *)(puVar15 + 4);" (assignment_expression "*(undefined4 *)(puVar15 + -0x14) = *(undefined4 *)(puVar15 + 4)" (pointer_expression "*(undefined4 *)(puVar15 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar15 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -0x14)" (( "(") (binary_expression "puVar15 + -0x14" (identifier "puVar15") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(puVar15 + 4)" (* "*") (cast_expression "(undefined4 *)(puVar15 + 4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + 4)" (( "(") (binary_expression "puVar15 + 4" (identifier "puVar15") (+ "+") (number_literal "4")) () ")"))))) (; ";")) (expression_statement "*(undefined **)(puVar15 + -0x18) = &UNK_00201e02;" (assignment_expression "*(undefined **)(puVar15 + -0x18) = &UNK_00201e02" (pointer_expression "*(undefined **)(puVar15 + -0x18)" (* "*") (cast_expression "(undefined **)(puVar15 + -0x18)" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar15 + -0x18)" (( "(") (binary_expression "puVar15 + -0x18" (identifier "puVar15") (+ "+") (number_literal "-0x18")) () ")")))) (= "=") (pointer_expression "&UNK_00201e02" (& "&") (identifier "UNK_00201e02"))) (; ";")) (expression_statement "cVar6 = FUN_00200f70();" (assignment_expression "cVar6 = FUN_00200f70()" (identifier "cVar6") (= "=") (call_expression "FUN_00200f70()" (identifier "FUN_00200f70") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "puVar16 = puVar15 + -4;" (assignment_expression "puVar16 = puVar15 + -4" (identifier "puVar16") (= "=") (binary_expression "puVar15 + -4" (identifier "puVar15") (+ "+") (number_literal "-4"))) (; ";")) (if_statement "if ((cVar6 != '\0') ||\n       (puVar16 = puVar15 + -4, *(int *)(puVar15 + 0x34) != 0 || *(int *)(puVar15 + 0x3c) != 0))\n    break;" (if "if") (parenthesized_expression "((cVar6 != '\0') ||\n       (puVar16 = puVar15 + -4, *(int *)(puVar15 + 0x34) != 0 || *(int *)(puVar15 + 0x3c) != 0))" (( "(") (binary_expression "(cVar6 != '\0') ||\n       (puVar16 = puVar15 + -4, *(int *)(puVar15 + 0x34) != 0 || *(int *)(puVar15 + 0x3c) != 0)" (parenthesized_expression "(cVar6 != '\0')" (( "(") (binary_expression "cVar6 != '\0'" (identifier "cVar6") (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (|| "||") (parenthesized_expression "(puVar16 = puVar15 + -4, *(int *)(puVar15 + 0x34) != 0 || *(int *)(puVar15 + 0x3c) != 0)" (( "(") (comma_expression "puVar16 = puVar15 + -4, *(int *)(puVar15 + 0x34) != 0 || *(int *)(puVar15 + 0x3c) != 0" (assignment_expression "puVar16 = puVar15 + -4" (identifier "puVar16") (= "=") (binary_expression "puVar15 + -4" (identifier "puVar15") (+ "+") (number_literal "-4"))) (, ",") (binary_expression "*(int *)(puVar15 + 0x34) != 0 || *(int *)(puVar15 + 0x3c) != 0" (binary_expression "*(int *)(puVar15 + 0x34) != 0" (pointer_expression "*(int *)(puVar15 + 0x34)" (* "*") (cast_expression "(int *)(puVar15 + 0x34)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + 0x34)" (( "(") (binary_expression "puVar15 + 0x34" (identifier "puVar15") (+ "+") (number_literal "0x34")) () ")")))) (!= "!=") (number_literal "0")) (|| "||") (binary_expression "*(int *)(puVar15 + 0x3c) != 0" (pointer_expression "*(int *)(puVar15 + 0x3c)" (* "*") (cast_expression "(int *)(puVar15 + 0x3c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + 0x3c)" (( "(") (binary_expression "puVar15 + 0x3c" (identifier "puVar15") (+ "+") (number_literal "0x3c")) () ")")))) (!= "!=") (number_literal "0")))) () ")"))) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "*(undefined **)(puVar15 + -8) = &UNK_00201e2b;" (assignment_expression "*(undefined **)(puVar15 + -8) = &UNK_00201e2b" (pointer_expression "*(undefined **)(puVar15 + -8)" (* "*") (cast_expression "(undefined **)(puVar15 + -8)" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar15 + -8)" (( "(") (binary_expression "puVar15 + -8" (identifier "puVar15") (+ "+") (number_literal "-8")) () ")")))) (= "=") (pointer_expression "&UNK_00201e2b" (& "&") (identifier "UNK_00201e2b"))) (; ";")) (expression_statement "uVar12 = FUN_001f91d0();" (assignment_expression "uVar12 = FUN_001f91d0()" (identifier "uVar12") (= "=") (call_expression "FUN_001f91d0()" (identifier "FUN_001f91d0") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "iVar1 = piVar10[7];" (assignment_expression "iVar1 = piVar10[7]" (identifier "iVar1") (= "=") (subscript_expression "piVar10[7]" (identifier "piVar10") ([ "[") (number_literal "7") (] "]"))) (; ";")) (expression_statement "*(undefined4 *)(puVar15 + 0x1c) = uVar12;" (assignment_expression "*(undefined4 *)(puVar15 + 0x1c) = uVar12" (pointer_expression "*(undefined4 *)(puVar15 + 0x1c)" (* "*") (cast_expression "(undefined4 *)(puVar15 + 0x1c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + 0x1c)" (( "(") (binary_expression "puVar15 + 0x1c" (identifier "puVar15") (+ "+") (number_literal "0x1c")) () ")")))) (= "=") (identifier "uVar12")) (; ";")) (if_statement "if ((char)iVar1 == '\0') {\n      *(undefined **)(puVar15 + -8) = &UNK_002023c1;\n      cVar6 = FUN_001f9220();\n    }\n    else {\n      cVar6 = *(char *)((int)piVar10 + 0x4a);\n    }" (if "if") (parenthesized_expression "((char)iVar1 == '\0')" (( "(") (binary_expression "(char)iVar1 == '\0'" (cast_expression "(char)iVar1" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (identifier "iVar1")) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n      *(undefined **)(puVar15 + -8) = &UNK_002023c1;\n      cVar6 = FUN_001f9220();\n    }" ({ "{") (expression_statement "*(undefined **)(puVar15 + -8) = &UNK_002023c1;" (assignment_expression "*(undefined **)(puVar15 + -8) = &UNK_002023c1" (pointer_expression "*(undefined **)(puVar15 + -8)" (* "*") (cast_expression "(undefined **)(puVar15 + -8)" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar15 + -8)" (( "(") (binary_expression "puVar15 + -8" (identifier "puVar15") (+ "+") (number_literal "-8")) () ")")))) (= "=") (pointer_expression "&UNK_002023c1" (& "&") (identifier "UNK_002023c1"))) (; ";")) (expression_statement "cVar6 = FUN_001f9220();" (assignment_expression "cVar6 = FUN_001f9220()" (identifier "cVar6") (= "=") (call_expression "FUN_001f9220()" (identifier "FUN_001f9220") (argument_list "()" (( "(") () ")")))) (; ";")) (} "}")) (else_clause "else {\n      cVar6 = *(char *)((int)piVar10 + 0x4a);\n    }" (else "else") (compound_statement "{\n      cVar6 = *(char *)((int)piVar10 + 0x4a);\n    }" ({ "{") (expression_statement "cVar6 = *(char *)((int)piVar10 + 0x4a);" (assignment_expression "cVar6 = *(char *)((int)piVar10 + 0x4a)" (identifier "cVar6") (= "=") (pointer_expression "*(char *)((int)piVar10 + 0x4a)" (* "*") (cast_expression "(char *)((int)piVar10 + 0x4a)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar10 + 0x4a)" (( "(") (binary_expression "(int)piVar10 + 0x4a" (cast_expression "(int)piVar10" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar10")) (+ "+") (number_literal "0x4a")) () ")"))))) (; ";")) (} "}")))) (if_statement "if (puVar15[0x1c] != cVar6) {\n      *(undefined **)(puVar15 + -8) = &UNK_00201e53;\n      uVar12 = FUN_001f91d0();\n      iVar1 = piVar10[7];\n      *(undefined4 *)(puVar15 + 0x1c) = uVar12;\n      if ((char)iVar1 == '\0') {\n        *(undefined **)(puVar15 + -8) = &UNK_002023d2;\n        cVar6 = FUN_001f9220();\n      }\n      else {\n        cVar6 = (char)piVar10[0x12];\n      }\n      puVar16 = puVar15 + -4;\n      if (puVar15[0x1c] != cVar6) break;\n    }" (if "if") (parenthesized_expression "(puVar15[0x1c] != cVar6)" (( "(") (binary_expression "puVar15[0x1c] != cVar6" (subscript_expression "puVar15[0x1c]" (identifier "puVar15") ([ "[") (number_literal "0x1c") (] "]")) (!= "!=") (identifier "cVar6")) () ")")) (compound_statement "{\n      *(undefined **)(puVar15 + -8) = &UNK_00201e53;\n      uVar12 = FUN_001f91d0();\n      iVar1 = piVar10[7];\n      *(undefined4 *)(puVar15 + 0x1c) = uVar12;\n      if ((char)iVar1 == '\0') {\n        *(undefined **)(puVar15 + -8) = &UNK_002023d2;\n        cVar6 = FUN_001f9220();\n      }\n      else {\n        cVar6 = (char)piVar10[0x12];\n      }\n      puVar16 = puVar15 + -4;\n      if (puVar15[0x1c] != cVar6) break;\n    }" ({ "{") (expression_statement "*(undefined **)(puVar15 + -8) = &UNK_00201e53;" (assignment_expression "*(undefined **)(puVar15 + -8) = &UNK_00201e53" (pointer_expression "*(undefined **)(puVar15 + -8)" (* "*") (cast_expression "(undefined **)(puVar15 + -8)" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar15 + -8)" (( "(") (binary_expression "puVar15 + -8" (identifier "puVar15") (+ "+") (number_literal "-8")) () ")")))) (= "=") (pointer_expression "&UNK_00201e53" (& "&") (identifier "UNK_00201e53"))) (; ";")) (expression_statement "uVar12 = FUN_001f91d0();" (assignment_expression "uVar12 = FUN_001f91d0()" (identifier "uVar12") (= "=") (call_expression "FUN_001f91d0()" (identifier "FUN_001f91d0") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "iVar1 = piVar10[7];" (assignment_expression "iVar1 = piVar10[7]" (identifier "iVar1") (= "=") (subscript_expression "piVar10[7]" (identifier "piVar10") ([ "[") (number_literal "7") (] "]"))) (; ";")) (expression_statement "*(undefined4 *)(puVar15 + 0x1c) = uVar12;" (assignment_expression "*(undefined4 *)(puVar15 + 0x1c) = uVar12" (pointer_expression "*(undefined4 *)(puVar15 + 0x1c)" (* "*") (cast_expression "(undefined4 *)(puVar15 + 0x1c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + 0x1c)" (( "(") (binary_expression "puVar15 + 0x1c" (identifier "puVar15") (+ "+") (number_literal "0x1c")) () ")")))) (= "=") (identifier "uVar12")) (; ";")) (if_statement "if ((char)iVar1 == '\0') {\n        *(undefined **)(puVar15 + -8) = &UNK_002023d2;\n        cVar6 = FUN_001f9220();\n      }\n      else {\n        cVar6 = (char)piVar10[0x12];\n      }" (if "if") (parenthesized_expression "((char)iVar1 == '\0')" (( "(") (binary_expression "(char)iVar1 == '\0'" (cast_expression "(char)iVar1" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (identifier "iVar1")) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n        *(undefined **)(puVar15 + -8) = &UNK_002023d2;\n        cVar6 = FUN_001f9220();\n      }" ({ "{") (expression_statement "*(undefined **)(puVar15 + -8) = &UNK_002023d2;" (assignment_expression "*(undefined **)(puVar15 + -8) = &UNK_002023d2" (pointer_expression "*(undefined **)(puVar15 + -8)" (* "*") (cast_expression "(undefined **)(puVar15 + -8)" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar15 + -8)" (( "(") (binary_expression "puVar15 + -8" (identifier "puVar15") (+ "+") (number_literal "-8")) () ")")))) (= "=") (pointer_expression "&UNK_002023d2" (& "&") (identifier "UNK_002023d2"))) (; ";")) (expression_statement "cVar6 = FUN_001f9220();" (assignment_expression "cVar6 = FUN_001f9220()" (identifier "cVar6") (= "=") (call_expression "FUN_001f9220()" (identifier "FUN_001f9220") (argument_list "()" (( "(") () ")")))) (; ";")) (} "}")) (else_clause "else {\n        cVar6 = (char)piVar10[0x12];\n      }" (else "else") (compound_statement "{\n        cVar6 = (char)piVar10[0x12];\n      }" ({ "{") (expression_statement "cVar6 = (char)piVar10[0x12];" (assignment_expression "cVar6 = (char)piVar10[0x12]" (identifier "cVar6") (= "=") (cast_expression "(char)piVar10[0x12]" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (subscript_expression "piVar10[0x12]" (identifier "piVar10") ([ "[") (number_literal "0x12") (] "]")))) (; ";")) (} "}")))) (expression_statement "puVar16 = puVar15 + -4;" (assignment_expression "puVar16 = puVar15 + -4" (identifier "puVar16") (= "=") (binary_expression "puVar15 + -4" (identifier "puVar15") (+ "+") (number_literal "-4"))) (; ";")) (if_statement "if (puVar15[0x1c] != cVar6) break;" (if "if") (parenthesized_expression "(puVar15[0x1c] != cVar6)" (( "(") (binary_expression "puVar15[0x1c] != cVar6" (subscript_expression "puVar15[0x1c]" (identifier "puVar15") ([ "[") (number_literal "0x1c") (] "]")) (!= "!=") (identifier "cVar6")) () ")")) (break_statement "break;" (break "break") (; ";"))) (} "}"))) (expression_statement "*(undefined1 **)(puVar15 + -8) = puVar2;" (assignment_expression "*(undefined1 **)(puVar15 + -8) = puVar2" (pointer_expression "*(undefined1 **)(puVar15 + -8)" (* "*") (cast_expression "(undefined1 **)(puVar15 + -8)" (( "(") (type_descriptor "undefined1 **" (type_identifier "undefined1") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar15 + -8)" (( "(") (binary_expression "puVar15 + -8" (identifier "puVar15") (+ "+") (number_literal "-8")) () ")")))) (= "=") (identifier "puVar2")) (; ";")) (expression_statement "*(undefined4 *)(puVar15 + -0xc) = *(undefined4 *)(puVar15 + 0xa4);" (assignment_expression "*(undefined4 *)(puVar15 + -0xc) = *(undefined4 *)(puVar15 + 0xa4)" (pointer_expression "*(undefined4 *)(puVar15 + -0xc)" (* "*") (cast_expression "(undefined4 *)(puVar15 + -0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -0xc)" (( "(") (binary_expression "puVar15 + -0xc" (identifier "puVar15") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(puVar15 + 0xa4)" (* "*") (cast_expression "(undefined4 *)(puVar15 + 0xa4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + 0xa4)" (( "(") (binary_expression "puVar15 + 0xa4" (identifier "puVar15") (+ "+") (number_literal "0xa4")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(puVar15 + -0x10) = 2;" (assignment_expression "*(undefined4 *)(puVar15 + -0x10) = 2" (pointer_expression "*(undefined4 *)(puVar15 + -0x10)" (* "*") (cast_expression "(undefined4 *)(puVar15 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -0x10)" (( "(") (binary_expression "puVar15 + -0x10" (identifier "puVar15") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (number_literal "2")) (; ";")) (expression_statement "*(undefined4 *)(puVar15 + -0x14) = 0x17;" (assignment_expression "*(undefined4 *)(puVar15 + -0x14) = 0x17" (pointer_expression "*(undefined4 *)(puVar15 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar15 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -0x14)" (( "(") (binary_expression "puVar15 + -0x14" (identifier "puVar15") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x17")) (; ";")) (expression_statement "*(undefined4 *)(puVar15 + -0x18) = 0;" (assignment_expression "*(undefined4 *)(puVar15 + -0x18) = 0" (pointer_expression "*(undefined4 *)(puVar15 + -0x18)" (* "*") (cast_expression "(undefined4 *)(puVar15 + -0x18)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -0x18)" (( "(") (binary_expression "puVar15 + -0x18" (identifier "puVar15") (+ "+") (number_literal "-0x18")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined1 **)(puVar15 + -0x1c) = puVar3;" (assignment_expression "*(undefined1 **)(puVar15 + -0x1c) = puVar3" (pointer_expression "*(undefined1 **)(puVar15 + -0x1c)" (* "*") (cast_expression "(undefined1 **)(puVar15 + -0x1c)" (( "(") (type_descriptor "undefined1 **" (type_identifier "undefined1") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar15 + -0x1c)" (( "(") (binary_expression "puVar15 + -0x1c" (identifier "puVar15") (+ "+") (number_literal "-0x1c")) () ")")))) (= "=") (identifier "puVar3")) (; ";")) (expression_statement "*(undefined4 *)(puVar15 + -0x20) = *(undefined4 *)(puVar15 + 0xa0);" (assignment_expression "*(undefined4 *)(puVar15 + -0x20) = *(undefined4 *)(puVar15 + 0xa0)" (pointer_expression "*(undefined4 *)(puVar15 + -0x20)" (* "*") (cast_expression "(undefined4 *)(puVar15 + -0x20)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -0x20)" (( "(") (binary_expression "puVar15 + -0x20" (identifier "puVar15") (+ "+") (number_literal "-0x20")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(puVar15 + 0xa0)" (* "*") (cast_expression "(undefined4 *)(puVar15 + 0xa0)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + 0xa0)" (( "(") (binary_expression "puVar15 + 0xa0" (identifier "puVar15") (+ "+") (number_literal "0xa0")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(puVar15 + -0x24) = *(undefined4 *)(puVar15 + 0x9c);" (assignment_expression "*(undefined4 *)(puVar15 + -0x24) = *(undefined4 *)(puVar15 + 0x9c)" (pointer_expression "*(undefined4 *)(puVar15 + -0x24)" (* "*") (cast_expression "(undefined4 *)(puVar15 + -0x24)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -0x24)" (( "(") (binary_expression "puVar15 + -0x24" (identifier "puVar15") (+ "+") (number_literal "-0x24")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(puVar15 + 0x9c)" (* "*") (cast_expression "(undefined4 *)(puVar15 + 0x9c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + 0x9c)" (( "(") (binary_expression "puVar15 + 0x9c" (identifier "puVar15") (+ "+") (number_literal "0x9c")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(puVar15 + -0x28) = *(undefined4 *)(puVar15 + 0x98);" (assignment_expression "*(undefined4 *)(puVar15 + -0x28) = *(undefined4 *)(puVar15 + 0x98)" (pointer_expression "*(undefined4 *)(puVar15 + -0x28)" (* "*") (cast_expression "(undefined4 *)(puVar15 + -0x28)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -0x28)" (( "(") (binary_expression "puVar15 + -0x28" (identifier "puVar15") (+ "+") (number_literal "-0x28")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(puVar15 + 0x98)" (* "*") (cast_expression "(undefined4 *)(puVar15 + 0x98)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + 0x98)" (( "(") (binary_expression "puVar15 + 0x98" (identifier "puVar15") (+ "+") (number_literal "0x98")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(puVar15 + -0x2c) = *(undefined4 *)(puVar15 + 0x94);" (assignment_expression "*(undefined4 *)(puVar15 + -0x2c) = *(undefined4 *)(puVar15 + 0x94)" (pointer_expression "*(undefined4 *)(puVar15 + -0x2c)" (* "*") (cast_expression "(undefined4 *)(puVar15 + -0x2c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -0x2c)" (( "(") (binary_expression "puVar15 + -0x2c" (identifier "puVar15") (+ "+") (number_literal "-0x2c")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(puVar15 + 0x94)" (* "*") (cast_expression "(undefined4 *)(puVar15 + 0x94)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + 0x94)" (( "(") (binary_expression "puVar15 + 0x94" (identifier "puVar15") (+ "+") (number_literal "0x94")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(puVar15 + -0x30) = *(undefined4 *)(puVar15 + 0x90);" (assignment_expression "*(undefined4 *)(puVar15 + -0x30) = *(undefined4 *)(puVar15 + 0x90)" (pointer_expression "*(undefined4 *)(puVar15 + -0x30)" (* "*") (cast_expression "(undefined4 *)(puVar15 + -0x30)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -0x30)" (( "(") (binary_expression "puVar15 + -0x30" (identifier "puVar15") (+ "+") (number_literal "-0x30")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(puVar15 + 0x90)" (* "*") (cast_expression "(undefined4 *)(puVar15 + 0x90)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + 0x90)" (( "(") (binary_expression "puVar15 + 0x90" (identifier "puVar15") (+ "+") (number_literal "0x90")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(puVar15 + -0x34) = *(undefined4 *)(puVar15 + 0x10);" (assignment_expression "*(undefined4 *)(puVar15 + -0x34) = *(undefined4 *)(puVar15 + 0x10)" (pointer_expression "*(undefined4 *)(puVar15 + -0x34)" (* "*") (cast_expression "(undefined4 *)(puVar15 + -0x34)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -0x34)" (( "(") (binary_expression "puVar15 + -0x34" (identifier "puVar15") (+ "+") (number_literal "-0x34")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(puVar15 + 0x10)" (* "*") (cast_expression "(undefined4 *)(puVar15 + 0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + 0x10)" (( "(") (binary_expression "puVar15 + 0x10" (identifier "puVar15") (+ "+") (number_literal "0x10")) () ")"))))) (; ";")) (expression_statement "*(undefined **)(puVar15 + -0x38) = &UNK_00201eaa;" (assignment_expression "*(undefined **)(puVar15 + -0x38) = &UNK_00201eaa" (pointer_expression "*(undefined **)(puVar15 + -0x38)" (* "*") (cast_expression "(undefined **)(puVar15 + -0x38)" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar15 + -0x38)" (( "(") (binary_expression "puVar15 + -0x38" (identifier "puVar15") (+ "+") (number_literal "-0x38")) () ")")))) (= "=") (pointer_expression "&UNK_00201eaa" (& "&") (identifier "UNK_00201eaa"))) (; ";")) (expression_statement "FUN_001fc0e0();" (call_expression "FUN_001fc0e0()" (identifier "FUN_001fc0e0") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "*(undefined4 *)(puVar15 + 0x90) = *(undefined4 *)(puVar15 + 0x20);" (assignment_expression "*(undefined4 *)(puVar15 + 0x90) = *(undefined4 *)(puVar15 + 0x20)" (pointer_expression "*(undefined4 *)(puVar15 + 0x90)" (* "*") (cast_expression "(undefined4 *)(puVar15 + 0x90)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + 0x90)" (( "(") (binary_expression "puVar15 + 0x90" (identifier "puVar15") (+ "+") (number_literal "0x90")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(puVar15 + 0x20)" (* "*") (cast_expression "(undefined4 *)(puVar15 + 0x20)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + 0x20)" (( "(") (binary_expression "puVar15 + 0x20" (identifier "puVar15") (+ "+") (number_literal "0x20")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(puVar15 + 0x94) = *(undefined4 *)(puVar15 + 0x24);" (assignment_expression "*(undefined4 *)(puVar15 + 0x94) = *(undefined4 *)(puVar15 + 0x24)" (pointer_expression "*(undefined4 *)(puVar15 + 0x94)" (* "*") (cast_expression "(undefined4 *)(puVar15 + 0x94)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + 0x94)" (( "(") (binary_expression "puVar15 + 0x94" (identifier "puVar15") (+ "+") (number_literal "0x94")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(puVar15 + 0x24)" (* "*") (cast_expression "(undefined4 *)(puVar15 + 0x24)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + 0x24)" (( "(") (binary_expression "puVar15 + 0x24" (identifier "puVar15") (+ "+") (number_literal "0x24")) () ")"))))) (; ";")) (expression_statement "*(undefined1 **)(puVar15 + -0xc) = puVar2;" (assignment_expression "*(undefined1 **)(puVar15 + -0xc) = puVar2" (pointer_expression "*(undefined1 **)(puVar15 + -0xc)" (* "*") (cast_expression "(undefined1 **)(puVar15 + -0xc)" (( "(") (type_descriptor "undefined1 **" (type_identifier "undefined1") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar15 + -0xc)" (( "(") (binary_expression "puVar15 + -0xc" (identifier "puVar15") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (identifier "puVar2")) (; ";")) (expression_statement "*(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0xa0);" (assignment_expression "*(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0xa0)" (pointer_expression "*(undefined4 *)(puVar15 + -0x10)" (* "*") (cast_expression "(undefined4 *)(puVar15 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -0x10)" (( "(") (binary_expression "puVar15 + -0x10" (identifier "puVar15") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(puVar15 + 0xa0)" (* "*") (cast_expression "(undefined4 *)(puVar15 + 0xa0)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + 0xa0)" (( "(") (binary_expression "puVar15 + 0xa0" (identifier "puVar15") (+ "+") (number_literal "0xa0")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(puVar15 + -0x14) = 2;" (assignment_expression "*(undefined4 *)(puVar15 + -0x14) = 2" (pointer_expression "*(undefined4 *)(puVar15 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar15 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -0x14)" (( "(") (binary_expression "puVar15 + -0x14" (identifier "puVar15") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "2")) (; ";")) (expression_statement "*(undefined4 *)(puVar15 + -0x18) = 0x3b;" (assignment_expression "*(undefined4 *)(puVar15 + -0x18) = 0x3b" (pointer_expression "*(undefined4 *)(puVar15 + -0x18)" (* "*") (cast_expression "(undefined4 *)(puVar15 + -0x18)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -0x18)" (( "(") (binary_expression "puVar15 + -0x18" (identifier "puVar15") (+ "+") (number_literal "-0x18")) () ")")))) (= "=") (number_literal "0x3b")) (; ";")) (expression_statement "*(undefined4 *)(puVar15 + -0x1c) = 0;" (assignment_expression "*(undefined4 *)(puVar15 + -0x1c) = 0" (pointer_expression "*(undefined4 *)(puVar15 + -0x1c)" (* "*") (cast_expression "(undefined4 *)(puVar15 + -0x1c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -0x1c)" (( "(") (binary_expression "puVar15 + -0x1c" (identifier "puVar15") (+ "+") (number_literal "-0x1c")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined1 **)(puVar15 + -0x20) = puVar3;" (assignment_expression "*(undefined1 **)(puVar15 + -0x20) = puVar3" (pointer_expression "*(undefined1 **)(puVar15 + -0x20)" (* "*") (cast_expression "(undefined1 **)(puVar15 + -0x20)" (( "(") (type_descriptor "undefined1 **" (type_identifier "undefined1") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar15 + -0x20)" (( "(") (binary_expression "puVar15 + -0x20" (identifier "puVar15") (+ "+") (number_literal "-0x20")) () ")")))) (= "=") (identifier "puVar3")) (; ";")) (expression_statement "*(undefined4 *)(puVar15 + -0x24) = *(undefined4 *)(puVar15 + 0x9c);" (assignment_expression "*(undefined4 *)(puVar15 + -0x24) = *(undefined4 *)(puVar15 + 0x9c)" (pointer_expression "*(undefined4 *)(puVar15 + -0x24)" (* "*") (cast_expression "(undefined4 *)(puVar15 + -0x24)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -0x24)" (( "(") (binary_expression "puVar15 + -0x24" (identifier "puVar15") (+ "+") (number_literal "-0x24")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(puVar15 + 0x9c)" (* "*") (cast_expression "(undefined4 *)(puVar15 + 0x9c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + 0x9c)" (( "(") (binary_expression "puVar15 + 0x9c" (identifier "puVar15") (+ "+") (number_literal "0x9c")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(puVar15 + -0x28) = *(undefined4 *)(puVar15 + 0x98);" (assignment_expression "*(undefined4 *)(puVar15 + -0x28) = *(undefined4 *)(puVar15 + 0x98)" (pointer_expression "*(undefined4 *)(puVar15 + -0x28)" (* "*") (cast_expression "(undefined4 *)(puVar15 + -0x28)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -0x28)" (( "(") (binary_expression "puVar15 + -0x28" (identifier "puVar15") (+ "+") (number_literal "-0x28")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(puVar15 + 0x98)" (* "*") (cast_expression "(undefined4 *)(puVar15 + 0x98)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + 0x98)" (( "(") (binary_expression "puVar15 + 0x98" (identifier "puVar15") (+ "+") (number_literal "0x98")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(puVar15 + -0x2c) = *(undefined4 *)(puVar15 + 0x24);" (assignment_expression "*(undefined4 *)(puVar15 + -0x2c) = *(undefined4 *)(puVar15 + 0x24)" (pointer_expression "*(undefined4 *)(puVar15 + -0x2c)" (* "*") (cast_expression "(undefined4 *)(puVar15 + -0x2c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -0x2c)" (( "(") (binary_expression "puVar15 + -0x2c" (identifier "puVar15") (+ "+") (number_literal "-0x2c")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(puVar15 + 0x24)" (* "*") (cast_expression "(undefined4 *)(puVar15 + 0x24)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + 0x24)" (( "(") (binary_expression "puVar15 + 0x24" (identifier "puVar15") (+ "+") (number_literal "0x24")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(puVar15 + -0x30) = *(undefined4 *)(puVar15 + 0x20);" (assignment_expression "*(undefined4 *)(puVar15 + -0x30) = *(undefined4 *)(puVar15 + 0x20)" (pointer_expression "*(undefined4 *)(puVar15 + -0x30)" (* "*") (cast_expression "(undefined4 *)(puVar15 + -0x30)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -0x30)" (( "(") (binary_expression "puVar15 + -0x30" (identifier "puVar15") (+ "+") (number_literal "-0x30")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(puVar15 + 0x20)" (* "*") (cast_expression "(undefined4 *)(puVar15 + 0x20)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + 0x20)" (( "(") (binary_expression "puVar15 + 0x20" (identifier "puVar15") (+ "+") (number_literal "0x20")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(puVar15 + -0x34) = *(undefined4 *)(puVar15 + 0x8c);" (assignment_expression "*(undefined4 *)(puVar15 + -0x34) = *(undefined4 *)(puVar15 + 0x8c)" (pointer_expression "*(undefined4 *)(puVar15 + -0x34)" (* "*") (cast_expression "(undefined4 *)(puVar15 + -0x34)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -0x34)" (( "(") (binary_expression "puVar15 + -0x34" (identifier "puVar15") (+ "+") (number_literal "-0x34")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(puVar15 + 0x8c)" (* "*") (cast_expression "(undefined4 *)(puVar15 + 0x8c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + 0x8c)" (( "(") (binary_expression "puVar15 + 0x8c" (identifier "puVar15") (+ "+") (number_literal "0x8c")) () ")"))))) (; ";")) (expression_statement "puVar17 = puVar15 + -0x38;" (assignment_expression "puVar17 = puVar15 + -0x38" (identifier "puVar17") (= "=") (binary_expression "puVar15 + -0x38" (identifier "puVar15") (+ "+") (number_literal "-0x38"))) (; ";")) (expression_statement "*(undefined4 *)(puVar15 + -0x38) = *(undefined4 *)(puVar15 + 0xc);" (assignment_expression "*(undefined4 *)(puVar15 + -0x38) = *(undefined4 *)(puVar15 + 0xc)" (pointer_expression "*(undefined4 *)(puVar15 + -0x38)" (* "*") (cast_expression "(undefined4 *)(puVar15 + -0x38)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -0x38)" (( "(") (binary_expression "puVar15 + -0x38" (identifier "puVar15") (+ "+") (number_literal "-0x38")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(puVar15 + 0xc)" (* "*") (cast_expression "(undefined4 *)(puVar15 + 0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + 0xc)" (( "(") (binary_expression "puVar15 + 0xc" (identifier "puVar15") (+ "+") (number_literal "0xc")) () ")"))))) (; ";")) (expression_statement "*(undefined **)(puVar15 + -0x3c) = &UNK_00201ef2;" (assignment_expression "*(undefined **)(puVar15 + -0x3c) = &UNK_00201ef2" (pointer_expression "*(undefined **)(puVar15 + -0x3c)" (* "*") (cast_expression "(undefined **)(puVar15 + -0x3c)" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar15 + -0x3c)" (( "(") (binary_expression "puVar15 + -0x3c" (identifier "puVar15") (+ "+") (number_literal "-0x3c")) () ")")))) (= "=") (pointer_expression "&UNK_00201ef2" (& "&") (identifier "UNK_00201ef2"))) (; ";")) (expression_statement "FUN_001fc0e0();" (call_expression "FUN_001fc0e0()" (identifier "FUN_001fc0e0") (argument_list "()" (( "(") () ")"))) (; ";")) (goto_statement "goto code_r0x00201b6c;" (goto "goto") (statement_identifier "code_r0x00201b6c") (; ";"))) (case_statement "case 0x61:\n    iVar1 = *(int *)(*(int *)(puVar15 + 0x18) + 8);\n    *(undefined4 *)(puVar15 + 0x40) = *(undefined4 *)(iVar1 + 0x48);\n    *(undefined4 *)(puVar15 + 0x44) = *(undefined4 *)(iVar1 + 0x4c);\n    *(undefined4 *)(puVar15 + 0x48) = *(undefined4 *)(iVar1 + 0x50);\n    *(undefined4 *)(puVar15 + 0x4c) = *(undefined4 *)(iVar1 + 0x54);\n    *(undefined4 *)(puVar15 + 0x50) = *(undefined4 *)(iVar1 + 0x58);\n    *(undefined4 *)(puVar15 + 0x54) = *(undefined4 *)(iVar1 + 0x5c);\n    uVar12 = *(undefined4 *)(iVar1 + 0x60);\ncode_r0x00201f34:\n    *(undefined4 *)(puVar15 + 0x58) = uVar12;\n    *(undefined1 **)(puVar15 + -8) = puVar15 + 0x38;\n    *(undefined4 *)(puVar15 + -0xc) = *(undefined4 *)(puVar15 + 0xa8);\n    *(undefined4 *)(puVar15 + -0x10) = 7;\n    *(undefined1 **)(puVar15 + -0x14) = puVar15 + 0x40;\n    *(undefined1 **)(puVar15 + -0x18) = puVar15 + 0x3c;\n    *(undefined4 *)(puVar15 + -0x1c) = *(undefined4 *)(puVar15 + 0xa4);\n    *(undefined4 *)(puVar15 + -0x20) = *(undefined4 *)(puVar15 + 0xa0);\n    *(undefined4 *)(puVar15 + -0x24) = *(undefined4 *)(puVar15 + 0x9c);\n    *(undefined4 *)(puVar15 + -0x28) = *(undefined4 *)(puVar15 + 0x98);\n    *(undefined4 *)(puVar15 + -0x2c) = *(undefined4 *)(puVar15 + 0x94);\n    *(undefined1 **)(puVar15 + -0x30) = puVar15 + 0x28;\n    *(undefined **)(puVar15 + -0x34) = &UNK_00201f80;\n    FUN_00201020();\n    *(undefined4 *)(puVar15 + 0x94) = *(undefined4 *)(puVar15 + 0x24);\n    *(undefined4 *)(puVar15 + 0x98) = *(undefined4 *)(puVar15 + 0x28);\n    puVar16 = puVar15 + -4;\n    if (*(int *)(puVar15 + 0x34) == 0) {\n      *(undefined4 *)(*(int *)(puVar15 + 0xac) + 0x18) = *(undefined4 *)(puVar15 + 0x38);\n      puVar16 = puVar15 + -4;\n    }\n    break;" (case "case") (number_literal "0x61") (: ":") (expression_statement "iVar1 = *(int *)(*(int *)(puVar15 + 0x18) + 8);" (assignment_expression "iVar1 = *(int *)(*(int *)(puVar15 + 0x18) + 8)" (identifier "iVar1") (= "=") (pointer_expression "*(int *)(*(int *)(puVar15 + 0x18) + 8)" (* "*") (cast_expression "(int *)(*(int *)(puVar15 + 0x18) + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(puVar15 + 0x18) + 8)" (( "(") (binary_expression "*(int *)(puVar15 + 0x18) + 8" (pointer_expression "*(int *)(puVar15 + 0x18)" (* "*") (cast_expression "(int *)(puVar15 + 0x18)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + 0x18)" (( "(") (binary_expression "puVar15 + 0x18" (identifier "puVar15") (+ "+") (number_literal "0x18")) () ")")))) (+ "+") (number_literal "8")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(puVar15 + 0x40) = *(undefined4 *)(iVar1 + 0x48);" (assignment_expression "*(undefined4 *)(puVar15 + 0x40) = *(undefined4 *)(iVar1 + 0x48)" (pointer_expression "*(undefined4 *)(puVar15 + 0x40)" (* "*") (cast_expression "(undefined4 *)(puVar15 + 0x40)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + 0x40)" (( "(") (binary_expression "puVar15 + 0x40" (identifier "puVar15") (+ "+") (number_literal "0x40")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(iVar1 + 0x48)" (* "*") (cast_expression "(undefined4 *)(iVar1 + 0x48)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar1 + 0x48)" (( "(") (binary_expression "iVar1 + 0x48" (identifier "iVar1") (+ "+") (number_literal "0x48")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(puVar15 + 0x44) = *(undefined4 *)(iVar1 + 0x4c);" (assignment_expression "*(undefined4 *)(puVar15 + 0x44) = *(undefined4 *)(iVar1 + 0x4c)" (pointer_expression "*(undefined4 *)(puVar15 + 0x44)" (* "*") (cast_expression "(undefined4 *)(puVar15 + 0x44)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + 0x44)" (( "(") (binary_expression "puVar15 + 0x44" (identifier "puVar15") (+ "+") (number_literal "0x44")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(iVar1 + 0x4c)" (* "*") (cast_expression "(undefined4 *)(iVar1 + 0x4c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar1 + 0x4c)" (( "(") (binary_expression "iVar1 + 0x4c" (identifier "iVar1") (+ "+") (number_literal "0x4c")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(puVar15 + 0x48) = *(undefined4 *)(iVar1 + 0x50);" (assignment_expression "*(undefined4 *)(puVar15 + 0x48) = *(undefined4 *)(iVar1 + 0x50)" (pointer_expression "*(undefined4 *)(puVar15 + 0x48)" (* "*") (cast_expression "(undefined4 *)(puVar15 + 0x48)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + 0x48)" (( "(") (binary_expression "puVar15 + 0x48" (identifier "puVar15") (+ "+") (number_literal "0x48")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(iVar1 + 0x50)" (* "*") (cast_expression "(undefined4 *)(iVar1 + 0x50)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar1 + 0x50)" (( "(") (binary_expression "iVar1 + 0x50" (identifier "iVar1") (+ "+") (number_literal "0x50")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(puVar15 + 0x4c) = *(undefined4 *)(iVar1 + 0x54);" (assignment_expression "*(undefined4 *)(puVar15 + 0x4c) = *(undefined4 *)(iVar1 + 0x54)" (pointer_expression "*(undefined4 *)(puVar15 + 0x4c)" (* "*") (cast_expression "(undefined4 *)(puVar15 + 0x4c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + 0x4c)" (( "(") (binary_expression "puVar15 + 0x4c" (identifier "puVar15") (+ "+") (number_literal "0x4c")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(iVar1 + 0x54)" (* "*") (cast_expression "(undefined4 *)(iVar1 + 0x54)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar1 + 0x54)" (( "(") (binary_expression "iVar1 + 0x54" (identifier "iVar1") (+ "+") (number_literal "0x54")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(puVar15 + 0x50) = *(undefined4 *)(iVar1 + 0x58);" (assignment_expression "*(undefined4 *)(puVar15 + 0x50) = *(undefined4 *)(iVar1 + 0x58)" (pointer_expression "*(undefined4 *)(puVar15 + 0x50)" (* "*") (cast_expression "(undefined4 *)(puVar15 + 0x50)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + 0x50)" (( "(") (binary_expression "puVar15 + 0x50" (identifier "puVar15") (+ "+") (number_literal "0x50")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(iVar1 + 0x58)" (* "*") (cast_expression "(undefined4 *)(iVar1 + 0x58)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar1 + 0x58)" (( "(") (binary_expression "iVar1 + 0x58" (identifier "iVar1") (+ "+") (number_literal "0x58")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(puVar15 + 0x54) = *(undefined4 *)(iVar1 + 0x5c);" (assignment_expression "*(undefined4 *)(puVar15 + 0x54) = *(undefined4 *)(iVar1 + 0x5c)" (pointer_expression "*(undefined4 *)(puVar15 + 0x54)" (* "*") (cast_expression "(undefined4 *)(puVar15 + 0x54)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + 0x54)" (( "(") (binary_expression "puVar15 + 0x54" (identifier "puVar15") (+ "+") (number_literal "0x54")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(iVar1 + 0x5c)" (* "*") (cast_expression "(undefined4 *)(iVar1 + 0x5c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar1 + 0x5c)" (( "(") (binary_expression "iVar1 + 0x5c" (identifier "iVar1") (+ "+") (number_literal "0x5c")) () ")"))))) (; ";")) (expression_statement "uVar12 = *(undefined4 *)(iVar1 + 0x60);" (assignment_expression "uVar12 = *(undefined4 *)(iVar1 + 0x60)" (identifier "uVar12") (= "=") (pointer_expression "*(undefined4 *)(iVar1 + 0x60)" (* "*") (cast_expression "(undefined4 *)(iVar1 + 0x60)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar1 + 0x60)" (( "(") (binary_expression "iVar1 + 0x60" (identifier "iVar1") (+ "+") (number_literal "0x60")) () ")"))))) (; ";")) (labeled_statement "code_r0x00201f34:\n    *(undefined4 *)(puVar15 + 0x58) = uVar12;" (statement_identifier "code_r0x00201f34") (: ":") (expression_statement "*(undefined4 *)(puVar15 + 0x58) = uVar12;" (assignment_expression "*(undefined4 *)(puVar15 + 0x58) = uVar12" (pointer_expression "*(undefined4 *)(puVar15 + 0x58)" (* "*") (cast_expression "(undefined4 *)(puVar15 + 0x58)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + 0x58)" (( "(") (binary_expression "puVar15 + 0x58" (identifier "puVar15") (+ "+") (number_literal "0x58")) () ")")))) (= "=") (identifier "uVar12")) (; ";"))) (expression_statement "*(undefined1 **)(puVar15 + -8) = puVar15 + 0x38;" (assignment_expression "*(undefined1 **)(puVar15 + -8) = puVar15 + 0x38" (pointer_expression "*(undefined1 **)(puVar15 + -8)" (* "*") (cast_expression "(undefined1 **)(puVar15 + -8)" (( "(") (type_descriptor "undefined1 **" (type_identifier "undefined1") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar15 + -8)" (( "(") (binary_expression "puVar15 + -8" (identifier "puVar15") (+ "+") (number_literal "-8")) () ")")))) (= "=") (binary_expression "puVar15 + 0x38" (identifier "puVar15") (+ "+") (number_literal "0x38"))) (; ";")) (expression_statement "*(undefined4 *)(puVar15 + -0xc) = *(undefined4 *)(puVar15 + 0xa8);" (assignment_expression "*(undefined4 *)(puVar15 + -0xc) = *(undefined4 *)(puVar15 + 0xa8)" (pointer_expression "*(undefined4 *)(puVar15 + -0xc)" (* "*") (cast_expression "(undefined4 *)(puVar15 + -0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -0xc)" (( "(") (binary_expression "puVar15 + -0xc" (identifier "puVar15") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(puVar15 + 0xa8)" (* "*") (cast_expression "(undefined4 *)(puVar15 + 0xa8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + 0xa8)" (( "(") (binary_expression "puVar15 + 0xa8" (identifier "puVar15") (+ "+") (number_literal "0xa8")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(puVar15 + -0x10) = 7;" (assignment_expression "*(undefined4 *)(puVar15 + -0x10) = 7" (pointer_expression "*(undefined4 *)(puVar15 + -0x10)" (* "*") (cast_expression "(undefined4 *)(puVar15 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -0x10)" (( "(") (binary_expression "puVar15 + -0x10" (identifier "puVar15") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (number_literal "7")) (; ";")) (expression_statement "*(undefined1 **)(puVar15 + -0x14) = puVar15 + 0x40;" (assignment_expression "*(undefined1 **)(puVar15 + -0x14) = puVar15 + 0x40" (pointer_expression "*(undefined1 **)(puVar15 + -0x14)" (* "*") (cast_expression "(undefined1 **)(puVar15 + -0x14)" (( "(") (type_descriptor "undefined1 **" (type_identifier "undefined1") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar15 + -0x14)" (( "(") (binary_expression "puVar15 + -0x14" (identifier "puVar15") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (binary_expression "puVar15 + 0x40" (identifier "puVar15") (+ "+") (number_literal "0x40"))) (; ";")) (expression_statement "*(undefined1 **)(puVar15 + -0x18) = puVar15 + 0x3c;" (assignment_expression "*(undefined1 **)(puVar15 + -0x18) = puVar15 + 0x3c" (pointer_expression "*(undefined1 **)(puVar15 + -0x18)" (* "*") (cast_expression "(undefined1 **)(puVar15 + -0x18)" (( "(") (type_descriptor "undefined1 **" (type_identifier "undefined1") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar15 + -0x18)" (( "(") (binary_expression "puVar15 + -0x18" (identifier "puVar15") (+ "+") (number_literal "-0x18")) () ")")))) (= "=") (binary_expression "puVar15 + 0x3c" (identifier "puVar15") (+ "+") (number_literal "0x3c"))) (; ";")) (expression_statement "*(undefined4 *)(puVar15 + -0x1c) = *(undefined4 *)(puVar15 + 0xa4);" (assignment_expression "*(undefined4 *)(puVar15 + -0x1c) = *(undefined4 *)(puVar15 + 0xa4)" (pointer_expression "*(undefined4 *)(puVar15 + -0x1c)" (* "*") (cast_expression "(undefined4 *)(puVar15 + -0x1c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -0x1c)" (( "(") (binary_expression "puVar15 + -0x1c" (identifier "puVar15") (+ "+") (number_literal "-0x1c")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(puVar15 + 0xa4)" (* "*") (cast_expression "(undefined4 *)(puVar15 + 0xa4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + 0xa4)" (( "(") (binary_expression "puVar15 + 0xa4" (identifier "puVar15") (+ "+") (number_literal "0xa4")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(puVar15 + -0x20) = *(undefined4 *)(puVar15 + 0xa0);" (assignment_expression "*(undefined4 *)(puVar15 + -0x20) = *(undefined4 *)(puVar15 + 0xa0)" (pointer_expression "*(undefined4 *)(puVar15 + -0x20)" (* "*") (cast_expression "(undefined4 *)(puVar15 + -0x20)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -0x20)" (( "(") (binary_expression "puVar15 + -0x20" (identifier "puVar15") (+ "+") (number_literal "-0x20")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(puVar15 + 0xa0)" (* "*") (cast_expression "(undefined4 *)(puVar15 + 0xa0)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + 0xa0)" (( "(") (binary_expression "puVar15 + 0xa0" (identifier "puVar15") (+ "+") (number_literal "0xa0")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(puVar15 + -0x24) = *(undefined4 *)(puVar15 + 0x9c);" (assignment_expression "*(undefined4 *)(puVar15 + -0x24) = *(undefined4 *)(puVar15 + 0x9c)" (pointer_expression "*(undefined4 *)(puVar15 + -0x24)" (* "*") (cast_expression "(undefined4 *)(puVar15 + -0x24)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -0x24)" (( "(") (binary_expression "puVar15 + -0x24" (identifier "puVar15") (+ "+") (number_literal "-0x24")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(puVar15 + 0x9c)" (* "*") (cast_expression "(undefined4 *)(puVar15 + 0x9c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + 0x9c)" (( "(") (binary_expression "puVar15 + 0x9c" (identifier "puVar15") (+ "+") (number_literal "0x9c")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(puVar15 + -0x28) = *(undefined4 *)(puVar15 + 0x98);" (assignment_expression "*(undefined4 *)(puVar15 + -0x28) = *(undefined4 *)(puVar15 + 0x98)" (pointer_expression "*(undefined4 *)(puVar15 + -0x28)" (* "*") (cast_expression "(undefined4 *)(puVar15 + -0x28)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -0x28)" (( "(") (binary_expression "puVar15 + -0x28" (identifier "puVar15") (+ "+") (number_literal "-0x28")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(puVar15 + 0x98)" (* "*") (cast_expression "(undefined4 *)(puVar15 + 0x98)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + 0x98)" (( "(") (binary_expression "puVar15 + 0x98" (identifier "puVar15") (+ "+") (number_literal "0x98")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(puVar15 + -0x2c) = *(undefined4 *)(puVar15 + 0x94);" (assignment_expression "*(undefined4 *)(puVar15 + -0x2c) = *(undefined4 *)(puVar15 + 0x94)" (pointer_expression "*(undefined4 *)(puVar15 + -0x2c)" (* "*") (cast_expression "(undefined4 *)(puVar15 + -0x2c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -0x2c)" (( "(") (binary_expression "puVar15 + -0x2c" (identifier "puVar15") (+ "+") (number_literal "-0x2c")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(puVar15 + 0x94)" (* "*") (cast_expression "(undefined4 *)(puVar15 + 0x94)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + 0x94)" (( "(") (binary_expression "puVar15 + 0x94" (identifier "puVar15") (+ "+") (number_literal "0x94")) () ")"))))) (; ";")) (expression_statement "*(undefined1 **)(puVar15 + -0x30) = puVar15 + 0x28;" (assignment_expression "*(undefined1 **)(puVar15 + -0x30) = puVar15 + 0x28" (pointer_expression "*(undefined1 **)(puVar15 + -0x30)" (* "*") (cast_expression "(undefined1 **)(puVar15 + -0x30)" (( "(") (type_descriptor "undefined1 **" (type_identifier "undefined1") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar15 + -0x30)" (( "(") (binary_expression "puVar15 + -0x30" (identifier "puVar15") (+ "+") (number_literal "-0x30")) () ")")))) (= "=") (binary_expression "puVar15 + 0x28" (identifier "puVar15") (+ "+") (number_literal "0x28"))) (; ";")) (expression_statement "*(undefined **)(puVar15 + -0x34) = &UNK_00201f80;" (assignment_expression "*(undefined **)(puVar15 + -0x34) = &UNK_00201f80" (pointer_expression "*(undefined **)(puVar15 + -0x34)" (* "*") (cast_expression "(undefined **)(puVar15 + -0x34)" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar15 + -0x34)" (( "(") (binary_expression "puVar15 + -0x34" (identifier "puVar15") (+ "+") (number_literal "-0x34")) () ")")))) (= "=") (pointer_expression "&UNK_00201f80" (& "&") (identifier "UNK_00201f80"))) (; ";")) (expression_statement "FUN_00201020();" (call_expression "FUN_00201020()" (identifier "FUN_00201020") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "*(undefined4 *)(puVar15 + 0x94) = *(undefined4 *)(puVar15 + 0x24);" (assignment_expression "*(undefined4 *)(puVar15 + 0x94) = *(undefined4 *)(puVar15 + 0x24)" (pointer_expression "*(undefined4 *)(puVar15 + 0x94)" (* "*") (cast_expression "(undefined4 *)(puVar15 + 0x94)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + 0x94)" (( "(") (binary_expression "puVar15 + 0x94" (identifier "puVar15") (+ "+") (number_literal "0x94")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(puVar15 + 0x24)" (* "*") (cast_expression "(undefined4 *)(puVar15 + 0x24)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + 0x24)" (( "(") (binary_expression "puVar15 + 0x24" (identifier "puVar15") (+ "+") (number_literal "0x24")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(puVar15 + 0x98) = *(undefined4 *)(puVar15 + 0x28);" (assignment_expression "*(undefined4 *)(puVar15 + 0x98) = *(undefined4 *)(puVar15 + 0x28)" (pointer_expression "*(undefined4 *)(puVar15 + 0x98)" (* "*") (cast_expression "(undefined4 *)(puVar15 + 0x98)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + 0x98)" (( "(") (binary_expression "puVar15 + 0x98" (identifier "puVar15") (+ "+") (number_literal "0x98")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(puVar15 + 0x28)" (* "*") (cast_expression "(undefined4 *)(puVar15 + 0x28)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + 0x28)" (( "(") (binary_expression "puVar15 + 0x28" (identifier "puVar15") (+ "+") (number_literal "0x28")) () ")"))))) (; ";")) (expression_statement "puVar16 = puVar15 + -4;" (assignment_expression "puVar16 = puVar15 + -4" (identifier "puVar16") (= "=") (binary_expression "puVar15 + -4" (identifier "puVar15") (+ "+") (number_literal "-4"))) (; ";")) (if_statement "if (*(int *)(puVar15 + 0x34) == 0) {\n      *(undefined4 *)(*(int *)(puVar15 + 0xac) + 0x18) = *(undefined4 *)(puVar15 + 0x38);\n      puVar16 = puVar15 + -4;\n    }" (if "if") (parenthesized_expression "(*(int *)(puVar15 + 0x34) == 0)" (( "(") (binary_expression "*(int *)(puVar15 + 0x34) == 0" (pointer_expression "*(int *)(puVar15 + 0x34)" (* "*") (cast_expression "(int *)(puVar15 + 0x34)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + 0x34)" (( "(") (binary_expression "puVar15 + 0x34" (identifier "puVar15") (+ "+") (number_literal "0x34")) () ")")))) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      *(undefined4 *)(*(int *)(puVar15 + 0xac) + 0x18) = *(undefined4 *)(puVar15 + 0x38);\n      puVar16 = puVar15 + -4;\n    }" ({ "{") (expression_statement "*(undefined4 *)(*(int *)(puVar15 + 0xac) + 0x18) = *(undefined4 *)(puVar15 + 0x38);" (assignment_expression "*(undefined4 *)(*(int *)(puVar15 + 0xac) + 0x18) = *(undefined4 *)(puVar15 + 0x38)" (pointer_expression "*(undefined4 *)(*(int *)(puVar15 + 0xac) + 0x18)" (* "*") (cast_expression "(undefined4 *)(*(int *)(puVar15 + 0xac) + 0x18)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(puVar15 + 0xac) + 0x18)" (( "(") (binary_expression "*(int *)(puVar15 + 0xac) + 0x18" (pointer_expression "*(int *)(puVar15 + 0xac)" (* "*") (cast_expression "(int *)(puVar15 + 0xac)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + 0xac)" (( "(") (binary_expression "puVar15 + 0xac" (identifier "puVar15") (+ "+") (number_literal "0xac")) () ")")))) (+ "+") (number_literal "0x18")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(puVar15 + 0x38)" (* "*") (cast_expression "(undefined4 *)(puVar15 + 0x38)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + 0x38)" (( "(") (binary_expression "puVar15 + 0x38" (identifier "puVar15") (+ "+") (number_literal "0x38")) () ")"))))) (; ";")) (expression_statement "puVar16 = puVar15 + -4;" (assignment_expression "puVar16 = puVar15 + -4" (identifier "puVar16") (= "=") (binary_expression "puVar15 + -4" (identifier "puVar15") (+ "+") (number_literal "-4"))) (; ";")) (} "}"))) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 0x62:" (case "case") (number_literal "0x62") (: ":")) (case_statement "case 0x68:\n    *(undefined1 **)(puVar15 + -0xc) = puVar15 + 0x40;\n    *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0x18);\n    *(undefined **)(puVar15 + -0x14) = &UNK_00202171;\n    FUN_001fb0c0();\ncode_r0x00201fd1:\n    *(undefined1 **)(puVar15 + -8) = puVar15 + 0x38;\n    *(undefined4 *)(puVar15 + -0xc) = *(undefined4 *)(puVar15 + 0xa8);\n    *(undefined4 *)(puVar15 + -0x10) = 0xc;\n    *(undefined1 **)(puVar15 + -0x14) = puVar15 + 0x40;\n    *(undefined1 **)(puVar15 + -0x18) = puVar15 + 0x3c;\n    *(undefined4 *)(puVar15 + -0x1c) = *(undefined4 *)(puVar15 + 0xa4);\n    *(undefined4 *)(puVar15 + -0x20) = *(undefined4 *)(puVar15 + 0xa0);\n    *(undefined4 *)(puVar15 + -0x24) = *(undefined4 *)(puVar15 + 0x9c);\n    *(undefined4 *)(puVar15 + -0x28) = *(undefined4 *)(puVar15 + 0x98);\n    *(undefined4 *)(puVar15 + -0x2c) = *(undefined4 *)(puVar15 + 0x94);\n    *(undefined1 **)(puVar15 + -0x30) = puVar15 + 0x28;\n    *(undefined **)(puVar15 + -0x34) = &UNK_00202015;\n    FUN_00201020();\n    *(undefined4 *)(puVar15 + 0x94) = *(undefined4 *)(puVar15 + 0x24);\n    *(undefined4 *)(puVar15 + 0x98) = *(undefined4 *)(puVar15 + 0x28);\n    puVar16 = puVar15 + -4;\n    if (*(int *)(puVar15 + 0x34) == 0) {\n      *(undefined4 *)(*(int *)(puVar15 + 0xac) + 0x10) = *(undefined4 *)(puVar15 + 0x38);\n      puVar16 = puVar15 + -4;\n    }\n    break;" (case "case") (number_literal "0x68") (: ":") (expression_statement "*(undefined1 **)(puVar15 + -0xc) = puVar15 + 0x40;" (assignment_expression "*(undefined1 **)(puVar15 + -0xc) = puVar15 + 0x40" (pointer_expression "*(undefined1 **)(puVar15 + -0xc)" (* "*") (cast_expression "(undefined1 **)(puVar15 + -0xc)" (( "(") (type_descriptor "undefined1 **" (type_identifier "undefined1") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar15 + -0xc)" (( "(") (binary_expression "puVar15 + -0xc" (identifier "puVar15") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (binary_expression "puVar15 + 0x40" (identifier "puVar15") (+ "+") (number_literal "0x40"))) (; ";")) (expression_statement "*(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0x18);" (assignment_expression "*(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0x18)" (pointer_expression "*(undefined4 *)(puVar15 + -0x10)" (* "*") (cast_expression "(undefined4 *)(puVar15 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -0x10)" (( "(") (binary_expression "puVar15 + -0x10" (identifier "puVar15") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(puVar15 + 0x18)" (* "*") (cast_expression "(undefined4 *)(puVar15 + 0x18)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + 0x18)" (( "(") (binary_expression "puVar15 + 0x18" (identifier "puVar15") (+ "+") (number_literal "0x18")) () ")"))))) (; ";")) (expression_statement "*(undefined **)(puVar15 + -0x14) = &UNK_00202171;" (assignment_expression "*(undefined **)(puVar15 + -0x14) = &UNK_00202171" (pointer_expression "*(undefined **)(puVar15 + -0x14)" (* "*") (cast_expression "(undefined **)(puVar15 + -0x14)" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar15 + -0x14)" (( "(") (binary_expression "puVar15 + -0x14" (identifier "puVar15") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (pointer_expression "&UNK_00202171" (& "&") (identifier "UNK_00202171"))) (; ";")) (expression_statement "FUN_001fb0c0();" (call_expression "FUN_001fb0c0()" (identifier "FUN_001fb0c0") (argument_list "()" (( "(") () ")"))) (; ";")) (labeled_statement "code_r0x00201fd1:\n    *(undefined1 **)(puVar15 + -8) = puVar15 + 0x38;" (statement_identifier "code_r0x00201fd1") (: ":") (expression_statement "*(undefined1 **)(puVar15 + -8) = puVar15 + 0x38;" (assignment_expression "*(undefined1 **)(puVar15 + -8) = puVar15 + 0x38" (pointer_expression "*(undefined1 **)(puVar15 + -8)" (* "*") (cast_expression "(undefined1 **)(puVar15 + -8)" (( "(") (type_descriptor "undefined1 **" (type_identifier "undefined1") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar15 + -8)" (( "(") (binary_expression "puVar15 + -8" (identifier "puVar15") (+ "+") (number_literal "-8")) () ")")))) (= "=") (binary_expression "puVar15 + 0x38" (identifier "puVar15") (+ "+") (number_literal "0x38"))) (; ";"))) (expression_statement "*(undefined4 *)(puVar15 + -0xc) = *(undefined4 *)(puVar15 + 0xa8);" (assignment_expression "*(undefined4 *)(puVar15 + -0xc) = *(undefined4 *)(puVar15 + 0xa8)" (pointer_expression "*(undefined4 *)(puVar15 + -0xc)" (* "*") (cast_expression "(undefined4 *)(puVar15 + -0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -0xc)" (( "(") (binary_expression "puVar15 + -0xc" (identifier "puVar15") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(puVar15 + 0xa8)" (* "*") (cast_expression "(undefined4 *)(puVar15 + 0xa8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + 0xa8)" (( "(") (binary_expression "puVar15 + 0xa8" (identifier "puVar15") (+ "+") (number_literal "0xa8")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(puVar15 + -0x10) = 0xc;" (assignment_expression "*(undefined4 *)(puVar15 + -0x10) = 0xc" (pointer_expression "*(undefined4 *)(puVar15 + -0x10)" (* "*") (cast_expression "(undefined4 *)(puVar15 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -0x10)" (( "(") (binary_expression "puVar15 + -0x10" (identifier "puVar15") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (number_literal "0xc")) (; ";")) (expression_statement "*(undefined1 **)(puVar15 + -0x14) = puVar15 + 0x40;" (assignment_expression "*(undefined1 **)(puVar15 + -0x14) = puVar15 + 0x40" (pointer_expression "*(undefined1 **)(puVar15 + -0x14)" (* "*") (cast_expression "(undefined1 **)(puVar15 + -0x14)" (( "(") (type_descriptor "undefined1 **" (type_identifier "undefined1") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar15 + -0x14)" (( "(") (binary_expression "puVar15 + -0x14" (identifier "puVar15") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (binary_expression "puVar15 + 0x40" (identifier "puVar15") (+ "+") (number_literal "0x40"))) (; ";")) (expression_statement "*(undefined1 **)(puVar15 + -0x18) = puVar15 + 0x3c;" (assignment_expression "*(undefined1 **)(puVar15 + -0x18) = puVar15 + 0x3c" (pointer_expression "*(undefined1 **)(puVar15 + -0x18)" (* "*") (cast_expression "(undefined1 **)(puVar15 + -0x18)" (( "(") (type_descriptor "undefined1 **" (type_identifier "undefined1") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar15 + -0x18)" (( "(") (binary_expression "puVar15 + -0x18" (identifier "puVar15") (+ "+") (number_literal "-0x18")) () ")")))) (= "=") (binary_expression "puVar15 + 0x3c" (identifier "puVar15") (+ "+") (number_literal "0x3c"))) (; ";")) (expression_statement "*(undefined4 *)(puVar15 + -0x1c) = *(undefined4 *)(puVar15 + 0xa4);" (assignment_expression "*(undefined4 *)(puVar15 + -0x1c) = *(undefined4 *)(puVar15 + 0xa4)" (pointer_expression "*(undefined4 *)(puVar15 + -0x1c)" (* "*") (cast_expression "(undefined4 *)(puVar15 + -0x1c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -0x1c)" (( "(") (binary_expression "puVar15 + -0x1c" (identifier "puVar15") (+ "+") (number_literal "-0x1c")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(puVar15 + 0xa4)" (* "*") (cast_expression "(undefined4 *)(puVar15 + 0xa4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + 0xa4)" (( "(") (binary_expression "puVar15 + 0xa4" (identifier "puVar15") (+ "+") (number_literal "0xa4")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(puVar15 + -0x20) = *(undefined4 *)(puVar15 + 0xa0);" (assignment_expression "*(undefined4 *)(puVar15 + -0x20) = *(undefined4 *)(puVar15 + 0xa0)" (pointer_expression "*(undefined4 *)(puVar15 + -0x20)" (* "*") (cast_expression "(undefined4 *)(puVar15 + -0x20)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -0x20)" (( "(") (binary_expression "puVar15 + -0x20" (identifier "puVar15") (+ "+") (number_literal "-0x20")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(puVar15 + 0xa0)" (* "*") (cast_expression "(undefined4 *)(puVar15 + 0xa0)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + 0xa0)" (( "(") (binary_expression "puVar15 + 0xa0" (identifier "puVar15") (+ "+") (number_literal "0xa0")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(puVar15 + -0x24) = *(undefined4 *)(puVar15 + 0x9c);" (assignment_expression "*(undefined4 *)(puVar15 + -0x24) = *(undefined4 *)(puVar15 + 0x9c)" (pointer_expression "*(undefined4 *)(puVar15 + -0x24)" (* "*") (cast_expression "(undefined4 *)(puVar15 + -0x24)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -0x24)" (( "(") (binary_expression "puVar15 + -0x24" (identifier "puVar15") (+ "+") (number_literal "-0x24")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(puVar15 + 0x9c)" (* "*") (cast_expression "(undefined4 *)(puVar15 + 0x9c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + 0x9c)" (( "(") (binary_expression "puVar15 + 0x9c" (identifier "puVar15") (+ "+") (number_literal "0x9c")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(puVar15 + -0x28) = *(undefined4 *)(puVar15 + 0x98);" (assignment_expression "*(undefined4 *)(puVar15 + -0x28) = *(undefined4 *)(puVar15 + 0x98)" (pointer_expression "*(undefined4 *)(puVar15 + -0x28)" (* "*") (cast_expression "(undefined4 *)(puVar15 + -0x28)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -0x28)" (( "(") (binary_expression "puVar15 + -0x28" (identifier "puVar15") (+ "+") (number_literal "-0x28")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(puVar15 + 0x98)" (* "*") (cast_expression "(undefined4 *)(puVar15 + 0x98)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + 0x98)" (( "(") (binary_expression "puVar15 + 0x98" (identifier "puVar15") (+ "+") (number_literal "0x98")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(puVar15 + -0x2c) = *(undefined4 *)(puVar15 + 0x94);" (assignment_expression "*(undefined4 *)(puVar15 + -0x2c) = *(undefined4 *)(puVar15 + 0x94)" (pointer_expression "*(undefined4 *)(puVar15 + -0x2c)" (* "*") (cast_expression "(undefined4 *)(puVar15 + -0x2c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -0x2c)" (( "(") (binary_expression "puVar15 + -0x2c" (identifier "puVar15") (+ "+") (number_literal "-0x2c")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(puVar15 + 0x94)" (* "*") (cast_expression "(undefined4 *)(puVar15 + 0x94)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + 0x94)" (( "(") (binary_expression "puVar15 + 0x94" (identifier "puVar15") (+ "+") (number_literal "0x94")) () ")"))))) (; ";")) (expression_statement "*(undefined1 **)(puVar15 + -0x30) = puVar15 + 0x28;" (assignment_expression "*(undefined1 **)(puVar15 + -0x30) = puVar15 + 0x28" (pointer_expression "*(undefined1 **)(puVar15 + -0x30)" (* "*") (cast_expression "(undefined1 **)(puVar15 + -0x30)" (( "(") (type_descriptor "undefined1 **" (type_identifier "undefined1") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar15 + -0x30)" (( "(") (binary_expression "puVar15 + -0x30" (identifier "puVar15") (+ "+") (number_literal "-0x30")) () ")")))) (= "=") (binary_expression "puVar15 + 0x28" (identifier "puVar15") (+ "+") (number_literal "0x28"))) (; ";")) (expression_statement "*(undefined **)(puVar15 + -0x34) = &UNK_00202015;" (assignment_expression "*(undefined **)(puVar15 + -0x34) = &UNK_00202015" (pointer_expression "*(undefined **)(puVar15 + -0x34)" (* "*") (cast_expression "(undefined **)(puVar15 + -0x34)" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar15 + -0x34)" (( "(") (binary_expression "puVar15 + -0x34" (identifier "puVar15") (+ "+") (number_literal "-0x34")) () ")")))) (= "=") (pointer_expression "&UNK_00202015" (& "&") (identifier "UNK_00202015"))) (; ";")) (expression_statement "FUN_00201020();" (call_expression "FUN_00201020()" (identifier "FUN_00201020") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "*(undefined4 *)(puVar15 + 0x94) = *(undefined4 *)(puVar15 + 0x24);" (assignment_expression "*(undefined4 *)(puVar15 + 0x94) = *(undefined4 *)(puVar15 + 0x24)" (pointer_expression "*(undefined4 *)(puVar15 + 0x94)" (* "*") (cast_expression "(undefined4 *)(puVar15 + 0x94)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + 0x94)" (( "(") (binary_expression "puVar15 + 0x94" (identifier "puVar15") (+ "+") (number_literal "0x94")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(puVar15 + 0x24)" (* "*") (cast_expression "(undefined4 *)(puVar15 + 0x24)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + 0x24)" (( "(") (binary_expression "puVar15 + 0x24" (identifier "puVar15") (+ "+") (number_literal "0x24")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(puVar15 + 0x98) = *(undefined4 *)(puVar15 + 0x28);" (assignment_expression "*(undefined4 *)(puVar15 + 0x98) = *(undefined4 *)(puVar15 + 0x28)" (pointer_expression "*(undefined4 *)(puVar15 + 0x98)" (* "*") (cast_expression "(undefined4 *)(puVar15 + 0x98)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + 0x98)" (( "(") (binary_expression "puVar15 + 0x98" (identifier "puVar15") (+ "+") (number_literal "0x98")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(puVar15 + 0x28)" (* "*") (cast_expression "(undefined4 *)(puVar15 + 0x28)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + 0x28)" (( "(") (binary_expression "puVar15 + 0x28" (identifier "puVar15") (+ "+") (number_literal "0x28")) () ")"))))) (; ";")) (expression_statement "puVar16 = puVar15 + -4;" (assignment_expression "puVar16 = puVar15 + -4" (identifier "puVar16") (= "=") (binary_expression "puVar15 + -4" (identifier "puVar15") (+ "+") (number_literal "-4"))) (; ";")) (if_statement "if (*(int *)(puVar15 + 0x34) == 0) {\n      *(undefined4 *)(*(int *)(puVar15 + 0xac) + 0x10) = *(undefined4 *)(puVar15 + 0x38);\n      puVar16 = puVar15 + -4;\n    }" (if "if") (parenthesized_expression "(*(int *)(puVar15 + 0x34) == 0)" (( "(") (binary_expression "*(int *)(puVar15 + 0x34) == 0" (pointer_expression "*(int *)(puVar15 + 0x34)" (* "*") (cast_expression "(int *)(puVar15 + 0x34)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + 0x34)" (( "(") (binary_expression "puVar15 + 0x34" (identifier "puVar15") (+ "+") (number_literal "0x34")) () ")")))) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      *(undefined4 *)(*(int *)(puVar15 + 0xac) + 0x10) = *(undefined4 *)(puVar15 + 0x38);\n      puVar16 = puVar15 + -4;\n    }" ({ "{") (expression_statement "*(undefined4 *)(*(int *)(puVar15 + 0xac) + 0x10) = *(undefined4 *)(puVar15 + 0x38);" (assignment_expression "*(undefined4 *)(*(int *)(puVar15 + 0xac) + 0x10) = *(undefined4 *)(puVar15 + 0x38)" (pointer_expression "*(undefined4 *)(*(int *)(puVar15 + 0xac) + 0x10)" (* "*") (cast_expression "(undefined4 *)(*(int *)(puVar15 + 0xac) + 0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(puVar15 + 0xac) + 0x10)" (( "(") (binary_expression "*(int *)(puVar15 + 0xac) + 0x10" (pointer_expression "*(int *)(puVar15 + 0xac)" (* "*") (cast_expression "(int *)(puVar15 + 0xac)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + 0xac)" (( "(") (binary_expression "puVar15 + 0xac" (identifier "puVar15") (+ "+") (number_literal "0xac")) () ")")))) (+ "+") (number_literal "0x10")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(puVar15 + 0x38)" (* "*") (cast_expression "(undefined4 *)(puVar15 + 0x38)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + 0x38)" (( "(") (binary_expression "puVar15 + 0x38" (identifier "puVar15") (+ "+") (number_literal "0x38")) () ")"))))) (; ";")) (expression_statement "puVar16 = puVar15 + -4;" (assignment_expression "puVar16 = puVar15 + -4" (identifier "puVar16") (= "=") (binary_expression "puVar15 + -4" (identifier "puVar15") (+ "+") (number_literal "-4"))) (; ";")) (} "}"))) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 99:\n    *(undefined4 *)(puVar15 + -0xc) = *(undefined4 *)(*(int *)(*(int *)(puVar15 + 0x18) + 8) + 0x18)\n    ;\n    goto code_r0x00201b30;" (case "case") (number_literal "99") (: ":") (expression_statement "*(undefined4 *)(puVar15 + -0xc) = *(undefined4 *)(*(int *)(*(int *)(puVar15 + 0x18) + 8) + 0x18)\n    ;" (assignment_expression "*(undefined4 *)(puVar15 + -0xc) = *(undefined4 *)(*(int *)(*(int *)(puVar15 + 0x18) + 8) + 0x18)" (pointer_expression "*(undefined4 *)(puVar15 + -0xc)" (* "*") (cast_expression "(undefined4 *)(puVar15 + -0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -0xc)" (( "(") (binary_expression "puVar15 + -0xc" (identifier "puVar15") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(*(int *)(*(int *)(puVar15 + 0x18) + 8) + 0x18)" (* "*") (cast_expression "(undefined4 *)(*(int *)(*(int *)(puVar15 + 0x18) + 8) + 0x18)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(*(int *)(puVar15 + 0x18) + 8) + 0x18)" (( "(") (binary_expression "*(int *)(*(int *)(puVar15 + 0x18) + 8) + 0x18" (pointer_expression "*(int *)(*(int *)(puVar15 + 0x18) + 8)" (* "*") (cast_expression "(int *)(*(int *)(puVar15 + 0x18) + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(puVar15 + 0x18) + 8)" (( "(") (binary_expression "*(int *)(puVar15 + 0x18) + 8" (pointer_expression "*(int *)(puVar15 + 0x18)" (* "*") (cast_expression "(int *)(puVar15 + 0x18)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + 0x18)" (( "(") (binary_expression "puVar15 + 0x18" (identifier "puVar15") (+ "+") (number_literal "0x18")) () ")")))) (+ "+") (number_literal "8")) () ")")))) (+ "+") (number_literal "0x18")) () ")"))))) (; ";")) (goto_statement "goto code_r0x00201b30;" (goto "goto") (statement_identifier "code_r0x00201b30") (; ";"))) (case_statement "case 100:\n    *(undefined1 **)(puVar15 + -4) = puVar15 + 0x38;\n    *(undefined4 *)(puVar15 + -8) = *(undefined4 *)(puVar15 + 0xa8);\n    *(undefined4 *)(puVar15 + -0xc) = 2;\n    *(undefined4 *)(puVar15 + -0x10) = 0x1f;\n    *(undefined4 *)(puVar15 + -0x14) = 1;\n    goto code_r0x002021b6;" (case "case") (number_literal "100") (: ":") (expression_statement "*(undefined1 **)(puVar15 + -4) = puVar15 + 0x38;" (assignment_expression "*(undefined1 **)(puVar15 + -4) = puVar15 + 0x38" (pointer_expression "*(undefined1 **)(puVar15 + -4)" (* "*") (cast_expression "(undefined1 **)(puVar15 + -4)" (( "(") (type_descriptor "undefined1 **" (type_identifier "undefined1") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar15 + -4)" (( "(") (binary_expression "puVar15 + -4" (identifier "puVar15") (+ "+") (number_literal "-4")) () ")")))) (= "=") (binary_expression "puVar15 + 0x38" (identifier "puVar15") (+ "+") (number_literal "0x38"))) (; ";")) (expression_statement "*(undefined4 *)(puVar15 + -8) = *(undefined4 *)(puVar15 + 0xa8);" (assignment_expression "*(undefined4 *)(puVar15 + -8) = *(undefined4 *)(puVar15 + 0xa8)" (pointer_expression "*(undefined4 *)(puVar15 + -8)" (* "*") (cast_expression "(undefined4 *)(puVar15 + -8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -8)" (( "(") (binary_expression "puVar15 + -8" (identifier "puVar15") (+ "+") (number_literal "-8")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(puVar15 + 0xa8)" (* "*") (cast_expression "(undefined4 *)(puVar15 + 0xa8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + 0xa8)" (( "(") (binary_expression "puVar15 + 0xa8" (identifier "puVar15") (+ "+") (number_literal "0xa8")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(puVar15 + -0xc) = 2;" (assignment_expression "*(undefined4 *)(puVar15 + -0xc) = 2" (pointer_expression "*(undefined4 *)(puVar15 + -0xc)" (* "*") (cast_expression "(undefined4 *)(puVar15 + -0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -0xc)" (( "(") (binary_expression "puVar15 + -0xc" (identifier "puVar15") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (number_literal "2")) (; ";")) (expression_statement "*(undefined4 *)(puVar15 + -0x10) = 0x1f;" (assignment_expression "*(undefined4 *)(puVar15 + -0x10) = 0x1f" (pointer_expression "*(undefined4 *)(puVar15 + -0x10)" (* "*") (cast_expression "(undefined4 *)(puVar15 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -0x10)" (( "(") (binary_expression "puVar15 + -0x10" (identifier "puVar15") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (number_literal "0x1f")) (; ";")) (expression_statement "*(undefined4 *)(puVar15 + -0x14) = 1;" (assignment_expression "*(undefined4 *)(puVar15 + -0x14) = 1" (pointer_expression "*(undefined4 *)(puVar15 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar15 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -0x14)" (( "(") (binary_expression "puVar15 + -0x14" (identifier "puVar15") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "1")) (; ";")) (goto_statement "goto code_r0x002021b6;" (goto "goto") (statement_identifier "code_r0x002021b6") (; ";"))) (case_statement "case 0x65:\n    *(undefined **)(puVar15 + -4) = &UNK_00202230;\n    uVar18 = FUN_001f91d0();\n    if ((*(byte *)(piVar10[6] + 1 + (uVar18 & 0xff) * 2) & 0x20) == 0) {\n      *(undefined1 **)(puVar15 + -4) = puVar15 + 0x38;\n      *(undefined4 *)(puVar15 + -8) = *(undefined4 *)(puVar15 + 0xa8);\n      *(undefined4 *)(puVar15 + -0xc) = 2;\n      *(undefined4 *)(puVar15 + -0x10) = 0x1f;\n      *(undefined4 *)(puVar15 + -0x14) = 10;\n    }\n    else {\n      *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0x98);\n      *(undefined **)(puVar15 + -0x14) = &UNK_00202250;\n      FUN_001f24d0();\n      *(undefined4 *)(puVar15 + 0x9c) = 0xffffffff;\n      *(undefined1 **)(puVar15 + -4) = puVar15 + 0x38;\n      *(undefined4 *)(puVar15 + -8) = *(undefined4 *)(puVar15 + 0xa8);\n      *(undefined4 *)(puVar15 + -0xc) = 1;\n      *(undefined4 *)(puVar15 + -0x10) = 9;\n      *(undefined4 *)(puVar15 + -0x14) = 1;\n    }\ncode_r0x002021b6:\n    *(undefined1 **)(puVar15 + -0x18) = puVar15 + 0x3c;\n    *(undefined4 *)(puVar15 + -0x1c) = *(undefined4 *)(puVar15 + 0xa4);\n    *(undefined4 *)(puVar15 + -0x20) = *(undefined4 *)(puVar15 + 0xa0);\n    *(undefined4 *)(puVar15 + -0x24) = *(undefined4 *)(puVar15 + 0x9c);\n    *(undefined4 *)(puVar15 + -0x28) = *(undefined4 *)(puVar15 + 0x98);\n    *(undefined4 *)(puVar15 + -0x2c) = *(undefined4 *)(puVar15 + 0x94);\n    *(undefined1 **)(puVar15 + -0x30) = puVar15 + 0x28;\n    *(undefined **)(puVar15 + -0x34) = &UNK_002021e4;\n    FUN_001fc0e0();\n    *(undefined4 *)(puVar15 + 0x94) = *(undefined4 *)(puVar15 + 0x24);\n    *(undefined4 *)(puVar15 + 0x98) = *(undefined4 *)(puVar15 + 0x28);\n    puVar16 = puVar15 + -4;\n    if (*(int *)(puVar15 + 0x34) == 0) {\n      *(undefined4 *)(*(int *)(puVar15 + 0xac) + 0xc) = *(undefined4 *)(puVar15 + 0x38);\n      puVar16 = puVar15 + -4;\n    }\n    break;" (case "case") (number_literal "0x65") (: ":") (expression_statement "*(undefined **)(puVar15 + -4) = &UNK_00202230;" (assignment_expression "*(undefined **)(puVar15 + -4) = &UNK_00202230" (pointer_expression "*(undefined **)(puVar15 + -4)" (* "*") (cast_expression "(undefined **)(puVar15 + -4)" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar15 + -4)" (( "(") (binary_expression "puVar15 + -4" (identifier "puVar15") (+ "+") (number_literal "-4")) () ")")))) (= "=") (pointer_expression "&UNK_00202230" (& "&") (identifier "UNK_00202230"))) (; ";")) (expression_statement "uVar18 = FUN_001f91d0();" (assignment_expression "uVar18 = FUN_001f91d0()" (identifier "uVar18") (= "=") (call_expression "FUN_001f91d0()" (identifier "FUN_001f91d0") (argument_list "()" (( "(") () ")")))) (; ";")) (if_statement "if ((*(byte *)(piVar10[6] + 1 + (uVar18 & 0xff) * 2) & 0x20) == 0) {\n      *(undefined1 **)(puVar15 + -4) = puVar15 + 0x38;\n      *(undefined4 *)(puVar15 + -8) = *(undefined4 *)(puVar15 + 0xa8);\n      *(undefined4 *)(puVar15 + -0xc) = 2;\n      *(undefined4 *)(puVar15 + -0x10) = 0x1f;\n      *(undefined4 *)(puVar15 + -0x14) = 10;\n    }\n    else {\n      *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0x98);\n      *(undefined **)(puVar15 + -0x14) = &UNK_00202250;\n      FUN_001f24d0();\n      *(undefined4 *)(puVar15 + 0x9c) = 0xffffffff;\n      *(undefined1 **)(puVar15 + -4) = puVar15 + 0x38;\n      *(undefined4 *)(puVar15 + -8) = *(undefined4 *)(puVar15 + 0xa8);\n      *(undefined4 *)(puVar15 + -0xc) = 1;\n      *(undefined4 *)(puVar15 + -0x10) = 9;\n      *(undefined4 *)(puVar15 + -0x14) = 1;\n    }" (if "if") (parenthesized_expression "((*(byte *)(piVar10[6] + 1 + (uVar18 & 0xff) * 2) & 0x20) == 0)" (( "(") (binary_expression "(*(byte *)(piVar10[6] + 1 + (uVar18 & 0xff) * 2) & 0x20) == 0" (parenthesized_expression "(*(byte *)(piVar10[6] + 1 + (uVar18 & 0xff) * 2) & 0x20)" (( "(") (binary_expression "*(byte *)(piVar10[6] + 1 + (uVar18 & 0xff) * 2) & 0x20" (pointer_expression "*(byte *)(piVar10[6] + 1 + (uVar18 & 0xff) * 2)" (* "*") (cast_expression "(byte *)(piVar10[6] + 1 + (uVar18 & 0xff) * 2)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(piVar10[6] + 1 + (uVar18 & 0xff) * 2)" (( "(") (binary_expression "piVar10[6] + 1 + (uVar18 & 0xff) * 2" (binary_expression "piVar10[6] + 1" (subscript_expression "piVar10[6]" (identifier "piVar10") ([ "[") (number_literal "6") (] "]")) (+ "+") (number_literal "1")) (+ "+") (binary_expression "(uVar18 & 0xff) * 2" (parenthesized_expression "(uVar18 & 0xff)" (( "(") (binary_expression "uVar18 & 0xff" (identifier "uVar18") (& "&") (number_literal "0xff")) () ")")) (* "*") (number_literal "2"))) () ")")))) (& "&") (number_literal "0x20")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      *(undefined1 **)(puVar15 + -4) = puVar15 + 0x38;\n      *(undefined4 *)(puVar15 + -8) = *(undefined4 *)(puVar15 + 0xa8);\n      *(undefined4 *)(puVar15 + -0xc) = 2;\n      *(undefined4 *)(puVar15 + -0x10) = 0x1f;\n      *(undefined4 *)(puVar15 + -0x14) = 10;\n    }" ({ "{") (expression_statement "*(undefined1 **)(puVar15 + -4) = puVar15 + 0x38;" (assignment_expression "*(undefined1 **)(puVar15 + -4) = puVar15 + 0x38" (pointer_expression "*(undefined1 **)(puVar15 + -4)" (* "*") (cast_expression "(undefined1 **)(puVar15 + -4)" (( "(") (type_descriptor "undefined1 **" (type_identifier "undefined1") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar15 + -4)" (( "(") (binary_expression "puVar15 + -4" (identifier "puVar15") (+ "+") (number_literal "-4")) () ")")))) (= "=") (binary_expression "puVar15 + 0x38" (identifier "puVar15") (+ "+") (number_literal "0x38"))) (; ";")) (expression_statement "*(undefined4 *)(puVar15 + -8) = *(undefined4 *)(puVar15 + 0xa8);" (assignment_expression "*(undefined4 *)(puVar15 + -8) = *(undefined4 *)(puVar15 + 0xa8)" (pointer_expression "*(undefined4 *)(puVar15 + -8)" (* "*") (cast_expression "(undefined4 *)(puVar15 + -8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -8)" (( "(") (binary_expression "puVar15 + -8" (identifier "puVar15") (+ "+") (number_literal "-8")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(puVar15 + 0xa8)" (* "*") (cast_expression "(undefined4 *)(puVar15 + 0xa8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + 0xa8)" (( "(") (binary_expression "puVar15 + 0xa8" (identifier "puVar15") (+ "+") (number_literal "0xa8")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(puVar15 + -0xc) = 2;" (assignment_expression "*(undefined4 *)(puVar15 + -0xc) = 2" (pointer_expression "*(undefined4 *)(puVar15 + -0xc)" (* "*") (cast_expression "(undefined4 *)(puVar15 + -0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -0xc)" (( "(") (binary_expression "puVar15 + -0xc" (identifier "puVar15") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (number_literal "2")) (; ";")) (expression_statement "*(undefined4 *)(puVar15 + -0x10) = 0x1f;" (assignment_expression "*(undefined4 *)(puVar15 + -0x10) = 0x1f" (pointer_expression "*(undefined4 *)(puVar15 + -0x10)" (* "*") (cast_expression "(undefined4 *)(puVar15 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -0x10)" (( "(") (binary_expression "puVar15 + -0x10" (identifier "puVar15") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (number_literal "0x1f")) (; ";")) (expression_statement "*(undefined4 *)(puVar15 + -0x14) = 10;" (assignment_expression "*(undefined4 *)(puVar15 + -0x14) = 10" (pointer_expression "*(undefined4 *)(puVar15 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar15 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -0x14)" (( "(") (binary_expression "puVar15 + -0x14" (identifier "puVar15") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "10")) (; ";")) (} "}")) (else_clause "else {\n      *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0x98);\n      *(undefined **)(puVar15 + -0x14) = &UNK_00202250;\n      FUN_001f24d0();\n      *(undefined4 *)(puVar15 + 0x9c) = 0xffffffff;\n      *(undefined1 **)(puVar15 + -4) = puVar15 + 0x38;\n      *(undefined4 *)(puVar15 + -8) = *(undefined4 *)(puVar15 + 0xa8);\n      *(undefined4 *)(puVar15 + -0xc) = 1;\n      *(undefined4 *)(puVar15 + -0x10) = 9;\n      *(undefined4 *)(puVar15 + -0x14) = 1;\n    }" (else "else") (compound_statement "{\n      *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0x98);\n      *(undefined **)(puVar15 + -0x14) = &UNK_00202250;\n      FUN_001f24d0();\n      *(undefined4 *)(puVar15 + 0x9c) = 0xffffffff;\n      *(undefined1 **)(puVar15 + -4) = puVar15 + 0x38;\n      *(undefined4 *)(puVar15 + -8) = *(undefined4 *)(puVar15 + 0xa8);\n      *(undefined4 *)(puVar15 + -0xc) = 1;\n      *(undefined4 *)(puVar15 + -0x10) = 9;\n      *(undefined4 *)(puVar15 + -0x14) = 1;\n    }" ({ "{") (expression_statement "*(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0x98);" (assignment_expression "*(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0x98)" (pointer_expression "*(undefined4 *)(puVar15 + -0x10)" (* "*") (cast_expression "(undefined4 *)(puVar15 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -0x10)" (( "(") (binary_expression "puVar15 + -0x10" (identifier "puVar15") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(puVar15 + 0x98)" (* "*") (cast_expression "(undefined4 *)(puVar15 + 0x98)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + 0x98)" (( "(") (binary_expression "puVar15 + 0x98" (identifier "puVar15") (+ "+") (number_literal "0x98")) () ")"))))) (; ";")) (expression_statement "*(undefined **)(puVar15 + -0x14) = &UNK_00202250;" (assignment_expression "*(undefined **)(puVar15 + -0x14) = &UNK_00202250" (pointer_expression "*(undefined **)(puVar15 + -0x14)" (* "*") (cast_expression "(undefined **)(puVar15 + -0x14)" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar15 + -0x14)" (( "(") (binary_expression "puVar15 + -0x14" (identifier "puVar15") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (pointer_expression "&UNK_00202250" (& "&") (identifier "UNK_00202250"))) (; ";")) (expression_statement "FUN_001f24d0();" (call_expression "FUN_001f24d0()" (identifier "FUN_001f24d0") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "*(undefined4 *)(puVar15 + 0x9c) = 0xffffffff;" (assignment_expression "*(undefined4 *)(puVar15 + 0x9c) = 0xffffffff" (pointer_expression "*(undefined4 *)(puVar15 + 0x9c)" (* "*") (cast_expression "(undefined4 *)(puVar15 + 0x9c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + 0x9c)" (( "(") (binary_expression "puVar15 + 0x9c" (identifier "puVar15") (+ "+") (number_literal "0x9c")) () ")")))) (= "=") (number_literal "0xffffffff")) (; ";")) (expression_statement "*(undefined1 **)(puVar15 + -4) = puVar15 + 0x38;" (assignment_expression "*(undefined1 **)(puVar15 + -4) = puVar15 + 0x38" (pointer_expression "*(undefined1 **)(puVar15 + -4)" (* "*") (cast_expression "(undefined1 **)(puVar15 + -4)" (( "(") (type_descriptor "undefined1 **" (type_identifier "undefined1") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar15 + -4)" (( "(") (binary_expression "puVar15 + -4" (identifier "puVar15") (+ "+") (number_literal "-4")) () ")")))) (= "=") (binary_expression "puVar15 + 0x38" (identifier "puVar15") (+ "+") (number_literal "0x38"))) (; ";")) (expression_statement "*(undefined4 *)(puVar15 + -8) = *(undefined4 *)(puVar15 + 0xa8);" (assignment_expression "*(undefined4 *)(puVar15 + -8) = *(undefined4 *)(puVar15 + 0xa8)" (pointer_expression "*(undefined4 *)(puVar15 + -8)" (* "*") (cast_expression "(undefined4 *)(puVar15 + -8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -8)" (( "(") (binary_expression "puVar15 + -8" (identifier "puVar15") (+ "+") (number_literal "-8")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(puVar15 + 0xa8)" (* "*") (cast_expression "(undefined4 *)(puVar15 + 0xa8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + 0xa8)" (( "(") (binary_expression "puVar15 + 0xa8" (identifier "puVar15") (+ "+") (number_literal "0xa8")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(puVar15 + -0xc) = 1;" (assignment_expression "*(undefined4 *)(puVar15 + -0xc) = 1" (pointer_expression "*(undefined4 *)(puVar15 + -0xc)" (* "*") (cast_expression "(undefined4 *)(puVar15 + -0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -0xc)" (( "(") (binary_expression "puVar15 + -0xc" (identifier "puVar15") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (number_literal "1")) (; ";")) (expression_statement "*(undefined4 *)(puVar15 + -0x10) = 9;" (assignment_expression "*(undefined4 *)(puVar15 + -0x10) = 9" (pointer_expression "*(undefined4 *)(puVar15 + -0x10)" (* "*") (cast_expression "(undefined4 *)(puVar15 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -0x10)" (( "(") (binary_expression "puVar15 + -0x10" (identifier "puVar15") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (number_literal "9")) (; ";")) (expression_statement "*(undefined4 *)(puVar15 + -0x14) = 1;" (assignment_expression "*(undefined4 *)(puVar15 + -0x14) = 1" (pointer_expression "*(undefined4 *)(puVar15 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar15 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -0x14)" (( "(") (binary_expression "puVar15 + -0x14" (identifier "puVar15") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "1")) (; ";")) (} "}")))) (labeled_statement "code_r0x002021b6:\n    *(undefined1 **)(puVar15 + -0x18) = puVar15 + 0x3c;" (statement_identifier "code_r0x002021b6") (: ":") (expression_statement "*(undefined1 **)(puVar15 + -0x18) = puVar15 + 0x3c;" (assignment_expression "*(undefined1 **)(puVar15 + -0x18) = puVar15 + 0x3c" (pointer_expression "*(undefined1 **)(puVar15 + -0x18)" (* "*") (cast_expression "(undefined1 **)(puVar15 + -0x18)" (( "(") (type_descriptor "undefined1 **" (type_identifier "undefined1") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar15 + -0x18)" (( "(") (binary_expression "puVar15 + -0x18" (identifier "puVar15") (+ "+") (number_literal "-0x18")) () ")")))) (= "=") (binary_expression "puVar15 + 0x3c" (identifier "puVar15") (+ "+") (number_literal "0x3c"))) (; ";"))) (expression_statement "*(undefined4 *)(puVar15 + -0x1c) = *(undefined4 *)(puVar15 + 0xa4);" (assignment_expression "*(undefined4 *)(puVar15 + -0x1c) = *(undefined4 *)(puVar15 + 0xa4)" (pointer_expression "*(undefined4 *)(puVar15 + -0x1c)" (* "*") (cast_expression "(undefined4 *)(puVar15 + -0x1c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -0x1c)" (( "(") (binary_expression "puVar15 + -0x1c" (identifier "puVar15") (+ "+") (number_literal "-0x1c")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(puVar15 + 0xa4)" (* "*") (cast_expression "(undefined4 *)(puVar15 + 0xa4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + 0xa4)" (( "(") (binary_expression "puVar15 + 0xa4" (identifier "puVar15") (+ "+") (number_literal "0xa4")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(puVar15 + -0x20) = *(undefined4 *)(puVar15 + 0xa0);" (assignment_expression "*(undefined4 *)(puVar15 + -0x20) = *(undefined4 *)(puVar15 + 0xa0)" (pointer_expression "*(undefined4 *)(puVar15 + -0x20)" (* "*") (cast_expression "(undefined4 *)(puVar15 + -0x20)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -0x20)" (( "(") (binary_expression "puVar15 + -0x20" (identifier "puVar15") (+ "+") (number_literal "-0x20")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(puVar15 + 0xa0)" (* "*") (cast_expression "(undefined4 *)(puVar15 + 0xa0)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + 0xa0)" (( "(") (binary_expression "puVar15 + 0xa0" (identifier "puVar15") (+ "+") (number_literal "0xa0")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(puVar15 + -0x24) = *(undefined4 *)(puVar15 + 0x9c);" (assignment_expression "*(undefined4 *)(puVar15 + -0x24) = *(undefined4 *)(puVar15 + 0x9c)" (pointer_expression "*(undefined4 *)(puVar15 + -0x24)" (* "*") (cast_expression "(undefined4 *)(puVar15 + -0x24)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -0x24)" (( "(") (binary_expression "puVar15 + -0x24" (identifier "puVar15") (+ "+") (number_literal "-0x24")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(puVar15 + 0x9c)" (* "*") (cast_expression "(undefined4 *)(puVar15 + 0x9c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + 0x9c)" (( "(") (binary_expression "puVar15 + 0x9c" (identifier "puVar15") (+ "+") (number_literal "0x9c")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(puVar15 + -0x28) = *(undefined4 *)(puVar15 + 0x98);" (assignment_expression "*(undefined4 *)(puVar15 + -0x28) = *(undefined4 *)(puVar15 + 0x98)" (pointer_expression "*(undefined4 *)(puVar15 + -0x28)" (* "*") (cast_expression "(undefined4 *)(puVar15 + -0x28)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -0x28)" (( "(") (binary_expression "puVar15 + -0x28" (identifier "puVar15") (+ "+") (number_literal "-0x28")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(puVar15 + 0x98)" (* "*") (cast_expression "(undefined4 *)(puVar15 + 0x98)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + 0x98)" (( "(") (binary_expression "puVar15 + 0x98" (identifier "puVar15") (+ "+") (number_literal "0x98")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(puVar15 + -0x2c) = *(undefined4 *)(puVar15 + 0x94);" (assignment_expression "*(undefined4 *)(puVar15 + -0x2c) = *(undefined4 *)(puVar15 + 0x94)" (pointer_expression "*(undefined4 *)(puVar15 + -0x2c)" (* "*") (cast_expression "(undefined4 *)(puVar15 + -0x2c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -0x2c)" (( "(") (binary_expression "puVar15 + -0x2c" (identifier "puVar15") (+ "+") (number_literal "-0x2c")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(puVar15 + 0x94)" (* "*") (cast_expression "(undefined4 *)(puVar15 + 0x94)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + 0x94)" (( "(") (binary_expression "puVar15 + 0x94" (identifier "puVar15") (+ "+") (number_literal "0x94")) () ")"))))) (; ";")) (expression_statement "*(undefined1 **)(puVar15 + -0x30) = puVar15 + 0x28;" (assignment_expression "*(undefined1 **)(puVar15 + -0x30) = puVar15 + 0x28" (pointer_expression "*(undefined1 **)(puVar15 + -0x30)" (* "*") (cast_expression "(undefined1 **)(puVar15 + -0x30)" (( "(") (type_descriptor "undefined1 **" (type_identifier "undefined1") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar15 + -0x30)" (( "(") (binary_expression "puVar15 + -0x30" (identifier "puVar15") (+ "+") (number_literal "-0x30")) () ")")))) (= "=") (binary_expression "puVar15 + 0x28" (identifier "puVar15") (+ "+") (number_literal "0x28"))) (; ";")) (expression_statement "*(undefined **)(puVar15 + -0x34) = &UNK_002021e4;" (assignment_expression "*(undefined **)(puVar15 + -0x34) = &UNK_002021e4" (pointer_expression "*(undefined **)(puVar15 + -0x34)" (* "*") (cast_expression "(undefined **)(puVar15 + -0x34)" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar15 + -0x34)" (( "(") (binary_expression "puVar15 + -0x34" (identifier "puVar15") (+ "+") (number_literal "-0x34")) () ")")))) (= "=") (pointer_expression "&UNK_002021e4" (& "&") (identifier "UNK_002021e4"))) (; ";")) (expression_statement "FUN_001fc0e0();" (call_expression "FUN_001fc0e0()" (identifier "FUN_001fc0e0") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "*(undefined4 *)(puVar15 + 0x94) = *(undefined4 *)(puVar15 + 0x24);" (assignment_expression "*(undefined4 *)(puVar15 + 0x94) = *(undefined4 *)(puVar15 + 0x24)" (pointer_expression "*(undefined4 *)(puVar15 + 0x94)" (* "*") (cast_expression "(undefined4 *)(puVar15 + 0x94)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + 0x94)" (( "(") (binary_expression "puVar15 + 0x94" (identifier "puVar15") (+ "+") (number_literal "0x94")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(puVar15 + 0x24)" (* "*") (cast_expression "(undefined4 *)(puVar15 + 0x24)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + 0x24)" (( "(") (binary_expression "puVar15 + 0x24" (identifier "puVar15") (+ "+") (number_literal "0x24")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(puVar15 + 0x98) = *(undefined4 *)(puVar15 + 0x28);" (assignment_expression "*(undefined4 *)(puVar15 + 0x98) = *(undefined4 *)(puVar15 + 0x28)" (pointer_expression "*(undefined4 *)(puVar15 + 0x98)" (* "*") (cast_expression "(undefined4 *)(puVar15 + 0x98)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + 0x98)" (( "(") (binary_expression "puVar15 + 0x98" (identifier "puVar15") (+ "+") (number_literal "0x98")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(puVar15 + 0x28)" (* "*") (cast_expression "(undefined4 *)(puVar15 + 0x28)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + 0x28)" (( "(") (binary_expression "puVar15 + 0x28" (identifier "puVar15") (+ "+") (number_literal "0x28")) () ")"))))) (; ";")) (expression_statement "puVar16 = puVar15 + -4;" (assignment_expression "puVar16 = puVar15 + -4" (identifier "puVar16") (= "=") (binary_expression "puVar15 + -4" (identifier "puVar15") (+ "+") (number_literal "-4"))) (; ";")) (if_statement "if (*(int *)(puVar15 + 0x34) == 0) {\n      *(undefined4 *)(*(int *)(puVar15 + 0xac) + 0xc) = *(undefined4 *)(puVar15 + 0x38);\n      puVar16 = puVar15 + -4;\n    }" (if "if") (parenthesized_expression "(*(int *)(puVar15 + 0x34) == 0)" (( "(") (binary_expression "*(int *)(puVar15 + 0x34) == 0" (pointer_expression "*(int *)(puVar15 + 0x34)" (* "*") (cast_expression "(int *)(puVar15 + 0x34)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + 0x34)" (( "(") (binary_expression "puVar15 + 0x34" (identifier "puVar15") (+ "+") (number_literal "0x34")) () ")")))) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      *(undefined4 *)(*(int *)(puVar15 + 0xac) + 0xc) = *(undefined4 *)(puVar15 + 0x38);\n      puVar16 = puVar15 + -4;\n    }" ({ "{") (expression_statement "*(undefined4 *)(*(int *)(puVar15 + 0xac) + 0xc) = *(undefined4 *)(puVar15 + 0x38);" (assignment_expression "*(undefined4 *)(*(int *)(puVar15 + 0xac) + 0xc) = *(undefined4 *)(puVar15 + 0x38)" (pointer_expression "*(undefined4 *)(*(int *)(puVar15 + 0xac) + 0xc)" (* "*") (cast_expression "(undefined4 *)(*(int *)(puVar15 + 0xac) + 0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(puVar15 + 0xac) + 0xc)" (( "(") (binary_expression "*(int *)(puVar15 + 0xac) + 0xc" (pointer_expression "*(int *)(puVar15 + 0xac)" (* "*") (cast_expression "(int *)(puVar15 + 0xac)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + 0xac)" (( "(") (binary_expression "puVar15 + 0xac" (identifier "puVar15") (+ "+") (number_literal "0xac")) () ")")))) (+ "+") (number_literal "0xc")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(puVar15 + 0x38)" (* "*") (cast_expression "(undefined4 *)(puVar15 + 0x38)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + 0x38)" (( "(") (binary_expression "puVar15 + 0x38" (identifier "puVar15") (+ "+") (number_literal "0x38")) () ")"))))) (; ";")) (expression_statement "puVar16 = puVar15 + -4;" (assignment_expression "puVar16 = puVar15 + -4" (identifier "puVar16") (= "=") (binary_expression "puVar15 + -4" (identifier "puVar15") (+ "+") (number_literal "-4"))) (; ";")) (} "}"))) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 0x6d:\n    *(undefined1 **)(puVar15 + -4) = puVar15 + 0x38;\n    *(undefined4 *)(puVar15 + -8) = *(undefined4 *)(puVar15 + 0xa8);\n    *(undefined4 *)(puVar15 + -0xc) = 2;\n    *(undefined4 *)(puVar15 + -0x10) = 0xc;\n    *(undefined4 *)(puVar15 + -0x14) = 1;\n    *(undefined1 **)(puVar15 + -0x18) = puVar15 + 0x3c;\n    *(undefined4 *)(puVar15 + -0x1c) = *(undefined4 *)(puVar15 + 0xa4);\n    *(undefined4 *)(puVar15 + -0x20) = *(undefined4 *)(puVar15 + 0xa0);\n    *(undefined4 *)(puVar15 + -0x24) = *(undefined4 *)(puVar15 + 0x9c);\n    *(undefined4 *)(puVar15 + -0x28) = *(undefined4 *)(puVar15 + 0x98);\n    *(undefined4 *)(puVar15 + -0x2c) = *(undefined4 *)(puVar15 + 0x94);\n    *(undefined1 **)(puVar15 + -0x30) = puVar15 + 0x28;\n    *(undefined **)(puVar15 + -0x34) = &UNK_002022c4;\n    FUN_001fc0e0();\n    *(undefined4 *)(puVar15 + 0x94) = *(undefined4 *)(puVar15 + 0x24);\n    *(undefined4 *)(puVar15 + 0x98) = *(undefined4 *)(puVar15 + 0x28);\n    puVar16 = puVar15 + -4;\n    if (*(int *)(puVar15 + 0x34) == 0) {\n      *(int *)(*(int *)(puVar15 + 0xac) + 0x10) = *(int *)(puVar15 + 0x38) + -1;\n      puVar16 = puVar15 + -4;\n    }\n    break;" (case "case") (number_literal "0x6d") (: ":") (expression_statement "*(undefined1 **)(puVar15 + -4) = puVar15 + 0x38;" (assignment_expression "*(undefined1 **)(puVar15 + -4) = puVar15 + 0x38" (pointer_expression "*(undefined1 **)(puVar15 + -4)" (* "*") (cast_expression "(undefined1 **)(puVar15 + -4)" (( "(") (type_descriptor "undefined1 **" (type_identifier "undefined1") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar15 + -4)" (( "(") (binary_expression "puVar15 + -4" (identifier "puVar15") (+ "+") (number_literal "-4")) () ")")))) (= "=") (binary_expression "puVar15 + 0x38" (identifier "puVar15") (+ "+") (number_literal "0x38"))) (; ";")) (expression_statement "*(undefined4 *)(puVar15 + -8) = *(undefined4 *)(puVar15 + 0xa8);" (assignment_expression "*(undefined4 *)(puVar15 + -8) = *(undefined4 *)(puVar15 + 0xa8)" (pointer_expression "*(undefined4 *)(puVar15 + -8)" (* "*") (cast_expression "(undefined4 *)(puVar15 + -8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -8)" (( "(") (binary_expression "puVar15 + -8" (identifier "puVar15") (+ "+") (number_literal "-8")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(puVar15 + 0xa8)" (* "*") (cast_expression "(undefined4 *)(puVar15 + 0xa8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + 0xa8)" (( "(") (binary_expression "puVar15 + 0xa8" (identifier "puVar15") (+ "+") (number_literal "0xa8")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(puVar15 + -0xc) = 2;" (assignment_expression "*(undefined4 *)(puVar15 + -0xc) = 2" (pointer_expression "*(undefined4 *)(puVar15 + -0xc)" (* "*") (cast_expression "(undefined4 *)(puVar15 + -0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -0xc)" (( "(") (binary_expression "puVar15 + -0xc" (identifier "puVar15") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (number_literal "2")) (; ";")) (expression_statement "*(undefined4 *)(puVar15 + -0x10) = 0xc;" (assignment_expression "*(undefined4 *)(puVar15 + -0x10) = 0xc" (pointer_expression "*(undefined4 *)(puVar15 + -0x10)" (* "*") (cast_expression "(undefined4 *)(puVar15 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -0x10)" (( "(") (binary_expression "puVar15 + -0x10" (identifier "puVar15") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (number_literal "0xc")) (; ";")) (expression_statement "*(undefined4 *)(puVar15 + -0x14) = 1;" (assignment_expression "*(undefined4 *)(puVar15 + -0x14) = 1" (pointer_expression "*(undefined4 *)(puVar15 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar15 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -0x14)" (( "(") (binary_expression "puVar15 + -0x14" (identifier "puVar15") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "1")) (; ";")) (expression_statement "*(undefined1 **)(puVar15 + -0x18) = puVar15 + 0x3c;" (assignment_expression "*(undefined1 **)(puVar15 + -0x18) = puVar15 + 0x3c" (pointer_expression "*(undefined1 **)(puVar15 + -0x18)" (* "*") (cast_expression "(undefined1 **)(puVar15 + -0x18)" (( "(") (type_descriptor "undefined1 **" (type_identifier "undefined1") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar15 + -0x18)" (( "(") (binary_expression "puVar15 + -0x18" (identifier "puVar15") (+ "+") (number_literal "-0x18")) () ")")))) (= "=") (binary_expression "puVar15 + 0x3c" (identifier "puVar15") (+ "+") (number_literal "0x3c"))) (; ";")) (expression_statement "*(undefined4 *)(puVar15 + -0x1c) = *(undefined4 *)(puVar15 + 0xa4);" (assignment_expression "*(undefined4 *)(puVar15 + -0x1c) = *(undefined4 *)(puVar15 + 0xa4)" (pointer_expression "*(undefined4 *)(puVar15 + -0x1c)" (* "*") (cast_expression "(undefined4 *)(puVar15 + -0x1c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -0x1c)" (( "(") (binary_expression "puVar15 + -0x1c" (identifier "puVar15") (+ "+") (number_literal "-0x1c")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(puVar15 + 0xa4)" (* "*") (cast_expression "(undefined4 *)(puVar15 + 0xa4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + 0xa4)" (( "(") (binary_expression "puVar15 + 0xa4" (identifier "puVar15") (+ "+") (number_literal "0xa4")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(puVar15 + -0x20) = *(undefined4 *)(puVar15 + 0xa0);" (assignment_expression "*(undefined4 *)(puVar15 + -0x20) = *(undefined4 *)(puVar15 + 0xa0)" (pointer_expression "*(undefined4 *)(puVar15 + -0x20)" (* "*") (cast_expression "(undefined4 *)(puVar15 + -0x20)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -0x20)" (( "(") (binary_expression "puVar15 + -0x20" (identifier "puVar15") (+ "+") (number_literal "-0x20")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(puVar15 + 0xa0)" (* "*") (cast_expression "(undefined4 *)(puVar15 + 0xa0)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + 0xa0)" (( "(") (binary_expression "puVar15 + 0xa0" (identifier "puVar15") (+ "+") (number_literal "0xa0")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(puVar15 + -0x24) = *(undefined4 *)(puVar15 + 0x9c);" (assignment_expression "*(undefined4 *)(puVar15 + -0x24) = *(undefined4 *)(puVar15 + 0x9c)" (pointer_expression "*(undefined4 *)(puVar15 + -0x24)" (* "*") (cast_expression "(undefined4 *)(puVar15 + -0x24)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -0x24)" (( "(") (binary_expression "puVar15 + -0x24" (identifier "puVar15") (+ "+") (number_literal "-0x24")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(puVar15 + 0x9c)" (* "*") (cast_expression "(undefined4 *)(puVar15 + 0x9c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + 0x9c)" (( "(") (binary_expression "puVar15 + 0x9c" (identifier "puVar15") (+ "+") (number_literal "0x9c")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(puVar15 + -0x28) = *(undefined4 *)(puVar15 + 0x98);" (assignment_expression "*(undefined4 *)(puVar15 + -0x28) = *(undefined4 *)(puVar15 + 0x98)" (pointer_expression "*(undefined4 *)(puVar15 + -0x28)" (* "*") (cast_expression "(undefined4 *)(puVar15 + -0x28)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -0x28)" (( "(") (binary_expression "puVar15 + -0x28" (identifier "puVar15") (+ "+") (number_literal "-0x28")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(puVar15 + 0x98)" (* "*") (cast_expression "(undefined4 *)(puVar15 + 0x98)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + 0x98)" (( "(") (binary_expression "puVar15 + 0x98" (identifier "puVar15") (+ "+") (number_literal "0x98")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(puVar15 + -0x2c) = *(undefined4 *)(puVar15 + 0x94);" (assignment_expression "*(undefined4 *)(puVar15 + -0x2c) = *(undefined4 *)(puVar15 + 0x94)" (pointer_expression "*(undefined4 *)(puVar15 + -0x2c)" (* "*") (cast_expression "(undefined4 *)(puVar15 + -0x2c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -0x2c)" (( "(") (binary_expression "puVar15 + -0x2c" (identifier "puVar15") (+ "+") (number_literal "-0x2c")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(puVar15 + 0x94)" (* "*") (cast_expression "(undefined4 *)(puVar15 + 0x94)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + 0x94)" (( "(") (binary_expression "puVar15 + 0x94" (identifier "puVar15") (+ "+") (number_literal "0x94")) () ")"))))) (; ";")) (expression_statement "*(undefined1 **)(puVar15 + -0x30) = puVar15 + 0x28;" (assignment_expression "*(undefined1 **)(puVar15 + -0x30) = puVar15 + 0x28" (pointer_expression "*(undefined1 **)(puVar15 + -0x30)" (* "*") (cast_expression "(undefined1 **)(puVar15 + -0x30)" (( "(") (type_descriptor "undefined1 **" (type_identifier "undefined1") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar15 + -0x30)" (( "(") (binary_expression "puVar15 + -0x30" (identifier "puVar15") (+ "+") (number_literal "-0x30")) () ")")))) (= "=") (binary_expression "puVar15 + 0x28" (identifier "puVar15") (+ "+") (number_literal "0x28"))) (; ";")) (expression_statement "*(undefined **)(puVar15 + -0x34) = &UNK_002022c4;" (assignment_expression "*(undefined **)(puVar15 + -0x34) = &UNK_002022c4" (pointer_expression "*(undefined **)(puVar15 + -0x34)" (* "*") (cast_expression "(undefined **)(puVar15 + -0x34)" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar15 + -0x34)" (( "(") (binary_expression "puVar15 + -0x34" (identifier "puVar15") (+ "+") (number_literal "-0x34")) () ")")))) (= "=") (pointer_expression "&UNK_002022c4" (& "&") (identifier "UNK_002022c4"))) (; ";")) (expression_statement "FUN_001fc0e0();" (call_expression "FUN_001fc0e0()" (identifier "FUN_001fc0e0") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "*(undefined4 *)(puVar15 + 0x94) = *(undefined4 *)(puVar15 + 0x24);" (assignment_expression "*(undefined4 *)(puVar15 + 0x94) = *(undefined4 *)(puVar15 + 0x24)" (pointer_expression "*(undefined4 *)(puVar15 + 0x94)" (* "*") (cast_expression "(undefined4 *)(puVar15 + 0x94)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + 0x94)" (( "(") (binary_expression "puVar15 + 0x94" (identifier "puVar15") (+ "+") (number_literal "0x94")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(puVar15 + 0x24)" (* "*") (cast_expression "(undefined4 *)(puVar15 + 0x24)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + 0x24)" (( "(") (binary_expression "puVar15 + 0x24" (identifier "puVar15") (+ "+") (number_literal "0x24")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(puVar15 + 0x98) = *(undefined4 *)(puVar15 + 0x28);" (assignment_expression "*(undefined4 *)(puVar15 + 0x98) = *(undefined4 *)(puVar15 + 0x28)" (pointer_expression "*(undefined4 *)(puVar15 + 0x98)" (* "*") (cast_expression "(undefined4 *)(puVar15 + 0x98)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + 0x98)" (( "(") (binary_expression "puVar15 + 0x98" (identifier "puVar15") (+ "+") (number_literal "0x98")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(puVar15 + 0x28)" (* "*") (cast_expression "(undefined4 *)(puVar15 + 0x28)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + 0x28)" (( "(") (binary_expression "puVar15 + 0x28" (identifier "puVar15") (+ "+") (number_literal "0x28")) () ")"))))) (; ";")) (expression_statement "puVar16 = puVar15 + -4;" (assignment_expression "puVar16 = puVar15 + -4" (identifier "puVar16") (= "=") (binary_expression "puVar15 + -4" (identifier "puVar15") (+ "+") (number_literal "-4"))) (; ";")) (if_statement "if (*(int *)(puVar15 + 0x34) == 0) {\n      *(int *)(*(int *)(puVar15 + 0xac) + 0x10) = *(int *)(puVar15 + 0x38) + -1;\n      puVar16 = puVar15 + -4;\n    }" (if "if") (parenthesized_expression "(*(int *)(puVar15 + 0x34) == 0)" (( "(") (binary_expression "*(int *)(puVar15 + 0x34) == 0" (pointer_expression "*(int *)(puVar15 + 0x34)" (* "*") (cast_expression "(int *)(puVar15 + 0x34)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + 0x34)" (( "(") (binary_expression "puVar15 + 0x34" (identifier "puVar15") (+ "+") (number_literal "0x34")) () ")")))) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      *(int *)(*(int *)(puVar15 + 0xac) + 0x10) = *(int *)(puVar15 + 0x38) + -1;\n      puVar16 = puVar15 + -4;\n    }" ({ "{") (expression_statement "*(int *)(*(int *)(puVar15 + 0xac) + 0x10) = *(int *)(puVar15 + 0x38) + -1;" (assignment_expression "*(int *)(*(int *)(puVar15 + 0xac) + 0x10) = *(int *)(puVar15 + 0x38) + -1" (pointer_expression "*(int *)(*(int *)(puVar15 + 0xac) + 0x10)" (* "*") (cast_expression "(int *)(*(int *)(puVar15 + 0xac) + 0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(puVar15 + 0xac) + 0x10)" (( "(") (binary_expression "*(int *)(puVar15 + 0xac) + 0x10" (pointer_expression "*(int *)(puVar15 + 0xac)" (* "*") (cast_expression "(int *)(puVar15 + 0xac)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + 0xac)" (( "(") (binary_expression "puVar15 + 0xac" (identifier "puVar15") (+ "+") (number_literal "0xac")) () ")")))) (+ "+") (number_literal "0x10")) () ")")))) (= "=") (binary_expression "*(int *)(puVar15 + 0x38) + -1" (pointer_expression "*(int *)(puVar15 + 0x38)" (* "*") (cast_expression "(int *)(puVar15 + 0x38)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + 0x38)" (( "(") (binary_expression "puVar15 + 0x38" (identifier "puVar15") (+ "+") (number_literal "0x38")) () ")")))) (+ "+") (number_literal "-1"))) (; ";")) (expression_statement "puVar16 = puVar15 + -4;" (assignment_expression "puVar16 = puVar15 + -4" (identifier "puVar16") (= "=") (binary_expression "puVar15 + -4" (identifier "puVar15") (+ "+") (number_literal "-4"))) (; ";")) (} "}"))) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 0x6e:\n    *(undefined **)(puVar15 + -4) = &UNK_00202310;\n    bVar9 = FUN_001f91d0();\n    bVar8 = *(byte *)((int)piVar10 + bVar9 + 0x11d);\n    if (bVar8 == 0) {\n      pcVar4 = *(code **)(*piVar10 + 0x20);\n      bVar8 = bVar9;\n      if (pcVar4 != (code *)PTR_FUN_0038ed98) {\n        *(undefined4 *)(puVar15 + -8) = 0;\n        *(int *)(puVar15 + -0xc) = (int)(char)bVar9;\n        *(int **)(puVar15 + -0x10) = piVar10;\n        *(undefined **)(puVar15 + -0x14) = &UNK_002023ab;\n        bVar8 = (*pcVar4)();\n      }\n      if (bVar8 == 0) goto LAB_00201ab8;\n      *(byte *)((int)piVar10 + bVar9 + 0x11d) = bVar8;\n    }\n    if (bVar8 != 10) goto LAB_00201ab8;\ncode_r0x00202346:\n    *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0x98);\n    *(undefined **)(puVar15 + -0x14) = &UNK_00202355;\n    FUN_001f24d0();\n    *(undefined4 *)(puVar15 + 0x9c) = 0xffffffff;\n    break;" (case "case") (number_literal "0x6e") (: ":") (expression_statement "*(undefined **)(puVar15 + -4) = &UNK_00202310;" (assignment_expression "*(undefined **)(puVar15 + -4) = &UNK_00202310" (pointer_expression "*(undefined **)(puVar15 + -4)" (* "*") (cast_expression "(undefined **)(puVar15 + -4)" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar15 + -4)" (( "(") (binary_expression "puVar15 + -4" (identifier "puVar15") (+ "+") (number_literal "-4")) () ")")))) (= "=") (pointer_expression "&UNK_00202310" (& "&") (identifier "UNK_00202310"))) (; ";")) (expression_statement "bVar9 = FUN_001f91d0();" (assignment_expression "bVar9 = FUN_001f91d0()" (identifier "bVar9") (= "=") (call_expression "FUN_001f91d0()" (identifier "FUN_001f91d0") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "bVar8 = *(byte *)((int)piVar10 + bVar9 + 0x11d);" (assignment_expression "bVar8 = *(byte *)((int)piVar10 + bVar9 + 0x11d)" (identifier "bVar8") (= "=") (pointer_expression "*(byte *)((int)piVar10 + bVar9 + 0x11d)" (* "*") (cast_expression "(byte *)((int)piVar10 + bVar9 + 0x11d)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar10 + bVar9 + 0x11d)" (( "(") (binary_expression "(int)piVar10 + bVar9 + 0x11d" (binary_expression "(int)piVar10 + bVar9" (cast_expression "(int)piVar10" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar10")) (+ "+") (identifier "bVar9")) (+ "+") (number_literal "0x11d")) () ")"))))) (; ";")) (if_statement "if (bVar8 == 0) {\n      pcVar4 = *(code **)(*piVar10 + 0x20);\n      bVar8 = bVar9;\n      if (pcVar4 != (code *)PTR_FUN_0038ed98) {\n        *(undefined4 *)(puVar15 + -8) = 0;\n        *(int *)(puVar15 + -0xc) = (int)(char)bVar9;\n        *(int **)(puVar15 + -0x10) = piVar10;\n        *(undefined **)(puVar15 + -0x14) = &UNK_002023ab;\n        bVar8 = (*pcVar4)();\n      }\n      if (bVar8 == 0) goto LAB_00201ab8;\n      *(byte *)((int)piVar10 + bVar9 + 0x11d) = bVar8;\n    }" (if "if") (parenthesized_expression "(bVar8 == 0)" (( "(") (binary_expression "bVar8 == 0" (identifier "bVar8") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      pcVar4 = *(code **)(*piVar10 + 0x20);\n      bVar8 = bVar9;\n      if (pcVar4 != (code *)PTR_FUN_0038ed98) {\n        *(undefined4 *)(puVar15 + -8) = 0;\n        *(int *)(puVar15 + -0xc) = (int)(char)bVar9;\n        *(int **)(puVar15 + -0x10) = piVar10;\n        *(undefined **)(puVar15 + -0x14) = &UNK_002023ab;\n        bVar8 = (*pcVar4)();\n      }\n      if (bVar8 == 0) goto LAB_00201ab8;\n      *(byte *)((int)piVar10 + bVar9 + 0x11d) = bVar8;\n    }" ({ "{") (expression_statement "pcVar4 = *(code **)(*piVar10 + 0x20);" (assignment_expression "pcVar4 = *(code **)(*piVar10 + 0x20)" (identifier "pcVar4") (= "=") (pointer_expression "*(code **)(*piVar10 + 0x20)" (* "*") (cast_expression "(code **)(*piVar10 + 0x20)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*piVar10 + 0x20)" (( "(") (binary_expression "*piVar10 + 0x20" (pointer_expression "*piVar10" (* "*") (identifier "piVar10")) (+ "+") (number_literal "0x20")) () ")"))))) (; ";")) (expression_statement "bVar8 = bVar9;" (assignment_expression "bVar8 = bVar9" (identifier "bVar8") (= "=") (identifier "bVar9")) (; ";")) (if_statement "if (pcVar4 != (code *)PTR_FUN_0038ed98) {\n        *(undefined4 *)(puVar15 + -8) = 0;\n        *(int *)(puVar15 + -0xc) = (int)(char)bVar9;\n        *(int **)(puVar15 + -0x10) = piVar10;\n        *(undefined **)(puVar15 + -0x14) = &UNK_002023ab;\n        bVar8 = (*pcVar4)();\n      }" (if "if") (parenthesized_expression "(pcVar4 != (code *)PTR_FUN_0038ed98)" (( "(") (binary_expression "pcVar4 != (code *)PTR_FUN_0038ed98" (identifier "pcVar4") (!= "!=") (cast_expression "(code *)PTR_FUN_0038ed98" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_FUN_0038ed98"))) () ")")) (compound_statement "{\n        *(undefined4 *)(puVar15 + -8) = 0;\n        *(int *)(puVar15 + -0xc) = (int)(char)bVar9;\n        *(int **)(puVar15 + -0x10) = piVar10;\n        *(undefined **)(puVar15 + -0x14) = &UNK_002023ab;\n        bVar8 = (*pcVar4)();\n      }" ({ "{") (expression_statement "*(undefined4 *)(puVar15 + -8) = 0;" (assignment_expression "*(undefined4 *)(puVar15 + -8) = 0" (pointer_expression "*(undefined4 *)(puVar15 + -8)" (* "*") (cast_expression "(undefined4 *)(puVar15 + -8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -8)" (( "(") (binary_expression "puVar15 + -8" (identifier "puVar15") (+ "+") (number_literal "-8")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(int *)(puVar15 + -0xc) = (int)(char)bVar9;" (assignment_expression "*(int *)(puVar15 + -0xc) = (int)(char)bVar9" (pointer_expression "*(int *)(puVar15 + -0xc)" (* "*") (cast_expression "(int *)(puVar15 + -0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -0xc)" (( "(") (binary_expression "puVar15 + -0xc" (identifier "puVar15") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (cast_expression "(int)(char)bVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (cast_expression "(char)bVar9" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (identifier "bVar9")))) (; ";")) (expression_statement "*(int **)(puVar15 + -0x10) = piVar10;" (assignment_expression "*(int **)(puVar15 + -0x10) = piVar10" (pointer_expression "*(int **)(puVar15 + -0x10)" (* "*") (cast_expression "(int **)(puVar15 + -0x10)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar15 + -0x10)" (( "(") (binary_expression "puVar15 + -0x10" (identifier "puVar15") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "piVar10")) (; ";")) (expression_statement "*(undefined **)(puVar15 + -0x14) = &UNK_002023ab;" (assignment_expression "*(undefined **)(puVar15 + -0x14) = &UNK_002023ab" (pointer_expression "*(undefined **)(puVar15 + -0x14)" (* "*") (cast_expression "(undefined **)(puVar15 + -0x14)" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar15 + -0x14)" (( "(") (binary_expression "puVar15 + -0x14" (identifier "puVar15") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (pointer_expression "&UNK_002023ab" (& "&") (identifier "UNK_002023ab"))) (; ";")) (expression_statement "bVar8 = (*pcVar4)();" (assignment_expression "bVar8 = (*pcVar4)()" (identifier "bVar8") (= "=") (call_expression "(*pcVar4)()" (parenthesized_expression "(*pcVar4)" (( "(") (pointer_expression "*pcVar4" (* "*") (identifier "pcVar4")) () ")")) (argument_list "()" (( "(") () ")")))) (; ";")) (} "}"))) (if_statement "if (bVar8 == 0) goto LAB_00201ab8;" (if "if") (parenthesized_expression "(bVar8 == 0)" (( "(") (binary_expression "bVar8 == 0" (identifier "bVar8") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_00201ab8;" (goto "goto") (statement_identifier "LAB_00201ab8") (; ";"))) (expression_statement "*(byte *)((int)piVar10 + bVar9 + 0x11d) = bVar8;" (assignment_expression "*(byte *)((int)piVar10 + bVar9 + 0x11d) = bVar8" (pointer_expression "*(byte *)((int)piVar10 + bVar9 + 0x11d)" (* "*") (cast_expression "(byte *)((int)piVar10 + bVar9 + 0x11d)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar10 + bVar9 + 0x11d)" (( "(") (binary_expression "(int)piVar10 + bVar9 + 0x11d" (binary_expression "(int)piVar10 + bVar9" (cast_expression "(int)piVar10" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar10")) (+ "+") (identifier "bVar9")) (+ "+") (number_literal "0x11d")) () ")")))) (= "=") (identifier "bVar8")) (; ";")) (} "}"))) (if_statement "if (bVar8 != 10) goto LAB_00201ab8;" (if "if") (parenthesized_expression "(bVar8 != 10)" (( "(") (binary_expression "bVar8 != 10" (identifier "bVar8") (!= "!=") (number_literal "10")) () ")")) (goto_statement "goto LAB_00201ab8;" (goto "goto") (statement_identifier "LAB_00201ab8") (; ";"))) (labeled_statement "code_r0x00202346:\n    *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0x98);" (statement_identifier "code_r0x00202346") (: ":") (expression_statement "*(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0x98);" (assignment_expression "*(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0x98)" (pointer_expression "*(undefined4 *)(puVar15 + -0x10)" (* "*") (cast_expression "(undefined4 *)(puVar15 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -0x10)" (( "(") (binary_expression "puVar15 + -0x10" (identifier "puVar15") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(puVar15 + 0x98)" (* "*") (cast_expression "(undefined4 *)(puVar15 + 0x98)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + 0x98)" (( "(") (binary_expression "puVar15 + 0x98" (identifier "puVar15") (+ "+") (number_literal "0x98")) () ")"))))) (; ";"))) (expression_statement "*(undefined **)(puVar15 + -0x14) = &UNK_00202355;" (assignment_expression "*(undefined **)(puVar15 + -0x14) = &UNK_00202355" (pointer_expression "*(undefined **)(puVar15 + -0x14)" (* "*") (cast_expression "(undefined **)(puVar15 + -0x14)" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar15 + -0x14)" (( "(") (binary_expression "puVar15 + -0x14" (identifier "puVar15") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (pointer_expression "&UNK_00202355" (& "&") (identifier "UNK_00202355"))) (; ";")) (expression_statement "FUN_001f24d0();" (call_expression "FUN_001f24d0()" (identifier "FUN_001f24d0") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "*(undefined4 *)(puVar15 + 0x9c) = 0xffffffff;" (assignment_expression "*(undefined4 *)(puVar15 + 0x9c) = 0xffffffff" (pointer_expression "*(undefined4 *)(puVar15 + 0x9c)" (* "*") (cast_expression "(undefined4 *)(puVar15 + 0x9c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + 0x9c)" (( "(") (binary_expression "puVar15 + 0x9c" (identifier "puVar15") (+ "+") (number_literal "0x9c")) () ")")))) (= "=") (number_literal "0xffffffff")) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 0x74:\n    *(undefined **)(puVar15 + -4) = &UNK_00201a70;\n    bVar9 = FUN_001f91d0();\n    bVar8 = *(byte *)((int)piVar10 + bVar9 + 0x11d);\n    if (bVar8 == 0) {\n      pcVar4 = *(code **)(*piVar10 + 0x20);\n      bVar8 = bVar9;\n      if (pcVar4 != *(code **)(puVar15 + 0x1c)) {\n        *(undefined4 *)(puVar15 + -8) = 0;\n        *(int *)(puVar15 + -0xc) = (int)(char)bVar9;\n        *(int **)(puVar15 + -0x10) = piVar10;\n        *(undefined **)(puVar15 + -0x14) = &UNK_00201a98;\n        bVar8 = (*pcVar4)();\n      }\n      if (bVar8 == 0) goto LAB_00201ab8;\n      *(byte *)((int)piVar10 + bVar9 + 0x11d) = bVar8;\n    }\n    if (bVar8 == 9) goto code_r0x00202346;\n    goto LAB_00201ab8;" (case "case") (number_literal "0x74") (: ":") (expression_statement "*(undefined **)(puVar15 + -4) = &UNK_00201a70;" (assignment_expression "*(undefined **)(puVar15 + -4) = &UNK_00201a70" (pointer_expression "*(undefined **)(puVar15 + -4)" (* "*") (cast_expression "(undefined **)(puVar15 + -4)" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar15 + -4)" (( "(") (binary_expression "puVar15 + -4" (identifier "puVar15") (+ "+") (number_literal "-4")) () ")")))) (= "=") (pointer_expression "&UNK_00201a70" (& "&") (identifier "UNK_00201a70"))) (; ";")) (expression_statement "bVar9 = FUN_001f91d0();" (assignment_expression "bVar9 = FUN_001f91d0()" (identifier "bVar9") (= "=") (call_expression "FUN_001f91d0()" (identifier "FUN_001f91d0") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "bVar8 = *(byte *)((int)piVar10 + bVar9 + 0x11d);" (assignment_expression "bVar8 = *(byte *)((int)piVar10 + bVar9 + 0x11d)" (identifier "bVar8") (= "=") (pointer_expression "*(byte *)((int)piVar10 + bVar9 + 0x11d)" (* "*") (cast_expression "(byte *)((int)piVar10 + bVar9 + 0x11d)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar10 + bVar9 + 0x11d)" (( "(") (binary_expression "(int)piVar10 + bVar9 + 0x11d" (binary_expression "(int)piVar10 + bVar9" (cast_expression "(int)piVar10" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar10")) (+ "+") (identifier "bVar9")) (+ "+") (number_literal "0x11d")) () ")"))))) (; ";")) (if_statement "if (bVar8 == 0) {\n      pcVar4 = *(code **)(*piVar10 + 0x20);\n      bVar8 = bVar9;\n      if (pcVar4 != *(code **)(puVar15 + 0x1c)) {\n        *(undefined4 *)(puVar15 + -8) = 0;\n        *(int *)(puVar15 + -0xc) = (int)(char)bVar9;\n        *(int **)(puVar15 + -0x10) = piVar10;\n        *(undefined **)(puVar15 + -0x14) = &UNK_00201a98;\n        bVar8 = (*pcVar4)();\n      }\n      if (bVar8 == 0) goto LAB_00201ab8;\n      *(byte *)((int)piVar10 + bVar9 + 0x11d) = bVar8;\n    }" (if "if") (parenthesized_expression "(bVar8 == 0)" (( "(") (binary_expression "bVar8 == 0" (identifier "bVar8") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      pcVar4 = *(code **)(*piVar10 + 0x20);\n      bVar8 = bVar9;\n      if (pcVar4 != *(code **)(puVar15 + 0x1c)) {\n        *(undefined4 *)(puVar15 + -8) = 0;\n        *(int *)(puVar15 + -0xc) = (int)(char)bVar9;\n        *(int **)(puVar15 + -0x10) = piVar10;\n        *(undefined **)(puVar15 + -0x14) = &UNK_00201a98;\n        bVar8 = (*pcVar4)();\n      }\n      if (bVar8 == 0) goto LAB_00201ab8;\n      *(byte *)((int)piVar10 + bVar9 + 0x11d) = bVar8;\n    }" ({ "{") (expression_statement "pcVar4 = *(code **)(*piVar10 + 0x20);" (assignment_expression "pcVar4 = *(code **)(*piVar10 + 0x20)" (identifier "pcVar4") (= "=") (pointer_expression "*(code **)(*piVar10 + 0x20)" (* "*") (cast_expression "(code **)(*piVar10 + 0x20)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*piVar10 + 0x20)" (( "(") (binary_expression "*piVar10 + 0x20" (pointer_expression "*piVar10" (* "*") (identifier "piVar10")) (+ "+") (number_literal "0x20")) () ")"))))) (; ";")) (expression_statement "bVar8 = bVar9;" (assignment_expression "bVar8 = bVar9" (identifier "bVar8") (= "=") (identifier "bVar9")) (; ";")) (if_statement "if (pcVar4 != *(code **)(puVar15 + 0x1c)) {\n        *(undefined4 *)(puVar15 + -8) = 0;\n        *(int *)(puVar15 + -0xc) = (int)(char)bVar9;\n        *(int **)(puVar15 + -0x10) = piVar10;\n        *(undefined **)(puVar15 + -0x14) = &UNK_00201a98;\n        bVar8 = (*pcVar4)();\n      }" (if "if") (parenthesized_expression "(pcVar4 != *(code **)(puVar15 + 0x1c))" (( "(") (binary_expression "pcVar4 != *(code **)(puVar15 + 0x1c)" (identifier "pcVar4") (!= "!=") (pointer_expression "*(code **)(puVar15 + 0x1c)" (* "*") (cast_expression "(code **)(puVar15 + 0x1c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar15 + 0x1c)" (( "(") (binary_expression "puVar15 + 0x1c" (identifier "puVar15") (+ "+") (number_literal "0x1c")) () ")"))))) () ")")) (compound_statement "{\n        *(undefined4 *)(puVar15 + -8) = 0;\n        *(int *)(puVar15 + -0xc) = (int)(char)bVar9;\n        *(int **)(puVar15 + -0x10) = piVar10;\n        *(undefined **)(puVar15 + -0x14) = &UNK_00201a98;\n        bVar8 = (*pcVar4)();\n      }" ({ "{") (expression_statement "*(undefined4 *)(puVar15 + -8) = 0;" (assignment_expression "*(undefined4 *)(puVar15 + -8) = 0" (pointer_expression "*(undefined4 *)(puVar15 + -8)" (* "*") (cast_expression "(undefined4 *)(puVar15 + -8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -8)" (( "(") (binary_expression "puVar15 + -8" (identifier "puVar15") (+ "+") (number_literal "-8")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(int *)(puVar15 + -0xc) = (int)(char)bVar9;" (assignment_expression "*(int *)(puVar15 + -0xc) = (int)(char)bVar9" (pointer_expression "*(int *)(puVar15 + -0xc)" (* "*") (cast_expression "(int *)(puVar15 + -0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -0xc)" (( "(") (binary_expression "puVar15 + -0xc" (identifier "puVar15") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (cast_expression "(int)(char)bVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (cast_expression "(char)bVar9" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (identifier "bVar9")))) (; ";")) (expression_statement "*(int **)(puVar15 + -0x10) = piVar10;" (assignment_expression "*(int **)(puVar15 + -0x10) = piVar10" (pointer_expression "*(int **)(puVar15 + -0x10)" (* "*") (cast_expression "(int **)(puVar15 + -0x10)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar15 + -0x10)" (( "(") (binary_expression "puVar15 + -0x10" (identifier "puVar15") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "piVar10")) (; ";")) (expression_statement "*(undefined **)(puVar15 + -0x14) = &UNK_00201a98;" (assignment_expression "*(undefined **)(puVar15 + -0x14) = &UNK_00201a98" (pointer_expression "*(undefined **)(puVar15 + -0x14)" (* "*") (cast_expression "(undefined **)(puVar15 + -0x14)" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar15 + -0x14)" (( "(") (binary_expression "puVar15 + -0x14" (identifier "puVar15") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (pointer_expression "&UNK_00201a98" (& "&") (identifier "UNK_00201a98"))) (; ";")) (expression_statement "bVar8 = (*pcVar4)();" (assignment_expression "bVar8 = (*pcVar4)()" (identifier "bVar8") (= "=") (call_expression "(*pcVar4)()" (parenthesized_expression "(*pcVar4)" (( "(") (pointer_expression "*pcVar4" (* "*") (identifier "pcVar4")) () ")")) (argument_list "()" (( "(") () ")")))) (; ";")) (} "}"))) (if_statement "if (bVar8 == 0) goto LAB_00201ab8;" (if "if") (parenthesized_expression "(bVar8 == 0)" (( "(") (binary_expression "bVar8 == 0" (identifier "bVar8") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_00201ab8;" (goto "goto") (statement_identifier "LAB_00201ab8") (; ";"))) (expression_statement "*(byte *)((int)piVar10 + bVar9 + 0x11d) = bVar8;" (assignment_expression "*(byte *)((int)piVar10 + bVar9 + 0x11d) = bVar8" (pointer_expression "*(byte *)((int)piVar10 + bVar9 + 0x11d)" (* "*") (cast_expression "(byte *)((int)piVar10 + bVar9 + 0x11d)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar10 + bVar9 + 0x11d)" (( "(") (binary_expression "(int)piVar10 + bVar9 + 0x11d" (binary_expression "(int)piVar10 + bVar9" (cast_expression "(int)piVar10" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar10")) (+ "+") (identifier "bVar9")) (+ "+") (number_literal "0x11d")) () ")")))) (= "=") (identifier "bVar8")) (; ";")) (} "}"))) (if_statement "if (bVar8 == 9) goto code_r0x00202346;" (if "if") (parenthesized_expression "(bVar8 == 9)" (( "(") (binary_expression "bVar8 == 9" (identifier "bVar8") (== "==") (number_literal "9")) () ")")) (goto_statement "goto code_r0x00202346;" (goto "goto") (statement_identifier "code_r0x00202346") (; ";"))) (goto_statement "goto LAB_00201ab8;" (goto "goto") (statement_identifier "LAB_00201ab8") (; ";"))) (case_statement "case 0x78:\n    *(undefined4 *)(puVar15 + -0xc) = *(undefined4 *)(*(int *)(*(int *)(puVar15 + 0x18) + 8) + 8);\ncode_r0x00201b30:\n    *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0xb0);\n    *(undefined1 **)(puVar15 + -0x14) = puVar15 + 0x38;\n    *(undefined4 *)(puVar15 + -0x18) = *(undefined4 *)(puVar15 + 0xa8);\n    *(undefined4 *)(puVar15 + -0x1c) = *(undefined4 *)(puVar15 + 0xa4);\n    *(undefined4 *)(puVar15 + -0x20) = *(undefined4 *)(puVar15 + 0xa0);\n    *(undefined4 *)(puVar15 + -0x24) = *(undefined4 *)(puVar15 + 0x9c);\n    *(undefined4 *)(puVar15 + -0x28) = *(undefined4 *)(puVar15 + 0x98);\n    *(undefined4 *)(puVar15 + -0x2c) = *(undefined4 *)(puVar15 + 0x94);\n    puVar17 = puVar15 + -0x30;\n    *(undefined1 **)(puVar15 + -0x30) = puVar15 + 0x28;\n    *(undefined **)(puVar15 + -0x34) = &UNK_00201b6c;\n    FUN_00201820();\ncode_r0x00201b6c:\n    *(undefined4 *)(puVar17 + 0xc4) = *(undefined4 *)(puVar17 + 0x54);\n    *(undefined4 *)(puVar17 + 200) = *(undefined4 *)(puVar17 + 0x58);\n    puVar16 = puVar17 + 0x2c;" (case "case") (number_literal "0x78") (: ":") (expression_statement "*(undefined4 *)(puVar15 + -0xc) = *(undefined4 *)(*(int *)(*(int *)(puVar15 + 0x18) + 8) + 8);" (assignment_expression "*(undefined4 *)(puVar15 + -0xc) = *(undefined4 *)(*(int *)(*(int *)(puVar15 + 0x18) + 8) + 8)" (pointer_expression "*(undefined4 *)(puVar15 + -0xc)" (* "*") (cast_expression "(undefined4 *)(puVar15 + -0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -0xc)" (( "(") (binary_expression "puVar15 + -0xc" (identifier "puVar15") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(*(int *)(*(int *)(puVar15 + 0x18) + 8) + 8)" (* "*") (cast_expression "(undefined4 *)(*(int *)(*(int *)(puVar15 + 0x18) + 8) + 8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(*(int *)(puVar15 + 0x18) + 8) + 8)" (( "(") (binary_expression "*(int *)(*(int *)(puVar15 + 0x18) + 8) + 8" (pointer_expression "*(int *)(*(int *)(puVar15 + 0x18) + 8)" (* "*") (cast_expression "(int *)(*(int *)(puVar15 + 0x18) + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(puVar15 + 0x18) + 8)" (( "(") (binary_expression "*(int *)(puVar15 + 0x18) + 8" (pointer_expression "*(int *)(puVar15 + 0x18)" (* "*") (cast_expression "(int *)(puVar15 + 0x18)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + 0x18)" (( "(") (binary_expression "puVar15 + 0x18" (identifier "puVar15") (+ "+") (number_literal "0x18")) () ")")))) (+ "+") (number_literal "8")) () ")")))) (+ "+") (number_literal "8")) () ")"))))) (; ";")) (labeled_statement "code_r0x00201b30:\n    *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0xb0);" (statement_identifier "code_r0x00201b30") (: ":") (expression_statement "*(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0xb0);" (assignment_expression "*(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0xb0)" (pointer_expression "*(undefined4 *)(puVar15 + -0x10)" (* "*") (cast_expression "(undefined4 *)(puVar15 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -0x10)" (( "(") (binary_expression "puVar15 + -0x10" (identifier "puVar15") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(puVar15 + 0xb0)" (* "*") (cast_expression "(undefined4 *)(puVar15 + 0xb0)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + 0xb0)" (( "(") (binary_expression "puVar15 + 0xb0" (identifier "puVar15") (+ "+") (number_literal "0xb0")) () ")"))))) (; ";"))) (expression_statement "*(undefined1 **)(puVar15 + -0x14) = puVar15 + 0x38;" (assignment_expression "*(undefined1 **)(puVar15 + -0x14) = puVar15 + 0x38" (pointer_expression "*(undefined1 **)(puVar15 + -0x14)" (* "*") (cast_expression "(undefined1 **)(puVar15 + -0x14)" (( "(") (type_descriptor "undefined1 **" (type_identifier "undefined1") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar15 + -0x14)" (( "(") (binary_expression "puVar15 + -0x14" (identifier "puVar15") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (binary_expression "puVar15 + 0x38" (identifier "puVar15") (+ "+") (number_literal "0x38"))) (; ";")) (expression_statement "*(undefined4 *)(puVar15 + -0x18) = *(undefined4 *)(puVar15 + 0xa8);" (assignment_expression "*(undefined4 *)(puVar15 + -0x18) = *(undefined4 *)(puVar15 + 0xa8)" (pointer_expression "*(undefined4 *)(puVar15 + -0x18)" (* "*") (cast_expression "(undefined4 *)(puVar15 + -0x18)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -0x18)" (( "(") (binary_expression "puVar15 + -0x18" (identifier "puVar15") (+ "+") (number_literal "-0x18")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(puVar15 + 0xa8)" (* "*") (cast_expression "(undefined4 *)(puVar15 + 0xa8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + 0xa8)" (( "(") (binary_expression "puVar15 + 0xa8" (identifier "puVar15") (+ "+") (number_literal "0xa8")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(puVar15 + -0x1c) = *(undefined4 *)(puVar15 + 0xa4);" (assignment_expression "*(undefined4 *)(puVar15 + -0x1c) = *(undefined4 *)(puVar15 + 0xa4)" (pointer_expression "*(undefined4 *)(puVar15 + -0x1c)" (* "*") (cast_expression "(undefined4 *)(puVar15 + -0x1c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -0x1c)" (( "(") (binary_expression "puVar15 + -0x1c" (identifier "puVar15") (+ "+") (number_literal "-0x1c")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(puVar15 + 0xa4)" (* "*") (cast_expression "(undefined4 *)(puVar15 + 0xa4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + 0xa4)" (( "(") (binary_expression "puVar15 + 0xa4" (identifier "puVar15") (+ "+") (number_literal "0xa4")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(puVar15 + -0x20) = *(undefined4 *)(puVar15 + 0xa0);" (assignment_expression "*(undefined4 *)(puVar15 + -0x20) = *(undefined4 *)(puVar15 + 0xa0)" (pointer_expression "*(undefined4 *)(puVar15 + -0x20)" (* "*") (cast_expression "(undefined4 *)(puVar15 + -0x20)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -0x20)" (( "(") (binary_expression "puVar15 + -0x20" (identifier "puVar15") (+ "+") (number_literal "-0x20")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(puVar15 + 0xa0)" (* "*") (cast_expression "(undefined4 *)(puVar15 + 0xa0)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + 0xa0)" (( "(") (binary_expression "puVar15 + 0xa0" (identifier "puVar15") (+ "+") (number_literal "0xa0")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(puVar15 + -0x24) = *(undefined4 *)(puVar15 + 0x9c);" (assignment_expression "*(undefined4 *)(puVar15 + -0x24) = *(undefined4 *)(puVar15 + 0x9c)" (pointer_expression "*(undefined4 *)(puVar15 + -0x24)" (* "*") (cast_expression "(undefined4 *)(puVar15 + -0x24)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -0x24)" (( "(") (binary_expression "puVar15 + -0x24" (identifier "puVar15") (+ "+") (number_literal "-0x24")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(puVar15 + 0x9c)" (* "*") (cast_expression "(undefined4 *)(puVar15 + 0x9c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + 0x9c)" (( "(") (binary_expression "puVar15 + 0x9c" (identifier "puVar15") (+ "+") (number_literal "0x9c")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(puVar15 + -0x28) = *(undefined4 *)(puVar15 + 0x98);" (assignment_expression "*(undefined4 *)(puVar15 + -0x28) = *(undefined4 *)(puVar15 + 0x98)" (pointer_expression "*(undefined4 *)(puVar15 + -0x28)" (* "*") (cast_expression "(undefined4 *)(puVar15 + -0x28)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -0x28)" (( "(") (binary_expression "puVar15 + -0x28" (identifier "puVar15") (+ "+") (number_literal "-0x28")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(puVar15 + 0x98)" (* "*") (cast_expression "(undefined4 *)(puVar15 + 0x98)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + 0x98)" (( "(") (binary_expression "puVar15 + 0x98" (identifier "puVar15") (+ "+") (number_literal "0x98")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(puVar15 + -0x2c) = *(undefined4 *)(puVar15 + 0x94);" (assignment_expression "*(undefined4 *)(puVar15 + -0x2c) = *(undefined4 *)(puVar15 + 0x94)" (pointer_expression "*(undefined4 *)(puVar15 + -0x2c)" (* "*") (cast_expression "(undefined4 *)(puVar15 + -0x2c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -0x2c)" (( "(") (binary_expression "puVar15 + -0x2c" (identifier "puVar15") (+ "+") (number_literal "-0x2c")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(puVar15 + 0x94)" (* "*") (cast_expression "(undefined4 *)(puVar15 + 0x94)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + 0x94)" (( "(") (binary_expression "puVar15 + 0x94" (identifier "puVar15") (+ "+") (number_literal "0x94")) () ")"))))) (; ";")) (expression_statement "puVar17 = puVar15 + -0x30;" (assignment_expression "puVar17 = puVar15 + -0x30" (identifier "puVar17") (= "=") (binary_expression "puVar15 + -0x30" (identifier "puVar15") (+ "+") (number_literal "-0x30"))) (; ";")) (expression_statement "*(undefined1 **)(puVar15 + -0x30) = puVar15 + 0x28;" (assignment_expression "*(undefined1 **)(puVar15 + -0x30) = puVar15 + 0x28" (pointer_expression "*(undefined1 **)(puVar15 + -0x30)" (* "*") (cast_expression "(undefined1 **)(puVar15 + -0x30)" (( "(") (type_descriptor "undefined1 **" (type_identifier "undefined1") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar15 + -0x30)" (( "(") (binary_expression "puVar15 + -0x30" (identifier "puVar15") (+ "+") (number_literal "-0x30")) () ")")))) (= "=") (binary_expression "puVar15 + 0x28" (identifier "puVar15") (+ "+") (number_literal "0x28"))) (; ";")) (expression_statement "*(undefined **)(puVar15 + -0x34) = &UNK_00201b6c;" (assignment_expression "*(undefined **)(puVar15 + -0x34) = &UNK_00201b6c" (pointer_expression "*(undefined **)(puVar15 + -0x34)" (* "*") (cast_expression "(undefined **)(puVar15 + -0x34)" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar15 + -0x34)" (( "(") (binary_expression "puVar15 + -0x34" (identifier "puVar15") (+ "+") (number_literal "-0x34")) () ")")))) (= "=") (pointer_expression "&UNK_00201b6c" (& "&") (identifier "UNK_00201b6c"))) (; ";")) (expression_statement "FUN_00201820();" (call_expression "FUN_00201820()" (identifier "FUN_00201820") (argument_list "()" (( "(") () ")"))) (; ";")) (labeled_statement "code_r0x00201b6c:\n    *(undefined4 *)(puVar17 + 0xc4) = *(undefined4 *)(puVar17 + 0x54);" (statement_identifier "code_r0x00201b6c") (: ":") (expression_statement "*(undefined4 *)(puVar17 + 0xc4) = *(undefined4 *)(puVar17 + 0x54);" (assignment_expression "*(undefined4 *)(puVar17 + 0xc4) = *(undefined4 *)(puVar17 + 0x54)" (pointer_expression "*(undefined4 *)(puVar17 + 0xc4)" (* "*") (cast_expression "(undefined4 *)(puVar17 + 0xc4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + 0xc4)" (( "(") (binary_expression "puVar17 + 0xc4" (identifier "puVar17") (+ "+") (number_literal "0xc4")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(puVar17 + 0x54)" (* "*") (cast_expression "(undefined4 *)(puVar17 + 0x54)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + 0x54)" (( "(") (binary_expression "puVar17 + 0x54" (identifier "puVar17") (+ "+") (number_literal "0x54")) () ")"))))) (; ";"))) (expression_statement "*(undefined4 *)(puVar17 + 200) = *(undefined4 *)(puVar17 + 0x58);" (assignment_expression "*(undefined4 *)(puVar17 + 200) = *(undefined4 *)(puVar17 + 0x58)" (pointer_expression "*(undefined4 *)(puVar17 + 200)" (* "*") (cast_expression "(undefined4 *)(puVar17 + 200)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + 200)" (( "(") (binary_expression "puVar17 + 200" (identifier "puVar17") (+ "+") (number_literal "200")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(puVar17 + 0x58)" (* "*") (cast_expression "(undefined4 *)(puVar17 + 0x58)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + 0x58)" (( "(") (binary_expression "puVar17 + 0x58" (identifier "puVar17") (+ "+") (number_literal "0x58")) () ")"))))) (; ";")) (expression_statement "puVar16 = puVar17 + 0x2c;" (assignment_expression "puVar16 = puVar17 + 0x2c" (identifier "puVar16") (= "=") (binary_expression "puVar17 + 0x2c" (identifier "puVar17") (+ "+") (number_literal "0x2c"))) (; ";"))) (} "}"))) (labeled_statement "code_r0x00201ac0:\n  uVar18 = *(int *)(puVar16 + 4) + 1;" (statement_identifier "code_r0x00201ac0") (: ":") (expression_statement "uVar18 = *(int *)(puVar16 + 4) + 1;" (assignment_expression "uVar18 = *(int *)(puVar16 + 4) + 1" (identifier "uVar18") (= "=") (binary_expression "*(int *)(puVar16 + 4) + 1" (pointer_expression "*(int *)(puVar16 + 4)" (* "*") (cast_expression "(int *)(puVar16 + 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar16 + 4)" (( "(") (binary_expression "puVar16 + 4" (identifier "puVar16") (+ "+") (number_literal "4")) () ")")))) (+ "+") (number_literal "1"))) (; ";"))) (expression_statement "puVar15 = puVar16;" (assignment_expression "puVar15 = puVar16" (identifier "puVar15") (= "=") (identifier "puVar16")) (; ";")) (goto_statement "goto LAB_0020189b;" (goto "goto") (statement_identifier "LAB_0020189b") (; ";")) (labeled_statement "LAB_00201ab8:\n  *(uint *)(puVar15 + 0x38) = *(uint *)(puVar15 + 0x38) | 4;" (statement_identifier "LAB_00201ab8") (: ":") (expression_statement "*(uint *)(puVar15 + 0x38) = *(uint *)(puVar15 + 0x38) | 4;" (assignment_expression "*(uint *)(puVar15 + 0x38) = *(uint *)(puVar15 + 0x38) | 4" (pointer_expression "*(uint *)(puVar15 + 0x38)" (* "*") (cast_expression "(uint *)(puVar15 + 0x38)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + 0x38)" (( "(") (binary_expression "puVar15 + 0x38" (identifier "puVar15") (+ "+") (number_literal "0x38")) () ")")))) (= "=") (binary_expression "*(uint *)(puVar15 + 0x38) | 4" (pointer_expression "*(uint *)(puVar15 + 0x38)" (* "*") (cast_expression "(uint *)(puVar15 + 0x38)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + 0x38)" (( "(") (binary_expression "puVar15 + 0x38" (identifier "puVar15") (+ "+") (number_literal "0x38")) () ")")))) (| "|") (number_literal "4"))) (; ";"))) (goto_statement "goto code_r0x00201ac0;" (goto "goto") (statement_identifier "code_r0x00201ac0") (; ";")) (} "}")))

/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */
/* std::time_get<char, std::istreambuf_iterator<char, std::char_traits<char> >
   >::_M_extract_via_format(std::istreambuf_iterator<char, std::char_traits<char> >,
   std::istreambuf_iterator<char, std::char_traits<char> >, std::ios_base&, std::_Ios_Iostate&, tm*,
   char const*) const */

var_4 *
var_15::time_get<var_2,std::type_4<var_2,var_15::var_1<var_2>>>::var_3
          (var_4 *var_5,var_4 param_2,var_6 *var_7,var_4 param_4,
          var_4 param_5,var_4 param_6,var_10 var_13,var_8 *var_9,var_10 *var_11,
          var_2 *var_12)

{
  type_1 *plVar1;
  char var_18;
  type_2 var_24;
  type_2 var_22;
  type_3 *var_26;
  type_2 *var_32;
  size_t var_19;
  char *pcVar6;
  int var_27;
  type_2 *pcVar8;
  var_8 var_20;
  var_4 uVar10;
  var_4 uVar11;
  char **ppcVar12;
  var_4 uVar13;
  char *pcVar14;
  type_2<var_2> *in_stack_ffffff74;
  var_8 var_39;
  var_6 *local_64;
  var_4 uStack_60;
  var_8 var_21;
  int var_30;
  char *var_36;
  var_4 local_48;
  var_4 local_44;
  var_4 local_40;
  var_4 local_3c;
  var_4 local_38;
  var_4 local_34;
  var_4 uStack_14;
  
  var_20 = 0;
  uStack_14 = 0x20182b;
  plVar1 = (type_1 *)(var_13 + 0x6c);
  var_26 = var_14<var_15::type_3<var_2>>(plVar1);
  var_32 = var_14<var_15::type_2<var_2>>(plVar1);
  var_19 = var_16(var_12);
  var_21 = 0;
LAB_0020189b:
  var_18 = type_4<var_2,var_15::var_1<var_2>>::var_17
                    ((type_4<var_2,var_15::var_1<var_2>> *)&var_7,
                     (type_4 *)&param_5);
  if ((var_18 == '\x01') || (var_19 <= var_20)) {
    if ((var_21 != 0) || (var_20 != var_19)) {
LAB_00201a0e:
      *var_9 = *var_9 | 4;
    }
    *var_5 = var_7;
    var_5[1] = param_4;
    return var_5;
  }
  if (var_21 != 0) goto LAB_00201a0e;
  pcVar8 = (type_2 *)(var_12 + var_20);
  var_24 = *pcVar8;
  var_39 = var_20 + 1;
  var_22 = var_32[(type_5)var_24 + 0x11d];
  if (var_22 == (type_2)0x0) {
    var_22 = var_24;
    if (*(type_6 **)(*(int *)var_32 + 0x20) != (type_6 *)PTR_do_narrow_0038ed98) {
      var_22 = (type_2)(**(type_6 **)(*(int *)var_32 + 0x20))(var_32,(int)(char)var_24,0);
    }
    if (var_22 != (type_2)0x0) {
      var_32[(type_5)var_24 + 0x11d] = var_22;
      goto LAB_00201910;
    }
LAB_00201980:
    var_20 = var_39;
    var_24 = *pcVar8;
    var_22 = (type_2)type_4<var_2,var_15::var_1<var_2>>::var_23();
    if (var_24 == var_22) {
      streambuf::var_25(var_7);
      param_4 = 0xffffffff;
    }
    else {
      var_21 = var_21 | 4;
    }
    goto LAB_0020189b;
  }
LAB_00201910:
  if (var_22 != (type_2)0x25) goto LAB_00201980;
  var_24 = *(type_2 *)(var_12 + var_20 + 1);
  var_22 = var_32[(type_5)var_24 + 0x11d];
  if (var_22 == (type_2)0x0) {
    var_22 = var_24;
    if (*(type_6 **)(*(int *)var_32 + 0x20) != (type_6 *)PTR_do_narrow_0038ed98) {
      var_22 = (type_2)(**(type_6 **)(*(int *)var_32 + 0x20))(var_32,(int)(char)var_24,0);
    }
    if (var_22 != (type_2)0x0) {
      var_32[(type_5)var_24 + 0x11d] = var_22;
      goto LAB_00201951;
    }
    goto _L2028;
  }
LAB_00201951:
  var_30 = 0;
  if ((var_22 == (type_2)0x45) || (var_22 == (type_2)0x4f)) {
    var_39 = var_20 + 2;
    var_24 = *(type_2 *)(var_12 + var_20 + 2);
    var_22 = var_32[(type_5)var_24 + 0x11d];
    if (var_22 == (type_2)0x0) {
      var_22 = var_24;
      if (*(type_6 **)(*(int *)var_32 + 0x20) != (type_6 *)PTR_do_narrow_0038ed98) {
        var_22 = (type_2)(**(type_6 **)(*(int *)var_32 + 0x20))(var_32,(int)(char)var_24,0);
      }
      if (var_22 == (type_2)0x0) goto _L2028;
      var_32[(type_5)var_24 + 0x11d] = var_22;
    }
  }
  switch(var_22) {
  case (type_2)0x41:
    var_27 = *(int *)(var_26 + 8);
    var_36 = *(char **)(var_27 + 0x2c);
    local_48 = *(var_4 *)(var_27 + 0x30);
    local_44 = *(var_4 *)(var_27 + 0x34);
    local_40 = *(var_4 *)(var_27 + 0x38);
    local_3c = *(var_4 *)(var_27 + 0x3c);
    local_38 = *(var_4 *)(var_27 + 0x40);
    local_34 = *(var_4 *)(var_27 + 0x44);
    goto LAB_00201f34;
  case (type_2)0x42:
    type_3<var_2>::var_28((type_3<var_2> *)var_26,&var_36);
    goto LAB_00201fd1;
  case (type_2)0x43:
  case (type_2)0x59:
  case (type_2)0x79:
    var_29(&local_64,param_2,var_7,param_4,param_5,param_6,&var_30,0,9999,4,var_13,
                   &var_21);
    var_7 = local_64;
    param_4 = uStack_60;
    if (var_21 == 0) {
      var_27 = var_30 + -0x76c;
      if (var_30 < 0) {
        var_27 = var_30 + 100;
      }
      var_11[5] = var_27;
    }
    break;
  case (type_2)0x44:
    pcVar14 = "%H:%M";
    pcVar6 = "%m/%d/%y";
    goto LAB_00201ca2;
  default:
    goto _L2028;
  case (type_2)0x48:
    uVar11 = 0x17;
    uVar10 = 0;
    goto LAB_00201ba6;
  case (type_2)0x49:
    uVar11 = 0xc;
    uVar10 = 1;
LAB_00201ba6:
    var_29(&local_64,param_2,var_7,param_4,param_5,param_6,&var_30,uVar10,uVar11,2,
                   var_13,&var_21);
    var_7 = local_64;
    param_4 = uStack_60;
    if (var_21 == 0) {
      var_11[2] = var_30;
    }
    break;
  case (type_2)0x4d:
    var_29(&local_64,param_2,var_7,param_4,param_5,param_6,&var_30,0,0x3b,2,var_13,
                   &var_21);
    var_7 = local_64;
    param_4 = uStack_60;
    if (var_21 == 0) {
      var_11[1] = var_30;
    }
    break;
  case (type_2)0x52:
    pcVar14 = "%H:%M:%S";
    pcVar6 = "%H:%M";
    goto LAB_00201ca2;
  case (type_2)0x53:
    var_29(&local_64,param_2,var_7,param_4,param_5,param_6,&var_30,0,0x3c,2,var_13,
                   &var_21);
    var_7 = local_64;
    param_4 = uStack_60;
    if (var_21 == 0) {
      *var_11 = var_30;
    }
    break;
  case (type_2)0x54:
    pcVar14 = "";
    pcVar6 = "%H:%M:%S";
LAB_00201ca2:
    ppcVar12 = &var_36;
    type_2<var_2>::var_31((type_2<var_2> *)var_32,pcVar6,pcVar14,(char *)ppcVar12);
    goto LAB_00201b30;
  case (type_2)0x58:
    ppcVar12 = *(char ***)(*(int *)(var_26 + 8) + 0x10);
    goto LAB_00201b30;
  case (type_2)0x5a:
    var_20 = type_4<var_2,var_15::var_1<var_2>>::var_23();
    if ((*(type_5 *)(*(int *)(var_32 + 0x18) + 1 + (var_20 & 0xff) * 2) & 1) == 0) goto _L2028;
    var_33(&local_64,param_2,var_7,param_4,param_5,param_6,&var_36,
                    var_34<var_2>::var_35,0xe,var_13,&var_21);
    var_7 = local_64;
    param_4 = uStack_60;
    var_18 = type_4<var_2,var_15::var_1<var_2>>::var_17
                      ((type_4<var_2,var_15::var_1<var_2>> *)&var_7,
                       (type_4 *)&param_5);
    if ((var_18 != '\0') || (var_21 != 0 || var_36 != (char *)0x0)) break;
    var_24 = (type_2)type_4<var_2,var_15::var_1<var_2>>::var_23();
    if (var_32[0x1c] == (type_2)0x0) {
      var_22 = (type_2)type_2<var_2>::var_31(in_stack_ffffff74,(char)var_39);
    }
    else {
      var_22 = var_32[0x4a];
    }
    if (var_24 != var_22) {
      var_24 = (type_2)type_4<var_2,var_15::var_1<var_2>>::var_23();
      if (var_32[0x1c] == (type_2)0x0) {
        var_22 = (type_2)type_2<var_2>::var_31(in_stack_ffffff74,(char)var_39);
      }
      else {
        var_22 = var_32[0x48];
      }
      if (var_24 != var_22) break;
    }
    var_29(&local_64,param_2,var_7,param_4,param_5,param_6,&var_36,0,0x17,2,var_13,
                   &var_21);
    var_7 = local_64;
    param_4 = uStack_60;
    var_29(&local_64,param_2,local_64,uStack_60,param_5,param_6,&var_36,0,0x3b,2,var_13,
                   &var_21);
    goto LAB_00201b6c;
  case (type_2)0x61:
    var_27 = *(int *)(var_26 + 8);
    var_36 = *(char **)(var_27 + 0x48);
    local_48 = *(var_4 *)(var_27 + 0x4c);
    local_44 = *(var_4 *)(var_27 + 0x50);
    local_40 = *(var_4 *)(var_27 + 0x54);
    local_3c = *(var_4 *)(var_27 + 0x58);
    local_38 = *(var_4 *)(var_27 + 0x5c);
    local_34 = *(var_4 *)(var_27 + 0x60);
LAB_00201f34:
    var_33(&local_64,param_2,var_7,param_4,param_5,param_6,&var_30,&var_36,7,var_13,
                    &var_21);
    var_7 = local_64;
    param_4 = uStack_60;
    if (var_21 == 0) {
      var_11[6] = var_30;
    }
    break;
  case (type_2)0x62:
  case (type_2)0x68:
    type_3<var_2>::var_37((type_3<var_2> *)var_26,&var_36);
LAB_00201fd1:
    var_33(&local_64,param_2,var_7,param_4,param_5,param_6,&var_30,&var_36,0xc,
                    var_13,&var_21);
    var_7 = local_64;
    param_4 = uStack_60;
    if (var_21 == 0) {
      var_11[4] = var_30;
    }
    break;
  case (type_2)0x63:
    ppcVar12 = *(char ***)(*(int *)(var_26 + 8) + 0x18);
    goto LAB_00201b30;
  case (type_2)0x64:
    uVar13 = 2;
    uVar11 = 0x1f;
    uVar10 = 1;
    goto LAB_002021b6;
  case (type_2)0x65:
    var_20 = type_4<var_2,var_15::var_1<var_2>>::var_23();
    if ((*(type_5 *)(*(int *)(var_32 + 0x18) + 1 + (var_20 & 0xff) * 2) & 0x20) == 0) {
      uVar13 = 2;
      uVar11 = 0x1f;
      uVar10 = 10;
    }
    else {
      streambuf::var_25(var_7);
      param_4 = 0xffffffff;
      uVar13 = 1;
      uVar11 = 9;
      uVar10 = 1;
    }
LAB_002021b6:
    var_29(&local_64,param_2,var_7,param_4,param_5,param_6,&var_30,uVar10,uVar11,uVar13,
                   var_13,&var_21);
    var_7 = local_64;
    param_4 = uStack_60;
    if (var_21 == 0) {
      var_11[3] = var_30;
    }
    break;
  case (type_2)0x6d:
    var_29(&local_64,param_2,var_7,param_4,param_5,param_6,&var_30,1,0xc,2,var_13,
                   &var_21);
    var_7 = local_64;
    param_4 = uStack_60;
    if (var_21 == 0) {
      var_11[4] = var_30 + -1;
    }
    break;
  case (type_2)0x6e:
    var_22 = (type_2)type_4<var_2,var_15::var_1<var_2>>::var_23();
    var_24 = var_32[(type_5)var_22 + 0x11d];
    if (var_24 == (type_2)0x0) {
      var_24 = var_22;
      if (*(type_6 **)(*(int *)var_32 + 0x20) != (type_6 *)PTR_do_narrow_0038ed98) {
        var_24 = (type_2)(**(type_6 **)(*(int *)var_32 + 0x20))(var_32,(int)(char)var_22,0);
      }
      if (var_24 == (type_2)0x0) goto _L2028;
      var_32[(type_5)var_22 + 0x11d] = var_24;
    }
    if (var_24 != (type_2)0xa) goto _L2028;
LAB_00202346:
    streambuf::var_25(var_7);
    param_4 = 0xffffffff;
    break;
  case (type_2)0x74:
    var_22 = (type_2)type_4<var_2,var_15::var_1<var_2>>::var_23();
    var_24 = var_32[(type_5)var_22 + 0x11d];
    if (var_24 == (type_2)0x0) {
      var_24 = var_22;
      if (*(type_6 **)(*(int *)var_32 + 0x20) != type_2<var_2>::var_38) {
        var_24 = (type_2)(**(type_6 **)(*(int *)var_32 + 0x20))(var_32,(int)(char)var_22,0);
      }
      if (var_24 == (type_2)0x0) goto _L2028;
      var_32[(type_5)var_22 + 0x11d] = var_24;
    }
    if (var_24 == (type_2)0x9) goto LAB_00202346;
    goto _L2028;
  case (type_2)0x78:
    ppcVar12 = *(char ***)(*(int *)(var_26 + 8) + 8);
LAB_00201b30:
    var_3
              (&local_64,param_2,var_7,param_4,param_5,param_6,var_13,&var_21,var_11,ppcVar12)
    ;
LAB_00201b6c:
    var_7 = local_64;
    param_4 = uStack_60;
  }
LAB_00201ac0:
  var_20 = var_39 + 1;
  goto LAB_0020189b;
_L2028:
  var_21 = var_21 | 4;
  goto LAB_00201ac0;
}


(translation_unit (function_definition type: (type_identifier) declarator: (pointer_declarator declarator: (function_declarator declarator: (identifier) parameters: (parameter_list (parameter_declaration type: (primitive_type))))) body: (compound_statement (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (array_declarator declarator: (identifier) size: (number_literal))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (identifier)))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (call_expression function: (identifier) arguments: (argument_list (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (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)))))))) (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: (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))))))) (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)))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (char_literal (escape_sequence)))) right: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) right: (parenthesized_expression (binary_expression left: (identifier) right: (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))))))))) consequence: (compound_statement (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) right: (binary_expression left: (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (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))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (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))))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (return_statement (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier)))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (identifier)) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (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))))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (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: (identifier) right: (number_literal))))) right: (identifier))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list)))) (expression_statement (assignment_expression left: (identifier) right: (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))))))))) (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: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (identifier)) right: (number_literal))))) right: (identifier))) (goto_statement label: (statement_identifier)))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (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)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (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: (identifier) right: (number_literal))))) right: (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))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (expression_statement (call_expression function: (identifier) arguments: (argument_list))) (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: (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)))))))) alternative: (else_clause (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: (binary_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: (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)))))))))) (goto_statement label: (statement_identifier)))) (labeled_statement label: (statement_identifier) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)) right: (identifier))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (identifier)) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (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))))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (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: (identifier) right: (number_literal))))) right: (number_literal))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list)))))) (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: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (identifier)) right: (number_literal))))) right: (identifier))) (goto_statement label: (statement_identifier)))) (goto_statement label: (statement_identifier)))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (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: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)) right: (identifier))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (identifier)) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (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))))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (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: (identifier) right: (number_literal))))) right: (number_literal))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_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: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (identifier)) right: (number_literal))))) right: (identifier))))))) (switch_statement condition: (parenthesized_expression (identifier)) body: (compound_statement (case_statement value: (number_literal) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))))) (expression_statement (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: (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))))))) (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: (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))))))) (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: (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))))))) (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: (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))))))) (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: (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))))))) (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: (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))))))) (expression_statement (assignment_expression left: (identifier) right: (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))))))) (goto_statement label: (statement_identifier))) (case_statement value: (number_literal) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (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: (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))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (pointer_expression argument: (identifier)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list))) (goto_statement label: (statement_identifier))) (case_statement value: (number_literal)) (case_statement value: (number_literal)) (case_statement value: (number_literal) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (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: (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))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (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: (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))))))) (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: (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))))))) (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: (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))))))) (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: (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))))))) (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: (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))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (pointer_expression argument: (identifier)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list))) (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: (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))))))) (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: (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))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))))) (break_statement)) (case_statement value: (number_literal) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (string_literal (string_content)))) (goto_statement label: (statement_identifier))) (case_statement (goto_statement label: (statement_identifier))) (case_statement value: (number_literal) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (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: (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))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (goto_statement label: (statement_identifier))) (case_statement value: (number_literal) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (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: (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))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (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: (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))))))) (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: (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))))))) (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: (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))))))) (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: (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))))))) (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: (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))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (pointer_expression argument: (identifier)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list))) (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: (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))))))) (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: (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))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) 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: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))) right: (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))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))))) (break_statement)) (case_statement value: (number_literal) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (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: (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))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (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: (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))))))) (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: (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))))))) (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: (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))))))) (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: (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))))))) (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: (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))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (pointer_expression argument: (identifier)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list))) (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: (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))))))) (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: (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))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) 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: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))) right: (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))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))))) (break_statement)) (case_statement value: (number_literal) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (string_literal (string_content)))) (expression_statement (assignment_expression left: (identifier) right: (string_literal (string_content)))) (goto_statement label: (statement_identifier))) (case_statement value: (number_literal) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (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: (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))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (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: (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))))))) (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: (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))))))) (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: (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))))))) (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: (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))))))) (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: (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))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (pointer_expression argument: (identifier)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list))) (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: (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))))))) (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: (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))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) right: (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))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))))) (break_statement)) (case_statement value: (number_literal) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (string_literal (string_content)))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (pointer_expression argument: (identifier)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (identifier) right: (number_literal)))) (goto_statement label: (statement_identifier))) (case_statement value: (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: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))) right: (number_literal))))))) (goto_statement label: (statement_identifier))) (case_statement value: (number_literal) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list)))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal)) right: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal)))))) right: (number_literal))) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) (expression_statement (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: (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))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (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))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) (expression_statement (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: (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))))))) (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: (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))))))) (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: (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))))))) (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: (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))))))) (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: (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))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (pointer_expression argument: (identifier)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list))) (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: (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))))))) (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: (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))))))) (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: (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))))))) (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: (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))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (char_literal (escape_sequence)))) right: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) right: (binary_expression left: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))))) consequence: (break_statement)) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list)))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (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: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (char_literal (escape_sequence)))) consequence: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal)))))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list)))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (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: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (char_literal (escape_sequence)))) consequence: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (subscript_expression argument: (identifier) index: (number_literal)))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) consequence: (break_statement)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) (expression_statement (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: (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))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (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))))))) (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: (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))))))) (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: (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))))))) (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: (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))))))) (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: (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))))))) (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: (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))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (pointer_expression argument: (identifier)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list))) (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: (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))))))) (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: (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))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) (expression_statement (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: (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))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (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))))))) (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: (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))))))) (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: (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))))))) (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: (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))))))) (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: (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))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (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: (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))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (pointer_expression argument: (identifier)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list))) (goto_statement label: (statement_identifier))) (case_statement value: (number_literal) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))))) (expression_statement (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: (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))))))) (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: (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))))))) (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: (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))))))) (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: (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))))))) (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: (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))))))) (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: (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))))))) (expression_statement (assignment_expression left: (identifier) right: (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))))))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (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: (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))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (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: (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))))))) (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: (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))))))) (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: (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))))))) (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: (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))))))) (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: (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))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (pointer_expression argument: (identifier)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list))) (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: (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))))))) (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: (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))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) 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: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))) right: (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))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))))) (break_statement)) (case_statement value: (number_literal)) (case_statement value: (number_literal) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (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: (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))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (pointer_expression argument: (identifier)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (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: (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))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (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: (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))))))) (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: (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))))))) (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: (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))))))) (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: (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))))))) (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: (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))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (pointer_expression argument: (identifier)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list))) (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: (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))))))) (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: (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))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) 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: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))) right: (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))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))))) (break_statement)) (case_statement value: (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: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))) right: (number_literal))))))) (goto_statement label: (statement_identifier))) (case_statement value: (number_literal) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (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: (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))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (goto_statement label: (statement_identifier))) (case_statement value: (number_literal) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list)))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal)) right: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal)))))) right: (number_literal))) 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 declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (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: (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))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))) alternative: (else_clause (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: (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))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (pointer_expression argument: (identifier)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (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: (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))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (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: (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))))))) (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: (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))))))) (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: (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))))))) (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: (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))))))) (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: (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))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (pointer_expression argument: (identifier)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list))) (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: (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))))))) (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: (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))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) 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: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))) right: (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))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))))) (break_statement)) (case_statement value: (number_literal) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (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: (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))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (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: (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))))))) (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: (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))))))) (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: (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))))))) (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: (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))))))) (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: (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))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (pointer_expression argument: (identifier)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list))) (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: (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))))))) (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: (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))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))))) (break_statement)) (case_statement value: (number_literal) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (identifier)) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (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))))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (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: (identifier) right: (number_literal))))) right: (number_literal))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_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: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (identifier)) right: (number_literal))))) right: (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (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)))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (pointer_expression argument: (identifier)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list))) (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))) (break_statement)) (case_statement value: (number_literal) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (identifier)) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (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))))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) 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))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_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: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (identifier)) right: (number_literal))))) right: (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (goto_statement label: (statement_identifier))) (case_statement value: (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: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))) right: (number_literal))))))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (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)))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (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: (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))))))) (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: (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))))))) (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: (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))))))) (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: (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))))))) (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: (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))))))) (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: (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))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (pointer_expression argument: (identifier)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (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)))))))) (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: (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))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (goto_statement label: (statement_identifier)) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_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))))) (goto_statement label: (statement_identifier)))))

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

undefined4 * MASKED(void)

{
  int iVar1;
  undefined1 *puVar2;
  undefined1 *puVar3;
  code *pcVar4;
  undefined4 *puVar5;
  char cVar6;
  char cVar7;
  byte bVar8;
  byte bVar9;
  int *piVar10;
  char *pcVar11;
  undefined4 uVar12;
  int iVar13;
  uint uVar14;
  undefined1 *puVar15;
  undefined1 *puVar16;
  undefined1 *puVar17;
  uint uVar18;
  int in_stack_0000001c;
  char *in_stack_00000028;
  undefined1 auStack_8c [8];
  undefined1 *local_84;
  size_t local_80;
  undefined1 *local_7c;
  undefined4 local_74;
  code *local_70;
  undefined **local_68;
  undefined4 local_54;
  undefined4 uStack_14;
  
  uVar18 = 0;
  uStack_14 = 0x20182b;
  iVar1 = in_stack_0000001c + 0x6c;
  local_74 = FUN_001fd780(iVar1);
  piVar10 = (int *)FUN_001fbde0(iVar1);
  local_80 = strlen(in_stack_00000028);
  local_7c = &stack0x00000014;
  local_84 = &stack0x0000000c;
  local_54 = 0;
  local_68 = &PTR_DAT_0038f400;
  local_70 = FUN_001f81a0;
  puVar15 = auStack_8c;
LAB_0020189b:
  *(undefined4 *)(puVar15 + -0xc) = *(undefined4 *)(puVar15 + 0x10);
  *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 8);
  *(undefined4 *)(puVar15 + -0x14) = 0x2018ab;
  cVar6 = FUN_00200f70();
  if ((cVar6 == '\x01') || (*(uint *)(puVar15 + 0xc) <= uVar18)) {
    if ((*(int *)(puVar15 + 0x38) != 0) || (uVar18 != *(uint *)(puVar15 + 0xc))) {
LAB_00201a0e:
      **(uint **)(puVar15 + 0xac) = **(uint **)(puVar15 + 0xac) | 4;
    }
    puVar5 = *(undefined4 **)(puVar15 + 0x90);
    uVar12 = *(undefined4 *)(puVar15 + 0x9c);
    *puVar5 = *(undefined4 *)(puVar15 + 0x98);
    puVar5[1] = uVar12;
    return puVar5;
  }
  if (*(int *)(puVar15 + 0x38) != 0) goto LAB_00201a0e;
  bVar8 = *(byte *)(*(int *)(puVar15 + 0xb4) + uVar18);
  uVar14 = (uint)bVar8;
  *(byte **)(puVar15 + 0x14) = (byte *)(*(int *)(puVar15 + 0xb4) + uVar18);
  *(uint *)(puVar15 + 4) = uVar18 + 1;
  bVar9 = *(byte *)((int)piVar10 + uVar14 + 0x11d);
  if (bVar9 == 0) {
    pcVar4 = *(code **)(*piVar10 + 0x20);
    bVar9 = bVar8;
    if (pcVar4 != (code *)PTR_FUN_0038ed98) {
      *(uint *)(puVar15 + 0x20) = uVar14;
      *(undefined4 *)(puVar15 + -8) = 0;
      *(int *)(puVar15 + -0xc) = (int)(char)bVar8;
      *(int **)(puVar15 + -0x10) = piVar10;
      *(undefined4 *)(puVar15 + -0x14) = 0x201a50;
      bVar9 = (*pcVar4)();
      uVar14 = *(uint *)(puVar15 + 0x20);
    }
    if (bVar9 != 0) {
      *(byte *)((int)piVar10 + uVar14 + 0x11d) = bVar9;
      goto LAB_00201910;
    }
LAB_00201980:
    cVar6 = **(char **)(puVar15 + 0x14);
    *(undefined4 *)(puVar15 + -4) = 0x201997;
    cVar7 = FUN_001f91d0();
    if (cVar6 == cVar7) {
      *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0x98);
      *(undefined4 *)(puVar15 + -0x14) = 0x201adf;
      FUN_001f24d0();
      *(undefined4 *)(puVar15 + 0x9c) = 0xffffffff;
      uVar18 = *(uint *)(puVar15 + 4);
    }
    else {
      *(uint *)(puVar15 + 0x38) = *(uint *)(puVar15 + 0x38) | 4;
      uVar18 = *(uint *)(puVar15 + 4);
    }
    goto LAB_0020189b;
  }
LAB_00201910:
  if (bVar9 != 0x25) goto LAB_00201980;
  bVar8 = *(byte *)(*(int *)(puVar15 + 0xb4) + 1 + uVar18);
  bVar9 = *(byte *)((int)piVar10 + bVar8 + 0x11d);
  puVar16 = puVar15;
  if (bVar9 == 0) {
    pcVar4 = *(code **)(*piVar10 + 0x20);
    bVar9 = bVar8;
    if (pcVar4 != (code *)PTR_FUN_0038ed98) {
      *(undefined4 *)(puVar15 + -8) = 0;
      *(int *)(puVar15 + -0xc) = (int)(char)bVar8;
      *(int **)(puVar15 + -0x10) = piVar10;
      *(undefined4 *)(puVar15 + -0x14) = 0x201b0c;
      bVar9 = (*pcVar4)();
    }
    if (bVar9 != 0) {
      *(byte *)((int)piVar10 + bVar8 + 0x11d) = bVar9;
      goto LAB_00201951;
    }
    goto LAB_00201ab8;
  }
LAB_00201951:
  *(undefined4 *)(puVar15 + 0x3c) = 0;
  if ((bVar9 == 0x45) || (bVar9 == 0x4f)) {
    *(uint *)(puVar15 + 4) = uVar18 + 2;
    bVar8 = *(byte *)(*(int *)(puVar15 + 0xb4) + 2 + uVar18);
    bVar9 = *(byte *)((int)piVar10 + bVar8 + 0x11d);
    if (bVar9 == 0) {
      pcVar4 = *(code **)(*piVar10 + 0x20);
      bVar9 = bVar8;
      if (pcVar4 != (code *)PTR_FUN_0038ed98) {
        *(undefined4 *)(puVar15 + -8) = 0;
        *(int *)(puVar15 + -0xc) = (int)(char)bVar8;
        *(int **)(puVar15 + -0x10) = piVar10;
        *(undefined4 *)(puVar15 + -0x14) = 0x20237c;
        bVar9 = (*pcVar4)();
      }
      if (bVar9 == 0) goto LAB_00201ab8;
      *(byte *)((int)piVar10 + bVar8 + 0x11d) = bVar9;
    }
  }
  switch(bVar9) {
  case 0x41:
    iVar1 = *(int *)(*(int *)(puVar15 + 0x18) + 8);
    *(undefined4 *)(puVar15 + 0x40) = *(undefined4 *)(iVar1 + 0x2c);
    *(undefined4 *)(puVar15 + 0x44) = *(undefined4 *)(iVar1 + 0x30);
    *(undefined4 *)(puVar15 + 0x48) = *(undefined4 *)(iVar1 + 0x34);
    *(undefined4 *)(puVar15 + 0x4c) = *(undefined4 *)(iVar1 + 0x38);
    *(undefined4 *)(puVar15 + 0x50) = *(undefined4 *)(iVar1 + 0x3c);
    *(undefined4 *)(puVar15 + 0x54) = *(undefined4 *)(iVar1 + 0x40);
    uVar12 = *(undefined4 *)(iVar1 + 0x44);
    goto code_r0x00201f34;
  case 0x42:
    *(undefined1 **)(puVar15 + -0xc) = puVar15 + 0x40;
    *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0x18);
    *(undefined **)(puVar15 + -0x14) = &UNK_00201fd1;
    FUN_001fb050();
    goto code_r0x00201fd1;
  case 0x43:
  case 0x59:
  case 0x79:
    *(undefined1 **)(puVar15 + -4) = puVar15 + 0x38;
    *(undefined4 *)(puVar15 + -8) = *(undefined4 *)(puVar15 + 0xa8);
    *(undefined4 *)(puVar15 + -0xc) = 4;
    *(undefined4 *)(puVar15 + -0x10) = 9999;
    *(undefined4 *)(puVar15 + -0x14) = 0;
    *(undefined1 **)(puVar15 + -0x18) = puVar15 + 0x3c;
    *(undefined4 *)(puVar15 + -0x1c) = *(undefined4 *)(puVar15 + 0xa4);
    *(undefined4 *)(puVar15 + -0x20) = *(undefined4 *)(puVar15 + 0xa0);
    *(undefined4 *)(puVar15 + -0x24) = *(undefined4 *)(puVar15 + 0x9c);
    *(undefined4 *)(puVar15 + -0x28) = *(undefined4 *)(puVar15 + 0x98);
    *(undefined4 *)(puVar15 + -0x2c) = *(undefined4 *)(puVar15 + 0x94);
    *(undefined1 **)(puVar15 + -0x30) = puVar15 + 0x28;
    *(undefined **)(puVar15 + -0x34) = &UNK_00202097;
    FUN_001fc0e0();
    *(undefined4 *)(puVar15 + 0x94) = *(undefined4 *)(puVar15 + 0x24);
    *(undefined4 *)(puVar15 + 0x98) = *(undefined4 *)(puVar15 + 0x28);
    puVar16 = puVar15 + -4;
    if (*(int *)(puVar15 + 0x34) == 0) {
      iVar1 = *(int *)(puVar15 + 0x38);
      iVar13 = iVar1 + -0x76c;
      if (iVar1 < 0) {
        iVar13 = iVar1 + 100;
      }
      *(int *)(*(int *)(puVar15 + 0xac) + 0x14) = iVar13;
      puVar16 = puVar15 + -4;
    }
    break;
  case 0x44:
    *(undefined1 **)(puVar15 + -4) = puVar15 + 0x40;
    *(undefined **)(puVar15 + -8) = &UNK_002a3ee7;
    pcVar11 = "%m/%d/%y";
    goto code_r0x00201ca2;
  default:
    goto LAB_00201ab8;
  case 0x48:
    *(undefined1 **)(puVar15 + -4) = puVar15 + 0x38;
    *(undefined4 *)(puVar15 + -8) = *(undefined4 *)(puVar15 + 0xa8);
    *(undefined4 *)(puVar15 + -0xc) = 2;
    *(undefined4 *)(puVar15 + -0x10) = 0x17;
    *(undefined4 *)(puVar15 + -0x14) = 0;
    goto code_r0x00201ba6;
  case 0x49:
    *(undefined1 **)(puVar15 + -4) = puVar15 + 0x38;
    *(undefined4 *)(puVar15 + -8) = *(undefined4 *)(puVar15 + 0xa8);
    *(undefined4 *)(puVar15 + -0xc) = 2;
    *(undefined4 *)(puVar15 + -0x10) = 0xc;
    *(undefined4 *)(puVar15 + -0x14) = 1;
code_r0x00201ba6:
    *(undefined1 **)(puVar15 + -0x18) = puVar15 + 0x3c;
    *(undefined4 *)(puVar15 + -0x1c) = *(undefined4 *)(puVar15 + 0xa4);
    *(undefined4 *)(puVar15 + -0x20) = *(undefined4 *)(puVar15 + 0xa0);
    *(undefined4 *)(puVar15 + -0x24) = *(undefined4 *)(puVar15 + 0x9c);
    *(undefined4 *)(puVar15 + -0x28) = *(undefined4 *)(puVar15 + 0x98);
    *(undefined4 *)(puVar15 + -0x2c) = *(undefined4 *)(puVar15 + 0x94);
    *(undefined1 **)(puVar15 + -0x30) = puVar15 + 0x28;
    *(undefined **)(puVar15 + -0x34) = &UNK_00201bd4;
    FUN_001fc0e0();
    *(undefined4 *)(puVar15 + 0x94) = *(undefined4 *)(puVar15 + 0x24);
    *(undefined4 *)(puVar15 + 0x98) = *(undefined4 *)(puVar15 + 0x28);
    puVar16 = puVar15 + -4;
    if (*(int *)(puVar15 + 0x34) == 0) {
      *(undefined4 *)(*(int *)(puVar15 + 0xac) + 8) = *(undefined4 *)(puVar15 + 0x38);
      puVar16 = puVar15 + -4;
    }
    break;
  case 0x4d:
    *(undefined1 **)(puVar15 + -4) = puVar15 + 0x38;
    *(undefined4 *)(puVar15 + -8) = *(undefined4 *)(puVar15 + 0xa8);
    *(undefined4 *)(puVar15 + -0xc) = 2;
    *(undefined4 *)(puVar15 + -0x10) = 0x3b;
    *(undefined4 *)(puVar15 + -0x14) = 0;
    *(undefined1 **)(puVar15 + -0x18) = puVar15 + 0x3c;
    *(undefined4 *)(puVar15 + -0x1c) = *(undefined4 *)(puVar15 + 0xa4);
    *(undefined4 *)(puVar15 + -0x20) = *(undefined4 *)(puVar15 + 0xa0);
    *(undefined4 *)(puVar15 + -0x24) = *(undefined4 *)(puVar15 + 0x9c);
    *(undefined4 *)(puVar15 + -0x28) = *(undefined4 *)(puVar15 + 0x98);
    *(undefined4 *)(puVar15 + -0x2c) = *(undefined4 *)(puVar15 + 0x94);
    *(undefined1 **)(puVar15 + -0x30) = puVar15 + 0x28;
    *(undefined **)(puVar15 + -0x34) = &UNK_00201c54;
    FUN_001fc0e0();
    *(undefined4 *)(puVar15 + 0x94) = *(undefined4 *)(puVar15 + 0x24);
    *(undefined4 *)(puVar15 + 0x98) = *(undefined4 *)(puVar15 + 0x28);
    puVar16 = puVar15 + -4;
    if (*(int *)(puVar15 + 0x34) == 0) {
      *(undefined4 *)(*(int *)(puVar15 + 0xac) + 4) = *(undefined4 *)(puVar15 + 0x38);
      puVar16 = puVar15 + -4;
    }
    break;
  case 0x52:
    *(undefined1 **)(puVar15 + -4) = puVar15 + 0x40;
    *(char **)(puVar15 + -8) = "%H:%M:%S";
    pcVar11 = "%H:%M";
    goto code_r0x00201ca2;
  case 0x53:
    *(undefined1 **)(puVar15 + -4) = puVar15 + 0x38;
    *(undefined4 *)(puVar15 + -8) = *(undefined4 *)(puVar15 + 0xa8);
    *(undefined4 *)(puVar15 + -0xc) = 2;
    *(undefined4 *)(puVar15 + -0x10) = 0x3c;
    *(undefined4 *)(puVar15 + -0x14) = 0;
    *(undefined1 **)(puVar15 + -0x18) = puVar15 + 0x3c;
    *(undefined4 *)(puVar15 + -0x1c) = *(undefined4 *)(puVar15 + 0xa4);
    *(undefined4 *)(puVar15 + -0x20) = *(undefined4 *)(puVar15 + 0xa0);
    *(undefined4 *)(puVar15 + -0x24) = *(undefined4 *)(puVar15 + 0x9c);
    *(undefined4 *)(puVar15 + -0x28) = *(undefined4 *)(puVar15 + 0x98);
    *(undefined4 *)(puVar15 + -0x2c) = *(undefined4 *)(puVar15 + 0x94);
    *(undefined1 **)(puVar15 + -0x30) = puVar15 + 0x28;
    *(undefined **)(puVar15 + -0x34) = &UNK_00201cfc;
    FUN_001fc0e0();
    *(undefined4 *)(puVar15 + 0x94) = *(undefined4 *)(puVar15 + 0x24);
    *(undefined4 *)(puVar15 + 0x98) = *(undefined4 *)(puVar15 + 0x28);
    puVar16 = puVar15 + -4;
    if (*(int *)(puVar15 + 0x34) == 0) {
      **(undefined4 **)(puVar15 + 0xac) = *(undefined4 *)(puVar15 + 0x38);
      puVar16 = puVar15 + -4;
    }
    break;
  case 0x54:
    *(undefined1 **)(puVar15 + -4) = puVar15 + 0x40;
    *(undefined **)(puVar15 + -8) = &UNK_002a3ef6;
    pcVar11 = "%H:%M:%S";
code_r0x00201ca2:
    *(char **)(puVar15 + -0xc) = pcVar11;
    *(int **)(puVar15 + -0x10) = piVar10;
    *(undefined **)(puVar15 + -0x14) = &UNK_00201ca9;
    FUN_001f94d0();
    *(undefined1 **)(puVar15 + -0xc) = puVar15 + 0x40;
    goto code_r0x00201b30;
  case 0x58:
    *(undefined4 *)(puVar15 + -0xc) = *(undefined4 *)(*(int *)(*(int *)(puVar15 + 0x18) + 8) + 0x10)
    ;
    goto code_r0x00201b30;
  case 0x5a:
    *(undefined **)(puVar15 + -4) = &UNK_00201d80;
    uVar18 = FUN_001f91d0();
    if ((*(byte *)(piVar10[6] + 1 + (uVar18 & 0xff) * 2) & 1) == 0) goto LAB_00201ab8;
    *(undefined1 **)(puVar15 + 0x14) = puVar15 + 0x28;
    puVar2 = puVar15 + 0x38;
    *(undefined1 **)(puVar15 + -8) = puVar2;
    *(undefined4 *)(puVar15 + -0xc) = *(undefined4 *)(puVar15 + 0xa8);
    *(undefined4 *)(puVar15 + -0x10) = 0xe;
    *(undefined4 *)(puVar15 + -0x14) = *(undefined4 *)(puVar15 + 0x24);
    puVar3 = puVar15 + 0x40;
    *(undefined1 **)(puVar15 + -0x18) = puVar3;
    *(undefined4 *)(puVar15 + -0x1c) = *(undefined4 *)(puVar15 + 0xa4);
    *(undefined4 *)(puVar15 + -0x20) = *(undefined4 *)(puVar15 + 0xa0);
    *(undefined4 *)(puVar15 + -0x24) = *(undefined4 *)(puVar15 + 0x9c);
    *(undefined4 *)(puVar15 + -0x28) = *(undefined4 *)(puVar15 + 0x98);
    *(undefined4 *)(puVar15 + -0x2c) = *(undefined4 *)(puVar15 + 0x94);
    *(undefined1 **)(puVar15 + -0x30) = puVar15 + 0x28;
    *(undefined **)(puVar15 + -0x34) = &UNK_00201ddc;
    FUN_00201020();
    *(undefined4 *)(puVar15 + 0x94) = *(undefined4 *)(puVar15 + 0x24);
    *(undefined4 *)(puVar15 + 0x98) = *(undefined4 *)(puVar15 + 0x28);
    *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0xc);
    *(undefined4 *)(puVar15 + -0x14) = *(undefined4 *)(puVar15 + 4);
    *(undefined **)(puVar15 + -0x18) = &UNK_00201e02;
    cVar6 = FUN_00200f70();
    puVar16 = puVar15 + -4;
    if ((cVar6 != '\0') ||
       (puVar16 = puVar15 + -4, *(int *)(puVar15 + 0x34) != 0 || *(int *)(puVar15 + 0x3c) != 0))
    break;
    *(undefined **)(puVar15 + -8) = &UNK_00201e2b;
    uVar12 = FUN_001f91d0();
    iVar1 = piVar10[7];
    *(undefined4 *)(puVar15 + 0x1c) = uVar12;
    if ((char)iVar1 == '\0') {
      *(undefined **)(puVar15 + -8) = &UNK_002023c1;
      cVar6 = FUN_001f9220();
    }
    else {
      cVar6 = *(char *)((int)piVar10 + 0x4a);
    }
    if (puVar15[0x1c] != cVar6) {
      *(undefined **)(puVar15 + -8) = &UNK_00201e53;
      uVar12 = FUN_001f91d0();
      iVar1 = piVar10[7];
      *(undefined4 *)(puVar15 + 0x1c) = uVar12;
      if ((char)iVar1 == '\0') {
        *(undefined **)(puVar15 + -8) = &UNK_002023d2;
        cVar6 = FUN_001f9220();
      }
      else {
        cVar6 = (char)piVar10[0x12];
      }
      puVar16 = puVar15 + -4;
      if (puVar15[0x1c] != cVar6) break;
    }
    *(undefined1 **)(puVar15 + -8) = puVar2;
    *(undefined4 *)(puVar15 + -0xc) = *(undefined4 *)(puVar15 + 0xa4);
    *(undefined4 *)(puVar15 + -0x10) = 2;
    *(undefined4 *)(puVar15 + -0x14) = 0x17;
    *(undefined4 *)(puVar15 + -0x18) = 0;
    *(undefined1 **)(puVar15 + -0x1c) = puVar3;
    *(undefined4 *)(puVar15 + -0x20) = *(undefined4 *)(puVar15 + 0xa0);
    *(undefined4 *)(puVar15 + -0x24) = *(undefined4 *)(puVar15 + 0x9c);
    *(undefined4 *)(puVar15 + -0x28) = *(undefined4 *)(puVar15 + 0x98);
    *(undefined4 *)(puVar15 + -0x2c) = *(undefined4 *)(puVar15 + 0x94);
    *(undefined4 *)(puVar15 + -0x30) = *(undefined4 *)(puVar15 + 0x90);
    *(undefined4 *)(puVar15 + -0x34) = *(undefined4 *)(puVar15 + 0x10);
    *(undefined **)(puVar15 + -0x38) = &UNK_00201eaa;
    FUN_001fc0e0();
    *(undefined4 *)(puVar15 + 0x90) = *(undefined4 *)(puVar15 + 0x20);
    *(undefined4 *)(puVar15 + 0x94) = *(undefined4 *)(puVar15 + 0x24);
    *(undefined1 **)(puVar15 + -0xc) = puVar2;
    *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0xa0);
    *(undefined4 *)(puVar15 + -0x14) = 2;
    *(undefined4 *)(puVar15 + -0x18) = 0x3b;
    *(undefined4 *)(puVar15 + -0x1c) = 0;
    *(undefined1 **)(puVar15 + -0x20) = puVar3;
    *(undefined4 *)(puVar15 + -0x24) = *(undefined4 *)(puVar15 + 0x9c);
    *(undefined4 *)(puVar15 + -0x28) = *(undefined4 *)(puVar15 + 0x98);
    *(undefined4 *)(puVar15 + -0x2c) = *(undefined4 *)(puVar15 + 0x24);
    *(undefined4 *)(puVar15 + -0x30) = *(undefined4 *)(puVar15 + 0x20);
    *(undefined4 *)(puVar15 + -0x34) = *(undefined4 *)(puVar15 + 0x8c);
    puVar17 = puVar15 + -0x38;
    *(undefined4 *)(puVar15 + -0x38) = *(undefined4 *)(puVar15 + 0xc);
    *(undefined **)(puVar15 + -0x3c) = &UNK_00201ef2;
    FUN_001fc0e0();
    goto code_r0x00201b6c;
  case 0x61:
    iVar1 = *(int *)(*(int *)(puVar15 + 0x18) + 8);
    *(undefined4 *)(puVar15 + 0x40) = *(undefined4 *)(iVar1 + 0x48);
    *(undefined4 *)(puVar15 + 0x44) = *(undefined4 *)(iVar1 + 0x4c);
    *(undefined4 *)(puVar15 + 0x48) = *(undefined4 *)(iVar1 + 0x50);
    *(undefined4 *)(puVar15 + 0x4c) = *(undefined4 *)(iVar1 + 0x54);
    *(undefined4 *)(puVar15 + 0x50) = *(undefined4 *)(iVar1 + 0x58);
    *(undefined4 *)(puVar15 + 0x54) = *(undefined4 *)(iVar1 + 0x5c);
    uVar12 = *(undefined4 *)(iVar1 + 0x60);
code_r0x00201f34:
    *(undefined4 *)(puVar15 + 0x58) = uVar12;
    *(undefined1 **)(puVar15 + -8) = puVar15 + 0x38;
    *(undefined4 *)(puVar15 + -0xc) = *(undefined4 *)(puVar15 + 0xa8);
    *(undefined4 *)(puVar15 + -0x10) = 7;
    *(undefined1 **)(puVar15 + -0x14) = puVar15 + 0x40;
    *(undefined1 **)(puVar15 + -0x18) = puVar15 + 0x3c;
    *(undefined4 *)(puVar15 + -0x1c) = *(undefined4 *)(puVar15 + 0xa4);
    *(undefined4 *)(puVar15 + -0x20) = *(undefined4 *)(puVar15 + 0xa0);
    *(undefined4 *)(puVar15 + -0x24) = *(undefined4 *)(puVar15 + 0x9c);
    *(undefined4 *)(puVar15 + -0x28) = *(undefined4 *)(puVar15 + 0x98);
    *(undefined4 *)(puVar15 + -0x2c) = *(undefined4 *)(puVar15 + 0x94);
    *(undefined1 **)(puVar15 + -0x30) = puVar15 + 0x28;
    *(undefined **)(puVar15 + -0x34) = &UNK_00201f80;
    FUN_00201020();
    *(undefined4 *)(puVar15 + 0x94) = *(undefined4 *)(puVar15 + 0x24);
    *(undefined4 *)(puVar15 + 0x98) = *(undefined4 *)(puVar15 + 0x28);
    puVar16 = puVar15 + -4;
    if (*(int *)(puVar15 + 0x34) == 0) {
      *(undefined4 *)(*(int *)(puVar15 + 0xac) + 0x18) = *(undefined4 *)(puVar15 + 0x38);
      puVar16 = puVar15 + -4;
    }
    break;
  case 0x62:
  case 0x68:
    *(undefined1 **)(puVar15 + -0xc) = puVar15 + 0x40;
    *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0x18);
    *(undefined **)(puVar15 + -0x14) = &UNK_00202171;
    FUN_001fb0c0();
code_r0x00201fd1:
    *(undefined1 **)(puVar15 + -8) = puVar15 + 0x38;
    *(undefined4 *)(puVar15 + -0xc) = *(undefined4 *)(puVar15 + 0xa8);
    *(undefined4 *)(puVar15 + -0x10) = 0xc;
    *(undefined1 **)(puVar15 + -0x14) = puVar15 + 0x40;
    *(undefined1 **)(puVar15 + -0x18) = puVar15 + 0x3c;
    *(undefined4 *)(puVar15 + -0x1c) = *(undefined4 *)(puVar15 + 0xa4);
    *(undefined4 *)(puVar15 + -0x20) = *(undefined4 *)(puVar15 + 0xa0);
    *(undefined4 *)(puVar15 + -0x24) = *(undefined4 *)(puVar15 + 0x9c);
    *(undefined4 *)(puVar15 + -0x28) = *(undefined4 *)(puVar15 + 0x98);
    *(undefined4 *)(puVar15 + -0x2c) = *(undefined4 *)(puVar15 + 0x94);
    *(undefined1 **)(puVar15 + -0x30) = puVar15 + 0x28;
    *(undefined **)(puVar15 + -0x34) = &UNK_00202015;
    FUN_00201020();
    *(undefined4 *)(puVar15 + 0x94) = *(undefined4 *)(puVar15 + 0x24);
    *(undefined4 *)(puVar15 + 0x98) = *(undefined4 *)(puVar15 + 0x28);
    puVar16 = puVar15 + -4;
    if (*(int *)(puVar15 + 0x34) == 0) {
      *(undefined4 *)(*(int *)(puVar15 + 0xac) + 0x10) = *(undefined4 *)(puVar15 + 0x38);
      puVar16 = puVar15 + -4;
    }
    break;
  case 99:
    *(undefined4 *)(puVar15 + -0xc) = *(undefined4 *)(*(int *)(*(int *)(puVar15 + 0x18) + 8) + 0x18)
    ;
    goto code_r0x00201b30;
  case 100:
    *(undefined1 **)(puVar15 + -4) = puVar15 + 0x38;
    *(undefined4 *)(puVar15 + -8) = *(undefined4 *)(puVar15 + 0xa8);
    *(undefined4 *)(puVar15 + -0xc) = 2;
    *(undefined4 *)(puVar15 + -0x10) = 0x1f;
    *(undefined4 *)(puVar15 + -0x14) = 1;
    goto code_r0x002021b6;
  case 0x65:
    *(undefined **)(puVar15 + -4) = &UNK_00202230;
    uVar18 = FUN_001f91d0();
    if ((*(byte *)(piVar10[6] + 1 + (uVar18 & 0xff) * 2) & 0x20) == 0) {
      *(undefined1 **)(puVar15 + -4) = puVar15 + 0x38;
      *(undefined4 *)(puVar15 + -8) = *(undefined4 *)(puVar15 + 0xa8);
      *(undefined4 *)(puVar15 + -0xc) = 2;
      *(undefined4 *)(puVar15 + -0x10) = 0x1f;
      *(undefined4 *)(puVar15 + -0x14) = 10;
    }
    else {
      *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0x98);
      *(undefined **)(puVar15 + -0x14) = &UNK_00202250;
      FUN_001f24d0();
      *(undefined4 *)(puVar15 + 0x9c) = 0xffffffff;
      *(undefined1 **)(puVar15 + -4) = puVar15 + 0x38;
      *(undefined4 *)(puVar15 + -8) = *(undefined4 *)(puVar15 + 0xa8);
      *(undefined4 *)(puVar15 + -0xc) = 1;
      *(undefined4 *)(puVar15 + -0x10) = 9;
      *(undefined4 *)(puVar15 + -0x14) = 1;
    }
code_r0x002021b6:
    *(undefined1 **)(puVar15 + -0x18) = puVar15 + 0x3c;
    *(undefined4 *)(puVar15 + -0x1c) = *(undefined4 *)(puVar15 + 0xa4);
    *(undefined4 *)(puVar15 + -0x20) = *(undefined4 *)(puVar15 + 0xa0);
    *(undefined4 *)(puVar15 + -0x24) = *(undefined4 *)(puVar15 + 0x9c);
    *(undefined4 *)(puVar15 + -0x28) = *(undefined4 *)(puVar15 + 0x98);
    *(undefined4 *)(puVar15 + -0x2c) = *(undefined4 *)(puVar15 + 0x94);
    *(undefined1 **)(puVar15 + -0x30) = puVar15 + 0x28;
    *(undefined **)(puVar15 + -0x34) = &UNK_002021e4;
    FUN_001fc0e0();
    *(undefined4 *)(puVar15 + 0x94) = *(undefined4 *)(puVar15 + 0x24);
    *(undefined4 *)(puVar15 + 0x98) = *(undefined4 *)(puVar15 + 0x28);
    puVar16 = puVar15 + -4;
    if (*(int *)(puVar15 + 0x34) == 0) {
      *(undefined4 *)(*(int *)(puVar15 + 0xac) + 0xc) = *(undefined4 *)(puVar15 + 0x38);
      puVar16 = puVar15 + -4;
    }
    break;
  case 0x6d:
    *(undefined1 **)(puVar15 + -4) = puVar15 + 0x38;
    *(undefined4 *)(puVar15 + -8) = *(undefined4 *)(puVar15 + 0xa8);
    *(undefined4 *)(puVar15 + -0xc) = 2;
    *(undefined4 *)(puVar15 + -0x10) = 0xc;
    *(undefined4 *)(puVar15 + -0x14) = 1;
    *(undefined1 **)(puVar15 + -0x18) = puVar15 + 0x3c;
    *(undefined4 *)(puVar15 + -0x1c) = *(undefined4 *)(puVar15 + 0xa4);
    *(undefined4 *)(puVar15 + -0x20) = *(undefined4 *)(puVar15 + 0xa0);
    *(undefined4 *)(puVar15 + -0x24) = *(undefined4 *)(puVar15 + 0x9c);
    *(undefined4 *)(puVar15 + -0x28) = *(undefined4 *)(puVar15 + 0x98);
    *(undefined4 *)(puVar15 + -0x2c) = *(undefined4 *)(puVar15 + 0x94);
    *(undefined1 **)(puVar15 + -0x30) = puVar15 + 0x28;
    *(undefined **)(puVar15 + -0x34) = &UNK_002022c4;
    FUN_001fc0e0();
    *(undefined4 *)(puVar15 + 0x94) = *(undefined4 *)(puVar15 + 0x24);
    *(undefined4 *)(puVar15 + 0x98) = *(undefined4 *)(puVar15 + 0x28);
    puVar16 = puVar15 + -4;
    if (*(int *)(puVar15 + 0x34) == 0) {
      *(int *)(*(int *)(puVar15 + 0xac) + 0x10) = *(int *)(puVar15 + 0x38) + -1;
      puVar16 = puVar15 + -4;
    }
    break;
  case 0x6e:
    *(undefined **)(puVar15 + -4) = &UNK_00202310;
    bVar9 = FUN_001f91d0();
    bVar8 = *(byte *)((int)piVar10 + bVar9 + 0x11d);
    if (bVar8 == 0) {
      pcVar4 = *(code **)(*piVar10 + 0x20);
      bVar8 = bVar9;
      if (pcVar4 != (code *)PTR_FUN_0038ed98) {
        *(undefined4 *)(puVar15 + -8) = 0;
        *(int *)(puVar15 + -0xc) = (int)(char)bVar9;
        *(int **)(puVar15 + -0x10) = piVar10;
        *(undefined **)(puVar15 + -0x14) = &UNK_002023ab;
        bVar8 = (*pcVar4)();
      }
      if (bVar8 == 0) goto LAB_00201ab8;
      *(byte *)((int)piVar10 + bVar9 + 0x11d) = bVar8;
    }
    if (bVar8 != 10) goto LAB_00201ab8;
code_r0x00202346:
    *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0x98);
    *(undefined **)(puVar15 + -0x14) = &UNK_00202355;
    FUN_001f24d0();
    *(undefined4 *)(puVar15 + 0x9c) = 0xffffffff;
    break;
  case 0x74:
    *(undefined **)(puVar15 + -4) = &UNK_00201a70;
    bVar9 = FUN_001f91d0();
    bVar8 = *(byte *)((int)piVar10 + bVar9 + 0x11d);
    if (bVar8 == 0) {
      pcVar4 = *(code **)(*piVar10 + 0x20);
      bVar8 = bVar9;
      if (pcVar4 != *(code **)(puVar15 + 0x1c)) {
        *(undefined4 *)(puVar15 + -8) = 0;
        *(int *)(puVar15 + -0xc) = (int)(char)bVar9;
        *(int **)(puVar15 + -0x10) = piVar10;
        *(undefined **)(puVar15 + -0x14) = &UNK_00201a98;
        bVar8 = (*pcVar4)();
      }
      if (bVar8 == 0) goto LAB_00201ab8;
      *(byte *)((int)piVar10 + bVar9 + 0x11d) = bVar8;
    }
    if (bVar8 == 9) goto code_r0x00202346;
    goto LAB_00201ab8;
  case 0x78:
    *(undefined4 *)(puVar15 + -0xc) = *(undefined4 *)(*(int *)(*(int *)(puVar15 + 0x18) + 8) + 8);
code_r0x00201b30:
    *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0xb0);
    *(undefined1 **)(puVar15 + -0x14) = puVar15 + 0x38;
    *(undefined4 *)(puVar15 + -0x18) = *(undefined4 *)(puVar15 + 0xa8);
    *(undefined4 *)(puVar15 + -0x1c) = *(undefined4 *)(puVar15 + 0xa4);
    *(undefined4 *)(puVar15 + -0x20) = *(undefined4 *)(puVar15 + 0xa0);
    *(undefined4 *)(puVar15 + -0x24) = *(undefined4 *)(puVar15 + 0x9c);
    *(undefined4 *)(puVar15 + -0x28) = *(undefined4 *)(puVar15 + 0x98);
    *(undefined4 *)(puVar15 + -0x2c) = *(undefined4 *)(puVar15 + 0x94);
    puVar17 = puVar15 + -0x30;
    *(undefined1 **)(puVar15 + -0x30) = puVar15 + 0x28;
    *(undefined **)(puVar15 + -0x34) = &UNK_00201b6c;
    MASKED();
code_r0x00201b6c:
    *(undefined4 *)(puVar17 + 0xc4) = *(undefined4 *)(puVar17 + 0x54);
    *(undefined4 *)(puVar17 + 200) = *(undefined4 *)(puVar17 + 0x58);
    puVar16 = puVar17 + 0x2c;
  }
code_r0x00201ac0:
  uVar18 = *(int *)(puVar16 + 4) + 1;
  puVar15 = puVar16;
  goto LAB_0020189b;
LAB_00201ab8:
  *(uint *)(puVar15 + 0x38) = *(uint *)(puVar15 + 0x38) | 4;
  goto code_r0x00201ac0;
}

