
/* std::time_get<wchar_t, std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> >
   >::_M_extract_via_format(std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> >,
   std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> >, std::ios_base&,
   std::_Ios_Iostate&, tm*, wchar_t const*) const */

undefined1  [16]
std::time_get<wchar_t,std::istreambuf_iterator<wchar_t,std::char_traits<wchar_t>>>::
_M_extract_via_format
          (undefined8 param_1,undefined8 param_2,undefined8 param_3,long *param_4,undefined8 param_5
          ,long param_6,uint *param_7,int *param_8,wchar_t *param_9)

{
  wchar_t wVar1;
  long lVar2;
  undefined1 auVar3 [16];
  undefined1 auVar4 [12];
  bool bVar5;
  char cVar6;
  int iVar7;
  undefined4 uVar8;
  int iVar9;
  wchar_t wVar10;
  __timepunct *p_Var11;
  ctype *pcVar12;
  size_t sVar13;
  ulong uVar14;
  ulong uVar15;
  bool bVar16;
  bool bVar17;
  undefined1 auVar18 [12];
  long *local_c8;
  undefined8 local_c0;
  undefined1 local_b8 [12];
  undefined4 uStack_ac;
  uint local_a0;
  int local_9c;
  undefined8 local_98;
  undefined8 local_90;
  undefined8 local_88;
  undefined8 local_80;
  undefined8 local_78;
  undefined8 local_70;
  undefined8 local_68;
  undefined8 local_60;
  undefined8 local_58;
  undefined8 local_50;
  undefined8 local_48;
  undefined8 local_40;
  
  local_b8._8_4_ = (undefined4)param_3;
  uStack_ac = (undefined4)((ulong)param_3 >> 0x20);
  local_c8 = param_4;
  local_c0 = param_5;
  local_b8._0_8_ = param_2;
  p_Var11 = use_facet<std::__timepunct<wchar_t>>((locale *)(param_6 + 0xd0));
  pcVar12 = use_facet<std::ctype<wchar_t>>((locale *)(param_6 + 0xd0));
  sVar13 = wcslen(param_9);
  local_a0 = 0;
  uVar15 = 0;
LAB_00358033:
  bVar5 = (long *)local_b8._0_8_ != (long *)0x0 && local_b8._8_4_ == -1;
  bVar17 = local_b8._8_4_ == -1;
  if (bVar5) {
    if (*(int **)(local_b8._0_8_ + 0x10) < *(int **)(local_b8._0_8_ + 0x18)) {
      iVar9 = **(int **)(local_b8._0_8_ + 0x10);
    }
    else {
      iVar9 = (**(code **)(*(long *)local_b8._0_8_ + 0x48))();
    }
    bVar17 = false;
    if (iVar9 == -1) {
      auVar18._4_8_ = 0;
      auVar18._0_4_ = local_b8._8_4_;
      local_b8 = auVar18 << 0x40;
      bVar17 = bVar5;
    }
  }
  bVar16 = (int)local_c0 == -1;
  bVar5 = local_c8 != (long *)0x0 && bVar16;
  if (bVar5) {
    if ((int *)local_c8[2] < (int *)local_c8[3]) {
      iVar9 = *(int *)local_c8[2];
    }
    else {
      iVar9 = (**(code **)(*local_c8 + 0x48))();
    }
    bVar16 = false;
    if (iVar9 != -1) goto LAB_00358070;
    local_c8 = (long *)0x0;
    if (bVar17 != bVar5) goto LAB_00358080;
LAB_00358188:
    if ((uVar15 == sVar13) && (local_a0 == 0)) goto LAB_0035819e;
LAB_00358193:
    *param_7 = *param_7 | 4;
LAB_0035819e:
    auVar3._12_4_ = uStack_ac;
    auVar3._0_12_ = local_b8;
    return auVar3;
  }
LAB_00358070:
  if (bVar17 == bVar16) goto LAB_00358188;
LAB_00358080:
  if (sVar13 <= uVar15) goto LAB_00358188;
  if (local_a0 != 0) goto LAB_00358193;
  uVar14 = uVar15 + 1;
  cVar6 = (**(code **)(*(long *)pcVar12 + 0x60))(pcVar12,param_9[uVar15],0);
  if (cVar6 != '%') {
    wVar1 = param_9[uVar15];
    auVar4 = local_b8;
    uVar15 = uVar14;
    if ((local_b8._8_4_ == L'\xffffffff') && ((long *)local_b8._0_8_ != (long *)0x0)) {
      if (*(wchar_t **)(local_b8._0_8_ + 0x10) < *(wchar_t **)(local_b8._0_8_ + 0x18)) {
        wVar10 = **(wchar_t **)(local_b8._0_8_ + 0x10);
      }
      else {
        wVar10 = (**(code **)(*(long *)local_b8._0_8_ + 0x48))();
        auVar4 = local_b8;
      }
      local_b8._8_4_ = auVar4._8_4_;
      if (wVar10 == L'\xffffffff') {
        auVar4._4_8_ = 0;
        auVar4._0_4_ = local_b8._8_4_;
        auVar4 = auVar4 << 0x40;
        local_b8._8_4_ = L'\xffffffff';
        goto LAB_00358121;
      }
      local_b8 = auVar4;
      if (wVar1 == wVar10) goto LAB_00358290;
LAB_0035812a:
      local_a0 = local_a0 | 4;
    }
    else {
LAB_00358121:
      bVar17 = wVar1 != local_b8._8_4_;
      local_b8 = auVar4;
      if (bVar17) goto LAB_0035812a;
LAB_00358290:
      local_b8._0_8_ = auVar4._0_8_;
      if (*(ulong *)(local_b8._0_8_ + 0x10) < *(ulong *)(local_b8._0_8_ + 0x18)) {
        *(ulong *)(local_b8._0_8_ + 0x10) = *(ulong *)(local_b8._0_8_ + 0x10) + 4;
      }
      else {
        lVar2 = *(long *)local_b8._0_8_;
        local_b8 = auVar4;
        (**(code **)(lVar2 + 0x50))();
      }
      local_b8._8_4_ = 0xffffffff;
    }
    goto LAB_00358033;
  }
  cVar6 = (**(code **)(*(long *)pcVar12 + 0x60))(pcVar12,param_9[uVar15 + 1],0);
  local_9c = 0;
  if ((cVar6 == 'E') || (cVar6 == 'O')) {
    uVar14 = uVar15 + 2;
    cVar6 = (**(code **)(*(long *)pcVar12 + 0x60))(pcVar12,param_9[uVar15 + 2],0);
  }
  switch(cVar6) {
  case 'A':
    lVar2 = *(long *)(p_Var11 + 0x10);
    local_98 = *(undefined8 *)(lVar2 + 0x58);
    local_90 = *(undefined8 *)(lVar2 + 0x60);
    local_88 = *(undefined8 *)(lVar2 + 0x68);
    local_80 = *(undefined8 *)(lVar2 + 0x70);
    local_78 = *(undefined8 *)(lVar2 + 0x78);
    local_70 = *(undefined8 *)(lVar2 + 0x80);
    local_68 = *(undefined8 *)(lVar2 + 0x88);
    auVar18 = _M_extract_name(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,
                              local_c0,&local_9c,&local_98,7,param_6,&local_a0);
    goto joined_r0x003588cd;
  case 'B':
    lVar2 = *(long *)(p_Var11 + 0x10);
    local_98 = *(undefined8 *)(lVar2 + 200);
    local_90 = *(undefined8 *)(lVar2 + 0xd0);
    local_88 = *(undefined8 *)(lVar2 + 0xd8);
    local_80 = *(undefined8 *)(lVar2 + 0xe0);
    local_78 = *(undefined8 *)(lVar2 + 0xe8);
    local_70 = *(undefined8 *)(lVar2 + 0xf0);
    local_68 = *(undefined8 *)(lVar2 + 0xf8);
    local_60 = *(undefined8 *)(lVar2 + 0x100);
    local_58 = *(undefined8 *)(lVar2 + 0x108);
    local_50 = *(undefined8 *)(lVar2 + 0x110);
    local_48 = *(undefined8 *)(lVar2 + 0x118);
    local_40 = *(undefined8 *)(lVar2 + 0x120);
    auVar18 = _M_extract_name(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,
                              local_c0,&local_9c,&local_98,0xc,param_6,&local_a0);
    goto joined_r0x00358a12;
  case 'C':
  case 'Y':
  case 'y':
    auVar18 = _M_extract_num(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,
                             local_c0,&local_9c,0,9999,4,param_6,&local_a0);
    local_b8 = auVar18;
    if (local_a0 == 0) {
      iVar9 = local_9c + -0x76c;
      if (local_9c < 0) {
        iVar9 = local_9c + 100;
      }
      param_8[5] = iVar9;
    }
    break;
  case 'D':
    (**(code **)(*(long *)pcVar12 + 0x58))(pcVar12,"%m/%d/%y","%H:%M",&local_98);
    auVar18 = _M_extract_via_format
                        (param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,local_c0
                         ,param_6,&local_a0,param_8,&local_98);
    local_b8 = auVar18;
    break;
  default:
    goto switchD_003580fd_caseD_45;
  case 'H':
    auVar18 = _M_extract_num(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,
                             local_c0,&local_9c,0,0x17,2,param_6,&local_a0);
    goto joined_r0x003587d9;
  case 'I':
    auVar18 = _M_extract_num(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,
                             local_c0,&local_9c,1,0xc,2,param_6,&local_a0);
joined_r0x003587d9:
    local_b8 = auVar18;
    if (local_a0 == 0) {
      param_8[2] = local_9c;
    }
    break;
  case 'M':
    auVar18 = _M_extract_num(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,
                             local_c0,&local_9c,0,0x3b,2,param_6,&local_a0);
    local_b8 = auVar18;
    if (local_a0 == 0) {
      param_8[1] = local_9c;
    }
    break;
  case 'R':
    (**(code **)(*(long *)pcVar12 + 0x58))(pcVar12,"%H:%M","%H:%M:%S",&local_98);
    auVar18 = _M_extract_via_format
                        (param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,local_c0
                         ,param_6,&local_a0,param_8,&local_98);
    local_b8 = auVar18;
    break;
  case 'S':
    auVar18 = _M_extract_num(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,
                             local_c0,&local_9c,0,0x3c,2,param_6,&local_a0);
    local_b8 = auVar18;
    if (local_a0 == 0) {
      *param_8 = local_9c;
    }
    break;
  case 'T':
    (**(code **)(*(long *)pcVar12 + 0x58))(pcVar12,"%H:%M:%S",&DAT_003aba16,&local_98);
    auVar18 = _M_extract_via_format
                        (param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,local_c0
                         ,param_6,&local_a0,param_8,&local_98);
    local_b8 = auVar18;
    break;
  case 'X':
    auVar18 = _M_extract_via_format
                        (param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,local_c0
                         ,param_6,&local_a0,param_8,
                         *(undefined8 *)(*(long *)(p_Var11 + 0x10) + 0x20));
    local_b8 = auVar18;
    break;
  case 'Z':
    uVar8 = istreambuf_iterator<wchar_t,std::char_traits<wchar_t>>::_M_get();
    cVar6 = (**(code **)(*(long *)pcVar12 + 0x10))(pcVar12,0x100,uVar8);
    if (cVar6 == '\0') goto switchD_003580fd_caseD_45;
    auVar18 = _M_extract_name(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,
                              local_c0,&local_98,PTR__S_timezones_0045bff0,0xe,param_6,&local_a0);
    local_b8 = auVar18;
    cVar6 = istreambuf_iterator<wchar_t,std::char_traits<wchar_t>>::equal
                      ((istreambuf_iterator<wchar_t,std::char_traits<wchar_t>> *)local_b8,
                       (istreambuf_iterator *)&local_c8);
    if ((cVar6 == '\0') && (local_a0 == 0 && (int)local_98 == 0)) {
      iVar9 = istreambuf_iterator<wchar_t,std::char_traits<wchar_t>>::_M_get();
      iVar7 = (**(code **)(*(long *)pcVar12 + 0x50))(pcVar12,0x2d);
      if (iVar9 != iVar7) {
        iVar9 = istreambuf_iterator<wchar_t,std::char_traits<wchar_t>>::_M_get();
        iVar7 = (**(code **)(*(long *)pcVar12 + 0x50))(pcVar12,0x2b);
        if (iVar9 != iVar7) break;
      }
      auVar18 = _M_extract_num(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,
                               local_c0,&local_98,0,0x17,2,param_6,&local_a0);
      local_b8 = auVar18;
      auVar18 = _M_extract_num(param_1,auVar18._0_8_,CONCAT44(uStack_ac,auVar18._8_4_),local_c8,
                               local_c0,&local_98,0,0x3b,2,param_6,&local_a0);
      local_b8 = auVar18;
    }
    break;
  case 'a':
    lVar2 = *(long *)(p_Var11 + 0x10);
    local_98 = *(undefined8 *)(lVar2 + 0x90);
    local_90 = *(undefined8 *)(lVar2 + 0x98);
    local_88 = *(undefined8 *)(lVar2 + 0xa0);
    local_80 = *(undefined8 *)(lVar2 + 0xa8);
    local_78 = *(undefined8 *)(lVar2 + 0xb0);
    local_70 = *(undefined8 *)(lVar2 + 0xb8);
    local_68 = *(undefined8 *)(lVar2 + 0xc0);
    auVar18 = _M_extract_name(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,
                              local_c0,&local_9c,&local_98,7,param_6,&local_a0);
joined_r0x003588cd:
    local_b8 = auVar18;
    if (local_a0 == 0) {
      param_8[6] = local_9c;
    }
    break;
  case 'b':
  case 'h':
    lVar2 = *(long *)(p_Var11 + 0x10);
    local_98 = *(undefined8 *)(lVar2 + 0x128);
    local_90 = *(undefined8 *)(lVar2 + 0x130);
    local_88 = *(undefined8 *)(lVar2 + 0x138);
    local_80 = *(undefined8 *)(lVar2 + 0x140);
    local_78 = *(undefined8 *)(lVar2 + 0x148);
    local_70 = *(undefined8 *)(lVar2 + 0x150);
    local_68 = *(undefined8 *)(lVar2 + 0x158);
    local_60 = *(undefined8 *)(lVar2 + 0x160);
    local_58 = *(undefined8 *)(lVar2 + 0x168);
    local_50 = *(undefined8 *)(lVar2 + 0x170);
    local_48 = *(undefined8 *)(lVar2 + 0x178);
    local_40 = *(undefined8 *)(lVar2 + 0x180);
    auVar18 = _M_extract_name(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,
                              local_c0,&local_9c,&local_98,0xc,param_6,&local_a0);
joined_r0x00358a12:
    local_b8 = auVar18;
    if (local_a0 == 0) {
      param_8[4] = local_9c;
    }
    break;
  case 'c':
    auVar18 = _M_extract_via_format
                        (param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,local_c0
                         ,param_6,&local_a0,param_8,
                         *(undefined8 *)(*(long *)(p_Var11 + 0x10) + 0x30));
    local_b8 = auVar18;
    break;
  case 'd':
    auVar18 = _M_extract_num(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,
                             local_c0,&local_9c,1,0x1f,2,param_6,&local_a0);
    goto joined_r0x00358be9;
  case 'e':
    uVar8 = istreambuf_iterator<wchar_t,std::char_traits<wchar_t>>::_M_get();
    cVar6 = (**(code **)(*(long *)pcVar12 + 0x10))(pcVar12,0x2000,uVar8);
    if (cVar6 == '\0') {
      auVar18 = _M_extract_num(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,
                               local_c0,&local_9c,10,0x1f,2,param_6,&local_a0);
    }
    else {
      wstreambuf::sbumpc((wstreambuf *)local_b8._0_8_);
      local_b8._8_4_ = 0xffffffff;
      auVar18 = _M_extract_num(param_1,local_b8._0_8_,CONCAT44(uStack_ac,0xffffffff),local_c8,
                               local_c0,&local_9c,1,9,1,param_6,&local_a0);
    }
joined_r0x00358be9:
    local_b8 = auVar18;
    if (local_a0 == 0) {
      param_8[3] = local_9c;
    }
    break;
  case 'm':
    auVar18 = _M_extract_num(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,
                             local_c0,&local_9c,1,0xc,2,param_6,&local_a0);
    local_b8 = auVar18;
    if (local_a0 == 0) {
      param_8[4] = local_9c + -1;
    }
    break;
  case 'n':
    uVar8 = istreambuf_iterator<wchar_t,std::char_traits<wchar_t>>::_M_get();
    cVar6 = (**(code **)(*(long *)pcVar12 + 0x60))(pcVar12,uVar8,0);
    if (cVar6 != '\n') goto switchD_003580fd_caseD_45;
LAB_003590ce:
    wstreambuf::sbumpc((wstreambuf *)local_b8._0_8_);
    local_b8._8_4_ = 0xffffffff;
    break;
  case 't':
    uVar8 = istreambuf_iterator<wchar_t,std::char_traits<wchar_t>>::_M_get();
    cVar6 = (**(code **)(*(long *)pcVar12 + 0x60))(pcVar12,uVar8,0);
    if (cVar6 == '\t') goto LAB_003590ce;
    goto switchD_003580fd_caseD_45;
  case 'x':
    auVar18 = _M_extract_via_format
                        (param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,local_c0
                         ,param_6,&local_a0,param_8,
                         *(undefined8 *)(*(long *)(p_Var11 + 0x10) + 0x10));
    local_b8 = auVar18;
  }
LAB_00358248:
  uVar15 = uVar14 + 1;
  goto LAB_00358033;
switchD_003580fd_caseD_45:
  local_a0 = local_a0 | 4;
  goto LAB_00358248;
}



undefined1  [16]
FUN_00357f80(undefined8 param_1,undefined8 param_2,undefined8 param_3,long *param_4,
            undefined8 param_5,long param_6,uint *param_7,int *param_8,wchar_t *param_9)

{
  wchar_t wVar1;
  long lVar2;
  undefined1 auVar3 [16];
  undefined1 auVar4 [12];
  bool bVar5;
  char cVar6;
  int iVar7;
  undefined4 uVar8;
  int iVar9;
  wchar_t wVar10;
  long lVar11;
  long *plVar12;
  size_t sVar13;
  ulong uVar14;
  ulong uVar15;
  bool bVar16;
  bool bVar17;
  undefined1 auVar18 [12];
  long *local_c8;
  undefined8 local_c0;
  undefined1 local_b8 [12];
  undefined4 uStack_ac;
  uint local_a0;
  int local_9c;
  undefined8 local_98;
  undefined8 local_90;
  undefined8 local_88;
  undefined8 local_80;
  undefined8 local_78;
  undefined8 local_70;
  undefined8 local_68;
  undefined8 local_60;
  undefined8 local_58;
  undefined8 local_50;
  undefined8 local_48;
  undefined8 local_40;
  
  local_b8._8_4_ = (undefined4)param_3;
  uStack_ac = (undefined4)((ulong)param_3 >> 0x20);
  local_c8 = param_4;
  local_c0 = param_5;
  local_b8._0_8_ = param_2;
  lVar11 = FUN_0033ff70(param_6 + 0xd0);
  plVar12 = (long *)FUN_0033e820(param_6 + 0xd0);
  sVar13 = wcslen(param_9);
  local_a0 = 0;
  uVar15 = 0;
LAB_00358033:
  bVar5 = (long *)local_b8._0_8_ != (long *)0x0 && local_b8._8_4_ == -1;
  bVar17 = local_b8._8_4_ == -1;
  if (bVar5) {
    if (*(int **)(local_b8._0_8_ + 0x10) < *(int **)(local_b8._0_8_ + 0x18)) {
      iVar9 = **(int **)(local_b8._0_8_ + 0x10);
    }
    else {
      iVar9 = (**(code **)(*(long *)local_b8._0_8_ + 0x48))();
    }
    bVar17 = false;
    if (iVar9 == -1) {
      auVar18._4_8_ = 0;
      auVar18._0_4_ = local_b8._8_4_;
      local_b8 = auVar18 << 0x40;
      bVar17 = bVar5;
    }
  }
  bVar16 = (int)local_c0 == -1;
  bVar5 = local_c8 != (long *)0x0 && bVar16;
  if (bVar5) {
    if ((int *)local_c8[2] < (int *)local_c8[3]) {
      iVar9 = *(int *)local_c8[2];
    }
    else {
      iVar9 = (**(code **)(*local_c8 + 0x48))();
    }
    bVar16 = false;
    if (iVar9 != -1) goto LAB_00358070;
    local_c8 = (long *)0x0;
    if (bVar17 != bVar5) goto LAB_00358080;
LAB_00358188:
    if ((uVar15 == sVar13) && (local_a0 == 0)) goto LAB_0035819e;
LAB_00358193:
    *param_7 = *param_7 | 4;
LAB_0035819e:
    auVar3._12_4_ = uStack_ac;
    auVar3._0_12_ = local_b8;
    return auVar3;
  }
LAB_00358070:
  if (bVar17 == bVar16) goto LAB_00358188;
LAB_00358080:
  if (sVar13 <= uVar15) goto LAB_00358188;
  if (local_a0 != 0) goto LAB_00358193;
  uVar14 = uVar15 + 1;
  cVar6 = (**(code **)(*plVar12 + 0x60))(plVar12,param_9[uVar15],0);
  if (cVar6 != '%') {
    wVar1 = param_9[uVar15];
    auVar4 = local_b8;
    uVar15 = uVar14;
    if ((local_b8._8_4_ == L'\xffffffff') && ((long *)local_b8._0_8_ != (long *)0x0)) {
      if (*(wchar_t **)(local_b8._0_8_ + 0x10) < *(wchar_t **)(local_b8._0_8_ + 0x18)) {
        wVar10 = **(wchar_t **)(local_b8._0_8_ + 0x10);
      }
      else {
        wVar10 = (**(code **)(*(long *)local_b8._0_8_ + 0x48))();
        auVar4 = local_b8;
      }
      local_b8._8_4_ = auVar4._8_4_;
      if (wVar10 == L'\xffffffff') {
        auVar4._4_8_ = 0;
        auVar4._0_4_ = local_b8._8_4_;
        auVar4 = auVar4 << 0x40;
        local_b8._8_4_ = L'\xffffffff';
        goto LAB_00358121;
      }
      local_b8 = auVar4;
      if (wVar1 == wVar10) goto LAB_00358290;
LAB_0035812a:
      local_a0 = local_a0 | 4;
    }
    else {
LAB_00358121:
      bVar17 = wVar1 != local_b8._8_4_;
      local_b8 = auVar4;
      if (bVar17) goto LAB_0035812a;
LAB_00358290:
      local_b8._0_8_ = auVar4._0_8_;
      if (*(ulong *)(local_b8._0_8_ + 0x10) < *(ulong *)(local_b8._0_8_ + 0x18)) {
        *(ulong *)(local_b8._0_8_ + 0x10) = *(ulong *)(local_b8._0_8_ + 0x10) + 4;
      }
      else {
        lVar2 = *(long *)local_b8._0_8_;
        local_b8 = auVar4;
        (**(code **)(lVar2 + 0x50))();
      }
      local_b8._8_4_ = 0xffffffff;
    }
    goto LAB_00358033;
  }
  cVar6 = (**(code **)(*plVar12 + 0x60))(plVar12,param_9[uVar15 + 1],0);
  local_9c = 0;
  if ((cVar6 == 'E') || (cVar6 == 'O')) {
    uVar14 = uVar15 + 2;
    cVar6 = (**(code **)(*plVar12 + 0x60))(plVar12,param_9[uVar15 + 2],0);
  }
  switch(cVar6) {
  case 'A':
    lVar2 = *(long *)(lVar11 + 0x10);
    local_98 = *(undefined8 *)(lVar2 + 0x58);
    local_90 = *(undefined8 *)(lVar2 + 0x60);
    local_88 = *(undefined8 *)(lVar2 + 0x68);
    local_80 = *(undefined8 *)(lVar2 + 0x70);
    local_78 = *(undefined8 *)(lVar2 + 0x78);
    local_70 = *(undefined8 *)(lVar2 + 0x80);
    local_68 = *(undefined8 *)(lVar2 + 0x88);
    auVar18 = FUN_00356440(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,
                           local_c0,&local_9c,&local_98,7,param_6,&local_a0);
    goto joined_r0x003588cd;
  case 'B':
    lVar2 = *(long *)(lVar11 + 0x10);
    local_98 = *(undefined8 *)(lVar2 + 200);
    local_90 = *(undefined8 *)(lVar2 + 0xd0);
    local_88 = *(undefined8 *)(lVar2 + 0xd8);
    local_80 = *(undefined8 *)(lVar2 + 0xe0);
    local_78 = *(undefined8 *)(lVar2 + 0xe8);
    local_70 = *(undefined8 *)(lVar2 + 0xf0);
    local_68 = *(undefined8 *)(lVar2 + 0xf8);
    local_60 = *(undefined8 *)(lVar2 + 0x100);
    local_58 = *(undefined8 *)(lVar2 + 0x108);
    local_50 = *(undefined8 *)(lVar2 + 0x110);
    local_48 = *(undefined8 *)(lVar2 + 0x118);
    local_40 = *(undefined8 *)(lVar2 + 0x120);
    auVar18 = FUN_00356440(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,
                           local_c0,&local_9c,&local_98,0xc,param_6,&local_a0);
    goto joined_r0x00358a12;
  case 'C':
  case 'Y':
  case 'y':
    auVar18 = FUN_00355fc0(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,
                           local_c0,&local_9c,0,9999,4,param_6,&local_a0);
    local_b8 = auVar18;
    if (local_a0 == 0) {
      iVar9 = local_9c + -0x76c;
      if (local_9c < 0) {
        iVar9 = local_9c + 100;
      }
      param_8[5] = iVar9;
    }
    break;
  case 'D':
    (**(code **)(*plVar12 + 0x58))(plVar12,"%m/%d/%y","%H:%M",&local_98);
    auVar18 = FUN_00357f80(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,
                           local_c0,param_6,&local_a0,param_8,&local_98);
    local_b8 = auVar18;
    break;
  default:
    goto switchD_003580fd_caseD_45;
  case 'H':
    auVar18 = FUN_00355fc0(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,
                           local_c0,&local_9c,0,0x17,2,param_6,&local_a0);
    goto joined_r0x003587d9;
  case 'I':
    auVar18 = FUN_00355fc0(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,
                           local_c0,&local_9c,1,0xc,2,param_6,&local_a0);
joined_r0x003587d9:
    local_b8 = auVar18;
    if (local_a0 == 0) {
      param_8[2] = local_9c;
    }
    break;
  case 'M':
    auVar18 = FUN_00355fc0(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,
                           local_c0,&local_9c,0,0x3b,2,param_6,&local_a0);
    local_b8 = auVar18;
    if (local_a0 == 0) {
      param_8[1] = local_9c;
    }
    break;
  case 'R':
    (**(code **)(*plVar12 + 0x58))(plVar12,"%H:%M","%H:%M:%S",&local_98);
    auVar18 = FUN_00357f80(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,
                           local_c0,param_6,&local_a0,param_8,&local_98);
    local_b8 = auVar18;
    break;
  case 'S':
    auVar18 = FUN_00355fc0(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,
                           local_c0,&local_9c,0,0x3c,2,param_6,&local_a0);
    local_b8 = auVar18;
    if (local_a0 == 0) {
      *param_8 = local_9c;
    }
    break;
  case 'T':
    (**(code **)(*plVar12 + 0x58))(plVar12,"%H:%M:%S",&DAT_003aba16,&local_98);
    auVar18 = FUN_00357f80(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,
                           local_c0,param_6,&local_a0,param_8,&local_98);
    local_b8 = auVar18;
    break;
  case 'X':
    auVar18 = FUN_00357f80(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,
                           local_c0,param_6,&local_a0,param_8,
                           *(undefined8 *)(*(long *)(lVar11 + 0x10) + 0x20));
    local_b8 = auVar18;
    break;
  case 'Z':
    uVar8 = FUN_0034def0(local_b8,local_b8._8_4_);
    cVar6 = (**(code **)(*plVar12 + 0x10))(plVar12,0x100,uVar8);
    if (cVar6 == '\0') goto switchD_003580fd_caseD_45;
    auVar18 = FUN_00356440(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,
                           local_c0,&local_98,PTR_PTR_DAT_0045bff0,0xe,param_6,&local_a0);
    local_b8 = auVar18;
    cVar6 = FUN_00343350(local_b8,&local_c8);
    if ((cVar6 == '\0') && (local_a0 == 0 && (int)local_98 == 0)) {
      iVar9 = FUN_0034def0(local_b8);
      iVar7 = (**(code **)(*plVar12 + 0x50))(plVar12,0x2d);
      if (iVar9 != iVar7) {
        iVar9 = FUN_0034def0(local_b8,local_b8._8_4_);
        iVar7 = (**(code **)(*plVar12 + 0x50))(plVar12,0x2b);
        if (iVar9 != iVar7) break;
      }
      auVar18 = FUN_00355fc0(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,
                             local_c0,&local_98,0,0x17,2,param_6,&local_a0);
      local_b8 = auVar18;
      auVar18 = FUN_00355fc0(param_1,auVar18._0_8_,CONCAT44(uStack_ac,auVar18._8_4_),local_c8,
                             local_c0,&local_98,0,0x3b,2,param_6,&local_a0);
      local_b8 = auVar18;
    }
    break;
  case 'a':
    lVar2 = *(long *)(lVar11 + 0x10);
    local_98 = *(undefined8 *)(lVar2 + 0x90);
    local_90 = *(undefined8 *)(lVar2 + 0x98);
    local_88 = *(undefined8 *)(lVar2 + 0xa0);
    local_80 = *(undefined8 *)(lVar2 + 0xa8);
    local_78 = *(undefined8 *)(lVar2 + 0xb0);
    local_70 = *(undefined8 *)(lVar2 + 0xb8);
    local_68 = *(undefined8 *)(lVar2 + 0xc0);
    auVar18 = FUN_00356440(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,
                           local_c0,&local_9c,&local_98,7,param_6,&local_a0);
joined_r0x003588cd:
    local_b8 = auVar18;
    if (local_a0 == 0) {
      param_8[6] = local_9c;
    }
    break;
  case 'b':
  case 'h':
    lVar2 = *(long *)(lVar11 + 0x10);
    local_98 = *(undefined8 *)(lVar2 + 0x128);
    local_90 = *(undefined8 *)(lVar2 + 0x130);
    local_88 = *(undefined8 *)(lVar2 + 0x138);
    local_80 = *(undefined8 *)(lVar2 + 0x140);
    local_78 = *(undefined8 *)(lVar2 + 0x148);
    local_70 = *(undefined8 *)(lVar2 + 0x150);
    local_68 = *(undefined8 *)(lVar2 + 0x158);
    local_60 = *(undefined8 *)(lVar2 + 0x160);
    local_58 = *(undefined8 *)(lVar2 + 0x168);
    local_50 = *(undefined8 *)(lVar2 + 0x170);
    local_48 = *(undefined8 *)(lVar2 + 0x178);
    local_40 = *(undefined8 *)(lVar2 + 0x180);
    auVar18 = FUN_00356440(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,
                           local_c0,&local_9c,&local_98,0xc,param_6,&local_a0);
joined_r0x00358a12:
    local_b8 = auVar18;
    if (local_a0 == 0) {
      param_8[4] = local_9c;
    }
    break;
  case 'c':
    auVar18 = FUN_00357f80(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,
                           local_c0,param_6,&local_a0,param_8,
                           *(undefined8 *)(*(long *)(lVar11 + 0x10) + 0x30));
    local_b8 = auVar18;
    break;
  case 'd':
    auVar18 = FUN_00355fc0(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,
                           local_c0,&local_9c,1,0x1f,2,param_6,&local_a0);
    goto joined_r0x00358be9;
  case 'e':
    uVar8 = FUN_0034def0(local_b8,local_b8._8_4_);
    cVar6 = (**(code **)(*plVar12 + 0x10))(plVar12,0x2000,uVar8);
    if (cVar6 == '\0') {
      auVar18 = FUN_00355fc0(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,
                             local_c0,&local_9c,10,0x1f,2,param_6,&local_a0);
    }
    else {
      FUN_002fc080(local_b8._0_8_);
      local_b8._8_4_ = 0xffffffff;
      auVar18 = FUN_00355fc0(param_1,local_b8._0_8_,CONCAT44(uStack_ac,0xffffffff),local_c8,local_c0
                             ,&local_9c,1,9,1,param_6,&local_a0);
    }
joined_r0x00358be9:
    local_b8 = auVar18;
    if (local_a0 == 0) {
      param_8[3] = local_9c;
    }
    break;
  case 'm':
    auVar18 = FUN_00355fc0(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,
                           local_c0,&local_9c,1,0xc,2,param_6,&local_a0);
    local_b8 = auVar18;
    if (local_a0 == 0) {
      param_8[4] = local_9c + -1;
    }
    break;
  case 'n':
    uVar8 = FUN_0034def0(local_b8,local_b8._8_4_);
    cVar6 = (**(code **)(*plVar12 + 0x60))(plVar12,uVar8,0);
    if (cVar6 != '\n') goto switchD_003580fd_caseD_45;
LAB_003590ce:
    FUN_002fc080(local_b8._0_8_);
    local_b8._8_4_ = 0xffffffff;
    break;
  case 't':
    uVar8 = FUN_0034def0(local_b8,local_b8._8_4_);
    cVar6 = (**(code **)(*plVar12 + 0x60))(plVar12,uVar8,0);
    if (cVar6 == '\t') goto LAB_003590ce;
    goto switchD_003580fd_caseD_45;
  case 'x':
    auVar18 = FUN_00357f80(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,
                           local_c0,param_6,&local_a0,param_8,
                           *(undefined8 *)(*(long *)(lVar11 + 0x10) + 0x10));
    local_b8 = auVar18;
  }
LAB_00358248:
  uVar15 = uVar14 + 1;
  goto LAB_00358033;
switchD_003580fd_caseD_45:
  local_a0 = local_a0 | 4;
  goto LAB_00358248;
}


PUSH R15
XOR R15D,R15D
PUSH R14
PUSH R13
PUSH R12
PUSH RBP
LEA RBP,[R9 + 0xd0]
PUSH RBX
SUB RSP,0x238
MOV qword ptr [RSP + 0x18],RDI
MOV RBX,qword ptr [RSP + 0x280]
MOV RDI,RBP
MOV qword ptr [RSP + 0x1b0],RSI
MOV qword ptr [RSP + 0x1b8],RDX
MOV qword ptr [RSP + 0x1a0],RCX
MOV qword ptr [RSP + 0x1a8],R8
MOV qword ptr [RSP + 0x20],R9
CALL 0x0033ff70
MOV RDI,RBP
MOV qword ptr [RSP + 0x30],RAX
CALL 0x0033e820
MOV RDI,RBX
MOV R14,RAX
CALL 0x00149150
MOV ESI,dword ptr [RSP + 0x1b8]
MOV dword ptr [RSP + 0x1c8],0x0
MOV qword ptr [RSP + 0x8],RAX
LEA RAX,[RSP + 0x1b0]
MOV RDI,qword ptr [RSP + 0x1b0]
MOV qword ptr [RSP + 0x38],RAX
LEA RAX,[RSP + 0x1d0]
MOV qword ptr [RSP + 0x28],RAX
LEA RAX,[RSP + 0x1c8]
MOV qword ptr [RSP + 0x10],RAX
CMP ESI,-0x1
SETZ BPL
TEST RDI,RDI
SETNZ AL
AND AL,BPL
MOV R12D,EAX
JNZ 0x003581c0
MOV RDI,qword ptr [RSP + 0x1a0]
CMP dword ptr [RSP + 0x1a8],-0x1
SETZ DL
TEST RDI,RDI
SETNZ AL
AND AL,DL
MOV R12D,EAX
JNZ 0x00358148
MOV EAX,dword ptr [RSP + 0x1c8]
CMP BPL,DL
JZ 0x00358188
CMP R15,qword ptr [RSP + 0x8]
JNC 0x00358188
TEST EAX,EAX
JNZ 0x00358193
LEA R12,[R15*0x4]
MOV RAX,qword ptr [R14]
XOR EDX,EDX
MOV RDI,R14
LEA R13,[RBX + R12*0x1]
LEA RBP,[R15 + 0x1]
MOV ESI,dword ptr [R13]
CALL qword ptr [RAX + 0x60]
CMP AL,0x25
JNZ 0x00358100
MOV RAX,qword ptr [R14]
MOV ESI,dword ptr [RBX + R12*0x1 + 0x4]
XOR EDX,EDX
MOV RDI,R14
CALL qword ptr [RAX + 0x60]
MOV dword ptr [RSP + 0x1cc],0x0
CMP AL,0x45
JZ 0x003581f0
CMP AL,0x4f
JZ 0x003581f0
SUB EAX,0x41
CMP AL,0x38
JA 0x00358236
LEA RCX,[0x3aeeb0]
MOVZX EAX,AL
MOVSXD RAX,dword ptr [RCX + RAX*0x4]
ADD RAX,RCX
JMP RAX
MOV EAX,dword ptr [RSP + 0x1b8]
MOV R12D,dword ptr [R13]
MOV RDI,qword ptr [RSP + 0x1b0]
CMP EAX,-0x1
JNZ 0x00358121
TEST RDI,RDI
JNZ 0x00358260
CMP R12D,EAX
JZ 0x00358290
OR dword ptr [RSP + 0x1c8],0x4
MOV ESI,dword ptr [RSP + 0x1b8]
MOV R15,RBP
JMP 0x00358033
MOV RAX,qword ptr [RDI + 0x10]
CMP RAX,qword ptr [RDI + 0x18]
JNC 0x00359190
MOV EAX,dword ptr [RAX]
XOR EDX,EDX
CMP EAX,-0x1
JNZ 0x00358070
MOV EDX,R12D
MOV EAX,dword ptr [RSP + 0x1c8]
MOV qword ptr [RSP + 0x1a0],0x0
CMP BPL,DL
JNZ 0x00358080
NOP word ptr [RAX + RAX*0x1]
CMP R15,qword ptr [RSP + 0x8]
JNZ 0x00358193
TEST EAX,EAX
JZ 0x0035819e
MOV RAX,qword ptr [RSP + 0x270]
OR dword ptr [RAX],0x4
MOV RAX,qword ptr [RSP + 0x1b0]
MOV RDX,qword ptr [RSP + 0x1b8]
ADD RSP,0x238
POP RBX
POP RBP
POP R12
POP R13
POP R14
POP R15
RET
MOV RAX,qword ptr [RDI + 0x10]
CMP RAX,qword ptr [RDI + 0x18]
JNC 0x003591a0
MOV EAX,dword ptr [RAX]
XOR EBP,EBP
CMP EAX,-0x1
JNZ 0x0035804c
MOV qword ptr [RSP + 0x1b0],0x0
MOV EBP,R12D
JMP 0x0035804c
MOV RAX,qword ptr [R14]
LEA RBP,[R15 + 0x2]
MOV ESI,dword ptr [RBX + R12*0x1 + 0x8]
XOR EDX,EDX
MOV RDI,R14
CALL qword ptr [RAX + 0x60]
JMP 0x003580e1
MOV ESI,dword ptr [RSP + 0x1b8]
MOV RDI,qword ptr [RSP + 0x38]
CALL 0x0034def0
MOV RCX,qword ptr [R14]
XOR EDX,EDX
MOV RDI,R14
MOV ESI,EAX
CALL qword ptr [RCX + 0x60]
CMP AL,0xa
JZ 0x003590ce
OR dword ptr [RSP + 0x1c8],0x4
MOV ESI,dword ptr [RSP + 0x1b8]
NOP dword ptr [RAX]
LEA R15,[RBP + 0x1]
MOV RDI,qword ptr [RSP + 0x1b0]
JMP 0x00358033
MOV RAX,qword ptr [RDI + 0x10]
CMP RAX,qword ptr [RDI + 0x18]
JNC 0x0035924e
MOV EAX,dword ptr [RAX]
MOV EDX,EAX
CMP EDX,-0x1
JZ 0x003591b0
MOV RDI,qword ptr [RSP + 0x1b0]
CMP R12D,EAX
JNZ 0x0035812a
NOP dword ptr [RAX]
MOV RAX,qword ptr [RDI + 0x10]
CMP RAX,qword ptr [RDI + 0x18]
JNC 0x0035925b
ADD RAX,0x4
MOV qword ptr [RDI + 0x10],RAX
MOV dword ptr [RSP + 0x1b8],0xffffffff
MOV R15,RBP
MOV ESI,0xffffffff
JMP 0x00358033
SUB RSP,0x8
MOV RAX,qword ptr [RSP + 0x38]
MOV RAX,qword ptr [RAX + 0x10]
PUSH qword ptr [RAX + 0x10]
PUSH qword ptr [RSP + 0x288]
PUSH qword ptr [RSP + 0x28]
MOV RSI,qword ptr [RSP + 0x1d0]
MOV R9,qword ptr [RSP + 0x40]
MOV RCX,qword ptr [RSP + 0x1c0]
MOV R8,qword ptr [RSP + 0x1c8]
MOV RDX,qword ptr [RSP + 0x1d8]
MOV RDI,qword ptr [RSP + 0x38]
CALL 0x00357f80
MOV qword ptr [RSP + 0xb8],RDX
MOV ESI,dword ptr [RSP + 0xb8]
MOV qword ptr [RSP + 0xb0],RAX
MOV qword ptr [RSP + 0x1d0],RAX
MOV dword ptr [RSP + 0x1d8],ESI
ADD RSP,0x20
JMP 0x00358248
MOV RAX,qword ptr [RSP + 0x30]
MOV RAX,qword ptr [RAX + 0x10]
MOV RDX,qword ptr [RAX + 0x58]
MOV qword ptr [RSP + 0x1d0],RDX
MOV RDX,qword ptr [RAX + 0x60]
MOV qword ptr [RSP + 0x1d8],RDX
MOV RDX,qword ptr [RAX + 0x68]
MOV qword ptr [RSP + 0x1e0],RDX
MOV RDX,qword ptr [RAX + 0x70]
MOV qword ptr [RSP + 0x1e8],RDX
MOV RDX,qword ptr [RAX + 0x78]
MOV qword ptr [RSP + 0x1f0],RDX
MOV RDX,qword ptr [RAX + 0x80]
MOV qword ptr [RSP + 0x1f8],RDX
MOV RAX,qword ptr [RAX + 0x88]
MOV qword ptr [RSP + 0x200],RAX
PUSH qword ptr [RSP + 0x10]
PUSH qword ptr [RSP + 0x28]
PUSH 0x7
PUSH qword ptr [RSP + 0x40]
MOV RSI,qword ptr [RSP + 0x1d0]
MOV RCX,qword ptr [RSP + 0x1c0]
MOV R8,qword ptr [RSP + 0x1c8]
MOV RDX,qword ptr [RSP + 0x1d8]
MOV RDI,qword ptr [RSP + 0x38]
LEA R9,[RSP + 0x1ec]
CALL 0x00356440
MOV qword ptr [RSP + 0x1a8],RDX
MOV ESI,dword ptr [RSP + 0x1a8]
MOV qword ptr [RSP + 0x1a0],RAX
MOV qword ptr [RSP + 0x1d0],RAX
MOV dword ptr [RSP + 0x1d8],ESI
ADD RSP,0x20
MOV R15D,dword ptr [RSP + 0x1c8]
TEST R15D,R15D
JNZ 0x00358248
MOV EAX,dword ptr [RSP + 0x1cc]
MOV RCX,qword ptr [RSP + 0x278]
MOV dword ptr [RCX + 0x18],EAX
JMP 0x00358248
MOV RAX,qword ptr [RSP + 0x30]
MOV RAX,qword ptr [RAX + 0x10]
MOV RDX,qword ptr [RAX + 0xc8]
MOV qword ptr [RSP + 0x1d0],RDX
MOV RDX,qword ptr [RAX + 0xd0]
MOV qword ptr [RSP + 0x1d8],RDX
MOV RDX,qword ptr [RAX + 0xd8]
MOV qword ptr [RSP + 0x1e0],RDX
MOV RDX,qword ptr [RAX + 0xe0]
MOV qword ptr [RSP + 0x1e8],RDX
MOV RDX,qword ptr [RAX + 0xe8]
MOV qword ptr [RSP + 0x1f0],RDX
MOV RDX,qword ptr [RAX + 0xf0]
MOV qword ptr [RSP + 0x1f8],RDX
MOV RDX,qword ptr [RAX + 0xf8]
MOV qword ptr [RSP + 0x200],RDX
MOV RDX,qword ptr [RAX + 0x100]
MOV qword ptr [RSP + 0x208],RDX
MOV RDX,qword ptr [RAX + 0x108]
MOV qword ptr [RSP + 0x210],RDX
MOV RDX,qword ptr [RAX + 0x110]
MOV qword ptr [RSP + 0x218],RDX
MOV RDX,qword ptr [RAX + 0x118]
MOV qword ptr [RSP + 0x220],RDX
MOV RAX,qword ptr [RAX + 0x120]
MOV qword ptr [RSP + 0x228],RAX
PUSH qword ptr [RSP + 0x10]
PUSH qword ptr [RSP + 0x28]
PUSH 0xc
PUSH qword ptr [RSP + 0x40]
MOV RSI,qword ptr [RSP + 0x1d0]
MOV RCX,qword ptr [RSP + 0x1c0]
MOV R8,qword ptr [RSP + 0x1c8]
MOV RDX,qword ptr [RSP + 0x1d8]
MOV RDI,qword ptr [RSP + 0x38]
LEA R9,[RSP + 0x1ec]
CALL 0x00356440
MOV qword ptr [RSP + 0x188],RDX
MOV ESI,dword ptr [RSP + 0x188]
MOV qword ptr [RSP + 0x180],RAX
MOV qword ptr [RSP + 0x1d0],RAX
MOV dword ptr [RSP + 0x1d8],ESI
ADD RSP,0x20
MOV R12D,dword ptr [RSP + 0x1c8]
TEST R12D,R12D
JNZ 0x00358248
MOV EAX,dword ptr [RSP + 0x1cc]
MOV RCX,qword ptr [RSP + 0x278]
MOV dword ptr [RCX + 0x10],EAX
JMP 0x00358248
SUB RSP,0x8
PUSH qword ptr [RSP + 0x18]
PUSH qword ptr [RSP + 0x30]
PUSH 0x4
PUSH 0x270f
PUSH 0x0
MOV RSI,qword ptr [RSP + 0x1e0]
MOV RCX,qword ptr [RSP + 0x1d0]
MOV R8,qword ptr [RSP + 0x1d8]
MOV RDX,qword ptr [RSP + 0x1e8]
MOV RDI,qword ptr [RSP + 0x48]
LEA R9,[RSP + 0x1fc]
CALL 0x00355fc0
MOV qword ptr [RSP + 0xa8],RDX
MOV ESI,dword ptr [RSP + 0xa8]
MOV qword ptr [RSP + 0xa0],RAX
MOV qword ptr [RSP + 0x1e0],RAX
MOV dword ptr [RSP + 0x1e8],ESI
ADD RSP,0x30
MOV EAX,dword ptr [RSP + 0x1c8]
TEST EAX,EAX
JNZ 0x00358248
MOV EDX,dword ptr [RSP + 0x1cc]
LEA ECX,[RDX + 0x64]
LEA EAX,[RDX + -0x76c]
TEST EDX,EDX
CMOVS EAX,ECX
MOV RCX,qword ptr [RSP + 0x278]
MOV dword ptr [RCX + 0x14],EAX
JMP 0x00358248
MOV R15,qword ptr [RSP + 0x28]
MOV RAX,qword ptr [R14]
LEA RDX,[0x3aba07]
MOV RDI,R14
LEA RSI,[RDX + -0x9]
MOV RCX,R15
CALL qword ptr [RAX + 0x58]
SUB RSP,0x8
PUSH R15
PUSH qword ptr [RSP + 0x288]
PUSH qword ptr [RSP + 0x28]
MOV RSI,qword ptr [RSP + 0x1d0]
MOV R9,qword ptr [RSP + 0x40]
MOV RCX,qword ptr [RSP + 0x1c0]
MOV R8,qword ptr [RSP + 0x1c8]
MOV RDX,qword ptr [RSP + 0x1d8]
MOV RDI,qword ptr [RSP + 0x38]
CALL 0x00357f80
MOV qword ptr [RSP + 0x138],RDX
MOV ESI,dword ptr [RSP + 0x138]
MOV qword ptr [RSP + 0x130],RAX
MOV qword ptr [RSP + 0x1d0],RAX
MOV dword ptr [RSP + 0x1d8],ESI
ADD RSP,0x20
JMP 0x00358248
SUB RSP,0x8
PUSH qword ptr [RSP + 0x18]
PUSH qword ptr [RSP + 0x30]
PUSH 0x2
PUSH 0x17
PUSH 0x0
MOV RSI,qword ptr [RSP + 0x1e0]
MOV RCX,qword ptr [RSP + 0x1d0]
MOV R8,qword ptr [RSP + 0x1d8]
MOV RDX,qword ptr [RSP + 0x1e8]
MOV RDI,qword ptr [RSP + 0x48]
LEA R9,[RSP + 0x1fc]
CALL 0x00355fc0
MOV qword ptr [RSP + 0x138],RDX
MOV ESI,dword ptr [RSP + 0x138]
MOV qword ptr [RSP + 0x130],RAX
MOV qword ptr [RSP + 0x1e0],RAX
MOV dword ptr [RSP + 0x1e8],ESI
ADD RSP,0x30
MOV R9D,dword ptr [RSP + 0x1c8]
TEST R9D,R9D
JNZ 0x00358248
MOV EAX,dword ptr [RSP + 0x1cc]
MOV RCX,qword ptr [RSP + 0x278]
MOV dword ptr [RCX + 0x8],EAX
JMP 0x00358248
SUB RSP,0x8
PUSH qword ptr [RSP + 0x18]
PUSH qword ptr [RSP + 0x30]
PUSH 0x2
PUSH 0xc
PUSH 0x1
MOV RSI,qword ptr [RSP + 0x1e0]
MOV RCX,qword ptr [RSP + 0x1d0]
MOV R8,qword ptr [RSP + 0x1d8]
MOV RDX,qword ptr [RSP + 0x1e8]
MOV RDI,qword ptr [RSP + 0x48]
LEA R9,[RSP + 0x1fc]
CALL 0x00355fc0
MOV qword ptr [RSP + 0x128],RDX
MOV ESI,dword ptr [RSP + 0x128]
MOV qword ptr [RSP + 0x120],RAX
MOV qword ptr [RSP + 0x1e0],RAX
MOV dword ptr [RSP + 0x1e8],ESI
ADD RSP,0x30
MOV R8D,dword ptr [RSP + 0x1c8]
TEST R8D,R8D
JNZ 0x00358248
JMP 0x00358747
MOV RAX,qword ptr [RSP + 0x30]
MOV RAX,qword ptr [RAX + 0x10]
MOV RDX,qword ptr [RAX + 0x90]
MOV qword ptr [RSP + 0x1d0],RDX
MOV RDX,qword ptr [RAX + 0x98]
MOV qword ptr [RSP + 0x1d8],RDX
MOV RDX,qword ptr [RAX + 0xa0]
MOV qword ptr [RSP + 0x1e0],RDX
MOV RDX,qword ptr [RAX + 0xa8]
MOV qword ptr [RSP + 0x1e8],RDX
MOV RDX,qword ptr [RAX + 0xb0]
MOV qword ptr [RSP + 0x1f0],RDX
MOV RDX,qword ptr [RAX + 0xb8]
MOV qword ptr [RSP + 0x1f8],RDX
MOV RAX,qword ptr [RAX + 0xc0]
MOV qword ptr [RSP + 0x200],RAX
PUSH qword ptr [RSP + 0x10]
PUSH qword ptr [RSP + 0x28]
PUSH 0x7
PUSH qword ptr [RSP + 0x40]
MOV RSI,qword ptr [RSP + 0x1d0]
MOV RCX,qword ptr [RSP + 0x1c0]
MOV R8,qword ptr [RSP + 0x1c8]
MOV RDX,qword ptr [RSP + 0x1d8]
MOV RDI,qword ptr [RSP + 0x38]
LEA R9,[RSP + 0x1ec]
CALL 0x00356440
MOV qword ptr [RSP + 0x1b8],RDX
MOV ESI,dword ptr [RSP + 0x1b8]
MOV qword ptr [RSP + 0x1b0],RAX
MOV qword ptr [RSP + 0x1d0],RAX
MOV dword ptr [RSP + 0x1d8],ESI
ADD RSP,0x20
MOV EAX,dword ptr [RSP + 0x1c8]
TEST EAX,EAX
JNZ 0x00358248
JMP 0x0035841e
MOV RAX,qword ptr [RSP + 0x30]
MOV RAX,qword ptr [RAX + 0x10]
MOV RDX,qword ptr [RAX + 0x128]
MOV qword ptr [RSP + 0x1d0],RDX
MOV RDX,qword ptr [RAX + 0x130]
MOV qword ptr [RSP + 0x1d8],RDX
MOV RDX,qword ptr [RAX + 0x138]
MOV qword ptr [RSP + 0x1e0],RDX
MOV RDX,qword ptr [RAX + 0x140]
MOV qword ptr [RSP + 0x1e8],RDX
MOV RDX,qword ptr [RAX + 0x148]
MOV qword ptr [RSP + 0x1f0],RDX
MOV RDX,qword ptr [RAX + 0x150]
MOV qword ptr [RSP + 0x1f8],RDX
MOV RDX,qword ptr [RAX + 0x158]
MOV qword ptr [RSP + 0x200],RDX
MOV RDX,qword ptr [RAX + 0x160]
MOV qword ptr [RSP + 0x208],RDX
MOV RDX,qword ptr [RAX + 0x168]
MOV qword ptr [RSP + 0x210],RDX
MOV RDX,qword ptr [RAX + 0x170]
MOV qword ptr [RSP + 0x218],RDX
MOV RDX,qword ptr [RAX + 0x178]
MOV qword ptr [RSP + 0x220],RDX
MOV RAX,qword ptr [RAX + 0x180]
MOV qword ptr [RSP + 0x228],RAX
PUSH qword ptr [RSP + 0x10]
PUSH qword ptr [RSP + 0x28]
PUSH 0xc
PUSH qword ptr [RSP + 0x40]
MOV RSI,qword ptr [RSP + 0x1d0]
MOV RCX,qword ptr [RSP + 0x1c0]
MOV R8,qword ptr [RSP + 0x1c8]
MOV RDX,qword ptr [RSP + 0x1d8]
MOV RDI,qword ptr [RSP + 0x38]
LEA R9,[RSP + 0x1ec]
CALL 0x00356440
MOV qword ptr [RSP + 0x198],RDX
MOV ESI,dword ptr [RSP + 0x198]
MOV qword ptr [RSP + 0x190],RAX
MOV qword ptr [RSP + 0x1d0],RAX
MOV dword ptr [RSP + 0x1d8],ESI
ADD RSP,0x20
MOV R13D,dword ptr [RSP + 0x1c8]
TEST R13D,R13D
JNZ 0x00358248
JMP 0x00358570
SUB RSP,0x8
MOV RAX,qword ptr [RSP + 0x38]
MOV RAX,qword ptr [RAX + 0x10]
PUSH qword ptr [RAX + 0x30]
PUSH qword ptr [RSP + 0x288]
PUSH qword ptr [RSP + 0x28]
MOV RSI,qword ptr [RSP + 0x1d0]
MOV R9,qword ptr [RSP + 0x40]
MOV RCX,qword ptr [RSP + 0x1c0]
MOV R8,qword ptr [RSP + 0x1c8]
MOV RDX,qword ptr [RSP + 0x1d8]
MOV RDI,qword ptr [RSP + 0x38]
CALL 0x00357f80
MOV qword ptr [RSP + 0x178],RDX
MOV ESI,dword ptr [RSP + 0x178]
MOV qword ptr [RSP + 0x170],RAX
MOV qword ptr [RSP + 0x1d0],RAX
MOV dword ptr [RSP + 0x1d8],ESI
ADD RSP,0x20
JMP 0x00358248
SUB RSP,0x8
PUSH qword ptr [RSP + 0x18]
PUSH qword ptr [RSP + 0x30]
PUSH 0x2
PUSH 0x1f
PUSH 0x1
MOV RSI,qword ptr [RSP + 0x1e0]
MOV RCX,qword ptr [RSP + 0x1d0]
MOV R8,qword ptr [RSP + 0x1d8]
MOV RDX,qword ptr [RSP + 0x1e8]
MOV RDI,qword ptr [RSP + 0x48]
LEA R9,[RSP + 0x1fc]
CALL 0x00355fc0
MOV qword ptr [RSP + 0x178],RDX
MOV ESI,dword ptr [RSP + 0x178]
MOV qword ptr [RSP + 0x170],RAX
MOV qword ptr [RSP + 0x1e0],RAX
MOV dword ptr [RSP + 0x1e8],ESI
ADD RSP,0x30
MOV R11D,dword ptr [RSP + 0x1c8]
TEST R11D,R11D
JNZ 0x00358248
MOV EAX,dword ptr [RSP + 0x1cc]
MOV RCX,qword ptr [RSP + 0x278]
MOV dword ptr [RCX + 0xc],EAX
JMP 0x00358248
MOV ESI,dword ptr [RSP + 0x1b8]
MOV RDI,qword ptr [RSP + 0x38]
CALL 0x0034def0
MOV RCX,qword ptr [R14]
MOV ESI,0x2000
MOV RDI,R14
MOV EDX,EAX
CALL qword ptr [RCX + 0x10]
TEST AL,AL
JNZ 0x003591c3
SUB RSP,0x8
PUSH qword ptr [RSP + 0x18]
PUSH qword ptr [RSP + 0x30]
PUSH 0x2
PUSH 0x1f
PUSH 0xa
MOV RCX,qword ptr [RSP + 0x1d0]
MOV R8,qword ptr [RSP + 0x1d8]
MOV RSI,qword ptr [RSP + 0x1e0]
MOV RDX,qword ptr [RSP + 0x1e8]
MOV RDI,qword ptr [RSP + 0x48]
LEA R9,[RSP + 0x1fc]
CALL 0x00355fc0
MOV qword ptr [RSP + 0x150],RAX
MOV qword ptr [RSP + 0x158],RDX
MOV qword ptr [RSP + 0x1e0],RAX
MOV EAX,dword ptr [RSP + 0x158]
MOV dword ptr [RSP + 0x1e8],EAX
ADD RSP,0x30
MOV R10D,dword ptr [RSP + 0x1c8]
MOV ESI,dword ptr [RSP + 0x1b8]
TEST R10D,R10D
JNZ 0x00358248
JMP 0x00358b1f
SUB RSP,0x8
PUSH qword ptr [RSP + 0x18]
PUSH qword ptr [RSP + 0x30]
PUSH 0x2
PUSH 0x3c
PUSH 0x0
MOV RSI,qword ptr [RSP + 0x1e0]
MOV RCX,qword ptr [RSP + 0x1d0]
MOV R8,qword ptr [RSP + 0x1d8]
MOV RDX,qword ptr [RSP + 0x1e8]
MOV RDI,qword ptr [RSP + 0x48]
LEA R9,[RSP + 0x1fc]
CALL 0x00355fc0
MOV qword ptr [RSP + 0xe8],RDX
MOV ESI,dword ptr [RSP + 0xe8]
MOV qword ptr [RSP + 0xe0],RAX
MOV qword ptr [RSP + 0x1e0],RAX
MOV dword ptr [RSP + 0x1e8],ESI
ADD RSP,0x30
MOV EDX,dword ptr [RSP + 0x1c8]
TEST EDX,EDX
JNZ 0x00358248
MOV EAX,dword ptr [RSP + 0x1cc]
MOV RCX,qword ptr [RSP + 0x278]
MOV dword ptr [RCX],EAX
JMP 0x00358248
MOV R15,qword ptr [RSP + 0x28]
MOV RAX,qword ptr [R14]
LEA RDX,[0x3aba16]
MOV RDI,R14
LEA RSI,[RDX + -0x9]
MOV RCX,R15
CALL qword ptr [RAX + 0x58]
SUB RSP,0x8
PUSH R15
PUSH qword ptr [RSP + 0x288]
PUSH qword ptr [RSP + 0x28]
MOV RSI,qword ptr [RSP + 0x1d0]
MOV R9,qword ptr [RSP + 0x40]
MOV RCX,qword ptr [RSP + 0x1c0]
MOV R8,qword ptr [RSP + 0x1c8]
MOV RDX,qword ptr [RSP + 0x1d8]
MOV RDI,qword ptr [RSP + 0x38]
CALL 0x00357f80
MOV qword ptr [RSP + 0xc8],RDX
MOV ESI,dword ptr [RSP + 0xc8]
MOV qword ptr [RSP + 0xc0],RAX
MOV qword ptr [RSP + 0x1d0],RAX
MOV dword ptr [RSP + 0x1d8],ESI
ADD RSP,0x20
JMP 0x00358248
SUB RSP,0x8
MOV RAX,qword ptr [RSP + 0x38]
MOV RAX,qword ptr [RAX + 0x10]
PUSH qword ptr [RAX + 0x20]
PUSH qword ptr [RSP + 0x288]
PUSH qword ptr [RSP + 0x28]
MOV RSI,qword ptr [RSP + 0x1d0]
MOV R9,qword ptr [RSP + 0x40]
MOV RCX,qword ptr [RSP + 0x1c0]
MOV R8,qword ptr [RSP + 0x1c8]
MOV RDX,qword ptr [RSP + 0x1d8]
MOV RDI,qword ptr [RSP + 0x38]
CALL 0x00357f80
MOV qword ptr [RSP + 0xa8],RDX
MOV ESI,dword ptr [RSP + 0xa8]
MOV qword ptr [RSP + 0xa0],RAX
MOV qword ptr [RSP + 0x1d0],RAX
MOV dword ptr [RSP + 0x1d8],ESI
ADD RSP,0x20
JMP 0x00358248
MOV ESI,dword ptr [RSP + 0x1b8]
MOV RDI,qword ptr [RSP + 0x38]
CALL 0x0034def0
MOV RCX,qword ptr [R14]
MOV ESI,0x100
MOV RDI,R14
MOV EDX,EAX
CALL qword ptr [RCX + 0x10]
TEST AL,AL
JZ 0x00358236
PUSH qword ptr [RSP + 0x10]
PUSH qword ptr [RSP + 0x28]
PUSH 0xe
PUSH qword ptr [0x0045bff0]
MOV R9,qword ptr [RSP + 0x48]
MOV RCX,qword ptr [RSP + 0x1c0]
MOV R8,qword ptr [RSP + 0x1c8]
MOV RSI,qword ptr [RSP + 0x1d0]
MOV RDX,qword ptr [RSP + 0x1d8]
MOV RDI,qword ptr [RSP + 0x38]
CALL 0x00356440
MOV qword ptr [RSP + 0x80],RAX
MOV qword ptr [RSP + 0x88],RDX
MOV qword ptr [RSP + 0x1d0],RAX
MOV EAX,dword ptr [RSP + 0x88]
MOV dword ptr [RSP + 0x1d8],EAX
ADD RSP,0x20
MOV RDI,qword ptr [RSP + 0x38]
LEA RSI,[RSP + 0x1a0]
CALL 0x00343350
MOV ESI,dword ptr [RSP + 0x1b8]
TEST AL,AL
JNZ 0x00358248
MOV EAX,dword ptr [RSP + 0x1c8]
OR EAX,dword ptr [RSP + 0x1d0]
JNZ 0x00358248
MOV R15,qword ptr [RSP + 0x38]
MOV RDI,R15
CALL 0x0034def0
MOV ESI,0x2d
MOV RDI,R14
MOV R12D,EAX
MOV RAX,qword ptr [R14]
CALL qword ptr [RAX + 0x50]
CMP R12D,EAX
JZ 0x00358eb3
MOV ESI,dword ptr [RSP + 0x1b8]
MOV RDI,R15
CALL 0x0034def0
MOV ESI,0x2b
MOV RDI,R14
MOV R12D,EAX
MOV RAX,qword ptr [R14]
CALL qword ptr [RAX + 0x50]
CMP R12D,EAX
JNZ 0x0035823e
SUB RSP,0x8
PUSH qword ptr [RSP + 0x18]
MOV R12,qword ptr [RSP + 0x30]
PUSH R12
PUSH 0x2
PUSH 0x17
PUSH 0x0
MOV R13,qword ptr [RSP + 0x58]
MOV R15,qword ptr [RSP + 0x48]
MOV RSI,qword ptr [RSP + 0x1e0]
MOV RCX,qword ptr [RSP + 0x1d0]
MOV R8,qword ptr [RSP + 0x1d8]
MOV R9,R13
MOV RDX,qword ptr [RSP + 0x1e8]
MOV RDI,R15
CALL 0x00355fc0
MOV R9,R13
MOV RDI,R15
MOV qword ptr [RSP + 0x80],RAX
MOV RSI,RAX
MOV qword ptr [RSP + 0x88],RDX
MOV qword ptr [RSP + 0x1e0],RAX
MOV EAX,dword ptr [RSP + 0x88]
MOV dword ptr [RSP + 0x1e8],EAX
ADD RSP,0x28
PUSH qword ptr [RSP + 0x18]
PUSH R12
PUSH 0x2
PUSH 0x3b
PUSH 0x0
MOV RCX,qword ptr [RSP + 0x1d0]
MOV R8,qword ptr [RSP + 0x1d8]
MOV RDX,qword ptr [RSP + 0x1e8]
CALL 0x00355fc0
MOV qword ptr [RSP + 0x78],RDX
MOV ESI,dword ptr [RSP + 0x78]
MOV qword ptr [RSP + 0x70],RAX
MOV qword ptr [RSP + 0x1e0],RAX
MOV dword ptr [RSP + 0x1e8],ESI
ADD RSP,0x30
JMP 0x00358248
SUB RSP,0x8
PUSH qword ptr [RSP + 0x18]
PUSH qword ptr [RSP + 0x30]
PUSH 0x2
PUSH 0x3b
PUSH 0x0
MOV RSI,qword ptr [RSP + 0x1e0]
MOV RCX,qword ptr [RSP + 0x1d0]
MOV R8,qword ptr [RSP + 0x1d8]
MOV RDX,qword ptr [RSP + 0x1e8]
MOV RDI,qword ptr [RSP + 0x48]
LEA R9,[RSP + 0x1fc]
CALL 0x00355fc0
MOV qword ptr [RSP + 0x108],RDX
MOV ESI,dword ptr [RSP + 0x108]
MOV qword ptr [RSP + 0x100],RAX
MOV qword ptr [RSP + 0x1e0],RAX
MOV dword ptr [RSP + 0x1e8],ESI
ADD RSP,0x30
MOV ECX,dword ptr [RSP + 0x1c8]
TEST ECX,ECX
JNZ 0x00358248
MOV EAX,dword ptr [RSP + 0x1cc]
MOV RCX,qword ptr [RSP + 0x278]
MOV dword ptr [RCX + 0x4],EAX
JMP 0x00358248
MOV R15,qword ptr [RSP + 0x28]
MOV RAX,qword ptr [R14]
LEA RDX,[0x3aba0d]
MOV RDI,R14
LEA RSI,[RDX + -0x6]
MOV RCX,R15
CALL qword ptr [RAX + 0x58]
SUB RSP,0x8
PUSH R15
PUSH qword ptr [RSP + 0x288]
PUSH qword ptr [RSP + 0x28]
MOV RSI,qword ptr [RSP + 0x1d0]
MOV R9,qword ptr [RSP + 0x40]
MOV RCX,qword ptr [RSP + 0x1c0]
MOV R8,qword ptr [RSP + 0x1c8]
MOV RDX,qword ptr [RSP + 0x1d8]
MOV RDI,qword ptr [RSP + 0x38]
CALL 0x00357f80
MOV qword ptr [RSP + 0xe8],RDX
MOV ESI,dword ptr [RSP + 0xe8]
MOV qword ptr [RSP + 0xe0],RAX
MOV qword ptr [RSP + 0x1d0],RAX
MOV dword ptr [RSP + 0x1d8],ESI
ADD RSP,0x20
JMP 0x00358248
MOV ESI,dword ptr [RSP + 0x1b8]
MOV RDI,qword ptr [RSP + 0x38]
CALL 0x0034def0
MOV RCX,qword ptr [R14]
XOR EDX,EDX
MOV RDI,R14
MOV ESI,EAX
CALL qword ptr [RCX + 0x60]
CMP AL,0x9
JNZ 0x00358236
MOV RDI,qword ptr [RSP + 0x1b0]
CALL 0x002fc080
MOV ESI,0xffffffff
MOV dword ptr [RSP + 0x1b8],0xffffffff
JMP 0x00358248
SUB RSP,0x8
PUSH qword ptr [RSP + 0x18]
PUSH qword ptr [RSP + 0x30]
PUSH 0x2
PUSH 0xc
PUSH 0x1
MOV RSI,qword ptr [RSP + 0x1e0]
MOV RCX,qword ptr [RSP + 0x1d0]
MOV R8,qword ptr [RSP + 0x1d8]
MOV RDX,qword ptr [RSP + 0x1e8]
MOV RDI,qword ptr [RSP + 0x48]
LEA R9,[RSP + 0x1fc]
CALL 0x00355fc0
MOV qword ptr [RSP + 0x118],RDX
MOV ESI,dword ptr [RSP + 0x118]
MOV qword ptr [RSP + 0x110],RAX
MOV qword ptr [RSP + 0x1e0],RAX
MOV dword ptr [RSP + 0x1e8],ESI
ADD RSP,0x30
MOV EDI,dword ptr [RSP + 0x1c8]
TEST EDI,EDI
JNZ 0x00358248
MOV EAX,dword ptr [RSP + 0x1cc]
MOV RCX,qword ptr [RSP + 0x278]
SUB EAX,0x1
MOV dword ptr [RCX + 0x10],EAX
JMP 0x00358248
MOV RAX,qword ptr [RDI]
CALL qword ptr [RAX + 0x48]
JMP 0x00358158
MOV RAX,qword ptr [RDI]
CALL qword ptr [RAX + 0x48]
JMP 0x003581d0
MOV qword ptr [RSP + 0x1b0],0x0
XOR EDI,EDI
JMP 0x00358121
MOV RDI,qword ptr [RSP + 0x1b0]
CALL 0x002fc080
SUB RSP,0x8
MOV dword ptr [RSP + 0x1c0],0xffffffff
PUSH qword ptr [RSP + 0x18]
PUSH qword ptr [RSP + 0x30]
PUSH 0x1
PUSH 0x9
PUSH 0x1
MOV RCX,qword ptr [RSP + 0x1d0]
MOV R8,qword ptr [RSP + 0x1d8]
MOV RSI,qword ptr [RSP + 0x1e0]
MOV RDX,qword ptr [RSP + 0x1e8]
MOV RDI,qword ptr [RSP + 0x48]
LEA R9,[RSP + 0x1fc]
CALL 0x00355fc0
MOV qword ptr [RSP + 0x160],RAX
MOV qword ptr [RSP + 0x168],RDX
MOV qword ptr [RSP + 0x1e0],RAX
MOV EAX,dword ptr [RSP + 0x168]
MOV dword ptr [RSP + 0x1e8],EAX
ADD RSP,0x30
JMP 0x00358bd7
MOV RAX,qword ptr [RDI]
CALL qword ptr [RAX + 0x48]
MOV EDX,EAX
JMP 0x00358272
MOV RAX,qword ptr [RDI]
CALL qword ptr [RAX + 0x50]
MOV RDI,qword ptr [RSP + 0x1b0]
JMP 0x003582a6
(translation_unit "undefined1  [16]\nFUN_00357f80(undefined8 param_1,undefined8 param_2,undefined8 param_3,long *param_4,\n            undefined8 param_5,long param_6,uint *param_7,int *param_8,wchar_t *param_9)\n\n{\n  wchar_t wVar1;\n  long lVar2;\n  undefined1 auVar3 [16];\n  undefined1 auVar4 [12];\n  bool bVar5;\n  char cVar6;\n  int iVar7;\n  undefined4 uVar8;\n  int iVar9;\n  wchar_t wVar10;\n  long lVar11;\n  long *plVar12;\n  size_t sVar13;\n  ulong uVar14;\n  ulong uVar15;\n  bool bVar16;\n  bool bVar17;\n  undefined1 auVar18 [12];\n  long *local_c8;\n  undefined8 local_c0;\n  undefined1 local_b8 [12];\n  undefined4 uStack_ac;\n  uint local_a0;\n  int local_9c;\n  undefined8 local_98;\n  undefined8 local_90;\n  undefined8 local_88;\n  undefined8 local_80;\n  undefined8 local_78;\n  undefined8 local_70;\n  undefined8 local_68;\n  undefined8 local_60;\n  undefined8 local_58;\n  undefined8 local_50;\n  undefined8 local_48;\n  undefined8 local_40;\n  \n  local_b8._8_4_ = (undefined4)param_3;\n  uStack_ac = (undefined4)((ulong)param_3 >> 0x20);\n  local_c8 = param_4;\n  local_c0 = param_5;\n  local_b8._0_8_ = param_2;\n  lVar11 = FUN_0033ff70(param_6 + 0xd0);\n  plVar12 = (long *)FUN_0033e820(param_6 + 0xd0);\n  sVar13 = wcslen(param_9);\n  local_a0 = 0;\n  uVar15 = 0;\nLAB_00358033:\n  bVar5 = (long *)local_b8._0_8_ != (long *)0x0 && local_b8._8_4_ == -1;\n  bVar17 = local_b8._8_4_ == -1;\n  if (bVar5) {\n    if (*(int **)(local_b8._0_8_ + 0x10) < *(int **)(local_b8._0_8_ + 0x18)) {\n      iVar9 = **(int **)(local_b8._0_8_ + 0x10);\n    }\n    else {\n      iVar9 = (**(code **)(*(long *)local_b8._0_8_ + 0x48))();\n    }\n    bVar17 = false;\n    if (iVar9 == -1) {\n      auVar18._4_8_ = 0;\n      auVar18._0_4_ = local_b8._8_4_;\n      local_b8 = auVar18 << 0x40;\n      bVar17 = bVar5;\n    }\n  }\n  bVar16 = (int)local_c0 == -1;\n  bVar5 = local_c8 != (long *)0x0 && bVar16;\n  if (bVar5) {\n    if ((int *)local_c8[2] < (int *)local_c8[3]) {\n      iVar9 = *(int *)local_c8[2];\n    }\n    else {\n      iVar9 = (**(code **)(*local_c8 + 0x48))();\n    }\n    bVar16 = false;\n    if (iVar9 != -1) goto LAB_00358070;\n    local_c8 = (long *)0x0;\n    if (bVar17 != bVar5) goto LAB_00358080;\nLAB_00358188:\n    if ((uVar15 == sVar13) && (local_a0 == 0)) goto LAB_0035819e;\nLAB_00358193:\n    *param_7 = *param_7 | 4;\nLAB_0035819e:\n    auVar3._12_4_ = uStack_ac;\n    auVar3._0_12_ = local_b8;\n    return auVar3;\n  }\nLAB_00358070:\n  if (bVar17 == bVar16) goto LAB_00358188;\nLAB_00358080:\n  if (sVar13 <= uVar15) goto LAB_00358188;\n  if (local_a0 != 0) goto LAB_00358193;\n  uVar14 = uVar15 + 1;\n  cVar6 = (**(code **)(*plVar12 + 0x60))(plVar12,param_9[uVar15],0);\n  if (cVar6 != '%') {\n    wVar1 = param_9[uVar15];\n    auVar4 = local_b8;\n    uVar15 = uVar14;\n    if ((local_b8._8_4_ == L'\xffffffff') && ((long *)local_b8._0_8_ != (long *)0x0)) {\n      if (*(wchar_t **)(local_b8._0_8_ + 0x10) < *(wchar_t **)(local_b8._0_8_ + 0x18)) {\n        wVar10 = **(wchar_t **)(local_b8._0_8_ + 0x10);\n      }\n      else {\n        wVar10 = (**(code **)(*(long *)local_b8._0_8_ + 0x48))();\n        auVar4 = local_b8;\n      }\n      local_b8._8_4_ = auVar4._8_4_;\n      if (wVar10 == L'\xffffffff') {\n        auVar4._4_8_ = 0;\n        auVar4._0_4_ = local_b8._8_4_;\n        auVar4 = auVar4 << 0x40;\n        local_b8._8_4_ = L'\xffffffff';\n        goto LAB_00358121;\n      }\n      local_b8 = auVar4;\n      if (wVar1 == wVar10) goto LAB_00358290;\nLAB_0035812a:\n      local_a0 = local_a0 | 4;\n    }\n    else {\nLAB_00358121:\n      bVar17 = wVar1 != local_b8._8_4_;\n      local_b8 = auVar4;\n      if (bVar17) goto LAB_0035812a;\nLAB_00358290:\n      local_b8._0_8_ = auVar4._0_8_;\n      if (*(ulong *)(local_b8._0_8_ + 0x10) < *(ulong *)(local_b8._0_8_ + 0x18)) {\n        *(ulong *)(local_b8._0_8_ + 0x10) = *(ulong *)(local_b8._0_8_ + 0x10) + 4;\n      }\n      else {\n        lVar2 = *(long *)local_b8._0_8_;\n        local_b8 = auVar4;\n        (**(code **)(lVar2 + 0x50))();\n      }\n      local_b8._8_4_ = 0xffffffff;\n    }\n    goto LAB_00358033;\n  }\n  cVar6 = (**(code **)(*plVar12 + 0x60))(plVar12,param_9[uVar15 + 1],0);\n  local_9c = 0;\n  if ((cVar6 == 'E') || (cVar6 == 'O')) {\n    uVar14 = uVar15 + 2;\n    cVar6 = (**(code **)(*plVar12 + 0x60))(plVar12,param_9[uVar15 + 2],0);\n  }\n  switch(cVar6) {\n  case 'A':\n    lVar2 = *(long *)(lVar11 + 0x10);\n    local_98 = *(undefined8 *)(lVar2 + 0x58);\n    local_90 = *(undefined8 *)(lVar2 + 0x60);\n    local_88 = *(undefined8 *)(lVar2 + 0x68);\n    local_80 = *(undefined8 *)(lVar2 + 0x70);\n    local_78 = *(undefined8 *)(lVar2 + 0x78);\n    local_70 = *(undefined8 *)(lVar2 + 0x80);\n    local_68 = *(undefined8 *)(lVar2 + 0x88);\n    auVar18 = FUN_00356440(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,&local_9c,&local_98,7,param_6,&local_a0);\n    goto joined_r0x003588cd;\n  case 'B':\n    lVar2 = *(long *)(lVar11 + 0x10);\n    local_98 = *(undefined8 *)(lVar2 + 200);\n    local_90 = *(undefined8 *)(lVar2 + 0xd0);\n    local_88 = *(undefined8 *)(lVar2 + 0xd8);\n    local_80 = *(undefined8 *)(lVar2 + 0xe0);\n    local_78 = *(undefined8 *)(lVar2 + 0xe8);\n    local_70 = *(undefined8 *)(lVar2 + 0xf0);\n    local_68 = *(undefined8 *)(lVar2 + 0xf8);\n    local_60 = *(undefined8 *)(lVar2 + 0x100);\n    local_58 = *(undefined8 *)(lVar2 + 0x108);\n    local_50 = *(undefined8 *)(lVar2 + 0x110);\n    local_48 = *(undefined8 *)(lVar2 + 0x118);\n    local_40 = *(undefined8 *)(lVar2 + 0x120);\n    auVar18 = FUN_00356440(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,&local_9c,&local_98,0xc,param_6,&local_a0);\n    goto joined_r0x00358a12;\n  case 'C':\n  case 'Y':\n  case 'y':\n    auVar18 = FUN_00355fc0(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,&local_9c,0,9999,4,param_6,&local_a0);\n    local_b8 = auVar18;\n    if (local_a0 == 0) {\n      iVar9 = local_9c + -0x76c;\n      if (local_9c < 0) {\n        iVar9 = local_9c + 100;\n      }\n      param_8[5] = iVar9;\n    }\n    break;\n  case 'D':\n    (**(code **)(*plVar12 + 0x58))(plVar12,"%m/%d/%y","%H:%M",&local_98);\n    auVar18 = FUN_00357f80(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,param_6,&local_a0,param_8,&local_98);\n    local_b8 = auVar18;\n    break;\n  default:\n    goto switchD_003580fd_caseD_45;\n  case 'H':\n    auVar18 = FUN_00355fc0(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,&local_9c,0,0x17,2,param_6,&local_a0);\n    goto joined_r0x003587d9;\n  case 'I':\n    auVar18 = FUN_00355fc0(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,&local_9c,1,0xc,2,param_6,&local_a0);\njoined_r0x003587d9:\n    local_b8 = auVar18;\n    if (local_a0 == 0) {\n      param_8[2] = local_9c;\n    }\n    break;\n  case 'M':\n    auVar18 = FUN_00355fc0(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,&local_9c,0,0x3b,2,param_6,&local_a0);\n    local_b8 = auVar18;\n    if (local_a0 == 0) {\n      param_8[1] = local_9c;\n    }\n    break;\n  case 'R':\n    (**(code **)(*plVar12 + 0x58))(plVar12,"%H:%M","%H:%M:%S",&local_98);\n    auVar18 = FUN_00357f80(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,param_6,&local_a0,param_8,&local_98);\n    local_b8 = auVar18;\n    break;\n  case 'S':\n    auVar18 = FUN_00355fc0(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,&local_9c,0,0x3c,2,param_6,&local_a0);\n    local_b8 = auVar18;\n    if (local_a0 == 0) {\n      *param_8 = local_9c;\n    }\n    break;\n  case 'T':\n    (**(code **)(*plVar12 + 0x58))(plVar12,"%H:%M:%S",&DAT_003aba16,&local_98);\n    auVar18 = FUN_00357f80(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,param_6,&local_a0,param_8,&local_98);\n    local_b8 = auVar18;\n    break;\n  case 'X':\n    auVar18 = FUN_00357f80(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,param_6,&local_a0,param_8,\n                           *(undefined8 *)(*(long *)(lVar11 + 0x10) + 0x20));\n    local_b8 = auVar18;\n    break;\n  case 'Z':\n    uVar8 = FUN_0034def0(local_b8,local_b8._8_4_);\n    cVar6 = (**(code **)(*plVar12 + 0x10))(plVar12,0x100,uVar8);\n    if (cVar6 == '\0') goto switchD_003580fd_caseD_45;\n    auVar18 = FUN_00356440(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,&local_98,PTR_PTR_DAT_0045bff0,0xe,param_6,&local_a0);\n    local_b8 = auVar18;\n    cVar6 = FUN_00343350(local_b8,&local_c8);\n    if ((cVar6 == '\0') && (local_a0 == 0 && (int)local_98 == 0)) {\n      iVar9 = FUN_0034def0(local_b8);\n      iVar7 = (**(code **)(*plVar12 + 0x50))(plVar12,0x2d);\n      if (iVar9 != iVar7) {\n        iVar9 = FUN_0034def0(local_b8,local_b8._8_4_);\n        iVar7 = (**(code **)(*plVar12 + 0x50))(plVar12,0x2b);\n        if (iVar9 != iVar7) break;\n      }\n      auVar18 = FUN_00355fc0(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                             local_c0,&local_98,0,0x17,2,param_6,&local_a0);\n      local_b8 = auVar18;\n      auVar18 = FUN_00355fc0(param_1,auVar18._0_8_,CONCAT44(uStack_ac,auVar18._8_4_),local_c8,\n                             local_c0,&local_98,0,0x3b,2,param_6,&local_a0);\n      local_b8 = auVar18;\n    }\n    break;\n  case 'a':\n    lVar2 = *(long *)(lVar11 + 0x10);\n    local_98 = *(undefined8 *)(lVar2 + 0x90);\n    local_90 = *(undefined8 *)(lVar2 + 0x98);\n    local_88 = *(undefined8 *)(lVar2 + 0xa0);\n    local_80 = *(undefined8 *)(lVar2 + 0xa8);\n    local_78 = *(undefined8 *)(lVar2 + 0xb0);\n    local_70 = *(undefined8 *)(lVar2 + 0xb8);\n    local_68 = *(undefined8 *)(lVar2 + 0xc0);\n    auVar18 = FUN_00356440(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,&local_9c,&local_98,7,param_6,&local_a0);\njoined_r0x003588cd:\n    local_b8 = auVar18;\n    if (local_a0 == 0) {\n      param_8[6] = local_9c;\n    }\n    break;\n  case 'b':\n  case 'h':\n    lVar2 = *(long *)(lVar11 + 0x10);\n    local_98 = *(undefined8 *)(lVar2 + 0x128);\n    local_90 = *(undefined8 *)(lVar2 + 0x130);\n    local_88 = *(undefined8 *)(lVar2 + 0x138);\n    local_80 = *(undefined8 *)(lVar2 + 0x140);\n    local_78 = *(undefined8 *)(lVar2 + 0x148);\n    local_70 = *(undefined8 *)(lVar2 + 0x150);\n    local_68 = *(undefined8 *)(lVar2 + 0x158);\n    local_60 = *(undefined8 *)(lVar2 + 0x160);\n    local_58 = *(undefined8 *)(lVar2 + 0x168);\n    local_50 = *(undefined8 *)(lVar2 + 0x170);\n    local_48 = *(undefined8 *)(lVar2 + 0x178);\n    local_40 = *(undefined8 *)(lVar2 + 0x180);\n    auVar18 = FUN_00356440(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,&local_9c,&local_98,0xc,param_6,&local_a0);\njoined_r0x00358a12:\n    local_b8 = auVar18;\n    if (local_a0 == 0) {\n      param_8[4] = local_9c;\n    }\n    break;\n  case 'c':\n    auVar18 = FUN_00357f80(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,param_6,&local_a0,param_8,\n                           *(undefined8 *)(*(long *)(lVar11 + 0x10) + 0x30));\n    local_b8 = auVar18;\n    break;\n  case 'd':\n    auVar18 = FUN_00355fc0(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,&local_9c,1,0x1f,2,param_6,&local_a0);\n    goto joined_r0x00358be9;\n  case 'e':\n    uVar8 = FUN_0034def0(local_b8,local_b8._8_4_);\n    cVar6 = (**(code **)(*plVar12 + 0x10))(plVar12,0x2000,uVar8);\n    if (cVar6 == '\0') {\n      auVar18 = FUN_00355fc0(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                             local_c0,&local_9c,10,0x1f,2,param_6,&local_a0);\n    }\n    else {\n      FUN_002fc080(local_b8._0_8_);\n      local_b8._8_4_ = 0xffffffff;\n      auVar18 = FUN_00355fc0(param_1,local_b8._0_8_,CONCAT44(uStack_ac,0xffffffff),local_c8,local_c0\n                             ,&local_9c,1,9,1,param_6,&local_a0);\n    }\njoined_r0x00358be9:\n    local_b8 = auVar18;\n    if (local_a0 == 0) {\n      param_8[3] = local_9c;\n    }\n    break;\n  case 'm':\n    auVar18 = FUN_00355fc0(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,&local_9c,1,0xc,2,param_6,&local_a0);\n    local_b8 = auVar18;\n    if (local_a0 == 0) {\n      param_8[4] = local_9c + -1;\n    }\n    break;\n  case 'n':\n    uVar8 = FUN_0034def0(local_b8,local_b8._8_4_);\n    cVar6 = (**(code **)(*plVar12 + 0x60))(plVar12,uVar8,0);\n    if (cVar6 != '\n') goto switchD_003580fd_caseD_45;\nLAB_003590ce:\n    FUN_002fc080(local_b8._0_8_);\n    local_b8._8_4_ = 0xffffffff;\n    break;\n  case 't':\n    uVar8 = FUN_0034def0(local_b8,local_b8._8_4_);\n    cVar6 = (**(code **)(*plVar12 + 0x60))(plVar12,uVar8,0);\n    if (cVar6 == '\t') goto LAB_003590ce;\n    goto switchD_003580fd_caseD_45;\n  case 'x':\n    auVar18 = FUN_00357f80(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,param_6,&local_a0,param_8,\n                           *(undefined8 *)(*(long *)(lVar11 + 0x10) + 0x10));\n    local_b8 = auVar18;\n  }\nLAB_00358248:\n  uVar15 = uVar14 + 1;\n  goto LAB_00358033;\nswitchD_003580fd_caseD_45:\n  local_a0 = local_a0 | 4;\n  goto LAB_00358248;\n}\n\n" (expression_statement "undefined1  [16]" (subscript_expression "undefined1  [16]" identifier [ number_literal ]) ;) (declaration "FUN_00357f80(undefined8 param_1,undefined8 param_2,undefined8 param_3,long *param_4,\n            undefined8 param_5,long param_6,uint *param_7,int *param_8,wchar_t *param_9)\n\n{\n  wchar_t wVar1;" (macro_type_specifier "FUN_00357f80(undefined8" identifier ( (type_descriptor "undefined8" type_identifier) )) identifier , identifier (ERROR "param_2" identifier) , identifier (ERROR "param_3" identifier) , (ERROR "long" identifier) (pointer_declarator "*param_4" * identifier) , identifier (ERROR "param_5" identifier) , (ERROR "long" identifier) identifier , (ERROR "uint" identifier) (pointer_declarator "*param_7" * identifier) , (ERROR "int" identifier) (pointer_declarator "*param_8" * identifier) , (ERROR "wchar_t *param_9)\n\n{\n  wchar_t" identifier (pointer_declarator "*param_9" * identifier) ) { identifier) identifier ;) (declaration "long lVar2;" (sized_type_specifier "long" long) identifier ;) (declaration "undefined1 auVar3 [16];" type_identifier (array_declarator "auVar3 [16]" identifier [ number_literal ]) ;) (declaration "undefined1 auVar4 [12];" type_identifier (array_declarator "auVar4 [12]" identifier [ number_literal ]) ;) (declaration "bool bVar5;" primitive_type identifier ;) (declaration "char cVar6;" primitive_type identifier ;) (declaration "int iVar7;" primitive_type identifier ;) (declaration "undefined4 uVar8;" type_identifier identifier ;) (declaration "int iVar9;" primitive_type identifier ;) (declaration "wchar_t wVar10;" type_identifier identifier ;) (declaration "long lVar11;" (sized_type_specifier "long" long) identifier ;) (declaration "long *plVar12;" (sized_type_specifier "long" long) (pointer_declarator "*plVar12" * identifier) ;) (declaration "size_t sVar13;" primitive_type identifier ;) (declaration "ulong uVar14;" type_identifier identifier ;) (declaration "ulong uVar15;" type_identifier identifier ;) (declaration "bool bVar16;" primitive_type identifier ;) (declaration "bool bVar17;" primitive_type identifier ;) (declaration "undefined1 auVar18 [12];" type_identifier (array_declarator "auVar18 [12]" identifier [ number_literal ]) ;) (declaration "long *local_c8;" (sized_type_specifier "long" long) (pointer_declarator "*local_c8" * identifier) ;) (declaration "undefined8 local_c0;" type_identifier identifier ;) (declaration "undefined1 local_b8 [12];" type_identifier (array_declarator "local_b8 [12]" identifier [ number_literal ]) ;) (declaration "undefined4 uStack_ac;" type_identifier identifier ;) (declaration "uint local_a0;" type_identifier identifier ;) (declaration "int local_9c;" primitive_type identifier ;) (declaration "undefined8 local_98;" type_identifier identifier ;) (declaration "undefined8 local_90;" type_identifier identifier ;) (declaration "undefined8 local_88;" type_identifier identifier ;) (declaration "undefined8 local_80;" type_identifier identifier ;) (declaration "undefined8 local_78;" type_identifier identifier ;) (declaration "undefined8 local_70;" type_identifier identifier ;) (declaration "undefined8 local_68;" type_identifier identifier ;) (declaration "undefined8 local_60;" type_identifier identifier ;) (declaration "undefined8 local_58;" type_identifier identifier ;) (declaration "undefined8 local_50;" type_identifier identifier ;) (declaration "undefined8 local_48;" type_identifier identifier ;) (declaration "undefined8 local_40;" type_identifier identifier ;) (expression_statement "local_b8._8_4_ = (undefined4)param_3;" (assignment_expression "local_b8._8_4_ = (undefined4)param_3" (field_expression "local_b8._8_4_" identifier . field_identifier) = (cast_expression "(undefined4)param_3" ( (type_descriptor "undefined4" type_identifier) ) identifier)) ;) (expression_statement "uStack_ac = (undefined4)((ulong)param_3 >> 0x20);" (assignment_expression "uStack_ac = (undefined4)((ulong)param_3 >> 0x20)" identifier = (call_expression "(undefined4)((ulong)param_3 >> 0x20)" (parenthesized_expression "(undefined4)" ( identifier )) (argument_list "((ulong)param_3 >> 0x20)" ( (binary_expression "(ulong)param_3 >> 0x20" (cast_expression "(ulong)param_3" ( (type_descriptor "ulong" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "local_c8 = param_4;" (assignment_expression "local_c8 = param_4" identifier = identifier) ;) (expression_statement "local_c0 = param_5;" (assignment_expression "local_c0 = param_5" identifier = identifier) ;) (expression_statement "local_b8._0_8_ = param_2;" (assignment_expression "local_b8._0_8_ = param_2" (field_expression "local_b8._0_8_" identifier . field_identifier) = identifier) ;) (expression_statement "lVar11 = FUN_0033ff70(param_6 + 0xd0);" (assignment_expression "lVar11 = FUN_0033ff70(param_6 + 0xd0)" identifier = (call_expression "FUN_0033ff70(param_6 + 0xd0)" identifier (argument_list "(param_6 + 0xd0)" ( (binary_expression "param_6 + 0xd0" identifier + number_literal) )))) ;) (expression_statement "plVar12 = (long *)FUN_0033e820(param_6 + 0xd0);" (assignment_expression "plVar12 = (long *)FUN_0033e820(param_6 + 0xd0)" identifier = (cast_expression "(long *)FUN_0033e820(param_6 + 0xd0)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_0033e820(param_6 + 0xd0)" identifier (argument_list "(param_6 + 0xd0)" ( (binary_expression "param_6 + 0xd0" identifier + number_literal) ))))) ;) (expression_statement "sVar13 = wcslen(param_9);" (assignment_expression "sVar13 = wcslen(param_9)" identifier = (call_expression "wcslen(param_9)" identifier (argument_list "(param_9)" ( identifier )))) ;) (expression_statement "local_a0 = 0;" (assignment_expression "local_a0 = 0" identifier = number_literal) ;) (expression_statement "uVar15 = 0;" (assignment_expression "uVar15 = 0" identifier = number_literal) ;) (labeled_statement "LAB_00358033:\n  bVar5 = (long *)local_b8._0_8_ != (long *)0x0 && local_b8._8_4_ == -1;" statement_identifier : (expression_statement "bVar5 = (long *)local_b8._0_8_ != (long *)0x0 && local_b8._8_4_ == -1;" (assignment_expression "bVar5 = (long *)local_b8._0_8_ != (long *)0x0 && local_b8._8_4_ == -1" identifier = (binary_expression "(long *)local_b8._0_8_ != (long *)0x0 && local_b8._8_4_ == -1" (binary_expression "(long *)local_b8._0_8_ != (long *)0x0" (cast_expression "(long *)local_b8._0_8_" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (field_expression "local_b8._0_8_" identifier . field_identifier)) != (cast_expression "(long *)0x0" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) number_literal)) && (binary_expression "local_b8._8_4_ == -1" (field_expression "local_b8._8_4_" identifier . field_identifier) == number_literal))) ;)) (expression_statement "bVar17 = local_b8._8_4_ == -1;" (assignment_expression "bVar17 = local_b8._8_4_ == -1" identifier = (binary_expression "local_b8._8_4_ == -1" (field_expression "local_b8._8_4_" identifier . field_identifier) == number_literal)) ;) (if_statement "if (bVar5) {\n    if (*(int **)(local_b8._0_8_ + 0x10) < *(int **)(local_b8._0_8_ + 0x18)) {\n      iVar9 = **(int **)(local_b8._0_8_ + 0x10);\n    }\n    else {\n      iVar9 = (**(code **)(*(long *)local_b8._0_8_ + 0x48))();\n    }\n    bVar17 = false;\n    if (iVar9 == -1) {\n      auVar18._4_8_ = 0;\n      auVar18._0_4_ = local_b8._8_4_;\n      local_b8 = auVar18 << 0x40;\n      bVar17 = bVar5;\n    }\n  }" if (parenthesized_expression "(bVar5)" ( identifier )) (compound_statement "{\n    if (*(int **)(local_b8._0_8_ + 0x10) < *(int **)(local_b8._0_8_ + 0x18)) {\n      iVar9 = **(int **)(local_b8._0_8_ + 0x10);\n    }\n    else {\n      iVar9 = (**(code **)(*(long *)local_b8._0_8_ + 0x48))();\n    }\n    bVar17 = false;\n    if (iVar9 == -1) {\n      auVar18._4_8_ = 0;\n      auVar18._0_4_ = local_b8._8_4_;\n      local_b8 = auVar18 << 0x40;\n      bVar17 = bVar5;\n    }\n  }" { (if_statement "if (*(int **)(local_b8._0_8_ + 0x10) < *(int **)(local_b8._0_8_ + 0x18)) {\n      iVar9 = **(int **)(local_b8._0_8_ + 0x10);\n    }\n    else {\n      iVar9 = (**(code **)(*(long *)local_b8._0_8_ + 0x48))();\n    }" if (parenthesized_expression "(*(int **)(local_b8._0_8_ + 0x10) < *(int **)(local_b8._0_8_ + 0x18))" ( (binary_expression "*(int **)(local_b8._0_8_ + 0x10) < *(int **)(local_b8._0_8_ + 0x18)" (pointer_expression "*(int **)(local_b8._0_8_ + 0x10)" * (cast_expression "(int **)(local_b8._0_8_ + 0x10)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(local_b8._0_8_ + 0x10)" ( (binary_expression "local_b8._0_8_ + 0x10" (field_expression "local_b8._0_8_" identifier . field_identifier) + number_literal) )))) < (pointer_expression "*(int **)(local_b8._0_8_ + 0x18)" * (cast_expression "(int **)(local_b8._0_8_ + 0x18)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(local_b8._0_8_ + 0x18)" ( (binary_expression "local_b8._0_8_ + 0x18" (field_expression "local_b8._0_8_" identifier . field_identifier) + number_literal) ))))) )) (compound_statement "{\n      iVar9 = **(int **)(local_b8._0_8_ + 0x10);\n    }" { (expression_statement "iVar9 = **(int **)(local_b8._0_8_ + 0x10);" (assignment_expression "iVar9 = **(int **)(local_b8._0_8_ + 0x10)" identifier = (pointer_expression "**(int **)(local_b8._0_8_ + 0x10)" * (pointer_expression "*(int **)(local_b8._0_8_ + 0x10)" * (cast_expression "(int **)(local_b8._0_8_ + 0x10)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(local_b8._0_8_ + 0x10)" ( (binary_expression "local_b8._0_8_ + 0x10" (field_expression "local_b8._0_8_" identifier . field_identifier) + number_literal) )))))) ;) }) (else_clause "else {\n      iVar9 = (**(code **)(*(long *)local_b8._0_8_ + 0x48))();\n    }" else (compound_statement "{\n      iVar9 = (**(code **)(*(long *)local_b8._0_8_ + 0x48))();\n    }" { (expression_statement "iVar9 = (**(code **)(*(long *)local_b8._0_8_ + 0x48))();" (assignment_expression "iVar9 = (**(code **)(*(long *)local_b8._0_8_ + 0x48))()" identifier = (call_expression "(**(code **)(*(long *)local_b8._0_8_ + 0x48))()" (parenthesized_expression "(**(code **)(*(long *)local_b8._0_8_ + 0x48))" ( (pointer_expression "**(code **)(*(long *)local_b8._0_8_ + 0x48)" * (pointer_expression "*(code **)(*(long *)local_b8._0_8_ + 0x48)" * (cast_expression "(code **)(*(long *)local_b8._0_8_ + 0x48)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(long *)local_b8._0_8_ + 0x48)" ( (binary_expression "*(long *)local_b8._0_8_ + 0x48" (pointer_expression "*(long *)local_b8._0_8_" * (cast_expression "(long *)local_b8._0_8_" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (field_expression "local_b8._0_8_" identifier . field_identifier))) + number_literal) ))))) )) (argument_list "()" ( )))) ;) }))) (expression_statement "bVar17 = false;" (assignment_expression "bVar17 = false" identifier = false) ;) (if_statement "if (iVar9 == -1) {\n      auVar18._4_8_ = 0;\n      auVar18._0_4_ = local_b8._8_4_;\n      local_b8 = auVar18 << 0x40;\n      bVar17 = bVar5;\n    }" if (parenthesized_expression "(iVar9 == -1)" ( (binary_expression "iVar9 == -1" identifier == number_literal) )) (compound_statement "{\n      auVar18._4_8_ = 0;\n      auVar18._0_4_ = local_b8._8_4_;\n      local_b8 = auVar18 << 0x40;\n      bVar17 = bVar5;\n    }" { (expression_statement "auVar18._4_8_ = 0;" (assignment_expression "auVar18._4_8_ = 0" (field_expression "auVar18._4_8_" identifier . field_identifier) = number_literal) ;) (expression_statement "auVar18._0_4_ = local_b8._8_4_;" (assignment_expression "auVar18._0_4_ = local_b8._8_4_" (field_expression "auVar18._0_4_" identifier . field_identifier) = (field_expression "local_b8._8_4_" identifier . field_identifier)) ;) (expression_statement "local_b8 = auVar18 << 0x40;" (assignment_expression "local_b8 = auVar18 << 0x40" identifier = (binary_expression "auVar18 << 0x40" identifier << number_literal)) ;) (expression_statement "bVar17 = bVar5;" (assignment_expression "bVar17 = bVar5" identifier = identifier) ;) })) })) (expression_statement "bVar16 = (int)local_c0 == -1;" (assignment_expression "bVar16 = (int)local_c0 == -1" identifier = (binary_expression "(int)local_c0 == -1" (cast_expression "(int)local_c0" ( (type_descriptor "int" primitive_type) ) identifier) == number_literal)) ;) (expression_statement "bVar5 = local_c8 != (long *)0x0 && bVar16;" (assignment_expression "bVar5 = local_c8 != (long *)0x0 && bVar16" identifier = (binary_expression "local_c8 != (long *)0x0 && bVar16" (binary_expression "local_c8 != (long *)0x0" identifier != (cast_expression "(long *)0x0" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) number_literal)) && identifier)) ;) (if_statement "if (bVar5) {\n    if ((int *)local_c8[2] < (int *)local_c8[3]) {\n      iVar9 = *(int *)local_c8[2];\n    }\n    else {\n      iVar9 = (**(code **)(*local_c8 + 0x48))();\n    }\n    bVar16 = false;\n    if (iVar9 != -1) goto LAB_00358070;\n    local_c8 = (long *)0x0;\n    if (bVar17 != bVar5) goto LAB_00358080;\nLAB_00358188:\n    if ((uVar15 == sVar13) && (local_a0 == 0)) goto LAB_0035819e;\nLAB_00358193:\n    *param_7 = *param_7 | 4;\nLAB_0035819e:\n    auVar3._12_4_ = uStack_ac;\n    auVar3._0_12_ = local_b8;\n    return auVar3;\n  }" if (parenthesized_expression "(bVar5)" ( identifier )) (compound_statement "{\n    if ((int *)local_c8[2] < (int *)local_c8[3]) {\n      iVar9 = *(int *)local_c8[2];\n    }\n    else {\n      iVar9 = (**(code **)(*local_c8 + 0x48))();\n    }\n    bVar16 = false;\n    if (iVar9 != -1) goto LAB_00358070;\n    local_c8 = (long *)0x0;\n    if (bVar17 != bVar5) goto LAB_00358080;\nLAB_00358188:\n    if ((uVar15 == sVar13) && (local_a0 == 0)) goto LAB_0035819e;\nLAB_00358193:\n    *param_7 = *param_7 | 4;\nLAB_0035819e:\n    auVar3._12_4_ = uStack_ac;\n    auVar3._0_12_ = local_b8;\n    return auVar3;\n  }" { (if_statement "if ((int *)local_c8[2] < (int *)local_c8[3]) {\n      iVar9 = *(int *)local_c8[2];\n    }\n    else {\n      iVar9 = (**(code **)(*local_c8 + 0x48))();\n    }" if (parenthesized_expression "((int *)local_c8[2] < (int *)local_c8[3])" ( (binary_expression "(int *)local_c8[2] < (int *)local_c8[3]" (cast_expression "(int *)local_c8[2]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "local_c8[2]" identifier [ number_literal ])) < (cast_expression "(int *)local_c8[3]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "local_c8[3]" identifier [ number_literal ]))) )) (compound_statement "{\n      iVar9 = *(int *)local_c8[2];\n    }" { (expression_statement "iVar9 = *(int *)local_c8[2];" (assignment_expression "iVar9 = *(int *)local_c8[2]" identifier = (pointer_expression "*(int *)local_c8[2]" * (cast_expression "(int *)local_c8[2]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "local_c8[2]" identifier [ number_literal ])))) ;) }) (else_clause "else {\n      iVar9 = (**(code **)(*local_c8 + 0x48))();\n    }" else (compound_statement "{\n      iVar9 = (**(code **)(*local_c8 + 0x48))();\n    }" { (expression_statement "iVar9 = (**(code **)(*local_c8 + 0x48))();" (assignment_expression "iVar9 = (**(code **)(*local_c8 + 0x48))()" identifier = (call_expression "(**(code **)(*local_c8 + 0x48))()" (parenthesized_expression "(**(code **)(*local_c8 + 0x48))" ( (pointer_expression "**(code **)(*local_c8 + 0x48)" * (pointer_expression "*(code **)(*local_c8 + 0x48)" * (cast_expression "(code **)(*local_c8 + 0x48)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*local_c8 + 0x48)" ( (binary_expression "*local_c8 + 0x48" (pointer_expression "*local_c8" * identifier) + number_literal) ))))) )) (argument_list "()" ( )))) ;) }))) (expression_statement "bVar16 = false;" (assignment_expression "bVar16 = false" identifier = false) ;) (if_statement "if (iVar9 != -1) goto LAB_00358070;" if (parenthesized_expression "(iVar9 != -1)" ( (binary_expression "iVar9 != -1" identifier != number_literal) )) (goto_statement "goto LAB_00358070;" goto statement_identifier ;)) (expression_statement "local_c8 = (long *)0x0;" (assignment_expression "local_c8 = (long *)0x0" identifier = (cast_expression "(long *)0x0" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if (bVar17 != bVar5) goto LAB_00358080;" if (parenthesized_expression "(bVar17 != bVar5)" ( (binary_expression "bVar17 != bVar5" identifier != identifier) )) (goto_statement "goto LAB_00358080;" goto statement_identifier ;)) (labeled_statement "LAB_00358188:\n    if ((uVar15 == sVar13) && (local_a0 == 0)) goto LAB_0035819e;" statement_identifier : (if_statement "if ((uVar15 == sVar13) && (local_a0 == 0)) goto LAB_0035819e;" if (parenthesized_expression "((uVar15 == sVar13) && (local_a0 == 0))" ( (binary_expression "(uVar15 == sVar13) && (local_a0 == 0)" (parenthesized_expression "(uVar15 == sVar13)" ( (binary_expression "uVar15 == sVar13" identifier == identifier) )) && (parenthesized_expression "(local_a0 == 0)" ( (binary_expression "local_a0 == 0" identifier == number_literal) ))) )) (goto_statement "goto LAB_0035819e;" goto statement_identifier ;))) (labeled_statement "LAB_00358193:\n    *param_7 = *param_7 | 4;" statement_identifier : (expression_statement "*param_7 = *param_7 | 4;" (assignment_expression "*param_7 = *param_7 | 4" (pointer_expression "*param_7" * identifier) = (binary_expression "*param_7 | 4" (pointer_expression "*param_7" * identifier) | number_literal)) ;)) (labeled_statement "LAB_0035819e:\n    auVar3._12_4_ = uStack_ac;" statement_identifier : (expression_statement "auVar3._12_4_ = uStack_ac;" (assignment_expression "auVar3._12_4_ = uStack_ac" (field_expression "auVar3._12_4_" identifier . field_identifier) = identifier) ;)) (expression_statement "auVar3._0_12_ = local_b8;" (assignment_expression "auVar3._0_12_ = local_b8" (field_expression "auVar3._0_12_" identifier . field_identifier) = identifier) ;) (return_statement "return auVar3;" return identifier ;) })) (labeled_statement "LAB_00358070:\n  if (bVar17 == bVar16) goto LAB_00358188;" statement_identifier : (if_statement "if (bVar17 == bVar16) goto LAB_00358188;" if (parenthesized_expression "(bVar17 == bVar16)" ( (binary_expression "bVar17 == bVar16" identifier == identifier) )) (goto_statement "goto LAB_00358188;" goto statement_identifier ;))) (labeled_statement "LAB_00358080:\n  if (sVar13 <= uVar15) goto LAB_00358188;" statement_identifier : (if_statement "if (sVar13 <= uVar15) goto LAB_00358188;" if (parenthesized_expression "(sVar13 <= uVar15)" ( (binary_expression "sVar13 <= uVar15" identifier <= identifier) )) (goto_statement "goto LAB_00358188;" goto statement_identifier ;))) (if_statement "if (local_a0 != 0) goto LAB_00358193;" if (parenthesized_expression "(local_a0 != 0)" ( (binary_expression "local_a0 != 0" identifier != number_literal) )) (goto_statement "goto LAB_00358193;" goto statement_identifier ;)) (expression_statement "uVar14 = uVar15 + 1;" (assignment_expression "uVar14 = uVar15 + 1" identifier = (binary_expression "uVar15 + 1" identifier + number_literal)) ;) (expression_statement "cVar6 = (**(code **)(*plVar12 + 0x60))(plVar12,param_9[uVar15],0);" (assignment_expression "cVar6 = (**(code **)(*plVar12 + 0x60))(plVar12,param_9[uVar15],0)" identifier = (call_expression "(**(code **)(*plVar12 + 0x60))(plVar12,param_9[uVar15],0)" (parenthesized_expression "(**(code **)(*plVar12 + 0x60))" ( (pointer_expression "**(code **)(*plVar12 + 0x60)" * (pointer_expression "*(code **)(*plVar12 + 0x60)" * (cast_expression "(code **)(*plVar12 + 0x60)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*plVar12 + 0x60)" ( (binary_expression "*plVar12 + 0x60" (pointer_expression "*plVar12" * identifier) + number_literal) ))))) )) (argument_list "(plVar12,param_9[uVar15],0)" ( identifier , (subscript_expression "param_9[uVar15]" identifier [ identifier ]) , number_literal )))) ;) (if_statement "if (cVar6 != '%') {\n    wVar1 = param_9[uVar15];\n    auVar4 = local_b8;\n    uVar15 = uVar14;\n    if ((local_b8._8_4_ == L'\xffffffff') && ((long *)local_b8._0_8_ != (long *)0x0)) {\n      if (*(wchar_t **)(local_b8._0_8_ + 0x10) < *(wchar_t **)(local_b8._0_8_ + 0x18)) {\n        wVar10 = **(wchar_t **)(local_b8._0_8_ + 0x10);\n      }\n      else {\n        wVar10 = (**(code **)(*(long *)local_b8._0_8_ + 0x48))();\n        auVar4 = local_b8;\n      }\n      local_b8._8_4_ = auVar4._8_4_;\n      if (wVar10 == L'\xffffffff') {\n        auVar4._4_8_ = 0;\n        auVar4._0_4_ = local_b8._8_4_;\n        auVar4 = auVar4 << 0x40;\n        local_b8._8_4_ = L'\xffffffff';\n        goto LAB_00358121;\n      }\n      local_b8 = auVar4;\n      if (wVar1 == wVar10) goto LAB_00358290;\nLAB_0035812a:\n      local_a0 = local_a0 | 4;\n    }\n    else {\nLAB_00358121:\n      bVar17 = wVar1 != local_b8._8_4_;\n      local_b8 = auVar4;\n      if (bVar17) goto LAB_0035812a;\nLAB_00358290:\n      local_b8._0_8_ = auVar4._0_8_;\n      if (*(ulong *)(local_b8._0_8_ + 0x10) < *(ulong *)(local_b8._0_8_ + 0x18)) {\n        *(ulong *)(local_b8._0_8_ + 0x10) = *(ulong *)(local_b8._0_8_ + 0x10) + 4;\n      }\n      else {\n        lVar2 = *(long *)local_b8._0_8_;\n        local_b8 = auVar4;\n        (**(code **)(lVar2 + 0x50))();\n      }\n      local_b8._8_4_ = 0xffffffff;\n    }\n    goto LAB_00358033;\n  }" if (parenthesized_expression "(cVar6 != '%')" ( (binary_expression "cVar6 != '%'" identifier != (char_literal "'%'" ' character ')) )) (compound_statement "{\n    wVar1 = param_9[uVar15];\n    auVar4 = local_b8;\n    uVar15 = uVar14;\n    if ((local_b8._8_4_ == L'\xffffffff') && ((long *)local_b8._0_8_ != (long *)0x0)) {\n      if (*(wchar_t **)(local_b8._0_8_ + 0x10) < *(wchar_t **)(local_b8._0_8_ + 0x18)) {\n        wVar10 = **(wchar_t **)(local_b8._0_8_ + 0x10);\n      }\n      else {\n        wVar10 = (**(code **)(*(long *)local_b8._0_8_ + 0x48))();\n        auVar4 = local_b8;\n      }\n      local_b8._8_4_ = auVar4._8_4_;\n      if (wVar10 == L'\xffffffff') {\n        auVar4._4_8_ = 0;\n        auVar4._0_4_ = local_b8._8_4_;\n        auVar4 = auVar4 << 0x40;\n        local_b8._8_4_ = L'\xffffffff';\n        goto LAB_00358121;\n      }\n      local_b8 = auVar4;\n      if (wVar1 == wVar10) goto LAB_00358290;\nLAB_0035812a:\n      local_a0 = local_a0 | 4;\n    }\n    else {\nLAB_00358121:\n      bVar17 = wVar1 != local_b8._8_4_;\n      local_b8 = auVar4;\n      if (bVar17) goto LAB_0035812a;\nLAB_00358290:\n      local_b8._0_8_ = auVar4._0_8_;\n      if (*(ulong *)(local_b8._0_8_ + 0x10) < *(ulong *)(local_b8._0_8_ + 0x18)) {\n        *(ulong *)(local_b8._0_8_ + 0x10) = *(ulong *)(local_b8._0_8_ + 0x10) + 4;\n      }\n      else {\n        lVar2 = *(long *)local_b8._0_8_;\n        local_b8 = auVar4;\n        (**(code **)(lVar2 + 0x50))();\n      }\n      local_b8._8_4_ = 0xffffffff;\n    }\n    goto LAB_00358033;\n  }" { (expression_statement "wVar1 = param_9[uVar15];" (assignment_expression "wVar1 = param_9[uVar15]" identifier = (subscript_expression "param_9[uVar15]" identifier [ identifier ])) ;) (expression_statement "auVar4 = local_b8;" (assignment_expression "auVar4 = local_b8" identifier = identifier) ;) (expression_statement "uVar15 = uVar14;" (assignment_expression "uVar15 = uVar14" identifier = identifier) ;) (if_statement "if ((local_b8._8_4_ == L'\xffffffff') && ((long *)local_b8._0_8_ != (long *)0x0)) {\n      if (*(wchar_t **)(local_b8._0_8_ + 0x10) < *(wchar_t **)(local_b8._0_8_ + 0x18)) {\n        wVar10 = **(wchar_t **)(local_b8._0_8_ + 0x10);\n      }\n      else {\n        wVar10 = (**(code **)(*(long *)local_b8._0_8_ + 0x48))();\n        auVar4 = local_b8;\n      }\n      local_b8._8_4_ = auVar4._8_4_;\n      if (wVar10 == L'\xffffffff') {\n        auVar4._4_8_ = 0;\n        auVar4._0_4_ = local_b8._8_4_;\n        auVar4 = auVar4 << 0x40;\n        local_b8._8_4_ = L'\xffffffff';\n        goto LAB_00358121;\n      }\n      local_b8 = auVar4;\n      if (wVar1 == wVar10) goto LAB_00358290;\nLAB_0035812a:\n      local_a0 = local_a0 | 4;\n    }\n    else {\nLAB_00358121:\n      bVar17 = wVar1 != local_b8._8_4_;\n      local_b8 = auVar4;\n      if (bVar17) goto LAB_0035812a;\nLAB_00358290:\n      local_b8._0_8_ = auVar4._0_8_;\n      if (*(ulong *)(local_b8._0_8_ + 0x10) < *(ulong *)(local_b8._0_8_ + 0x18)) {\n        *(ulong *)(local_b8._0_8_ + 0x10) = *(ulong *)(local_b8._0_8_ + 0x10) + 4;\n      }\n      else {\n        lVar2 = *(long *)local_b8._0_8_;\n        local_b8 = auVar4;\n        (**(code **)(lVar2 + 0x50))();\n      }\n      local_b8._8_4_ = 0xffffffff;\n    }" if (parenthesized_expression "((local_b8._8_4_ == L'\xffffffff') && ((long *)local_b8._0_8_ != (long *)0x0))" ( (binary_expression "(local_b8._8_4_ == L'\xffffffff') && ((long *)local_b8._0_8_ != (long *)0x0)" (parenthesized_expression "(local_b8._8_4_ == L'\xffffffff')" ( (binary_expression "local_b8._8_4_ == L'\xffffffff'" (field_expression "local_b8._8_4_" identifier . field_identifier) == (char_literal "L'\xffffffff'" L' escape_sequence character character character character ')) )) && (parenthesized_expression "((long *)local_b8._0_8_ != (long *)0x0)" ( (binary_expression "(long *)local_b8._0_8_ != (long *)0x0" (cast_expression "(long *)local_b8._0_8_" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (field_expression "local_b8._0_8_" identifier . field_identifier)) != (cast_expression "(long *)0x0" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) number_literal)) ))) )) (compound_statement "{\n      if (*(wchar_t **)(local_b8._0_8_ + 0x10) < *(wchar_t **)(local_b8._0_8_ + 0x18)) {\n        wVar10 = **(wchar_t **)(local_b8._0_8_ + 0x10);\n      }\n      else {\n        wVar10 = (**(code **)(*(long *)local_b8._0_8_ + 0x48))();\n        auVar4 = local_b8;\n      }\n      local_b8._8_4_ = auVar4._8_4_;\n      if (wVar10 == L'\xffffffff') {\n        auVar4._4_8_ = 0;\n        auVar4._0_4_ = local_b8._8_4_;\n        auVar4 = auVar4 << 0x40;\n        local_b8._8_4_ = L'\xffffffff';\n        goto LAB_00358121;\n      }\n      local_b8 = auVar4;\n      if (wVar1 == wVar10) goto LAB_00358290;\nLAB_0035812a:\n      local_a0 = local_a0 | 4;\n    }" { (if_statement "if (*(wchar_t **)(local_b8._0_8_ + 0x10) < *(wchar_t **)(local_b8._0_8_ + 0x18)) {\n        wVar10 = **(wchar_t **)(local_b8._0_8_ + 0x10);\n      }\n      else {\n        wVar10 = (**(code **)(*(long *)local_b8._0_8_ + 0x48))();\n        auVar4 = local_b8;\n      }" if (parenthesized_expression "(*(wchar_t **)(local_b8._0_8_ + 0x10) < *(wchar_t **)(local_b8._0_8_ + 0x18))" ( (binary_expression "*(wchar_t **)(local_b8._0_8_ + 0x10) < *(wchar_t **)(local_b8._0_8_ + 0x18)" (pointer_expression "*(wchar_t **)(local_b8._0_8_ + 0x10)" * (cast_expression "(wchar_t **)(local_b8._0_8_ + 0x10)" ( (type_descriptor "wchar_t **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(local_b8._0_8_ + 0x10)" ( (binary_expression "local_b8._0_8_ + 0x10" (field_expression "local_b8._0_8_" identifier . field_identifier) + number_literal) )))) < (pointer_expression "*(wchar_t **)(local_b8._0_8_ + 0x18)" * (cast_expression "(wchar_t **)(local_b8._0_8_ + 0x18)" ( (type_descriptor "wchar_t **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(local_b8._0_8_ + 0x18)" ( (binary_expression "local_b8._0_8_ + 0x18" (field_expression "local_b8._0_8_" identifier . field_identifier) + number_literal) ))))) )) (compound_statement "{\n        wVar10 = **(wchar_t **)(local_b8._0_8_ + 0x10);\n      }" { (expression_statement "wVar10 = **(wchar_t **)(local_b8._0_8_ + 0x10);" (assignment_expression "wVar10 = **(wchar_t **)(local_b8._0_8_ + 0x10)" identifier = (pointer_expression "**(wchar_t **)(local_b8._0_8_ + 0x10)" * (pointer_expression "*(wchar_t **)(local_b8._0_8_ + 0x10)" * (cast_expression "(wchar_t **)(local_b8._0_8_ + 0x10)" ( (type_descriptor "wchar_t **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(local_b8._0_8_ + 0x10)" ( (binary_expression "local_b8._0_8_ + 0x10" (field_expression "local_b8._0_8_" identifier . field_identifier) + number_literal) )))))) ;) }) (else_clause "else {\n        wVar10 = (**(code **)(*(long *)local_b8._0_8_ + 0x48))();\n        auVar4 = local_b8;\n      }" else (compound_statement "{\n        wVar10 = (**(code **)(*(long *)local_b8._0_8_ + 0x48))();\n        auVar4 = local_b8;\n      }" { (expression_statement "wVar10 = (**(code **)(*(long *)local_b8._0_8_ + 0x48))();" (assignment_expression "wVar10 = (**(code **)(*(long *)local_b8._0_8_ + 0x48))()" identifier = (call_expression "(**(code **)(*(long *)local_b8._0_8_ + 0x48))()" (parenthesized_expression "(**(code **)(*(long *)local_b8._0_8_ + 0x48))" ( (pointer_expression "**(code **)(*(long *)local_b8._0_8_ + 0x48)" * (pointer_expression "*(code **)(*(long *)local_b8._0_8_ + 0x48)" * (cast_expression "(code **)(*(long *)local_b8._0_8_ + 0x48)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(long *)local_b8._0_8_ + 0x48)" ( (binary_expression "*(long *)local_b8._0_8_ + 0x48" (pointer_expression "*(long *)local_b8._0_8_" * (cast_expression "(long *)local_b8._0_8_" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (field_expression "local_b8._0_8_" identifier . field_identifier))) + number_literal) ))))) )) (argument_list "()" ( )))) ;) (expression_statement "auVar4 = local_b8;" (assignment_expression "auVar4 = local_b8" identifier = identifier) ;) }))) (expression_statement "local_b8._8_4_ = auVar4._8_4_;" (assignment_expression "local_b8._8_4_ = auVar4._8_4_" (field_expression "local_b8._8_4_" identifier . field_identifier) = (field_expression "auVar4._8_4_" identifier . field_identifier)) ;) (if_statement "if (wVar10 == L'\xffffffff') {\n        auVar4._4_8_ = 0;\n        auVar4._0_4_ = local_b8._8_4_;\n        auVar4 = auVar4 << 0x40;\n        local_b8._8_4_ = L'\xffffffff';\n        goto LAB_00358121;\n      }" if (parenthesized_expression "(wVar10 == L'\xffffffff')" ( (binary_expression "wVar10 == L'\xffffffff'" identifier == (char_literal "L'\xffffffff'" L' escape_sequence character character character character ')) )) (compound_statement "{\n        auVar4._4_8_ = 0;\n        auVar4._0_4_ = local_b8._8_4_;\n        auVar4 = auVar4 << 0x40;\n        local_b8._8_4_ = L'\xffffffff';\n        goto LAB_00358121;\n      }" { (expression_statement "auVar4._4_8_ = 0;" (assignment_expression "auVar4._4_8_ = 0" (field_expression "auVar4._4_8_" identifier . field_identifier) = number_literal) ;) (expression_statement "auVar4._0_4_ = local_b8._8_4_;" (assignment_expression "auVar4._0_4_ = local_b8._8_4_" (field_expression "auVar4._0_4_" identifier . field_identifier) = (field_expression "local_b8._8_4_" identifier . field_identifier)) ;) (expression_statement "auVar4 = auVar4 << 0x40;" (assignment_expression "auVar4 = auVar4 << 0x40" identifier = (binary_expression "auVar4 << 0x40" identifier << number_literal)) ;) (expression_statement "local_b8._8_4_ = L'\xffffffff';" (assignment_expression "local_b8._8_4_ = L'\xffffffff'" (field_expression "local_b8._8_4_" identifier . field_identifier) = (char_literal "L'\xffffffff'" L' escape_sequence character character character character ')) ;) (goto_statement "goto LAB_00358121;" goto statement_identifier ;) })) (expression_statement "local_b8 = auVar4;" (assignment_expression "local_b8 = auVar4" identifier = identifier) ;) (if_statement "if (wVar1 == wVar10) goto LAB_00358290;" if (parenthesized_expression "(wVar1 == wVar10)" ( (binary_expression "wVar1 == wVar10" identifier == identifier) )) (goto_statement "goto LAB_00358290;" goto statement_identifier ;)) (labeled_statement "LAB_0035812a:\n      local_a0 = local_a0 | 4;" statement_identifier : (expression_statement "local_a0 = local_a0 | 4;" (assignment_expression "local_a0 = local_a0 | 4" identifier = (binary_expression "local_a0 | 4" identifier | number_literal)) ;)) }) (else_clause "else {\nLAB_00358121:\n      bVar17 = wVar1 != local_b8._8_4_;\n      local_b8 = auVar4;\n      if (bVar17) goto LAB_0035812a;\nLAB_00358290:\n      local_b8._0_8_ = auVar4._0_8_;\n      if (*(ulong *)(local_b8._0_8_ + 0x10) < *(ulong *)(local_b8._0_8_ + 0x18)) {\n        *(ulong *)(local_b8._0_8_ + 0x10) = *(ulong *)(local_b8._0_8_ + 0x10) + 4;\n      }\n      else {\n        lVar2 = *(long *)local_b8._0_8_;\n        local_b8 = auVar4;\n        (**(code **)(lVar2 + 0x50))();\n      }\n      local_b8._8_4_ = 0xffffffff;\n    }" else (compound_statement "{\nLAB_00358121:\n      bVar17 = wVar1 != local_b8._8_4_;\n      local_b8 = auVar4;\n      if (bVar17) goto LAB_0035812a;\nLAB_00358290:\n      local_b8._0_8_ = auVar4._0_8_;\n      if (*(ulong *)(local_b8._0_8_ + 0x10) < *(ulong *)(local_b8._0_8_ + 0x18)) {\n        *(ulong *)(local_b8._0_8_ + 0x10) = *(ulong *)(local_b8._0_8_ + 0x10) + 4;\n      }\n      else {\n        lVar2 = *(long *)local_b8._0_8_;\n        local_b8 = auVar4;\n        (**(code **)(lVar2 + 0x50))();\n      }\n      local_b8._8_4_ = 0xffffffff;\n    }" { (labeled_statement "LAB_00358121:\n      bVar17 = wVar1 != local_b8._8_4_;" statement_identifier : (expression_statement "bVar17 = wVar1 != local_b8._8_4_;" (assignment_expression "bVar17 = wVar1 != local_b8._8_4_" identifier = (binary_expression "wVar1 != local_b8._8_4_" identifier != (field_expression "local_b8._8_4_" identifier . field_identifier))) ;)) (expression_statement "local_b8 = auVar4;" (assignment_expression "local_b8 = auVar4" identifier = identifier) ;) (if_statement "if (bVar17) goto LAB_0035812a;" if (parenthesized_expression "(bVar17)" ( identifier )) (goto_statement "goto LAB_0035812a;" goto statement_identifier ;)) (labeled_statement "LAB_00358290:\n      local_b8._0_8_ = auVar4._0_8_;" statement_identifier : (expression_statement "local_b8._0_8_ = auVar4._0_8_;" (assignment_expression "local_b8._0_8_ = auVar4._0_8_" (field_expression "local_b8._0_8_" identifier . field_identifier) = (field_expression "auVar4._0_8_" identifier . field_identifier)) ;)) (if_statement "if (*(ulong *)(local_b8._0_8_ + 0x10) < *(ulong *)(local_b8._0_8_ + 0x18)) {\n        *(ulong *)(local_b8._0_8_ + 0x10) = *(ulong *)(local_b8._0_8_ + 0x10) + 4;\n      }\n      else {\n        lVar2 = *(long *)local_b8._0_8_;\n        local_b8 = auVar4;\n        (**(code **)(lVar2 + 0x50))();\n      }" if (parenthesized_expression "(*(ulong *)(local_b8._0_8_ + 0x10) < *(ulong *)(local_b8._0_8_ + 0x18))" ( (binary_expression "*(ulong *)(local_b8._0_8_ + 0x10) < *(ulong *)(local_b8._0_8_ + 0x18)" (pointer_expression "*(ulong *)(local_b8._0_8_ + 0x10)" * (cast_expression "(ulong *)(local_b8._0_8_ + 0x10)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_b8._0_8_ + 0x10)" ( (binary_expression "local_b8._0_8_ + 0x10" (field_expression "local_b8._0_8_" identifier . field_identifier) + number_literal) )))) < (pointer_expression "*(ulong *)(local_b8._0_8_ + 0x18)" * (cast_expression "(ulong *)(local_b8._0_8_ + 0x18)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_b8._0_8_ + 0x18)" ( (binary_expression "local_b8._0_8_ + 0x18" (field_expression "local_b8._0_8_" identifier . field_identifier) + number_literal) ))))) )) (compound_statement "{\n        *(ulong *)(local_b8._0_8_ + 0x10) = *(ulong *)(local_b8._0_8_ + 0x10) + 4;\n      }" { (expression_statement "*(ulong *)(local_b8._0_8_ + 0x10) = *(ulong *)(local_b8._0_8_ + 0x10) + 4;" (assignment_expression "*(ulong *)(local_b8._0_8_ + 0x10) = *(ulong *)(local_b8._0_8_ + 0x10) + 4" (pointer_expression "*(ulong *)(local_b8._0_8_ + 0x10)" * (cast_expression "(ulong *)(local_b8._0_8_ + 0x10)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_b8._0_8_ + 0x10)" ( (binary_expression "local_b8._0_8_ + 0x10" (field_expression "local_b8._0_8_" identifier . field_identifier) + number_literal) )))) = (binary_expression "*(ulong *)(local_b8._0_8_ + 0x10) + 4" (pointer_expression "*(ulong *)(local_b8._0_8_ + 0x10)" * (cast_expression "(ulong *)(local_b8._0_8_ + 0x10)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_b8._0_8_ + 0x10)" ( (binary_expression "local_b8._0_8_ + 0x10" (field_expression "local_b8._0_8_" identifier . field_identifier) + number_literal) )))) + number_literal)) ;) }) (else_clause "else {\n        lVar2 = *(long *)local_b8._0_8_;\n        local_b8 = auVar4;\n        (**(code **)(lVar2 + 0x50))();\n      }" else (compound_statement "{\n        lVar2 = *(long *)local_b8._0_8_;\n        local_b8 = auVar4;\n        (**(code **)(lVar2 + 0x50))();\n      }" { (expression_statement "lVar2 = *(long *)local_b8._0_8_;" (assignment_expression "lVar2 = *(long *)local_b8._0_8_" identifier = (pointer_expression "*(long *)local_b8._0_8_" * (cast_expression "(long *)local_b8._0_8_" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (field_expression "local_b8._0_8_" identifier . field_identifier)))) ;) (expression_statement "local_b8 = auVar4;" (assignment_expression "local_b8 = auVar4" identifier = identifier) ;) (expression_statement "(**(code **)(lVar2 + 0x50))();" (call_expression "(**(code **)(lVar2 + 0x50))()" (parenthesized_expression "(**(code **)(lVar2 + 0x50))" ( (pointer_expression "**(code **)(lVar2 + 0x50)" * (pointer_expression "*(code **)(lVar2 + 0x50)" * (cast_expression "(code **)(lVar2 + 0x50)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(lVar2 + 0x50)" ( (binary_expression "lVar2 + 0x50" identifier + number_literal) ))))) )) (argument_list "()" ( ))) ;) }))) (expression_statement "local_b8._8_4_ = 0xffffffff;" (assignment_expression "local_b8._8_4_ = 0xffffffff" (field_expression "local_b8._8_4_" identifier . field_identifier) = number_literal) ;) }))) (goto_statement "goto LAB_00358033;" goto statement_identifier ;) })) (expression_statement "cVar6 = (**(code **)(*plVar12 + 0x60))(plVar12,param_9[uVar15 + 1],0);" (assignment_expression "cVar6 = (**(code **)(*plVar12 + 0x60))(plVar12,param_9[uVar15 + 1],0)" identifier = (call_expression "(**(code **)(*plVar12 + 0x60))(plVar12,param_9[uVar15 + 1],0)" (parenthesized_expression "(**(code **)(*plVar12 + 0x60))" ( (pointer_expression "**(code **)(*plVar12 + 0x60)" * (pointer_expression "*(code **)(*plVar12 + 0x60)" * (cast_expression "(code **)(*plVar12 + 0x60)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*plVar12 + 0x60)" ( (binary_expression "*plVar12 + 0x60" (pointer_expression "*plVar12" * identifier) + number_literal) ))))) )) (argument_list "(plVar12,param_9[uVar15 + 1],0)" ( identifier , (subscript_expression "param_9[uVar15 + 1]" identifier [ (binary_expression "uVar15 + 1" identifier + number_literal) ]) , number_literal )))) ;) (expression_statement "local_9c = 0;" (assignment_expression "local_9c = 0" identifier = number_literal) ;) (if_statement "if ((cVar6 == 'E') || (cVar6 == 'O')) {\n    uVar14 = uVar15 + 2;\n    cVar6 = (**(code **)(*plVar12 + 0x60))(plVar12,param_9[uVar15 + 2],0);\n  }" if (parenthesized_expression "((cVar6 == 'E') || (cVar6 == 'O'))" ( (binary_expression "(cVar6 == 'E') || (cVar6 == 'O')" (parenthesized_expression "(cVar6 == 'E')" ( (binary_expression "cVar6 == 'E'" identifier == (char_literal "'E'" ' character ')) )) || (parenthesized_expression "(cVar6 == 'O')" ( (binary_expression "cVar6 == 'O'" identifier == (char_literal "'O'" ' character ')) ))) )) (compound_statement "{\n    uVar14 = uVar15 + 2;\n    cVar6 = (**(code **)(*plVar12 + 0x60))(plVar12,param_9[uVar15 + 2],0);\n  }" { (expression_statement "uVar14 = uVar15 + 2;" (assignment_expression "uVar14 = uVar15 + 2" identifier = (binary_expression "uVar15 + 2" identifier + number_literal)) ;) (expression_statement "cVar6 = (**(code **)(*plVar12 + 0x60))(plVar12,param_9[uVar15 + 2],0);" (assignment_expression "cVar6 = (**(code **)(*plVar12 + 0x60))(plVar12,param_9[uVar15 + 2],0)" identifier = (call_expression "(**(code **)(*plVar12 + 0x60))(plVar12,param_9[uVar15 + 2],0)" (parenthesized_expression "(**(code **)(*plVar12 + 0x60))" ( (pointer_expression "**(code **)(*plVar12 + 0x60)" * (pointer_expression "*(code **)(*plVar12 + 0x60)" * (cast_expression "(code **)(*plVar12 + 0x60)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*plVar12 + 0x60)" ( (binary_expression "*plVar12 + 0x60" (pointer_expression "*plVar12" * identifier) + number_literal) ))))) )) (argument_list "(plVar12,param_9[uVar15 + 2],0)" ( identifier , (subscript_expression "param_9[uVar15 + 2]" identifier [ (binary_expression "uVar15 + 2" identifier + number_literal) ]) , number_literal )))) ;) })) (switch_statement "switch(cVar6) {\n  case 'A':\n    lVar2 = *(long *)(lVar11 + 0x10);\n    local_98 = *(undefined8 *)(lVar2 + 0x58);\n    local_90 = *(undefined8 *)(lVar2 + 0x60);\n    local_88 = *(undefined8 *)(lVar2 + 0x68);\n    local_80 = *(undefined8 *)(lVar2 + 0x70);\n    local_78 = *(undefined8 *)(lVar2 + 0x78);\n    local_70 = *(undefined8 *)(lVar2 + 0x80);\n    local_68 = *(undefined8 *)(lVar2 + 0x88);\n    auVar18 = FUN_00356440(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,&local_9c,&local_98,7,param_6,&local_a0);\n    goto joined_r0x003588cd;\n  case 'B':\n    lVar2 = *(long *)(lVar11 + 0x10);\n    local_98 = *(undefined8 *)(lVar2 + 200);\n    local_90 = *(undefined8 *)(lVar2 + 0xd0);\n    local_88 = *(undefined8 *)(lVar2 + 0xd8);\n    local_80 = *(undefined8 *)(lVar2 + 0xe0);\n    local_78 = *(undefined8 *)(lVar2 + 0xe8);\n    local_70 = *(undefined8 *)(lVar2 + 0xf0);\n    local_68 = *(undefined8 *)(lVar2 + 0xf8);\n    local_60 = *(undefined8 *)(lVar2 + 0x100);\n    local_58 = *(undefined8 *)(lVar2 + 0x108);\n    local_50 = *(undefined8 *)(lVar2 + 0x110);\n    local_48 = *(undefined8 *)(lVar2 + 0x118);\n    local_40 = *(undefined8 *)(lVar2 + 0x120);\n    auVar18 = FUN_00356440(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,&local_9c,&local_98,0xc,param_6,&local_a0);\n    goto joined_r0x00358a12;\n  case 'C':\n  case 'Y':\n  case 'y':\n    auVar18 = FUN_00355fc0(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,&local_9c,0,9999,4,param_6,&local_a0);\n    local_b8 = auVar18;\n    if (local_a0 == 0) {\n      iVar9 = local_9c + -0x76c;\n      if (local_9c < 0) {\n        iVar9 = local_9c + 100;\n      }\n      param_8[5] = iVar9;\n    }\n    break;\n  case 'D':\n    (**(code **)(*plVar12 + 0x58))(plVar12,"%m/%d/%y","%H:%M",&local_98);\n    auVar18 = FUN_00357f80(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,param_6,&local_a0,param_8,&local_98);\n    local_b8 = auVar18;\n    break;\n  default:\n    goto switchD_003580fd_caseD_45;\n  case 'H':\n    auVar18 = FUN_00355fc0(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,&local_9c,0,0x17,2,param_6,&local_a0);\n    goto joined_r0x003587d9;\n  case 'I':\n    auVar18 = FUN_00355fc0(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,&local_9c,1,0xc,2,param_6,&local_a0);\njoined_r0x003587d9:\n    local_b8 = auVar18;\n    if (local_a0 == 0) {\n      param_8[2] = local_9c;\n    }\n    break;\n  case 'M':\n    auVar18 = FUN_00355fc0(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,&local_9c,0,0x3b,2,param_6,&local_a0);\n    local_b8 = auVar18;\n    if (local_a0 == 0) {\n      param_8[1] = local_9c;\n    }\n    break;\n  case 'R':\n    (**(code **)(*plVar12 + 0x58))(plVar12,"%H:%M","%H:%M:%S",&local_98);\n    auVar18 = FUN_00357f80(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,param_6,&local_a0,param_8,&local_98);\n    local_b8 = auVar18;\n    break;\n  case 'S':\n    auVar18 = FUN_00355fc0(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,&local_9c,0,0x3c,2,param_6,&local_a0);\n    local_b8 = auVar18;\n    if (local_a0 == 0) {\n      *param_8 = local_9c;\n    }\n    break;\n  case 'T':\n    (**(code **)(*plVar12 + 0x58))(plVar12,"%H:%M:%S",&DAT_003aba16,&local_98);\n    auVar18 = FUN_00357f80(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,param_6,&local_a0,param_8,&local_98);\n    local_b8 = auVar18;\n    break;\n  case 'X':\n    auVar18 = FUN_00357f80(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,param_6,&local_a0,param_8,\n                           *(undefined8 *)(*(long *)(lVar11 + 0x10) + 0x20));\n    local_b8 = auVar18;\n    break;\n  case 'Z':\n    uVar8 = FUN_0034def0(local_b8,local_b8._8_4_);\n    cVar6 = (**(code **)(*plVar12 + 0x10))(plVar12,0x100,uVar8);\n    if (cVar6 == '\0') goto switchD_003580fd_caseD_45;\n    auVar18 = FUN_00356440(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,&local_98,PTR_PTR_DAT_0045bff0,0xe,param_6,&local_a0);\n    local_b8 = auVar18;\n    cVar6 = FUN_00343350(local_b8,&local_c8);\n    if ((cVar6 == '\0') && (local_a0 == 0 && (int)local_98 == 0)) {\n      iVar9 = FUN_0034def0(local_b8);\n      iVar7 = (**(code **)(*plVar12 + 0x50))(plVar12,0x2d);\n      if (iVar9 != iVar7) {\n        iVar9 = FUN_0034def0(local_b8,local_b8._8_4_);\n        iVar7 = (**(code **)(*plVar12 + 0x50))(plVar12,0x2b);\n        if (iVar9 != iVar7) break;\n      }\n      auVar18 = FUN_00355fc0(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                             local_c0,&local_98,0,0x17,2,param_6,&local_a0);\n      local_b8 = auVar18;\n      auVar18 = FUN_00355fc0(param_1,auVar18._0_8_,CONCAT44(uStack_ac,auVar18._8_4_),local_c8,\n                             local_c0,&local_98,0,0x3b,2,param_6,&local_a0);\n      local_b8 = auVar18;\n    }\n    break;\n  case 'a':\n    lVar2 = *(long *)(lVar11 + 0x10);\n    local_98 = *(undefined8 *)(lVar2 + 0x90);\n    local_90 = *(undefined8 *)(lVar2 + 0x98);\n    local_88 = *(undefined8 *)(lVar2 + 0xa0);\n    local_80 = *(undefined8 *)(lVar2 + 0xa8);\n    local_78 = *(undefined8 *)(lVar2 + 0xb0);\n    local_70 = *(undefined8 *)(lVar2 + 0xb8);\n    local_68 = *(undefined8 *)(lVar2 + 0xc0);\n    auVar18 = FUN_00356440(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,&local_9c,&local_98,7,param_6,&local_a0);\njoined_r0x003588cd:\n    local_b8 = auVar18;\n    if (local_a0 == 0) {\n      param_8[6] = local_9c;\n    }\n    break;\n  case 'b':\n  case 'h':\n    lVar2 = *(long *)(lVar11 + 0x10);\n    local_98 = *(undefined8 *)(lVar2 + 0x128);\n    local_90 = *(undefined8 *)(lVar2 + 0x130);\n    local_88 = *(undefined8 *)(lVar2 + 0x138);\n    local_80 = *(undefined8 *)(lVar2 + 0x140);\n    local_78 = *(undefined8 *)(lVar2 + 0x148);\n    local_70 = *(undefined8 *)(lVar2 + 0x150);\n    local_68 = *(undefined8 *)(lVar2 + 0x158);\n    local_60 = *(undefined8 *)(lVar2 + 0x160);\n    local_58 = *(undefined8 *)(lVar2 + 0x168);\n    local_50 = *(undefined8 *)(lVar2 + 0x170);\n    local_48 = *(undefined8 *)(lVar2 + 0x178);\n    local_40 = *(undefined8 *)(lVar2 + 0x180);\n    auVar18 = FUN_00356440(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,&local_9c,&local_98,0xc,param_6,&local_a0);\njoined_r0x00358a12:\n    local_b8 = auVar18;\n    if (local_a0 == 0) {\n      param_8[4] = local_9c;\n    }\n    break;\n  case 'c':\n    auVar18 = FUN_00357f80(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,param_6,&local_a0,param_8,\n                           *(undefined8 *)(*(long *)(lVar11 + 0x10) + 0x30));\n    local_b8 = auVar18;\n    break;\n  case 'd':\n    auVar18 = FUN_00355fc0(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,&local_9c,1,0x1f,2,param_6,&local_a0);\n    goto joined_r0x00358be9;\n  case 'e':\n    uVar8 = FUN_0034def0(local_b8,local_b8._8_4_);\n    cVar6 = (**(code **)(*plVar12 + 0x10))(plVar12,0x2000,uVar8);\n    if (cVar6 == '\0') {\n      auVar18 = FUN_00355fc0(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                             local_c0,&local_9c,10,0x1f,2,param_6,&local_a0);\n    }\n    else {\n      FUN_002fc080(local_b8._0_8_);\n      local_b8._8_4_ = 0xffffffff;\n      auVar18 = FUN_00355fc0(param_1,local_b8._0_8_,CONCAT44(uStack_ac,0xffffffff),local_c8,local_c0\n                             ,&local_9c,1,9,1,param_6,&local_a0);\n    }\njoined_r0x00358be9:\n    local_b8 = auVar18;\n    if (local_a0 == 0) {\n      param_8[3] = local_9c;\n    }\n    break;\n  case 'm':\n    auVar18 = FUN_00355fc0(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,&local_9c,1,0xc,2,param_6,&local_a0);\n    local_b8 = auVar18;\n    if (local_a0 == 0) {\n      param_8[4] = local_9c + -1;\n    }\n    break;\n  case 'n':\n    uVar8 = FUN_0034def0(local_b8,local_b8._8_4_);\n    cVar6 = (**(code **)(*plVar12 + 0x60))(plVar12,uVar8,0);\n    if (cVar6 != '\n') goto switchD_003580fd_caseD_45;\nLAB_003590ce:\n    FUN_002fc080(local_b8._0_8_);\n    local_b8._8_4_ = 0xffffffff;\n    break;\n  case 't':\n    uVar8 = FUN_0034def0(local_b8,local_b8._8_4_);\n    cVar6 = (**(code **)(*plVar12 + 0x60))(plVar12,uVar8,0);\n    if (cVar6 == '\t') goto LAB_003590ce;\n    goto switchD_003580fd_caseD_45;\n  case 'x':\n    auVar18 = FUN_00357f80(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,param_6,&local_a0,param_8,\n                           *(undefined8 *)(*(long *)(lVar11 + 0x10) + 0x10));\n    local_b8 = auVar18;\n  }" switch (parenthesized_expression "(cVar6)" ( identifier )) (compound_statement "{\n  case 'A':\n    lVar2 = *(long *)(lVar11 + 0x10);\n    local_98 = *(undefined8 *)(lVar2 + 0x58);\n    local_90 = *(undefined8 *)(lVar2 + 0x60);\n    local_88 = *(undefined8 *)(lVar2 + 0x68);\n    local_80 = *(undefined8 *)(lVar2 + 0x70);\n    local_78 = *(undefined8 *)(lVar2 + 0x78);\n    local_70 = *(undefined8 *)(lVar2 + 0x80);\n    local_68 = *(undefined8 *)(lVar2 + 0x88);\n    auVar18 = FUN_00356440(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,&local_9c,&local_98,7,param_6,&local_a0);\n    goto joined_r0x003588cd;\n  case 'B':\n    lVar2 = *(long *)(lVar11 + 0x10);\n    local_98 = *(undefined8 *)(lVar2 + 200);\n    local_90 = *(undefined8 *)(lVar2 + 0xd0);\n    local_88 = *(undefined8 *)(lVar2 + 0xd8);\n    local_80 = *(undefined8 *)(lVar2 + 0xe0);\n    local_78 = *(undefined8 *)(lVar2 + 0xe8);\n    local_70 = *(undefined8 *)(lVar2 + 0xf0);\n    local_68 = *(undefined8 *)(lVar2 + 0xf8);\n    local_60 = *(undefined8 *)(lVar2 + 0x100);\n    local_58 = *(undefined8 *)(lVar2 + 0x108);\n    local_50 = *(undefined8 *)(lVar2 + 0x110);\n    local_48 = *(undefined8 *)(lVar2 + 0x118);\n    local_40 = *(undefined8 *)(lVar2 + 0x120);\n    auVar18 = FUN_00356440(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,&local_9c,&local_98,0xc,param_6,&local_a0);\n    goto joined_r0x00358a12;\n  case 'C':\n  case 'Y':\n  case 'y':\n    auVar18 = FUN_00355fc0(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,&local_9c,0,9999,4,param_6,&local_a0);\n    local_b8 = auVar18;\n    if (local_a0 == 0) {\n      iVar9 = local_9c + -0x76c;\n      if (local_9c < 0) {\n        iVar9 = local_9c + 100;\n      }\n      param_8[5] = iVar9;\n    }\n    break;\n  case 'D':\n    (**(code **)(*plVar12 + 0x58))(plVar12,"%m/%d/%y","%H:%M",&local_98);\n    auVar18 = FUN_00357f80(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,param_6,&local_a0,param_8,&local_98);\n    local_b8 = auVar18;\n    break;\n  default:\n    goto switchD_003580fd_caseD_45;\n  case 'H':\n    auVar18 = FUN_00355fc0(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,&local_9c,0,0x17,2,param_6,&local_a0);\n    goto joined_r0x003587d9;\n  case 'I':\n    auVar18 = FUN_00355fc0(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,&local_9c,1,0xc,2,param_6,&local_a0);\njoined_r0x003587d9:\n    local_b8 = auVar18;\n    if (local_a0 == 0) {\n      param_8[2] = local_9c;\n    }\n    break;\n  case 'M':\n    auVar18 = FUN_00355fc0(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,&local_9c,0,0x3b,2,param_6,&local_a0);\n    local_b8 = auVar18;\n    if (local_a0 == 0) {\n      param_8[1] = local_9c;\n    }\n    break;\n  case 'R':\n    (**(code **)(*plVar12 + 0x58))(plVar12,"%H:%M","%H:%M:%S",&local_98);\n    auVar18 = FUN_00357f80(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,param_6,&local_a0,param_8,&local_98);\n    local_b8 = auVar18;\n    break;\n  case 'S':\n    auVar18 = FUN_00355fc0(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,&local_9c,0,0x3c,2,param_6,&local_a0);\n    local_b8 = auVar18;\n    if (local_a0 == 0) {\n      *param_8 = local_9c;\n    }\n    break;\n  case 'T':\n    (**(code **)(*plVar12 + 0x58))(plVar12,"%H:%M:%S",&DAT_003aba16,&local_98);\n    auVar18 = FUN_00357f80(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,param_6,&local_a0,param_8,&local_98);\n    local_b8 = auVar18;\n    break;\n  case 'X':\n    auVar18 = FUN_00357f80(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,param_6,&local_a0,param_8,\n                           *(undefined8 *)(*(long *)(lVar11 + 0x10) + 0x20));\n    local_b8 = auVar18;\n    break;\n  case 'Z':\n    uVar8 = FUN_0034def0(local_b8,local_b8._8_4_);\n    cVar6 = (**(code **)(*plVar12 + 0x10))(plVar12,0x100,uVar8);\n    if (cVar6 == '\0') goto switchD_003580fd_caseD_45;\n    auVar18 = FUN_00356440(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,&local_98,PTR_PTR_DAT_0045bff0,0xe,param_6,&local_a0);\n    local_b8 = auVar18;\n    cVar6 = FUN_00343350(local_b8,&local_c8);\n    if ((cVar6 == '\0') && (local_a0 == 0 && (int)local_98 == 0)) {\n      iVar9 = FUN_0034def0(local_b8);\n      iVar7 = (**(code **)(*plVar12 + 0x50))(plVar12,0x2d);\n      if (iVar9 != iVar7) {\n        iVar9 = FUN_0034def0(local_b8,local_b8._8_4_);\n        iVar7 = (**(code **)(*plVar12 + 0x50))(plVar12,0x2b);\n        if (iVar9 != iVar7) break;\n      }\n      auVar18 = FUN_00355fc0(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                             local_c0,&local_98,0,0x17,2,param_6,&local_a0);\n      local_b8 = auVar18;\n      auVar18 = FUN_00355fc0(param_1,auVar18._0_8_,CONCAT44(uStack_ac,auVar18._8_4_),local_c8,\n                             local_c0,&local_98,0,0x3b,2,param_6,&local_a0);\n      local_b8 = auVar18;\n    }\n    break;\n  case 'a':\n    lVar2 = *(long *)(lVar11 + 0x10);\n    local_98 = *(undefined8 *)(lVar2 + 0x90);\n    local_90 = *(undefined8 *)(lVar2 + 0x98);\n    local_88 = *(undefined8 *)(lVar2 + 0xa0);\n    local_80 = *(undefined8 *)(lVar2 + 0xa8);\n    local_78 = *(undefined8 *)(lVar2 + 0xb0);\n    local_70 = *(undefined8 *)(lVar2 + 0xb8);\n    local_68 = *(undefined8 *)(lVar2 + 0xc0);\n    auVar18 = FUN_00356440(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,&local_9c,&local_98,7,param_6,&local_a0);\njoined_r0x003588cd:\n    local_b8 = auVar18;\n    if (local_a0 == 0) {\n      param_8[6] = local_9c;\n    }\n    break;\n  case 'b':\n  case 'h':\n    lVar2 = *(long *)(lVar11 + 0x10);\n    local_98 = *(undefined8 *)(lVar2 + 0x128);\n    local_90 = *(undefined8 *)(lVar2 + 0x130);\n    local_88 = *(undefined8 *)(lVar2 + 0x138);\n    local_80 = *(undefined8 *)(lVar2 + 0x140);\n    local_78 = *(undefined8 *)(lVar2 + 0x148);\n    local_70 = *(undefined8 *)(lVar2 + 0x150);\n    local_68 = *(undefined8 *)(lVar2 + 0x158);\n    local_60 = *(undefined8 *)(lVar2 + 0x160);\n    local_58 = *(undefined8 *)(lVar2 + 0x168);\n    local_50 = *(undefined8 *)(lVar2 + 0x170);\n    local_48 = *(undefined8 *)(lVar2 + 0x178);\n    local_40 = *(undefined8 *)(lVar2 + 0x180);\n    auVar18 = FUN_00356440(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,&local_9c,&local_98,0xc,param_6,&local_a0);\njoined_r0x00358a12:\n    local_b8 = auVar18;\n    if (local_a0 == 0) {\n      param_8[4] = local_9c;\n    }\n    break;\n  case 'c':\n    auVar18 = FUN_00357f80(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,param_6,&local_a0,param_8,\n                           *(undefined8 *)(*(long *)(lVar11 + 0x10) + 0x30));\n    local_b8 = auVar18;\n    break;\n  case 'd':\n    auVar18 = FUN_00355fc0(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,&local_9c,1,0x1f,2,param_6,&local_a0);\n    goto joined_r0x00358be9;\n  case 'e':\n    uVar8 = FUN_0034def0(local_b8,local_b8._8_4_);\n    cVar6 = (**(code **)(*plVar12 + 0x10))(plVar12,0x2000,uVar8);\n    if (cVar6 == '\0') {\n      auVar18 = FUN_00355fc0(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                             local_c0,&local_9c,10,0x1f,2,param_6,&local_a0);\n    }\n    else {\n      FUN_002fc080(local_b8._0_8_);\n      local_b8._8_4_ = 0xffffffff;\n      auVar18 = FUN_00355fc0(param_1,local_b8._0_8_,CONCAT44(uStack_ac,0xffffffff),local_c8,local_c0\n                             ,&local_9c,1,9,1,param_6,&local_a0);\n    }\njoined_r0x00358be9:\n    local_b8 = auVar18;\n    if (local_a0 == 0) {\n      param_8[3] = local_9c;\n    }\n    break;\n  case 'm':\n    auVar18 = FUN_00355fc0(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,&local_9c,1,0xc,2,param_6,&local_a0);\n    local_b8 = auVar18;\n    if (local_a0 == 0) {\n      param_8[4] = local_9c + -1;\n    }\n    break;\n  case 'n':\n    uVar8 = FUN_0034def0(local_b8,local_b8._8_4_);\n    cVar6 = (**(code **)(*plVar12 + 0x60))(plVar12,uVar8,0);\n    if (cVar6 != '\n') goto switchD_003580fd_caseD_45;\nLAB_003590ce:\n    FUN_002fc080(local_b8._0_8_);\n    local_b8._8_4_ = 0xffffffff;\n    break;\n  case 't':\n    uVar8 = FUN_0034def0(local_b8,local_b8._8_4_);\n    cVar6 = (**(code **)(*plVar12 + 0x60))(plVar12,uVar8,0);\n    if (cVar6 == '\t') goto LAB_003590ce;\n    goto switchD_003580fd_caseD_45;\n  case 'x':\n    auVar18 = FUN_00357f80(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,param_6,&local_a0,param_8,\n                           *(undefined8 *)(*(long *)(lVar11 + 0x10) + 0x10));\n    local_b8 = auVar18;\n  }" { (case_statement "case 'A':\n    lVar2 = *(long *)(lVar11 + 0x10);\n    local_98 = *(undefined8 *)(lVar2 + 0x58);\n    local_90 = *(undefined8 *)(lVar2 + 0x60);\n    local_88 = *(undefined8 *)(lVar2 + 0x68);\n    local_80 = *(undefined8 *)(lVar2 + 0x70);\n    local_78 = *(undefined8 *)(lVar2 + 0x78);\n    local_70 = *(undefined8 *)(lVar2 + 0x80);\n    local_68 = *(undefined8 *)(lVar2 + 0x88);\n    auVar18 = FUN_00356440(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,&local_9c,&local_98,7,param_6,&local_a0);\n    goto joined_r0x003588cd;" case (char_literal "'A'" ' character ') : (expression_statement "lVar2 = *(long *)(lVar11 + 0x10);" (assignment_expression "lVar2 = *(long *)(lVar11 + 0x10)" identifier = (pointer_expression "*(long *)(lVar11 + 0x10)" * (cast_expression "(long *)(lVar11 + 0x10)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar11 + 0x10)" ( (binary_expression "lVar11 + 0x10" identifier + number_literal) ))))) ;) (expression_statement "local_98 = *(undefined8 *)(lVar2 + 0x58);" (assignment_expression "local_98 = *(undefined8 *)(lVar2 + 0x58)" identifier = (pointer_expression "*(undefined8 *)(lVar2 + 0x58)" * (cast_expression "(undefined8 *)(lVar2 + 0x58)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar2 + 0x58)" ( (binary_expression "lVar2 + 0x58" identifier + number_literal) ))))) ;) (expression_statement "local_90 = *(undefined8 *)(lVar2 + 0x60);" (assignment_expression "local_90 = *(undefined8 *)(lVar2 + 0x60)" identifier = (pointer_expression "*(undefined8 *)(lVar2 + 0x60)" * (cast_expression "(undefined8 *)(lVar2 + 0x60)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar2 + 0x60)" ( (binary_expression "lVar2 + 0x60" identifier + number_literal) ))))) ;) (expression_statement "local_88 = *(undefined8 *)(lVar2 + 0x68);" (assignment_expression "local_88 = *(undefined8 *)(lVar2 + 0x68)" identifier = (pointer_expression "*(undefined8 *)(lVar2 + 0x68)" * (cast_expression "(undefined8 *)(lVar2 + 0x68)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar2 + 0x68)" ( (binary_expression "lVar2 + 0x68" identifier + number_literal) ))))) ;) (expression_statement "local_80 = *(undefined8 *)(lVar2 + 0x70);" (assignment_expression "local_80 = *(undefined8 *)(lVar2 + 0x70)" identifier = (pointer_expression "*(undefined8 *)(lVar2 + 0x70)" * (cast_expression "(undefined8 *)(lVar2 + 0x70)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar2 + 0x70)" ( (binary_expression "lVar2 + 0x70" identifier + number_literal) ))))) ;) (expression_statement "local_78 = *(undefined8 *)(lVar2 + 0x78);" (assignment_expression "local_78 = *(undefined8 *)(lVar2 + 0x78)" identifier = (pointer_expression "*(undefined8 *)(lVar2 + 0x78)" * (cast_expression "(undefined8 *)(lVar2 + 0x78)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar2 + 0x78)" ( (binary_expression "lVar2 + 0x78" identifier + number_literal) ))))) ;) (expression_statement "local_70 = *(undefined8 *)(lVar2 + 0x80);" (assignment_expression "local_70 = *(undefined8 *)(lVar2 + 0x80)" identifier = (pointer_expression "*(undefined8 *)(lVar2 + 0x80)" * (cast_expression "(undefined8 *)(lVar2 + 0x80)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar2 + 0x80)" ( (binary_expression "lVar2 + 0x80" identifier + number_literal) ))))) ;) (expression_statement "local_68 = *(undefined8 *)(lVar2 + 0x88);" (assignment_expression "local_68 = *(undefined8 *)(lVar2 + 0x88)" identifier = (pointer_expression "*(undefined8 *)(lVar2 + 0x88)" * (cast_expression "(undefined8 *)(lVar2 + 0x88)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar2 + 0x88)" ( (binary_expression "lVar2 + 0x88" identifier + number_literal) ))))) ;) (expression_statement "auVar18 = FUN_00356440(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,&local_9c,&local_98,7,param_6,&local_a0);" (assignment_expression "auVar18 = FUN_00356440(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,&local_9c,&local_98,7,param_6,&local_a0)" identifier = (call_expression "FUN_00356440(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,&local_9c,&local_98,7,param_6,&local_a0)" identifier (argument_list "(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,&local_9c,&local_98,7,param_6,&local_a0)" ( identifier , (field_expression "local_b8._0_8_" identifier . field_identifier) , (call_expression "CONCAT44(uStack_ac,local_b8._8_4_)" identifier (argument_list "(uStack_ac,local_b8._8_4_)" ( identifier , (field_expression "local_b8._8_4_" identifier . field_identifier) ))) , identifier , identifier , (pointer_expression "&local_9c" & identifier) , (pointer_expression "&local_98" & identifier) , number_literal , identifier , (pointer_expression "&local_a0" & identifier) )))) ;) (goto_statement "goto joined_r0x003588cd;" goto statement_identifier ;)) (case_statement "case 'B':\n    lVar2 = *(long *)(lVar11 + 0x10);\n    local_98 = *(undefined8 *)(lVar2 + 200);\n    local_90 = *(undefined8 *)(lVar2 + 0xd0);\n    local_88 = *(undefined8 *)(lVar2 + 0xd8);\n    local_80 = *(undefined8 *)(lVar2 + 0xe0);\n    local_78 = *(undefined8 *)(lVar2 + 0xe8);\n    local_70 = *(undefined8 *)(lVar2 + 0xf0);\n    local_68 = *(undefined8 *)(lVar2 + 0xf8);\n    local_60 = *(undefined8 *)(lVar2 + 0x100);\n    local_58 = *(undefined8 *)(lVar2 + 0x108);\n    local_50 = *(undefined8 *)(lVar2 + 0x110);\n    local_48 = *(undefined8 *)(lVar2 + 0x118);\n    local_40 = *(undefined8 *)(lVar2 + 0x120);\n    auVar18 = FUN_00356440(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,&local_9c,&local_98,0xc,param_6,&local_a0);\n    goto joined_r0x00358a12;" case (char_literal "'B'" ' character ') : (expression_statement "lVar2 = *(long *)(lVar11 + 0x10);" (assignment_expression "lVar2 = *(long *)(lVar11 + 0x10)" identifier = (pointer_expression "*(long *)(lVar11 + 0x10)" * (cast_expression "(long *)(lVar11 + 0x10)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar11 + 0x10)" ( (binary_expression "lVar11 + 0x10" identifier + number_literal) ))))) ;) (expression_statement "local_98 = *(undefined8 *)(lVar2 + 200);" (assignment_expression "local_98 = *(undefined8 *)(lVar2 + 200)" identifier = (pointer_expression "*(undefined8 *)(lVar2 + 200)" * (cast_expression "(undefined8 *)(lVar2 + 200)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar2 + 200)" ( (binary_expression "lVar2 + 200" identifier + number_literal) ))))) ;) (expression_statement "local_90 = *(undefined8 *)(lVar2 + 0xd0);" (assignment_expression "local_90 = *(undefined8 *)(lVar2 + 0xd0)" identifier = (pointer_expression "*(undefined8 *)(lVar2 + 0xd0)" * (cast_expression "(undefined8 *)(lVar2 + 0xd0)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar2 + 0xd0)" ( (binary_expression "lVar2 + 0xd0" identifier + number_literal) ))))) ;) (expression_statement "local_88 = *(undefined8 *)(lVar2 + 0xd8);" (assignment_expression "local_88 = *(undefined8 *)(lVar2 + 0xd8)" identifier = (pointer_expression "*(undefined8 *)(lVar2 + 0xd8)" * (cast_expression "(undefined8 *)(lVar2 + 0xd8)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar2 + 0xd8)" ( (binary_expression "lVar2 + 0xd8" identifier + number_literal) ))))) ;) (expression_statement "local_80 = *(undefined8 *)(lVar2 + 0xe0);" (assignment_expression "local_80 = *(undefined8 *)(lVar2 + 0xe0)" identifier = (pointer_expression "*(undefined8 *)(lVar2 + 0xe0)" * (cast_expression "(undefined8 *)(lVar2 + 0xe0)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar2 + 0xe0)" ( (binary_expression "lVar2 + 0xe0" identifier + number_literal) ))))) ;) (expression_statement "local_78 = *(undefined8 *)(lVar2 + 0xe8);" (assignment_expression "local_78 = *(undefined8 *)(lVar2 + 0xe8)" identifier = (pointer_expression "*(undefined8 *)(lVar2 + 0xe8)" * (cast_expression "(undefined8 *)(lVar2 + 0xe8)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar2 + 0xe8)" ( (binary_expression "lVar2 + 0xe8" identifier + number_literal) ))))) ;) (expression_statement "local_70 = *(undefined8 *)(lVar2 + 0xf0);" (assignment_expression "local_70 = *(undefined8 *)(lVar2 + 0xf0)" identifier = (pointer_expression "*(undefined8 *)(lVar2 + 0xf0)" * (cast_expression "(undefined8 *)(lVar2 + 0xf0)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar2 + 0xf0)" ( (binary_expression "lVar2 + 0xf0" identifier + number_literal) ))))) ;) (expression_statement "local_68 = *(undefined8 *)(lVar2 + 0xf8);" (assignment_expression "local_68 = *(undefined8 *)(lVar2 + 0xf8)" identifier = (pointer_expression "*(undefined8 *)(lVar2 + 0xf8)" * (cast_expression "(undefined8 *)(lVar2 + 0xf8)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar2 + 0xf8)" ( (binary_expression "lVar2 + 0xf8" identifier + number_literal) ))))) ;) (expression_statement "local_60 = *(undefined8 *)(lVar2 + 0x100);" (assignment_expression "local_60 = *(undefined8 *)(lVar2 + 0x100)" identifier = (pointer_expression "*(undefined8 *)(lVar2 + 0x100)" * (cast_expression "(undefined8 *)(lVar2 + 0x100)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar2 + 0x100)" ( (binary_expression "lVar2 + 0x100" identifier + number_literal) ))))) ;) (expression_statement "local_58 = *(undefined8 *)(lVar2 + 0x108);" (assignment_expression "local_58 = *(undefined8 *)(lVar2 + 0x108)" identifier = (pointer_expression "*(undefined8 *)(lVar2 + 0x108)" * (cast_expression "(undefined8 *)(lVar2 + 0x108)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar2 + 0x108)" ( (binary_expression "lVar2 + 0x108" identifier + number_literal) ))))) ;) (expression_statement "local_50 = *(undefined8 *)(lVar2 + 0x110);" (assignment_expression "local_50 = *(undefined8 *)(lVar2 + 0x110)" identifier = (pointer_expression "*(undefined8 *)(lVar2 + 0x110)" * (cast_expression "(undefined8 *)(lVar2 + 0x110)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar2 + 0x110)" ( (binary_expression "lVar2 + 0x110" identifier + number_literal) ))))) ;) (expression_statement "local_48 = *(undefined8 *)(lVar2 + 0x118);" (assignment_expression "local_48 = *(undefined8 *)(lVar2 + 0x118)" identifier = (pointer_expression "*(undefined8 *)(lVar2 + 0x118)" * (cast_expression "(undefined8 *)(lVar2 + 0x118)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar2 + 0x118)" ( (binary_expression "lVar2 + 0x118" identifier + number_literal) ))))) ;) (expression_statement "local_40 = *(undefined8 *)(lVar2 + 0x120);" (assignment_expression "local_40 = *(undefined8 *)(lVar2 + 0x120)" identifier = (pointer_expression "*(undefined8 *)(lVar2 + 0x120)" * (cast_expression "(undefined8 *)(lVar2 + 0x120)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar2 + 0x120)" ( (binary_expression "lVar2 + 0x120" identifier + number_literal) ))))) ;) (expression_statement "auVar18 = FUN_00356440(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,&local_9c,&local_98,0xc,param_6,&local_a0);" (assignment_expression "auVar18 = FUN_00356440(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,&local_9c,&local_98,0xc,param_6,&local_a0)" identifier = (call_expression "FUN_00356440(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,&local_9c,&local_98,0xc,param_6,&local_a0)" identifier (argument_list "(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,&local_9c,&local_98,0xc,param_6,&local_a0)" ( identifier , (field_expression "local_b8._0_8_" identifier . field_identifier) , (call_expression "CONCAT44(uStack_ac,local_b8._8_4_)" identifier (argument_list "(uStack_ac,local_b8._8_4_)" ( identifier , (field_expression "local_b8._8_4_" identifier . field_identifier) ))) , identifier , identifier , (pointer_expression "&local_9c" & identifier) , (pointer_expression "&local_98" & identifier) , number_literal , identifier , (pointer_expression "&local_a0" & identifier) )))) ;) (goto_statement "goto joined_r0x00358a12;" goto statement_identifier ;)) (case_statement "case 'C':" case (char_literal "'C'" ' character ') :) (case_statement "case 'Y':" case (char_literal "'Y'" ' character ') :) (case_statement "case 'y':\n    auVar18 = FUN_00355fc0(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,&local_9c,0,9999,4,param_6,&local_a0);\n    local_b8 = auVar18;\n    if (local_a0 == 0) {\n      iVar9 = local_9c + -0x76c;\n      if (local_9c < 0) {\n        iVar9 = local_9c + 100;\n      }\n      param_8[5] = iVar9;\n    }\n    break;" case (char_literal "'y'" ' character ') : (expression_statement "auVar18 = FUN_00355fc0(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,&local_9c,0,9999,4,param_6,&local_a0);" (assignment_expression "auVar18 = FUN_00355fc0(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,&local_9c,0,9999,4,param_6,&local_a0)" identifier = (call_expression "FUN_00355fc0(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,&local_9c,0,9999,4,param_6,&local_a0)" identifier (argument_list "(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,&local_9c,0,9999,4,param_6,&local_a0)" ( identifier , (field_expression "local_b8._0_8_" identifier . field_identifier) , (call_expression "CONCAT44(uStack_ac,local_b8._8_4_)" identifier (argument_list "(uStack_ac,local_b8._8_4_)" ( identifier , (field_expression "local_b8._8_4_" identifier . field_identifier) ))) , identifier , identifier , (pointer_expression "&local_9c" & identifier) , number_literal , number_literal , number_literal , identifier , (pointer_expression "&local_a0" & identifier) )))) ;) (expression_statement "local_b8 = auVar18;" (assignment_expression "local_b8 = auVar18" identifier = identifier) ;) (if_statement "if (local_a0 == 0) {\n      iVar9 = local_9c + -0x76c;\n      if (local_9c < 0) {\n        iVar9 = local_9c + 100;\n      }\n      param_8[5] = iVar9;\n    }" if (parenthesized_expression "(local_a0 == 0)" ( (binary_expression "local_a0 == 0" identifier == number_literal) )) (compound_statement "{\n      iVar9 = local_9c + -0x76c;\n      if (local_9c < 0) {\n        iVar9 = local_9c + 100;\n      }\n      param_8[5] = iVar9;\n    }" { (expression_statement "iVar9 = local_9c + -0x76c;" (assignment_expression "iVar9 = local_9c + -0x76c" identifier = (binary_expression "local_9c + -0x76c" identifier + number_literal)) ;) (if_statement "if (local_9c < 0) {\n        iVar9 = local_9c + 100;\n      }" if (parenthesized_expression "(local_9c < 0)" ( (binary_expression "local_9c < 0" identifier < number_literal) )) (compound_statement "{\n        iVar9 = local_9c + 100;\n      }" { (expression_statement "iVar9 = local_9c + 100;" (assignment_expression "iVar9 = local_9c + 100" identifier = (binary_expression "local_9c + 100" identifier + number_literal)) ;) })) (expression_statement "param_8[5] = iVar9;" (assignment_expression "param_8[5] = iVar9" (subscript_expression "param_8[5]" identifier [ number_literal ]) = identifier) ;) })) (break_statement "break;" break ;)) (case_statement "case 'D':\n    (**(code **)(*plVar12 + 0x58))(plVar12,"%m/%d/%y","%H:%M",&local_98);\n    auVar18 = FUN_00357f80(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,param_6,&local_a0,param_8,&local_98);\n    local_b8 = auVar18;\n    break;" case (char_literal "'D'" ' character ') : (expression_statement "(**(code **)(*plVar12 + 0x58))(plVar12,"%m/%d/%y","%H:%M",&local_98);" (call_expression "(**(code **)(*plVar12 + 0x58))(plVar12,"%m/%d/%y","%H:%M",&local_98)" (parenthesized_expression "(**(code **)(*plVar12 + 0x58))" ( (pointer_expression "**(code **)(*plVar12 + 0x58)" * (pointer_expression "*(code **)(*plVar12 + 0x58)" * (cast_expression "(code **)(*plVar12 + 0x58)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*plVar12 + 0x58)" ( (binary_expression "*plVar12 + 0x58" (pointer_expression "*plVar12" * identifier) + number_literal) ))))) )) (argument_list "(plVar12,"%m/%d/%y","%H:%M",&local_98)" ( identifier , (string_literal ""%m/%d/%y"" " string_content ") , (string_literal ""%H:%M"" " string_content ") , (pointer_expression "&local_98" & identifier) ))) ;) (expression_statement "auVar18 = FUN_00357f80(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,param_6,&local_a0,param_8,&local_98);" (assignment_expression "auVar18 = FUN_00357f80(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,param_6,&local_a0,param_8,&local_98)" identifier = (call_expression "FUN_00357f80(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,param_6,&local_a0,param_8,&local_98)" identifier (argument_list "(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,param_6,&local_a0,param_8,&local_98)" ( identifier , (field_expression "local_b8._0_8_" identifier . field_identifier) , (call_expression "CONCAT44(uStack_ac,local_b8._8_4_)" identifier (argument_list "(uStack_ac,local_b8._8_4_)" ( identifier , (field_expression "local_b8._8_4_" identifier . field_identifier) ))) , identifier , identifier , identifier , (pointer_expression "&local_a0" & identifier) , identifier , (pointer_expression "&local_98" & identifier) )))) ;) (expression_statement "local_b8 = auVar18;" (assignment_expression "local_b8 = auVar18" identifier = identifier) ;) (break_statement "break;" break ;)) (case_statement "default:\n    goto switchD_003580fd_caseD_45;" default : (goto_statement "goto switchD_003580fd_caseD_45;" goto statement_identifier ;)) (case_statement "case 'H':\n    auVar18 = FUN_00355fc0(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,&local_9c,0,0x17,2,param_6,&local_a0);\n    goto joined_r0x003587d9;" case (char_literal "'H'" ' character ') : (expression_statement "auVar18 = FUN_00355fc0(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,&local_9c,0,0x17,2,param_6,&local_a0);" (assignment_expression "auVar18 = FUN_00355fc0(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,&local_9c,0,0x17,2,param_6,&local_a0)" identifier = (call_expression "FUN_00355fc0(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,&local_9c,0,0x17,2,param_6,&local_a0)" identifier (argument_list "(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,&local_9c,0,0x17,2,param_6,&local_a0)" ( identifier , (field_expression "local_b8._0_8_" identifier . field_identifier) , (call_expression "CONCAT44(uStack_ac,local_b8._8_4_)" identifier (argument_list "(uStack_ac,local_b8._8_4_)" ( identifier , (field_expression "local_b8._8_4_" identifier . field_identifier) ))) , identifier , identifier , (pointer_expression "&local_9c" & identifier) , number_literal , number_literal , number_literal , identifier , (pointer_expression "&local_a0" & identifier) )))) ;) (goto_statement "goto joined_r0x003587d9;" goto statement_identifier ;)) (case_statement "case 'I':\n    auVar18 = FUN_00355fc0(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,&local_9c,1,0xc,2,param_6,&local_a0);\njoined_r0x003587d9:\n    local_b8 = auVar18;\n    if (local_a0 == 0) {\n      param_8[2] = local_9c;\n    }\n    break;" case (char_literal "'I'" ' character ') : (expression_statement "auVar18 = FUN_00355fc0(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,&local_9c,1,0xc,2,param_6,&local_a0);" (assignment_expression "auVar18 = FUN_00355fc0(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,&local_9c,1,0xc,2,param_6,&local_a0)" identifier = (call_expression "FUN_00355fc0(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,&local_9c,1,0xc,2,param_6,&local_a0)" identifier (argument_list "(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,&local_9c,1,0xc,2,param_6,&local_a0)" ( identifier , (field_expression "local_b8._0_8_" identifier . field_identifier) , (call_expression "CONCAT44(uStack_ac,local_b8._8_4_)" identifier (argument_list "(uStack_ac,local_b8._8_4_)" ( identifier , (field_expression "local_b8._8_4_" identifier . field_identifier) ))) , identifier , identifier , (pointer_expression "&local_9c" & identifier) , number_literal , number_literal , number_literal , identifier , (pointer_expression "&local_a0" & identifier) )))) ;) (labeled_statement "joined_r0x003587d9:\n    local_b8 = auVar18;" statement_identifier : (expression_statement "local_b8 = auVar18;" (assignment_expression "local_b8 = auVar18" identifier = identifier) ;)) (if_statement "if (local_a0 == 0) {\n      param_8[2] = local_9c;\n    }" if (parenthesized_expression "(local_a0 == 0)" ( (binary_expression "local_a0 == 0" identifier == number_literal) )) (compound_statement "{\n      param_8[2] = local_9c;\n    }" { (expression_statement "param_8[2] = local_9c;" (assignment_expression "param_8[2] = local_9c" (subscript_expression "param_8[2]" identifier [ number_literal ]) = identifier) ;) })) (break_statement "break;" break ;)) (case_statement "case 'M':\n    auVar18 = FUN_00355fc0(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,&local_9c,0,0x3b,2,param_6,&local_a0);\n    local_b8 = auVar18;\n    if (local_a0 == 0) {\n      param_8[1] = local_9c;\n    }\n    break;" case (char_literal "'M'" ' character ') : (expression_statement "auVar18 = FUN_00355fc0(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,&local_9c,0,0x3b,2,param_6,&local_a0);" (assignment_expression "auVar18 = FUN_00355fc0(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,&local_9c,0,0x3b,2,param_6,&local_a0)" identifier = (call_expression "FUN_00355fc0(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,&local_9c,0,0x3b,2,param_6,&local_a0)" identifier (argument_list "(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,&local_9c,0,0x3b,2,param_6,&local_a0)" ( identifier , (field_expression "local_b8._0_8_" identifier . field_identifier) , (call_expression "CONCAT44(uStack_ac,local_b8._8_4_)" identifier (argument_list "(uStack_ac,local_b8._8_4_)" ( identifier , (field_expression "local_b8._8_4_" identifier . field_identifier) ))) , identifier , identifier , (pointer_expression "&local_9c" & identifier) , number_literal , number_literal , number_literal , identifier , (pointer_expression "&local_a0" & identifier) )))) ;) (expression_statement "local_b8 = auVar18;" (assignment_expression "local_b8 = auVar18" identifier = identifier) ;) (if_statement "if (local_a0 == 0) {\n      param_8[1] = local_9c;\n    }" if (parenthesized_expression "(local_a0 == 0)" ( (binary_expression "local_a0 == 0" identifier == number_literal) )) (compound_statement "{\n      param_8[1] = local_9c;\n    }" { (expression_statement "param_8[1] = local_9c;" (assignment_expression "param_8[1] = local_9c" (subscript_expression "param_8[1]" identifier [ number_literal ]) = identifier) ;) })) (break_statement "break;" break ;)) (case_statement "case 'R':\n    (**(code **)(*plVar12 + 0x58))(plVar12,"%H:%M","%H:%M:%S",&local_98);\n    auVar18 = FUN_00357f80(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,param_6,&local_a0,param_8,&local_98);\n    local_b8 = auVar18;\n    break;" case (char_literal "'R'" ' character ') : (expression_statement "(**(code **)(*plVar12 + 0x58))(plVar12,"%H:%M","%H:%M:%S",&local_98);" (call_expression "(**(code **)(*plVar12 + 0x58))(plVar12,"%H:%M","%H:%M:%S",&local_98)" (parenthesized_expression "(**(code **)(*plVar12 + 0x58))" ( (pointer_expression "**(code **)(*plVar12 + 0x58)" * (pointer_expression "*(code **)(*plVar12 + 0x58)" * (cast_expression "(code **)(*plVar12 + 0x58)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*plVar12 + 0x58)" ( (binary_expression "*plVar12 + 0x58" (pointer_expression "*plVar12" * identifier) + number_literal) ))))) )) (argument_list "(plVar12,"%H:%M","%H:%M:%S",&local_98)" ( identifier , (string_literal ""%H:%M"" " string_content ") , (string_literal ""%H:%M:%S"" " string_content ") , (pointer_expression "&local_98" & identifier) ))) ;) (expression_statement "auVar18 = FUN_00357f80(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,param_6,&local_a0,param_8,&local_98);" (assignment_expression "auVar18 = FUN_00357f80(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,param_6,&local_a0,param_8,&local_98)" identifier = (call_expression "FUN_00357f80(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,param_6,&local_a0,param_8,&local_98)" identifier (argument_list "(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,param_6,&local_a0,param_8,&local_98)" ( identifier , (field_expression "local_b8._0_8_" identifier . field_identifier) , (call_expression "CONCAT44(uStack_ac,local_b8._8_4_)" identifier (argument_list "(uStack_ac,local_b8._8_4_)" ( identifier , (field_expression "local_b8._8_4_" identifier . field_identifier) ))) , identifier , identifier , identifier , (pointer_expression "&local_a0" & identifier) , identifier , (pointer_expression "&local_98" & identifier) )))) ;) (expression_statement "local_b8 = auVar18;" (assignment_expression "local_b8 = auVar18" identifier = identifier) ;) (break_statement "break;" break ;)) (case_statement "case 'S':\n    auVar18 = FUN_00355fc0(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,&local_9c,0,0x3c,2,param_6,&local_a0);\n    local_b8 = auVar18;\n    if (local_a0 == 0) {\n      *param_8 = local_9c;\n    }\n    break;" case (char_literal "'S'" ' character ') : (expression_statement "auVar18 = FUN_00355fc0(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,&local_9c,0,0x3c,2,param_6,&local_a0);" (assignment_expression "auVar18 = FUN_00355fc0(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,&local_9c,0,0x3c,2,param_6,&local_a0)" identifier = (call_expression "FUN_00355fc0(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,&local_9c,0,0x3c,2,param_6,&local_a0)" identifier (argument_list "(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,&local_9c,0,0x3c,2,param_6,&local_a0)" ( identifier , (field_expression "local_b8._0_8_" identifier . field_identifier) , (call_expression "CONCAT44(uStack_ac,local_b8._8_4_)" identifier (argument_list "(uStack_ac,local_b8._8_4_)" ( identifier , (field_expression "local_b8._8_4_" identifier . field_identifier) ))) , identifier , identifier , (pointer_expression "&local_9c" & identifier) , number_literal , number_literal , number_literal , identifier , (pointer_expression "&local_a0" & identifier) )))) ;) (expression_statement "local_b8 = auVar18;" (assignment_expression "local_b8 = auVar18" identifier = identifier) ;) (if_statement "if (local_a0 == 0) {\n      *param_8 = local_9c;\n    }" if (parenthesized_expression "(local_a0 == 0)" ( (binary_expression "local_a0 == 0" identifier == number_literal) )) (compound_statement "{\n      *param_8 = local_9c;\n    }" { (expression_statement "*param_8 = local_9c;" (assignment_expression "*param_8 = local_9c" (pointer_expression "*param_8" * identifier) = identifier) ;) })) (break_statement "break;" break ;)) (case_statement "case 'T':\n    (**(code **)(*plVar12 + 0x58))(plVar12,"%H:%M:%S",&DAT_003aba16,&local_98);\n    auVar18 = FUN_00357f80(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,param_6,&local_a0,param_8,&local_98);\n    local_b8 = auVar18;\n    break;" case (char_literal "'T'" ' character ') : (expression_statement "(**(code **)(*plVar12 + 0x58))(plVar12,"%H:%M:%S",&DAT_003aba16,&local_98);" (call_expression "(**(code **)(*plVar12 + 0x58))(plVar12,"%H:%M:%S",&DAT_003aba16,&local_98)" (parenthesized_expression "(**(code **)(*plVar12 + 0x58))" ( (pointer_expression "**(code **)(*plVar12 + 0x58)" * (pointer_expression "*(code **)(*plVar12 + 0x58)" * (cast_expression "(code **)(*plVar12 + 0x58)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*plVar12 + 0x58)" ( (binary_expression "*plVar12 + 0x58" (pointer_expression "*plVar12" * identifier) + number_literal) ))))) )) (argument_list "(plVar12,"%H:%M:%S",&DAT_003aba16,&local_98)" ( identifier , (string_literal ""%H:%M:%S"" " string_content ") , (pointer_expression "&DAT_003aba16" & identifier) , (pointer_expression "&local_98" & identifier) ))) ;) (expression_statement "auVar18 = FUN_00357f80(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,param_6,&local_a0,param_8,&local_98);" (assignment_expression "auVar18 = FUN_00357f80(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,param_6,&local_a0,param_8,&local_98)" identifier = (call_expression "FUN_00357f80(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,param_6,&local_a0,param_8,&local_98)" identifier (argument_list "(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,param_6,&local_a0,param_8,&local_98)" ( identifier , (field_expression "local_b8._0_8_" identifier . field_identifier) , (call_expression "CONCAT44(uStack_ac,local_b8._8_4_)" identifier (argument_list "(uStack_ac,local_b8._8_4_)" ( identifier , (field_expression "local_b8._8_4_" identifier . field_identifier) ))) , identifier , identifier , identifier , (pointer_expression "&local_a0" & identifier) , identifier , (pointer_expression "&local_98" & identifier) )))) ;) (expression_statement "local_b8 = auVar18;" (assignment_expression "local_b8 = auVar18" identifier = identifier) ;) (break_statement "break;" break ;)) (case_statement "case 'X':\n    auVar18 = FUN_00357f80(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,param_6,&local_a0,param_8,\n                           *(undefined8 *)(*(long *)(lVar11 + 0x10) + 0x20));\n    local_b8 = auVar18;\n    break;" case (char_literal "'X'" ' character ') : (expression_statement "auVar18 = FUN_00357f80(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,param_6,&local_a0,param_8,\n                           *(undefined8 *)(*(long *)(lVar11 + 0x10) + 0x20));" (assignment_expression "auVar18 = FUN_00357f80(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,param_6,&local_a0,param_8,\n                           *(undefined8 *)(*(long *)(lVar11 + 0x10) + 0x20))" identifier = (call_expression "FUN_00357f80(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,param_6,&local_a0,param_8,\n                           *(undefined8 *)(*(long *)(lVar11 + 0x10) + 0x20))" identifier (argument_list "(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,param_6,&local_a0,param_8,\n                           *(undefined8 *)(*(long *)(lVar11 + 0x10) + 0x20))" ( identifier , (field_expression "local_b8._0_8_" identifier . field_identifier) , (call_expression "CONCAT44(uStack_ac,local_b8._8_4_)" identifier (argument_list "(uStack_ac,local_b8._8_4_)" ( identifier , (field_expression "local_b8._8_4_" identifier . field_identifier) ))) , identifier , identifier , identifier , (pointer_expression "&local_a0" & identifier) , identifier , (pointer_expression "*(undefined8 *)(*(long *)(lVar11 + 0x10) + 0x20)" * (cast_expression "(undefined8 *)(*(long *)(lVar11 + 0x10) + 0x20)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(long *)(lVar11 + 0x10) + 0x20)" ( (binary_expression "*(long *)(lVar11 + 0x10) + 0x20" (pointer_expression "*(long *)(lVar11 + 0x10)" * (cast_expression "(long *)(lVar11 + 0x10)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar11 + 0x10)" ( (binary_expression "lVar11 + 0x10" identifier + number_literal) )))) + number_literal) )))) )))) ;) (expression_statement "local_b8 = auVar18;" (assignment_expression "local_b8 = auVar18" identifier = identifier) ;) (break_statement "break;" break ;)) (case_statement "case 'Z':\n    uVar8 = FUN_0034def0(local_b8,local_b8._8_4_);\n    cVar6 = (**(code **)(*plVar12 + 0x10))(plVar12,0x100,uVar8);\n    if (cVar6 == '\0') goto switchD_003580fd_caseD_45;\n    auVar18 = FUN_00356440(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,&local_98,PTR_PTR_DAT_0045bff0,0xe,param_6,&local_a0);\n    local_b8 = auVar18;\n    cVar6 = FUN_00343350(local_b8,&local_c8);\n    if ((cVar6 == '\0') && (local_a0 == 0 && (int)local_98 == 0)) {\n      iVar9 = FUN_0034def0(local_b8);\n      iVar7 = (**(code **)(*plVar12 + 0x50))(plVar12,0x2d);\n      if (iVar9 != iVar7) {\n        iVar9 = FUN_0034def0(local_b8,local_b8._8_4_);\n        iVar7 = (**(code **)(*plVar12 + 0x50))(plVar12,0x2b);\n        if (iVar9 != iVar7) break;\n      }\n      auVar18 = FUN_00355fc0(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                             local_c0,&local_98,0,0x17,2,param_6,&local_a0);\n      local_b8 = auVar18;\n      auVar18 = FUN_00355fc0(param_1,auVar18._0_8_,CONCAT44(uStack_ac,auVar18._8_4_),local_c8,\n                             local_c0,&local_98,0,0x3b,2,param_6,&local_a0);\n      local_b8 = auVar18;\n    }\n    break;" case (char_literal "'Z'" ' character ') : (expression_statement "uVar8 = FUN_0034def0(local_b8,local_b8._8_4_);" (assignment_expression "uVar8 = FUN_0034def0(local_b8,local_b8._8_4_)" identifier = (call_expression "FUN_0034def0(local_b8,local_b8._8_4_)" identifier (argument_list "(local_b8,local_b8._8_4_)" ( identifier , (field_expression "local_b8._8_4_" identifier . field_identifier) )))) ;) (expression_statement "cVar6 = (**(code **)(*plVar12 + 0x10))(plVar12,0x100,uVar8);" (assignment_expression "cVar6 = (**(code **)(*plVar12 + 0x10))(plVar12,0x100,uVar8)" identifier = (call_expression "(**(code **)(*plVar12 + 0x10))(plVar12,0x100,uVar8)" (parenthesized_expression "(**(code **)(*plVar12 + 0x10))" ( (pointer_expression "**(code **)(*plVar12 + 0x10)" * (pointer_expression "*(code **)(*plVar12 + 0x10)" * (cast_expression "(code **)(*plVar12 + 0x10)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*plVar12 + 0x10)" ( (binary_expression "*plVar12 + 0x10" (pointer_expression "*plVar12" * identifier) + number_literal) ))))) )) (argument_list "(plVar12,0x100,uVar8)" ( identifier , number_literal , identifier )))) ;) (if_statement "if (cVar6 == '\0') goto switchD_003580fd_caseD_45;" if (parenthesized_expression "(cVar6 == '\0')" ( (binary_expression "cVar6 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto switchD_003580fd_caseD_45;" goto statement_identifier ;)) (expression_statement "auVar18 = FUN_00356440(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,&local_98,PTR_PTR_DAT_0045bff0,0xe,param_6,&local_a0);" (assignment_expression "auVar18 = FUN_00356440(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,&local_98,PTR_PTR_DAT_0045bff0,0xe,param_6,&local_a0)" identifier = (call_expression "FUN_00356440(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,&local_98,PTR_PTR_DAT_0045bff0,0xe,param_6,&local_a0)" identifier (argument_list "(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,&local_98,PTR_PTR_DAT_0045bff0,0xe,param_6,&local_a0)" ( identifier , (field_expression "local_b8._0_8_" identifier . field_identifier) , (call_expression "CONCAT44(uStack_ac,local_b8._8_4_)" identifier (argument_list "(uStack_ac,local_b8._8_4_)" ( identifier , (field_expression "local_b8._8_4_" identifier . field_identifier) ))) , identifier , identifier , (pointer_expression "&local_98" & identifier) , identifier , number_literal , identifier , (pointer_expression "&local_a0" & identifier) )))) ;) (expression_statement "local_b8 = auVar18;" (assignment_expression "local_b8 = auVar18" identifier = identifier) ;) (expression_statement "cVar6 = FUN_00343350(local_b8,&local_c8);" (assignment_expression "cVar6 = FUN_00343350(local_b8,&local_c8)" identifier = (call_expression "FUN_00343350(local_b8,&local_c8)" identifier (argument_list "(local_b8,&local_c8)" ( identifier , (pointer_expression "&local_c8" & identifier) )))) ;) (if_statement "if ((cVar6 == '\0') && (local_a0 == 0 && (int)local_98 == 0)) {\n      iVar9 = FUN_0034def0(local_b8);\n      iVar7 = (**(code **)(*plVar12 + 0x50))(plVar12,0x2d);\n      if (iVar9 != iVar7) {\n        iVar9 = FUN_0034def0(local_b8,local_b8._8_4_);\n        iVar7 = (**(code **)(*plVar12 + 0x50))(plVar12,0x2b);\n        if (iVar9 != iVar7) break;\n      }\n      auVar18 = FUN_00355fc0(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                             local_c0,&local_98,0,0x17,2,param_6,&local_a0);\n      local_b8 = auVar18;\n      auVar18 = FUN_00355fc0(param_1,auVar18._0_8_,CONCAT44(uStack_ac,auVar18._8_4_),local_c8,\n                             local_c0,&local_98,0,0x3b,2,param_6,&local_a0);\n      local_b8 = auVar18;\n    }" if (parenthesized_expression "((cVar6 == '\0') && (local_a0 == 0 && (int)local_98 == 0))" ( (binary_expression "(cVar6 == '\0') && (local_a0 == 0 && (int)local_98 == 0)" (parenthesized_expression "(cVar6 == '\0')" ( (binary_expression "cVar6 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) && (parenthesized_expression "(local_a0 == 0 && (int)local_98 == 0)" ( (binary_expression "local_a0 == 0 && (int)local_98 == 0" (binary_expression "local_a0 == 0" identifier == number_literal) && (binary_expression "(int)local_98 == 0" (cast_expression "(int)local_98" ( (type_descriptor "int" primitive_type) ) identifier) == number_literal)) ))) )) (compound_statement "{\n      iVar9 = FUN_0034def0(local_b8);\n      iVar7 = (**(code **)(*plVar12 + 0x50))(plVar12,0x2d);\n      if (iVar9 != iVar7) {\n        iVar9 = FUN_0034def0(local_b8,local_b8._8_4_);\n        iVar7 = (**(code **)(*plVar12 + 0x50))(plVar12,0x2b);\n        if (iVar9 != iVar7) break;\n      }\n      auVar18 = FUN_00355fc0(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                             local_c0,&local_98,0,0x17,2,param_6,&local_a0);\n      local_b8 = auVar18;\n      auVar18 = FUN_00355fc0(param_1,auVar18._0_8_,CONCAT44(uStack_ac,auVar18._8_4_),local_c8,\n                             local_c0,&local_98,0,0x3b,2,param_6,&local_a0);\n      local_b8 = auVar18;\n    }" { (expression_statement "iVar9 = FUN_0034def0(local_b8);" (assignment_expression "iVar9 = FUN_0034def0(local_b8)" identifier = (call_expression "FUN_0034def0(local_b8)" identifier (argument_list "(local_b8)" ( identifier )))) ;) (expression_statement "iVar7 = (**(code **)(*plVar12 + 0x50))(plVar12,0x2d);" (assignment_expression "iVar7 = (**(code **)(*plVar12 + 0x50))(plVar12,0x2d)" identifier = (call_expression "(**(code **)(*plVar12 + 0x50))(plVar12,0x2d)" (parenthesized_expression "(**(code **)(*plVar12 + 0x50))" ( (pointer_expression "**(code **)(*plVar12 + 0x50)" * (pointer_expression "*(code **)(*plVar12 + 0x50)" * (cast_expression "(code **)(*plVar12 + 0x50)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*plVar12 + 0x50)" ( (binary_expression "*plVar12 + 0x50" (pointer_expression "*plVar12" * identifier) + number_literal) ))))) )) (argument_list "(plVar12,0x2d)" ( identifier , number_literal )))) ;) (if_statement "if (iVar9 != iVar7) {\n        iVar9 = FUN_0034def0(local_b8,local_b8._8_4_);\n        iVar7 = (**(code **)(*plVar12 + 0x50))(plVar12,0x2b);\n        if (iVar9 != iVar7) break;\n      }" if (parenthesized_expression "(iVar9 != iVar7)" ( (binary_expression "iVar9 != iVar7" identifier != identifier) )) (compound_statement "{\n        iVar9 = FUN_0034def0(local_b8,local_b8._8_4_);\n        iVar7 = (**(code **)(*plVar12 + 0x50))(plVar12,0x2b);\n        if (iVar9 != iVar7) break;\n      }" { (expression_statement "iVar9 = FUN_0034def0(local_b8,local_b8._8_4_);" (assignment_expression "iVar9 = FUN_0034def0(local_b8,local_b8._8_4_)" identifier = (call_expression "FUN_0034def0(local_b8,local_b8._8_4_)" identifier (argument_list "(local_b8,local_b8._8_4_)" ( identifier , (field_expression "local_b8._8_4_" identifier . field_identifier) )))) ;) (expression_statement "iVar7 = (**(code **)(*plVar12 + 0x50))(plVar12,0x2b);" (assignment_expression "iVar7 = (**(code **)(*plVar12 + 0x50))(plVar12,0x2b)" identifier = (call_expression "(**(code **)(*plVar12 + 0x50))(plVar12,0x2b)" (parenthesized_expression "(**(code **)(*plVar12 + 0x50))" ( (pointer_expression "**(code **)(*plVar12 + 0x50)" * (pointer_expression "*(code **)(*plVar12 + 0x50)" * (cast_expression "(code **)(*plVar12 + 0x50)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*plVar12 + 0x50)" ( (binary_expression "*plVar12 + 0x50" (pointer_expression "*plVar12" * identifier) + number_literal) ))))) )) (argument_list "(plVar12,0x2b)" ( identifier , number_literal )))) ;) (if_statement "if (iVar9 != iVar7) break;" if (parenthesized_expression "(iVar9 != iVar7)" ( (binary_expression "iVar9 != iVar7" identifier != identifier) )) (break_statement "break;" break ;)) })) (expression_statement "auVar18 = FUN_00355fc0(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                             local_c0,&local_98,0,0x17,2,param_6,&local_a0);" (assignment_expression "auVar18 = FUN_00355fc0(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                             local_c0,&local_98,0,0x17,2,param_6,&local_a0)" identifier = (call_expression "FUN_00355fc0(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                             local_c0,&local_98,0,0x17,2,param_6,&local_a0)" identifier (argument_list "(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                             local_c0,&local_98,0,0x17,2,param_6,&local_a0)" ( identifier , (field_expression "local_b8._0_8_" identifier . field_identifier) , (call_expression "CONCAT44(uStack_ac,local_b8._8_4_)" identifier (argument_list "(uStack_ac,local_b8._8_4_)" ( identifier , (field_expression "local_b8._8_4_" identifier . field_identifier) ))) , identifier , identifier , (pointer_expression "&local_98" & identifier) , number_literal , number_literal , number_literal , identifier , (pointer_expression "&local_a0" & identifier) )))) ;) (expression_statement "local_b8 = auVar18;" (assignment_expression "local_b8 = auVar18" identifier = identifier) ;) (expression_statement "auVar18 = FUN_00355fc0(param_1,auVar18._0_8_,CONCAT44(uStack_ac,auVar18._8_4_),local_c8,\n                             local_c0,&local_98,0,0x3b,2,param_6,&local_a0);" (assignment_expression "auVar18 = FUN_00355fc0(param_1,auVar18._0_8_,CONCAT44(uStack_ac,auVar18._8_4_),local_c8,\n                             local_c0,&local_98,0,0x3b,2,param_6,&local_a0)" identifier = (call_expression "FUN_00355fc0(param_1,auVar18._0_8_,CONCAT44(uStack_ac,auVar18._8_4_),local_c8,\n                             local_c0,&local_98,0,0x3b,2,param_6,&local_a0)" identifier (argument_list "(param_1,auVar18._0_8_,CONCAT44(uStack_ac,auVar18._8_4_),local_c8,\n                             local_c0,&local_98,0,0x3b,2,param_6,&local_a0)" ( identifier , (field_expression "auVar18._0_8_" identifier . field_identifier) , (call_expression "CONCAT44(uStack_ac,auVar18._8_4_)" identifier (argument_list "(uStack_ac,auVar18._8_4_)" ( identifier , (field_expression "auVar18._8_4_" identifier . field_identifier) ))) , identifier , identifier , (pointer_expression "&local_98" & identifier) , number_literal , number_literal , number_literal , identifier , (pointer_expression "&local_a0" & identifier) )))) ;) (expression_statement "local_b8 = auVar18;" (assignment_expression "local_b8 = auVar18" identifier = identifier) ;) })) (break_statement "break;" break ;)) (case_statement "case 'a':\n    lVar2 = *(long *)(lVar11 + 0x10);\n    local_98 = *(undefined8 *)(lVar2 + 0x90);\n    local_90 = *(undefined8 *)(lVar2 + 0x98);\n    local_88 = *(undefined8 *)(lVar2 + 0xa0);\n    local_80 = *(undefined8 *)(lVar2 + 0xa8);\n    local_78 = *(undefined8 *)(lVar2 + 0xb0);\n    local_70 = *(undefined8 *)(lVar2 + 0xb8);\n    local_68 = *(undefined8 *)(lVar2 + 0xc0);\n    auVar18 = FUN_00356440(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,&local_9c,&local_98,7,param_6,&local_a0);\njoined_r0x003588cd:\n    local_b8 = auVar18;\n    if (local_a0 == 0) {\n      param_8[6] = local_9c;\n    }\n    break;" case (char_literal "'a'" ' character ') : (expression_statement "lVar2 = *(long *)(lVar11 + 0x10);" (assignment_expression "lVar2 = *(long *)(lVar11 + 0x10)" identifier = (pointer_expression "*(long *)(lVar11 + 0x10)" * (cast_expression "(long *)(lVar11 + 0x10)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar11 + 0x10)" ( (binary_expression "lVar11 + 0x10" identifier + number_literal) ))))) ;) (expression_statement "local_98 = *(undefined8 *)(lVar2 + 0x90);" (assignment_expression "local_98 = *(undefined8 *)(lVar2 + 0x90)" identifier = (pointer_expression "*(undefined8 *)(lVar2 + 0x90)" * (cast_expression "(undefined8 *)(lVar2 + 0x90)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar2 + 0x90)" ( (binary_expression "lVar2 + 0x90" identifier + number_literal) ))))) ;) (expression_statement "local_90 = *(undefined8 *)(lVar2 + 0x98);" (assignment_expression "local_90 = *(undefined8 *)(lVar2 + 0x98)" identifier = (pointer_expression "*(undefined8 *)(lVar2 + 0x98)" * (cast_expression "(undefined8 *)(lVar2 + 0x98)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar2 + 0x98)" ( (binary_expression "lVar2 + 0x98" identifier + number_literal) ))))) ;) (expression_statement "local_88 = *(undefined8 *)(lVar2 + 0xa0);" (assignment_expression "local_88 = *(undefined8 *)(lVar2 + 0xa0)" identifier = (pointer_expression "*(undefined8 *)(lVar2 + 0xa0)" * (cast_expression "(undefined8 *)(lVar2 + 0xa0)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar2 + 0xa0)" ( (binary_expression "lVar2 + 0xa0" identifier + number_literal) ))))) ;) (expression_statement "local_80 = *(undefined8 *)(lVar2 + 0xa8);" (assignment_expression "local_80 = *(undefined8 *)(lVar2 + 0xa8)" identifier = (pointer_expression "*(undefined8 *)(lVar2 + 0xa8)" * (cast_expression "(undefined8 *)(lVar2 + 0xa8)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar2 + 0xa8)" ( (binary_expression "lVar2 + 0xa8" identifier + number_literal) ))))) ;) (expression_statement "local_78 = *(undefined8 *)(lVar2 + 0xb0);" (assignment_expression "local_78 = *(undefined8 *)(lVar2 + 0xb0)" identifier = (pointer_expression "*(undefined8 *)(lVar2 + 0xb0)" * (cast_expression "(undefined8 *)(lVar2 + 0xb0)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar2 + 0xb0)" ( (binary_expression "lVar2 + 0xb0" identifier + number_literal) ))))) ;) (expression_statement "local_70 = *(undefined8 *)(lVar2 + 0xb8);" (assignment_expression "local_70 = *(undefined8 *)(lVar2 + 0xb8)" identifier = (pointer_expression "*(undefined8 *)(lVar2 + 0xb8)" * (cast_expression "(undefined8 *)(lVar2 + 0xb8)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar2 + 0xb8)" ( (binary_expression "lVar2 + 0xb8" identifier + number_literal) ))))) ;) (expression_statement "local_68 = *(undefined8 *)(lVar2 + 0xc0);" (assignment_expression "local_68 = *(undefined8 *)(lVar2 + 0xc0)" identifier = (pointer_expression "*(undefined8 *)(lVar2 + 0xc0)" * (cast_expression "(undefined8 *)(lVar2 + 0xc0)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar2 + 0xc0)" ( (binary_expression "lVar2 + 0xc0" identifier + number_literal) ))))) ;) (expression_statement "auVar18 = FUN_00356440(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,&local_9c,&local_98,7,param_6,&local_a0);" (assignment_expression "auVar18 = FUN_00356440(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,&local_9c,&local_98,7,param_6,&local_a0)" identifier = (call_expression "FUN_00356440(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,&local_9c,&local_98,7,param_6,&local_a0)" identifier (argument_list "(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,&local_9c,&local_98,7,param_6,&local_a0)" ( identifier , (field_expression "local_b8._0_8_" identifier . field_identifier) , (call_expression "CONCAT44(uStack_ac,local_b8._8_4_)" identifier (argument_list "(uStack_ac,local_b8._8_4_)" ( identifier , (field_expression "local_b8._8_4_" identifier . field_identifier) ))) , identifier , identifier , (pointer_expression "&local_9c" & identifier) , (pointer_expression "&local_98" & identifier) , number_literal , identifier , (pointer_expression "&local_a0" & identifier) )))) ;) (labeled_statement "joined_r0x003588cd:\n    local_b8 = auVar18;" statement_identifier : (expression_statement "local_b8 = auVar18;" (assignment_expression "local_b8 = auVar18" identifier = identifier) ;)) (if_statement "if (local_a0 == 0) {\n      param_8[6] = local_9c;\n    }" if (parenthesized_expression "(local_a0 == 0)" ( (binary_expression "local_a0 == 0" identifier == number_literal) )) (compound_statement "{\n      param_8[6] = local_9c;\n    }" { (expression_statement "param_8[6] = local_9c;" (assignment_expression "param_8[6] = local_9c" (subscript_expression "param_8[6]" identifier [ number_literal ]) = identifier) ;) })) (break_statement "break;" break ;)) (case_statement "case 'b':" case (char_literal "'b'" ' character ') :) (case_statement "case 'h':\n    lVar2 = *(long *)(lVar11 + 0x10);\n    local_98 = *(undefined8 *)(lVar2 + 0x128);\n    local_90 = *(undefined8 *)(lVar2 + 0x130);\n    local_88 = *(undefined8 *)(lVar2 + 0x138);\n    local_80 = *(undefined8 *)(lVar2 + 0x140);\n    local_78 = *(undefined8 *)(lVar2 + 0x148);\n    local_70 = *(undefined8 *)(lVar2 + 0x150);\n    local_68 = *(undefined8 *)(lVar2 + 0x158);\n    local_60 = *(undefined8 *)(lVar2 + 0x160);\n    local_58 = *(undefined8 *)(lVar2 + 0x168);\n    local_50 = *(undefined8 *)(lVar2 + 0x170);\n    local_48 = *(undefined8 *)(lVar2 + 0x178);\n    local_40 = *(undefined8 *)(lVar2 + 0x180);\n    auVar18 = FUN_00356440(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,&local_9c,&local_98,0xc,param_6,&local_a0);\njoined_r0x00358a12:\n    local_b8 = auVar18;\n    if (local_a0 == 0) {\n      param_8[4] = local_9c;\n    }\n    break;" case (char_literal "'h'" ' character ') : (expression_statement "lVar2 = *(long *)(lVar11 + 0x10);" (assignment_expression "lVar2 = *(long *)(lVar11 + 0x10)" identifier = (pointer_expression "*(long *)(lVar11 + 0x10)" * (cast_expression "(long *)(lVar11 + 0x10)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar11 + 0x10)" ( (binary_expression "lVar11 + 0x10" identifier + number_literal) ))))) ;) (expression_statement "local_98 = *(undefined8 *)(lVar2 + 0x128);" (assignment_expression "local_98 = *(undefined8 *)(lVar2 + 0x128)" identifier = (pointer_expression "*(undefined8 *)(lVar2 + 0x128)" * (cast_expression "(undefined8 *)(lVar2 + 0x128)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar2 + 0x128)" ( (binary_expression "lVar2 + 0x128" identifier + number_literal) ))))) ;) (expression_statement "local_90 = *(undefined8 *)(lVar2 + 0x130);" (assignment_expression "local_90 = *(undefined8 *)(lVar2 + 0x130)" identifier = (pointer_expression "*(undefined8 *)(lVar2 + 0x130)" * (cast_expression "(undefined8 *)(lVar2 + 0x130)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar2 + 0x130)" ( (binary_expression "lVar2 + 0x130" identifier + number_literal) ))))) ;) (expression_statement "local_88 = *(undefined8 *)(lVar2 + 0x138);" (assignment_expression "local_88 = *(undefined8 *)(lVar2 + 0x138)" identifier = (pointer_expression "*(undefined8 *)(lVar2 + 0x138)" * (cast_expression "(undefined8 *)(lVar2 + 0x138)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar2 + 0x138)" ( (binary_expression "lVar2 + 0x138" identifier + number_literal) ))))) ;) (expression_statement "local_80 = *(undefined8 *)(lVar2 + 0x140);" (assignment_expression "local_80 = *(undefined8 *)(lVar2 + 0x140)" identifier = (pointer_expression "*(undefined8 *)(lVar2 + 0x140)" * (cast_expression "(undefined8 *)(lVar2 + 0x140)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar2 + 0x140)" ( (binary_expression "lVar2 + 0x140" identifier + number_literal) ))))) ;) (expression_statement "local_78 = *(undefined8 *)(lVar2 + 0x148);" (assignment_expression "local_78 = *(undefined8 *)(lVar2 + 0x148)" identifier = (pointer_expression "*(undefined8 *)(lVar2 + 0x148)" * (cast_expression "(undefined8 *)(lVar2 + 0x148)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar2 + 0x148)" ( (binary_expression "lVar2 + 0x148" identifier + number_literal) ))))) ;) (expression_statement "local_70 = *(undefined8 *)(lVar2 + 0x150);" (assignment_expression "local_70 = *(undefined8 *)(lVar2 + 0x150)" identifier = (pointer_expression "*(undefined8 *)(lVar2 + 0x150)" * (cast_expression "(undefined8 *)(lVar2 + 0x150)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar2 + 0x150)" ( (binary_expression "lVar2 + 0x150" identifier + number_literal) ))))) ;) (expression_statement "local_68 = *(undefined8 *)(lVar2 + 0x158);" (assignment_expression "local_68 = *(undefined8 *)(lVar2 + 0x158)" identifier = (pointer_expression "*(undefined8 *)(lVar2 + 0x158)" * (cast_expression "(undefined8 *)(lVar2 + 0x158)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar2 + 0x158)" ( (binary_expression "lVar2 + 0x158" identifier + number_literal) ))))) ;) (expression_statement "local_60 = *(undefined8 *)(lVar2 + 0x160);" (assignment_expression "local_60 = *(undefined8 *)(lVar2 + 0x160)" identifier = (pointer_expression "*(undefined8 *)(lVar2 + 0x160)" * (cast_expression "(undefined8 *)(lVar2 + 0x160)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar2 + 0x160)" ( (binary_expression "lVar2 + 0x160" identifier + number_literal) ))))) ;) (expression_statement "local_58 = *(undefined8 *)(lVar2 + 0x168);" (assignment_expression "local_58 = *(undefined8 *)(lVar2 + 0x168)" identifier = (pointer_expression "*(undefined8 *)(lVar2 + 0x168)" * (cast_expression "(undefined8 *)(lVar2 + 0x168)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar2 + 0x168)" ( (binary_expression "lVar2 + 0x168" identifier + number_literal) ))))) ;) (expression_statement "local_50 = *(undefined8 *)(lVar2 + 0x170);" (assignment_expression "local_50 = *(undefined8 *)(lVar2 + 0x170)" identifier = (pointer_expression "*(undefined8 *)(lVar2 + 0x170)" * (cast_expression "(undefined8 *)(lVar2 + 0x170)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar2 + 0x170)" ( (binary_expression "lVar2 + 0x170" identifier + number_literal) ))))) ;) (expression_statement "local_48 = *(undefined8 *)(lVar2 + 0x178);" (assignment_expression "local_48 = *(undefined8 *)(lVar2 + 0x178)" identifier = (pointer_expression "*(undefined8 *)(lVar2 + 0x178)" * (cast_expression "(undefined8 *)(lVar2 + 0x178)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar2 + 0x178)" ( (binary_expression "lVar2 + 0x178" identifier + number_literal) ))))) ;) (expression_statement "local_40 = *(undefined8 *)(lVar2 + 0x180);" (assignment_expression "local_40 = *(undefined8 *)(lVar2 + 0x180)" identifier = (pointer_expression "*(undefined8 *)(lVar2 + 0x180)" * (cast_expression "(undefined8 *)(lVar2 + 0x180)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar2 + 0x180)" ( (binary_expression "lVar2 + 0x180" identifier + number_literal) ))))) ;) (expression_statement "auVar18 = FUN_00356440(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,&local_9c,&local_98,0xc,param_6,&local_a0);" (assignment_expression "auVar18 = FUN_00356440(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,&local_9c,&local_98,0xc,param_6,&local_a0)" identifier = (call_expression "FUN_00356440(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,&local_9c,&local_98,0xc,param_6,&local_a0)" identifier (argument_list "(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,&local_9c,&local_98,0xc,param_6,&local_a0)" ( identifier , (field_expression "local_b8._0_8_" identifier . field_identifier) , (call_expression "CONCAT44(uStack_ac,local_b8._8_4_)" identifier (argument_list "(uStack_ac,local_b8._8_4_)" ( identifier , (field_expression "local_b8._8_4_" identifier . field_identifier) ))) , identifier , identifier , (pointer_expression "&local_9c" & identifier) , (pointer_expression "&local_98" & identifier) , number_literal , identifier , (pointer_expression "&local_a0" & identifier) )))) ;) (labeled_statement "joined_r0x00358a12:\n    local_b8 = auVar18;" statement_identifier : (expression_statement "local_b8 = auVar18;" (assignment_expression "local_b8 = auVar18" identifier = identifier) ;)) (if_statement "if (local_a0 == 0) {\n      param_8[4] = local_9c;\n    }" if (parenthesized_expression "(local_a0 == 0)" ( (binary_expression "local_a0 == 0" identifier == number_literal) )) (compound_statement "{\n      param_8[4] = local_9c;\n    }" { (expression_statement "param_8[4] = local_9c;" (assignment_expression "param_8[4] = local_9c" (subscript_expression "param_8[4]" identifier [ number_literal ]) = identifier) ;) })) (break_statement "break;" break ;)) (case_statement "case 'c':\n    auVar18 = FUN_00357f80(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,param_6,&local_a0,param_8,\n                           *(undefined8 *)(*(long *)(lVar11 + 0x10) + 0x30));\n    local_b8 = auVar18;\n    break;" case (char_literal "'c'" ' character ') : (expression_statement "auVar18 = FUN_00357f80(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,param_6,&local_a0,param_8,\n                           *(undefined8 *)(*(long *)(lVar11 + 0x10) + 0x30));" (assignment_expression "auVar18 = FUN_00357f80(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,param_6,&local_a0,param_8,\n                           *(undefined8 *)(*(long *)(lVar11 + 0x10) + 0x30))" identifier = (call_expression "FUN_00357f80(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,param_6,&local_a0,param_8,\n                           *(undefined8 *)(*(long *)(lVar11 + 0x10) + 0x30))" identifier (argument_list "(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,param_6,&local_a0,param_8,\n                           *(undefined8 *)(*(long *)(lVar11 + 0x10) + 0x30))" ( identifier , (field_expression "local_b8._0_8_" identifier . field_identifier) , (call_expression "CONCAT44(uStack_ac,local_b8._8_4_)" identifier (argument_list "(uStack_ac,local_b8._8_4_)" ( identifier , (field_expression "local_b8._8_4_" identifier . field_identifier) ))) , identifier , identifier , identifier , (pointer_expression "&local_a0" & identifier) , identifier , (pointer_expression "*(undefined8 *)(*(long *)(lVar11 + 0x10) + 0x30)" * (cast_expression "(undefined8 *)(*(long *)(lVar11 + 0x10) + 0x30)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(long *)(lVar11 + 0x10) + 0x30)" ( (binary_expression "*(long *)(lVar11 + 0x10) + 0x30" (pointer_expression "*(long *)(lVar11 + 0x10)" * (cast_expression "(long *)(lVar11 + 0x10)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar11 + 0x10)" ( (binary_expression "lVar11 + 0x10" identifier + number_literal) )))) + number_literal) )))) )))) ;) (expression_statement "local_b8 = auVar18;" (assignment_expression "local_b8 = auVar18" identifier = identifier) ;) (break_statement "break;" break ;)) (case_statement "case 'd':\n    auVar18 = FUN_00355fc0(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,&local_9c,1,0x1f,2,param_6,&local_a0);\n    goto joined_r0x00358be9;" case (char_literal "'d'" ' character ') : (expression_statement "auVar18 = FUN_00355fc0(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,&local_9c,1,0x1f,2,param_6,&local_a0);" (assignment_expression "auVar18 = FUN_00355fc0(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,&local_9c,1,0x1f,2,param_6,&local_a0)" identifier = (call_expression "FUN_00355fc0(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,&local_9c,1,0x1f,2,param_6,&local_a0)" identifier (argument_list "(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,&local_9c,1,0x1f,2,param_6,&local_a0)" ( identifier , (field_expression "local_b8._0_8_" identifier . field_identifier) , (call_expression "CONCAT44(uStack_ac,local_b8._8_4_)" identifier (argument_list "(uStack_ac,local_b8._8_4_)" ( identifier , (field_expression "local_b8._8_4_" identifier . field_identifier) ))) , identifier , identifier , (pointer_expression "&local_9c" & identifier) , number_literal , number_literal , number_literal , identifier , (pointer_expression "&local_a0" & identifier) )))) ;) (goto_statement "goto joined_r0x00358be9;" goto statement_identifier ;)) (case_statement "case 'e':\n    uVar8 = FUN_0034def0(local_b8,local_b8._8_4_);\n    cVar6 = (**(code **)(*plVar12 + 0x10))(plVar12,0x2000,uVar8);\n    if (cVar6 == '\0') {\n      auVar18 = FUN_00355fc0(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                             local_c0,&local_9c,10,0x1f,2,param_6,&local_a0);\n    }\n    else {\n      FUN_002fc080(local_b8._0_8_);\n      local_b8._8_4_ = 0xffffffff;\n      auVar18 = FUN_00355fc0(param_1,local_b8._0_8_,CONCAT44(uStack_ac,0xffffffff),local_c8,local_c0\n                             ,&local_9c,1,9,1,param_6,&local_a0);\n    }\njoined_r0x00358be9:\n    local_b8 = auVar18;\n    if (local_a0 == 0) {\n      param_8[3] = local_9c;\n    }\n    break;" case (char_literal "'e'" ' character ') : (expression_statement "uVar8 = FUN_0034def0(local_b8,local_b8._8_4_);" (assignment_expression "uVar8 = FUN_0034def0(local_b8,local_b8._8_4_)" identifier = (call_expression "FUN_0034def0(local_b8,local_b8._8_4_)" identifier (argument_list "(local_b8,local_b8._8_4_)" ( identifier , (field_expression "local_b8._8_4_" identifier . field_identifier) )))) ;) (expression_statement "cVar6 = (**(code **)(*plVar12 + 0x10))(plVar12,0x2000,uVar8);" (assignment_expression "cVar6 = (**(code **)(*plVar12 + 0x10))(plVar12,0x2000,uVar8)" identifier = (call_expression "(**(code **)(*plVar12 + 0x10))(plVar12,0x2000,uVar8)" (parenthesized_expression "(**(code **)(*plVar12 + 0x10))" ( (pointer_expression "**(code **)(*plVar12 + 0x10)" * (pointer_expression "*(code **)(*plVar12 + 0x10)" * (cast_expression "(code **)(*plVar12 + 0x10)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*plVar12 + 0x10)" ( (binary_expression "*plVar12 + 0x10" (pointer_expression "*plVar12" * identifier) + number_literal) ))))) )) (argument_list "(plVar12,0x2000,uVar8)" ( identifier , number_literal , identifier )))) ;) (if_statement "if (cVar6 == '\0') {\n      auVar18 = FUN_00355fc0(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                             local_c0,&local_9c,10,0x1f,2,param_6,&local_a0);\n    }\n    else {\n      FUN_002fc080(local_b8._0_8_);\n      local_b8._8_4_ = 0xffffffff;\n      auVar18 = FUN_00355fc0(param_1,local_b8._0_8_,CONCAT44(uStack_ac,0xffffffff),local_c8,local_c0\n                             ,&local_9c,1,9,1,param_6,&local_a0);\n    }" if (parenthesized_expression "(cVar6 == '\0')" ( (binary_expression "cVar6 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n      auVar18 = FUN_00355fc0(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                             local_c0,&local_9c,10,0x1f,2,param_6,&local_a0);\n    }" { (expression_statement "auVar18 = FUN_00355fc0(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                             local_c0,&local_9c,10,0x1f,2,param_6,&local_a0);" (assignment_expression "auVar18 = FUN_00355fc0(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                             local_c0,&local_9c,10,0x1f,2,param_6,&local_a0)" identifier = (call_expression "FUN_00355fc0(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                             local_c0,&local_9c,10,0x1f,2,param_6,&local_a0)" identifier (argument_list "(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                             local_c0,&local_9c,10,0x1f,2,param_6,&local_a0)" ( identifier , (field_expression "local_b8._0_8_" identifier . field_identifier) , (call_expression "CONCAT44(uStack_ac,local_b8._8_4_)" identifier (argument_list "(uStack_ac,local_b8._8_4_)" ( identifier , (field_expression "local_b8._8_4_" identifier . field_identifier) ))) , identifier , identifier , (pointer_expression "&local_9c" & identifier) , number_literal , number_literal , number_literal , identifier , (pointer_expression "&local_a0" & identifier) )))) ;) }) (else_clause "else {\n      FUN_002fc080(local_b8._0_8_);\n      local_b8._8_4_ = 0xffffffff;\n      auVar18 = FUN_00355fc0(param_1,local_b8._0_8_,CONCAT44(uStack_ac,0xffffffff),local_c8,local_c0\n                             ,&local_9c,1,9,1,param_6,&local_a0);\n    }" else (compound_statement "{\n      FUN_002fc080(local_b8._0_8_);\n      local_b8._8_4_ = 0xffffffff;\n      auVar18 = FUN_00355fc0(param_1,local_b8._0_8_,CONCAT44(uStack_ac,0xffffffff),local_c8,local_c0\n                             ,&local_9c,1,9,1,param_6,&local_a0);\n    }" { (expression_statement "FUN_002fc080(local_b8._0_8_);" (call_expression "FUN_002fc080(local_b8._0_8_)" identifier (argument_list "(local_b8._0_8_)" ( (field_expression "local_b8._0_8_" identifier . field_identifier) ))) ;) (expression_statement "local_b8._8_4_ = 0xffffffff;" (assignment_expression "local_b8._8_4_ = 0xffffffff" (field_expression "local_b8._8_4_" identifier . field_identifier) = number_literal) ;) (expression_statement "auVar18 = FUN_00355fc0(param_1,local_b8._0_8_,CONCAT44(uStack_ac,0xffffffff),local_c8,local_c0\n                             ,&local_9c,1,9,1,param_6,&local_a0);" (assignment_expression "auVar18 = FUN_00355fc0(param_1,local_b8._0_8_,CONCAT44(uStack_ac,0xffffffff),local_c8,local_c0\n                             ,&local_9c,1,9,1,param_6,&local_a0)" identifier = (call_expression "FUN_00355fc0(param_1,local_b8._0_8_,CONCAT44(uStack_ac,0xffffffff),local_c8,local_c0\n                             ,&local_9c,1,9,1,param_6,&local_a0)" identifier (argument_list "(param_1,local_b8._0_8_,CONCAT44(uStack_ac,0xffffffff),local_c8,local_c0\n                             ,&local_9c,1,9,1,param_6,&local_a0)" ( identifier , (field_expression "local_b8._0_8_" identifier . field_identifier) , (call_expression "CONCAT44(uStack_ac,0xffffffff)" identifier (argument_list "(uStack_ac,0xffffffff)" ( identifier , number_literal ))) , identifier , identifier , (pointer_expression "&local_9c" & identifier) , number_literal , number_literal , number_literal , identifier , (pointer_expression "&local_a0" & identifier) )))) ;) }))) (labeled_statement "joined_r0x00358be9:\n    local_b8 = auVar18;" statement_identifier : (expression_statement "local_b8 = auVar18;" (assignment_expression "local_b8 = auVar18" identifier = identifier) ;)) (if_statement "if (local_a0 == 0) {\n      param_8[3] = local_9c;\n    }" if (parenthesized_expression "(local_a0 == 0)" ( (binary_expression "local_a0 == 0" identifier == number_literal) )) (compound_statement "{\n      param_8[3] = local_9c;\n    }" { (expression_statement "param_8[3] = local_9c;" (assignment_expression "param_8[3] = local_9c" (subscript_expression "param_8[3]" identifier [ number_literal ]) = identifier) ;) })) (break_statement "break;" break ;)) (case_statement "case 'm':\n    auVar18 = FUN_00355fc0(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,&local_9c,1,0xc,2,param_6,&local_a0);\n    local_b8 = auVar18;\n    if (local_a0 == 0) {\n      param_8[4] = local_9c + -1;\n    }\n    break;" case (char_literal "'m'" ' character ') : (expression_statement "auVar18 = FUN_00355fc0(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,&local_9c,1,0xc,2,param_6,&local_a0);" (assignment_expression "auVar18 = FUN_00355fc0(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,&local_9c,1,0xc,2,param_6,&local_a0)" identifier = (call_expression "FUN_00355fc0(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,&local_9c,1,0xc,2,param_6,&local_a0)" identifier (argument_list "(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,&local_9c,1,0xc,2,param_6,&local_a0)" ( identifier , (field_expression "local_b8._0_8_" identifier . field_identifier) , (call_expression "CONCAT44(uStack_ac,local_b8._8_4_)" identifier (argument_list "(uStack_ac,local_b8._8_4_)" ( identifier , (field_expression "local_b8._8_4_" identifier . field_identifier) ))) , identifier , identifier , (pointer_expression "&local_9c" & identifier) , number_literal , number_literal , number_literal , identifier , (pointer_expression "&local_a0" & identifier) )))) ;) (expression_statement "local_b8 = auVar18;" (assignment_expression "local_b8 = auVar18" identifier = identifier) ;) (if_statement "if (local_a0 == 0) {\n      param_8[4] = local_9c + -1;\n    }" if (parenthesized_expression "(local_a0 == 0)" ( (binary_expression "local_a0 == 0" identifier == number_literal) )) (compound_statement "{\n      param_8[4] = local_9c + -1;\n    }" { (expression_statement "param_8[4] = local_9c + -1;" (assignment_expression "param_8[4] = local_9c + -1" (subscript_expression "param_8[4]" identifier [ number_literal ]) = (binary_expression "local_9c + -1" identifier + number_literal)) ;) })) (break_statement "break;" break ;)) (case_statement "case 'n':\n    uVar8 = FUN_0034def0(local_b8,local_b8._8_4_);\n    cVar6 = (**(code **)(*plVar12 + 0x60))(plVar12,uVar8,0);\n    if (cVar6 != '\n') goto switchD_003580fd_caseD_45;\nLAB_003590ce:\n    FUN_002fc080(local_b8._0_8_);\n    local_b8._8_4_ = 0xffffffff;\n    break;" case (char_literal "'n'" ' character ') : (expression_statement "uVar8 = FUN_0034def0(local_b8,local_b8._8_4_);" (assignment_expression "uVar8 = FUN_0034def0(local_b8,local_b8._8_4_)" identifier = (call_expression "FUN_0034def0(local_b8,local_b8._8_4_)" identifier (argument_list "(local_b8,local_b8._8_4_)" ( identifier , (field_expression "local_b8._8_4_" identifier . field_identifier) )))) ;) (expression_statement "cVar6 = (**(code **)(*plVar12 + 0x60))(plVar12,uVar8,0);" (assignment_expression "cVar6 = (**(code **)(*plVar12 + 0x60))(plVar12,uVar8,0)" identifier = (call_expression "(**(code **)(*plVar12 + 0x60))(plVar12,uVar8,0)" (parenthesized_expression "(**(code **)(*plVar12 + 0x60))" ( (pointer_expression "**(code **)(*plVar12 + 0x60)" * (pointer_expression "*(code **)(*plVar12 + 0x60)" * (cast_expression "(code **)(*plVar12 + 0x60)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*plVar12 + 0x60)" ( (binary_expression "*plVar12 + 0x60" (pointer_expression "*plVar12" * identifier) + number_literal) ))))) )) (argument_list "(plVar12,uVar8,0)" ( identifier , identifier , number_literal )))) ;) (if_statement "if (cVar6 != '\n') goto switchD_003580fd_caseD_45;" if (parenthesized_expression "(cVar6 != '\n')" ( (binary_expression "cVar6 != '\n'" identifier != (char_literal "'\n'" ' escape_sequence ')) )) (goto_statement "goto switchD_003580fd_caseD_45;" goto statement_identifier ;)) (labeled_statement "LAB_003590ce:\n    FUN_002fc080(local_b8._0_8_);" statement_identifier : (expression_statement "FUN_002fc080(local_b8._0_8_);" (call_expression "FUN_002fc080(local_b8._0_8_)" identifier (argument_list "(local_b8._0_8_)" ( (field_expression "local_b8._0_8_" identifier . field_identifier) ))) ;)) (expression_statement "local_b8._8_4_ = 0xffffffff;" (assignment_expression "local_b8._8_4_ = 0xffffffff" (field_expression "local_b8._8_4_" identifier . field_identifier) = number_literal) ;) (break_statement "break;" break ;)) (case_statement "case 't':\n    uVar8 = FUN_0034def0(local_b8,local_b8._8_4_);\n    cVar6 = (**(code **)(*plVar12 + 0x60))(plVar12,uVar8,0);\n    if (cVar6 == '\t') goto LAB_003590ce;\n    goto switchD_003580fd_caseD_45;" case (char_literal "'t'" ' character ') : (expression_statement "uVar8 = FUN_0034def0(local_b8,local_b8._8_4_);" (assignment_expression "uVar8 = FUN_0034def0(local_b8,local_b8._8_4_)" identifier = (call_expression "FUN_0034def0(local_b8,local_b8._8_4_)" identifier (argument_list "(local_b8,local_b8._8_4_)" ( identifier , (field_expression "local_b8._8_4_" identifier . field_identifier) )))) ;) (expression_statement "cVar6 = (**(code **)(*plVar12 + 0x60))(plVar12,uVar8,0);" (assignment_expression "cVar6 = (**(code **)(*plVar12 + 0x60))(plVar12,uVar8,0)" identifier = (call_expression "(**(code **)(*plVar12 + 0x60))(plVar12,uVar8,0)" (parenthesized_expression "(**(code **)(*plVar12 + 0x60))" ( (pointer_expression "**(code **)(*plVar12 + 0x60)" * (pointer_expression "*(code **)(*plVar12 + 0x60)" * (cast_expression "(code **)(*plVar12 + 0x60)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*plVar12 + 0x60)" ( (binary_expression "*plVar12 + 0x60" (pointer_expression "*plVar12" * identifier) + number_literal) ))))) )) (argument_list "(plVar12,uVar8,0)" ( identifier , identifier , number_literal )))) ;) (if_statement "if (cVar6 == '\t') goto LAB_003590ce;" if (parenthesized_expression "(cVar6 == '\t')" ( (binary_expression "cVar6 == '\t'" identifier == (char_literal "'\t'" ' escape_sequence ')) )) (goto_statement "goto LAB_003590ce;" goto statement_identifier ;)) (goto_statement "goto switchD_003580fd_caseD_45;" goto statement_identifier ;)) (case_statement "case 'x':\n    auVar18 = FUN_00357f80(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,param_6,&local_a0,param_8,\n                           *(undefined8 *)(*(long *)(lVar11 + 0x10) + 0x10));\n    local_b8 = auVar18;" case (char_literal "'x'" ' character ') : (expression_statement "auVar18 = FUN_00357f80(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,param_6,&local_a0,param_8,\n                           *(undefined8 *)(*(long *)(lVar11 + 0x10) + 0x10));" (assignment_expression "auVar18 = FUN_00357f80(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,param_6,&local_a0,param_8,\n                           *(undefined8 *)(*(long *)(lVar11 + 0x10) + 0x10))" identifier = (call_expression "FUN_00357f80(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,param_6,&local_a0,param_8,\n                           *(undefined8 *)(*(long *)(lVar11 + 0x10) + 0x10))" identifier (argument_list "(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,param_6,&local_a0,param_8,\n                           *(undefined8 *)(*(long *)(lVar11 + 0x10) + 0x10))" ( identifier , (field_expression "local_b8._0_8_" identifier . field_identifier) , (call_expression "CONCAT44(uStack_ac,local_b8._8_4_)" identifier (argument_list "(uStack_ac,local_b8._8_4_)" ( identifier , (field_expression "local_b8._8_4_" identifier . field_identifier) ))) , identifier , identifier , identifier , (pointer_expression "&local_a0" & identifier) , identifier , (pointer_expression "*(undefined8 *)(*(long *)(lVar11 + 0x10) + 0x10)" * (cast_expression "(undefined8 *)(*(long *)(lVar11 + 0x10) + 0x10)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(long *)(lVar11 + 0x10) + 0x10)" ( (binary_expression "*(long *)(lVar11 + 0x10) + 0x10" (pointer_expression "*(long *)(lVar11 + 0x10)" * (cast_expression "(long *)(lVar11 + 0x10)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar11 + 0x10)" ( (binary_expression "lVar11 + 0x10" identifier + number_literal) )))) + number_literal) )))) )))) ;) (expression_statement "local_b8 = auVar18;" (assignment_expression "local_b8 = auVar18" identifier = identifier) ;)) })) (labeled_statement "LAB_00358248:\n  uVar15 = uVar14 + 1;" statement_identifier : (expression_statement "uVar15 = uVar14 + 1;" (assignment_expression "uVar15 = uVar14 + 1" identifier = (binary_expression "uVar14 + 1" identifier + number_literal)) ;)) (goto_statement "goto LAB_00358033;" goto statement_identifier ;) (labeled_statement "switchD_003580fd_caseD_45:\n  local_a0 = local_a0 | 4;" statement_identifier : (expression_statement "local_a0 = local_a0 | 4;" (assignment_expression "local_a0 = local_a0 | 4" identifier = (binary_expression "local_a0 | 4" identifier | number_literal)) ;)) (goto_statement "goto LAB_00358248;" goto statement_identifier ;) (ERROR "}" }))
(translation_unit "/* std::time_get<wchar_t, std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> >\n   >::_M_extract_via_format(std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> >,\n   std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> >, std::ios_base&,\n   std::_Ios_Iostate&, tm*, wchar_t const*) const */\n\nundefined1  [16]\nstd::time_get<wchar_t,std::istreambuf_iterator<wchar_t,std::char_traits<wchar_t>>>::\n_M_extract_via_format\n          (undefined8 param_1,undefined8 param_2,undefined8 param_3,long *param_4,undefined8 param_5\n          ,long param_6,uint *param_7,int *param_8,wchar_t *param_9)\n\n{\n  wchar_t wVar1;\n  long lVar2;\n  undefined1 auVar3 [16];\n  undefined1 auVar4 [12];\n  bool bVar5;\n  char cVar6;\n  int iVar7;\n  undefined4 uVar8;\n  int iVar9;\n  wchar_t wVar10;\n  __timepunct *p_Var11;\n  ctype *pcVar12;\n  size_t sVar13;\n  ulong uVar14;\n  ulong uVar15;\n  bool bVar16;\n  bool bVar17;\n  undefined1 auVar18 [12];\n  long *local_c8;\n  undefined8 local_c0;\n  undefined1 local_b8 [12];\n  undefined4 uStack_ac;\n  uint local_a0;\n  int local_9c;\n  undefined8 local_98;\n  undefined8 local_90;\n  undefined8 local_88;\n  undefined8 local_80;\n  undefined8 local_78;\n  undefined8 local_70;\n  undefined8 local_68;\n  undefined8 local_60;\n  undefined8 local_58;\n  undefined8 local_50;\n  undefined8 local_48;\n  undefined8 local_40;\n  \n  local_b8._8_4_ = (undefined4)param_3;\n  uStack_ac = (undefined4)((ulong)param_3 >> 0x20);\n  local_c8 = param_4;\n  local_c0 = param_5;\n  local_b8._0_8_ = param_2;\n  p_Var11 = use_facet<std::__timepunct<wchar_t>>((locale *)(param_6 + 0xd0));\n  pcVar12 = use_facet<std::ctype<wchar_t>>((locale *)(param_6 + 0xd0));\n  sVar13 = wcslen(param_9);\n  local_a0 = 0;\n  uVar15 = 0;\nLAB_00358033:\n  bVar5 = (long *)local_b8._0_8_ != (long *)0x0 && local_b8._8_4_ == -1;\n  bVar17 = local_b8._8_4_ == -1;\n  if (bVar5) {\n    if (*(int **)(local_b8._0_8_ + 0x10) < *(int **)(local_b8._0_8_ + 0x18)) {\n      iVar9 = **(int **)(local_b8._0_8_ + 0x10);\n    }\n    else {\n      iVar9 = (**(code **)(*(long *)local_b8._0_8_ + 0x48))();\n    }\n    bVar17 = false;\n    if (iVar9 == -1) {\n      auVar18._4_8_ = 0;\n      auVar18._0_4_ = local_b8._8_4_;\n      local_b8 = auVar18 << 0x40;\n      bVar17 = bVar5;\n    }\n  }\n  bVar16 = (int)local_c0 == -1;\n  bVar5 = local_c8 != (long *)0x0 && bVar16;\n  if (bVar5) {\n    if ((int *)local_c8[2] < (int *)local_c8[3]) {\n      iVar9 = *(int *)local_c8[2];\n    }\n    else {\n      iVar9 = (**(code **)(*local_c8 + 0x48))();\n    }\n    bVar16 = false;\n    if (iVar9 != -1) goto LAB_00358070;\n    local_c8 = (long *)0x0;\n    if (bVar17 != bVar5) goto LAB_00358080;\nLAB_00358188:\n    if ((uVar15 == sVar13) && (local_a0 == 0)) goto LAB_0035819e;\nLAB_00358193:\n    *param_7 = *param_7 | 4;\nLAB_0035819e:\n    auVar3._12_4_ = uStack_ac;\n    auVar3._0_12_ = local_b8;\n    return auVar3;\n  }\nLAB_00358070:\n  if (bVar17 == bVar16) goto LAB_00358188;\nLAB_00358080:\n  if (sVar13 <= uVar15) goto LAB_00358188;\n  if (local_a0 != 0) goto LAB_00358193;\n  uVar14 = uVar15 + 1;\n  cVar6 = (**(code **)(*(long *)pcVar12 + 0x60))(pcVar12,param_9[uVar15],0);\n  if (cVar6 != '%') {\n    wVar1 = param_9[uVar15];\n    auVar4 = local_b8;\n    uVar15 = uVar14;\n    if ((local_b8._8_4_ == L'\xffffffff') && ((long *)local_b8._0_8_ != (long *)0x0)) {\n      if (*(wchar_t **)(local_b8._0_8_ + 0x10) < *(wchar_t **)(local_b8._0_8_ + 0x18)) {\n        wVar10 = **(wchar_t **)(local_b8._0_8_ + 0x10);\n      }\n      else {\n        wVar10 = (**(code **)(*(long *)local_b8._0_8_ + 0x48))();\n        auVar4 = local_b8;\n      }\n      local_b8._8_4_ = auVar4._8_4_;\n      if (wVar10 == L'\xffffffff') {\n        auVar4._4_8_ = 0;\n        auVar4._0_4_ = local_b8._8_4_;\n        auVar4 = auVar4 << 0x40;\n        local_b8._8_4_ = L'\xffffffff';\n        goto LAB_00358121;\n      }\n      local_b8 = auVar4;\n      if (wVar1 == wVar10) goto LAB_00358290;\nLAB_0035812a:\n      local_a0 = local_a0 | 4;\n    }\n    else {\nLAB_00358121:\n      bVar17 = wVar1 != local_b8._8_4_;\n      local_b8 = auVar4;\n      if (bVar17) goto LAB_0035812a;\nLAB_00358290:\n      local_b8._0_8_ = auVar4._0_8_;\n      if (*(ulong *)(local_b8._0_8_ + 0x10) < *(ulong *)(local_b8._0_8_ + 0x18)) {\n        *(ulong *)(local_b8._0_8_ + 0x10) = *(ulong *)(local_b8._0_8_ + 0x10) + 4;\n      }\n      else {\n        lVar2 = *(long *)local_b8._0_8_;\n        local_b8 = auVar4;\n        (**(code **)(lVar2 + 0x50))();\n      }\n      local_b8._8_4_ = 0xffffffff;\n    }\n    goto LAB_00358033;\n  }\n  cVar6 = (**(code **)(*(long *)pcVar12 + 0x60))(pcVar12,param_9[uVar15 + 1],0);\n  local_9c = 0;\n  if ((cVar6 == 'E') || (cVar6 == 'O')) {\n    uVar14 = uVar15 + 2;\n    cVar6 = (**(code **)(*(long *)pcVar12 + 0x60))(pcVar12,param_9[uVar15 + 2],0);\n  }\n  switch(cVar6) {\n  case 'A':\n    lVar2 = *(long *)(p_Var11 + 0x10);\n    local_98 = *(undefined8 *)(lVar2 + 0x58);\n    local_90 = *(undefined8 *)(lVar2 + 0x60);\n    local_88 = *(undefined8 *)(lVar2 + 0x68);\n    local_80 = *(undefined8 *)(lVar2 + 0x70);\n    local_78 = *(undefined8 *)(lVar2 + 0x78);\n    local_70 = *(undefined8 *)(lVar2 + 0x80);\n    local_68 = *(undefined8 *)(lVar2 + 0x88);\n    auVar18 = _M_extract_name(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                              local_c0,&local_9c,&local_98,7,param_6,&local_a0);\n    goto joined_r0x003588cd;\n  case 'B':\n    lVar2 = *(long *)(p_Var11 + 0x10);\n    local_98 = *(undefined8 *)(lVar2 + 200);\n    local_90 = *(undefined8 *)(lVar2 + 0xd0);\n    local_88 = *(undefined8 *)(lVar2 + 0xd8);\n    local_80 = *(undefined8 *)(lVar2 + 0xe0);\n    local_78 = *(undefined8 *)(lVar2 + 0xe8);\n    local_70 = *(undefined8 *)(lVar2 + 0xf0);\n    local_68 = *(undefined8 *)(lVar2 + 0xf8);\n    local_60 = *(undefined8 *)(lVar2 + 0x100);\n    local_58 = *(undefined8 *)(lVar2 + 0x108);\n    local_50 = *(undefined8 *)(lVar2 + 0x110);\n    local_48 = *(undefined8 *)(lVar2 + 0x118);\n    local_40 = *(undefined8 *)(lVar2 + 0x120);\n    auVar18 = _M_extract_name(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                              local_c0,&local_9c,&local_98,0xc,param_6,&local_a0);\n    goto joined_r0x00358a12;\n  case 'C':\n  case 'Y':\n  case 'y':\n    auVar18 = _M_extract_num(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                             local_c0,&local_9c,0,9999,4,param_6,&local_a0);\n    local_b8 = auVar18;\n    if (local_a0 == 0) {\n      iVar9 = local_9c + -0x76c;\n      if (local_9c < 0) {\n        iVar9 = local_9c + 100;\n      }\n      param_8[5] = iVar9;\n    }\n    break;\n  case 'D':\n    (**(code **)(*(long *)pcVar12 + 0x58))(pcVar12,"%m/%d/%y","%H:%M",&local_98);\n    auVar18 = _M_extract_via_format\n                        (param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,local_c0\n                         ,param_6,&local_a0,param_8,&local_98);\n    local_b8 = auVar18;\n    break;\n  default:\n    goto switchD_003580fd_caseD_45;\n  case 'H':\n    auVar18 = _M_extract_num(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                             local_c0,&local_9c,0,0x17,2,param_6,&local_a0);\n    goto joined_r0x003587d9;\n  case 'I':\n    auVar18 = _M_extract_num(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                             local_c0,&local_9c,1,0xc,2,param_6,&local_a0);\njoined_r0x003587d9:\n    local_b8 = auVar18;\n    if (local_a0 == 0) {\n      param_8[2] = local_9c;\n    }\n    break;\n  case 'M':\n    auVar18 = _M_extract_num(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                             local_c0,&local_9c,0,0x3b,2,param_6,&local_a0);\n    local_b8 = auVar18;\n    if (local_a0 == 0) {\n      param_8[1] = local_9c;\n    }\n    break;\n  case 'R':\n    (**(code **)(*(long *)pcVar12 + 0x58))(pcVar12,"%H:%M","%H:%M:%S",&local_98);\n    auVar18 = _M_extract_via_format\n                        (param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,local_c0\n                         ,param_6,&local_a0,param_8,&local_98);\n    local_b8 = auVar18;\n    break;\n  case 'S':\n    auVar18 = _M_extract_num(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                             local_c0,&local_9c,0,0x3c,2,param_6,&local_a0);\n    local_b8 = auVar18;\n    if (local_a0 == 0) {\n      *param_8 = local_9c;\n    }\n    break;\n  case 'T':\n    (**(code **)(*(long *)pcVar12 + 0x58))(pcVar12,"%H:%M:%S",&DAT_003aba16,&local_98);\n    auVar18 = _M_extract_via_format\n                        (param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,local_c0\n                         ,param_6,&local_a0,param_8,&local_98);\n    local_b8 = auVar18;\n    break;\n  case 'X':\n    auVar18 = _M_extract_via_format\n                        (param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,local_c0\n                         ,param_6,&local_a0,param_8,\n                         *(undefined8 *)(*(long *)(p_Var11 + 0x10) + 0x20));\n    local_b8 = auVar18;\n    break;\n  case 'Z':\n    uVar8 = istreambuf_iterator<wchar_t,std::char_traits<wchar_t>>::_M_get();\n    cVar6 = (**(code **)(*(long *)pcVar12 + 0x10))(pcVar12,0x100,uVar8);\n    if (cVar6 == '\0') goto switchD_003580fd_caseD_45;\n    auVar18 = _M_extract_name(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                              local_c0,&local_98,PTR__S_timezones_0045bff0,0xe,param_6,&local_a0);\n    local_b8 = auVar18;\n    cVar6 = istreambuf_iterator<wchar_t,std::char_traits<wchar_t>>::equal\n                      ((istreambuf_iterator<wchar_t,std::char_traits<wchar_t>> *)local_b8,\n                       (istreambuf_iterator *)&local_c8);\n    if ((cVar6 == '\0') && (local_a0 == 0 && (int)local_98 == 0)) {\n      iVar9 = istreambuf_iterator<wchar_t,std::char_traits<wchar_t>>::_M_get();\n      iVar7 = (**(code **)(*(long *)pcVar12 + 0x50))(pcVar12,0x2d);\n      if (iVar9 != iVar7) {\n        iVar9 = istreambuf_iterator<wchar_t,std::char_traits<wchar_t>>::_M_get();\n        iVar7 = (**(code **)(*(long *)pcVar12 + 0x50))(pcVar12,0x2b);\n        if (iVar9 != iVar7) break;\n      }\n      auVar18 = _M_extract_num(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                               local_c0,&local_98,0,0x17,2,param_6,&local_a0);\n      local_b8 = auVar18;\n      auVar18 = _M_extract_num(param_1,auVar18._0_8_,CONCAT44(uStack_ac,auVar18._8_4_),local_c8,\n                               local_c0,&local_98,0,0x3b,2,param_6,&local_a0);\n      local_b8 = auVar18;\n    }\n    break;\n  case 'a':\n    lVar2 = *(long *)(p_Var11 + 0x10);\n    local_98 = *(undefined8 *)(lVar2 + 0x90);\n    local_90 = *(undefined8 *)(lVar2 + 0x98);\n    local_88 = *(undefined8 *)(lVar2 + 0xa0);\n    local_80 = *(undefined8 *)(lVar2 + 0xa8);\n    local_78 = *(undefined8 *)(lVar2 + 0xb0);\n    local_70 = *(undefined8 *)(lVar2 + 0xb8);\n    local_68 = *(undefined8 *)(lVar2 + 0xc0);\n    auVar18 = _M_extract_name(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                              local_c0,&local_9c,&local_98,7,param_6,&local_a0);\njoined_r0x003588cd:\n    local_b8 = auVar18;\n    if (local_a0 == 0) {\n      param_8[6] = local_9c;\n    }\n    break;\n  case 'b':\n  case 'h':\n    lVar2 = *(long *)(p_Var11 + 0x10);\n    local_98 = *(undefined8 *)(lVar2 + 0x128);\n    local_90 = *(undefined8 *)(lVar2 + 0x130);\n    local_88 = *(undefined8 *)(lVar2 + 0x138);\n    local_80 = *(undefined8 *)(lVar2 + 0x140);\n    local_78 = *(undefined8 *)(lVar2 + 0x148);\n    local_70 = *(undefined8 *)(lVar2 + 0x150);\n    local_68 = *(undefined8 *)(lVar2 + 0x158);\n    local_60 = *(undefined8 *)(lVar2 + 0x160);\n    local_58 = *(undefined8 *)(lVar2 + 0x168);\n    local_50 = *(undefined8 *)(lVar2 + 0x170);\n    local_48 = *(undefined8 *)(lVar2 + 0x178);\n    local_40 = *(undefined8 *)(lVar2 + 0x180);\n    auVar18 = _M_extract_name(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                              local_c0,&local_9c,&local_98,0xc,param_6,&local_a0);\njoined_r0x00358a12:\n    local_b8 = auVar18;\n    if (local_a0 == 0) {\n      param_8[4] = local_9c;\n    }\n    break;\n  case 'c':\n    auVar18 = _M_extract_via_format\n                        (param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,local_c0\n                         ,param_6,&local_a0,param_8,\n                         *(undefined8 *)(*(long *)(p_Var11 + 0x10) + 0x30));\n    local_b8 = auVar18;\n    break;\n  case 'd':\n    auVar18 = _M_extract_num(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                             local_c0,&local_9c,1,0x1f,2,param_6,&local_a0);\n    goto joined_r0x00358be9;\n  case 'e':\n    uVar8 = istreambuf_iterator<wchar_t,std::char_traits<wchar_t>>::_M_get();\n    cVar6 = (**(code **)(*(long *)pcVar12 + 0x10))(pcVar12,0x2000,uVar8);\n    if (cVar6 == '\0') {\n      auVar18 = _M_extract_num(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                               local_c0,&local_9c,10,0x1f,2,param_6,&local_a0);\n    }\n    else {\n      wstreambuf::sbumpc((wstreambuf *)local_b8._0_8_);\n      local_b8._8_4_ = 0xffffffff;\n      auVar18 = _M_extract_num(param_1,local_b8._0_8_,CONCAT44(uStack_ac,0xffffffff),local_c8,\n                               local_c0,&local_9c,1,9,1,param_6,&local_a0);\n    }\njoined_r0x00358be9:\n    local_b8 = auVar18;\n    if (local_a0 == 0) {\n      param_8[3] = local_9c;\n    }\n    break;\n  case 'm':\n    auVar18 = _M_extract_num(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                             local_c0,&local_9c,1,0xc,2,param_6,&local_a0);\n    local_b8 = auVar18;\n    if (local_a0 == 0) {\n      param_8[4] = local_9c + -1;\n    }\n    break;\n  case 'n':\n    uVar8 = istreambuf_iterator<wchar_t,std::char_traits<wchar_t>>::_M_get();\n    cVar6 = (**(code **)(*(long *)pcVar12 + 0x60))(pcVar12,uVar8,0);\n    if (cVar6 != '\n') goto switchD_003580fd_caseD_45;\nLAB_003590ce:\n    wstreambuf::sbumpc((wstreambuf *)local_b8._0_8_);\n    local_b8._8_4_ = 0xffffffff;\n    break;\n  case 't':\n    uVar8 = istreambuf_iterator<wchar_t,std::char_traits<wchar_t>>::_M_get();\n    cVar6 = (**(code **)(*(long *)pcVar12 + 0x60))(pcVar12,uVar8,0);\n    if (cVar6 == '\t') goto LAB_003590ce;\n    goto switchD_003580fd_caseD_45;\n  case 'x':\n    auVar18 = _M_extract_via_format\n                        (param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,local_c0\n                         ,param_6,&local_a0,param_8,\n                         *(undefined8 *)(*(long *)(p_Var11 + 0x10) + 0x10));\n    local_b8 = auVar18;\n  }\nLAB_00358248:\n  uVar15 = uVar14 + 1;\n  goto LAB_00358033;\nswitchD_003580fd_caseD_45:\n  local_a0 = local_a0 | 4;\n  goto LAB_00358248;\n}\n\n" comment (expression_statement "undefined1  [16]" (subscript_expression "undefined1  [16]" identifier [ number_literal ]) ;) (labeled_statement "std::time_get<wchar_t,std::istreambuf_iterator<wchar_t,std::char_traits<wchar_t>>>::\n_M_extract_via_format\n          (undefined8 param_1,undefined8 param_2,undefined8 param_3,long *param_4,undefined8 param_5\n          ,long param_6,uint *param_7,int *param_8,wchar_t *param_9)" statement_identifier (ERROR "::time_get<wchar_t,std::istreambuf_iterator<wchar_t,std:" : : (comma_expression "time_get<wchar_t,std" (binary_expression "time_get<wchar_t" identifier < identifier) , identifier) : : (comma_expression "istreambuf_iterator<wchar_t,std" (binary_expression "istreambuf_iterator<wchar_t" identifier < identifier) , identifier) :) : (expression_statement "char_traits<wchar_t>>>::\n_M_extract_via_format\n          (undefined8 param_1,undefined8 param_2,undefined8 param_3,long *param_4,undefined8 param_5\n          ,long param_6,uint *param_7,int *param_8,wchar_t *param_9)" (binary_expression "char_traits<wchar_t>>>::\n_M_extract_via_format\n          (undefined8 param_1,undefined8 param_2,undefined8 param_3,long *param_4,undefined8 param_5\n          ,long param_6,uint *param_7,int *param_8,wchar_t *param_9)" identifier < (binary_expression "wchar_t>>>::\n_M_extract_via_format\n          (undefined8 param_1,undefined8 param_2,undefined8 param_3,long *param_4,undefined8 param_5\n          ,long param_6,uint *param_7,int *param_8,wchar_t *param_9)" identifier >> (ERROR ">::" > : :) (call_expression "_M_extract_via_format\n          (undefined8 param_1,undefined8 param_2,undefined8 param_3,long *param_4,undefined8 param_5\n          ,long param_6,uint *param_7,int *param_8,wchar_t *param_9)" identifier (argument_list "(undefined8 param_1,undefined8 param_2,undefined8 param_3,long *param_4,undefined8 param_5\n          ,long param_6,uint *param_7,int *param_8,wchar_t *param_9)" ( identifier (ERROR "param_1" identifier) , identifier (ERROR "param_2" identifier) , identifier (ERROR "param_3" identifier) , (binary_expression "long *param_4" identifier * identifier) , identifier (ERROR "param_5" identifier) , (ERROR "long" identifier) identifier , (binary_expression "uint *param_7" identifier * identifier) , (binary_expression "int *param_8" identifier * identifier) , (binary_expression "wchar_t *param_9" identifier * identifier) ))))) ;)) (compound_statement "{\n  wchar_t wVar1;\n  long lVar2;\n  undefined1 auVar3 [16];\n  undefined1 auVar4 [12];\n  bool bVar5;\n  char cVar6;\n  int iVar7;\n  undefined4 uVar8;\n  int iVar9;\n  wchar_t wVar10;\n  __timepunct *p_Var11;\n  ctype *pcVar12;\n  size_t sVar13;\n  ulong uVar14;\n  ulong uVar15;\n  bool bVar16;\n  bool bVar17;\n  undefined1 auVar18 [12];\n  long *local_c8;\n  undefined8 local_c0;\n  undefined1 local_b8 [12];\n  undefined4 uStack_ac;\n  uint local_a0;\n  int local_9c;\n  undefined8 local_98;\n  undefined8 local_90;\n  undefined8 local_88;\n  undefined8 local_80;\n  undefined8 local_78;\n  undefined8 local_70;\n  undefined8 local_68;\n  undefined8 local_60;\n  undefined8 local_58;\n  undefined8 local_50;\n  undefined8 local_48;\n  undefined8 local_40;\n  \n  local_b8._8_4_ = (undefined4)param_3;\n  uStack_ac = (undefined4)((ulong)param_3 >> 0x20);\n  local_c8 = param_4;\n  local_c0 = param_5;\n  local_b8._0_8_ = param_2;\n  p_Var11 = use_facet<std::__timepunct<wchar_t>>((locale *)(param_6 + 0xd0));\n  pcVar12 = use_facet<std::ctype<wchar_t>>((locale *)(param_6 + 0xd0));\n  sVar13 = wcslen(param_9);\n  local_a0 = 0;\n  uVar15 = 0;\nLAB_00358033:\n  bVar5 = (long *)local_b8._0_8_ != (long *)0x0 && local_b8._8_4_ == -1;\n  bVar17 = local_b8._8_4_ == -1;\n  if (bVar5) {\n    if (*(int **)(local_b8._0_8_ + 0x10) < *(int **)(local_b8._0_8_ + 0x18)) {\n      iVar9 = **(int **)(local_b8._0_8_ + 0x10);\n    }\n    else {\n      iVar9 = (**(code **)(*(long *)local_b8._0_8_ + 0x48))();\n    }\n    bVar17 = false;\n    if (iVar9 == -1) {\n      auVar18._4_8_ = 0;\n      auVar18._0_4_ = local_b8._8_4_;\n      local_b8 = auVar18 << 0x40;\n      bVar17 = bVar5;\n    }\n  }\n  bVar16 = (int)local_c0 == -1;\n  bVar5 = local_c8 != (long *)0x0 && bVar16;\n  if (bVar5) {\n    if ((int *)local_c8[2] < (int *)local_c8[3]) {\n      iVar9 = *(int *)local_c8[2];\n    }\n    else {\n      iVar9 = (**(code **)(*local_c8 + 0x48))();\n    }\n    bVar16 = false;\n    if (iVar9 != -1) goto LAB_00358070;\n    local_c8 = (long *)0x0;\n    if (bVar17 != bVar5) goto LAB_00358080;\nLAB_00358188:\n    if ((uVar15 == sVar13) && (local_a0 == 0)) goto LAB_0035819e;\nLAB_00358193:\n    *param_7 = *param_7 | 4;\nLAB_0035819e:\n    auVar3._12_4_ = uStack_ac;\n    auVar3._0_12_ = local_b8;\n    return auVar3;\n  }\nLAB_00358070:\n  if (bVar17 == bVar16) goto LAB_00358188;\nLAB_00358080:\n  if (sVar13 <= uVar15) goto LAB_00358188;\n  if (local_a0 != 0) goto LAB_00358193;\n  uVar14 = uVar15 + 1;\n  cVar6 = (**(code **)(*(long *)pcVar12 + 0x60))(pcVar12,param_9[uVar15],0);\n  if (cVar6 != '%') {\n    wVar1 = param_9[uVar15];\n    auVar4 = local_b8;\n    uVar15 = uVar14;\n    if ((local_b8._8_4_ == L'\xffffffff') && ((long *)local_b8._0_8_ != (long *)0x0)) {\n      if (*(wchar_t **)(local_b8._0_8_ + 0x10) < *(wchar_t **)(local_b8._0_8_ + 0x18)) {\n        wVar10 = **(wchar_t **)(local_b8._0_8_ + 0x10);\n      }\n      else {\n        wVar10 = (**(code **)(*(long *)local_b8._0_8_ + 0x48))();\n        auVar4 = local_b8;\n      }\n      local_b8._8_4_ = auVar4._8_4_;\n      if (wVar10 == L'\xffffffff') {\n        auVar4._4_8_ = 0;\n        auVar4._0_4_ = local_b8._8_4_;\n        auVar4 = auVar4 << 0x40;\n        local_b8._8_4_ = L'\xffffffff';\n        goto LAB_00358121;\n      }\n      local_b8 = auVar4;\n      if (wVar1 == wVar10) goto LAB_00358290;\nLAB_0035812a:\n      local_a0 = local_a0 | 4;\n    }\n    else {\nLAB_00358121:\n      bVar17 = wVar1 != local_b8._8_4_;\n      local_b8 = auVar4;\n      if (bVar17) goto LAB_0035812a;\nLAB_00358290:\n      local_b8._0_8_ = auVar4._0_8_;\n      if (*(ulong *)(local_b8._0_8_ + 0x10) < *(ulong *)(local_b8._0_8_ + 0x18)) {\n        *(ulong *)(local_b8._0_8_ + 0x10) = *(ulong *)(local_b8._0_8_ + 0x10) + 4;\n      }\n      else {\n        lVar2 = *(long *)local_b8._0_8_;\n        local_b8 = auVar4;\n        (**(code **)(lVar2 + 0x50))();\n      }\n      local_b8._8_4_ = 0xffffffff;\n    }\n    goto LAB_00358033;\n  }\n  cVar6 = (**(code **)(*(long *)pcVar12 + 0x60))(pcVar12,param_9[uVar15 + 1],0);\n  local_9c = 0;\n  if ((cVar6 == 'E') || (cVar6 == 'O')) {\n    uVar14 = uVar15 + 2;\n    cVar6 = (**(code **)(*(long *)pcVar12 + 0x60))(pcVar12,param_9[uVar15 + 2],0);\n  }\n  switch(cVar6) {\n  case 'A':\n    lVar2 = *(long *)(p_Var11 + 0x10);\n    local_98 = *(undefined8 *)(lVar2 + 0x58);\n    local_90 = *(undefined8 *)(lVar2 + 0x60);\n    local_88 = *(undefined8 *)(lVar2 + 0x68);\n    local_80 = *(undefined8 *)(lVar2 + 0x70);\n    local_78 = *(undefined8 *)(lVar2 + 0x78);\n    local_70 = *(undefined8 *)(lVar2 + 0x80);\n    local_68 = *(undefined8 *)(lVar2 + 0x88);\n    auVar18 = _M_extract_name(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                              local_c0,&local_9c,&local_98,7,param_6,&local_a0);\n    goto joined_r0x003588cd;\n  case 'B':\n    lVar2 = *(long *)(p_Var11 + 0x10);\n    local_98 = *(undefined8 *)(lVar2 + 200);\n    local_90 = *(undefined8 *)(lVar2 + 0xd0);\n    local_88 = *(undefined8 *)(lVar2 + 0xd8);\n    local_80 = *(undefined8 *)(lVar2 + 0xe0);\n    local_78 = *(undefined8 *)(lVar2 + 0xe8);\n    local_70 = *(undefined8 *)(lVar2 + 0xf0);\n    local_68 = *(undefined8 *)(lVar2 + 0xf8);\n    local_60 = *(undefined8 *)(lVar2 + 0x100);\n    local_58 = *(undefined8 *)(lVar2 + 0x108);\n    local_50 = *(undefined8 *)(lVar2 + 0x110);\n    local_48 = *(undefined8 *)(lVar2 + 0x118);\n    local_40 = *(undefined8 *)(lVar2 + 0x120);\n    auVar18 = _M_extract_name(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                              local_c0,&local_9c,&local_98,0xc,param_6,&local_a0);\n    goto joined_r0x00358a12;\n  case 'C':\n  case 'Y':\n  case 'y':\n    auVar18 = _M_extract_num(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                             local_c0,&local_9c,0,9999,4,param_6,&local_a0);\n    local_b8 = auVar18;\n    if (local_a0 == 0) {\n      iVar9 = local_9c + -0x76c;\n      if (local_9c < 0) {\n        iVar9 = local_9c + 100;\n      }\n      param_8[5] = iVar9;\n    }\n    break;\n  case 'D':\n    (**(code **)(*(long *)pcVar12 + 0x58))(pcVar12,"%m/%d/%y","%H:%M",&local_98);\n    auVar18 = _M_extract_via_format\n                        (param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,local_c0\n                         ,param_6,&local_a0,param_8,&local_98);\n    local_b8 = auVar18;\n    break;\n  default:\n    goto switchD_003580fd_caseD_45;\n  case 'H':\n    auVar18 = _M_extract_num(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                             local_c0,&local_9c,0,0x17,2,param_6,&local_a0);\n    goto joined_r0x003587d9;\n  case 'I':\n    auVar18 = _M_extract_num(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                             local_c0,&local_9c,1,0xc,2,param_6,&local_a0);\njoined_r0x003587d9:\n    local_b8 = auVar18;\n    if (local_a0 == 0) {\n      param_8[2] = local_9c;\n    }\n    break;\n  case 'M':\n    auVar18 = _M_extract_num(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                             local_c0,&local_9c,0,0x3b,2,param_6,&local_a0);\n    local_b8 = auVar18;\n    if (local_a0 == 0) {\n      param_8[1] = local_9c;\n    }\n    break;\n  case 'R':\n    (**(code **)(*(long *)pcVar12 + 0x58))(pcVar12,"%H:%M","%H:%M:%S",&local_98);\n    auVar18 = _M_extract_via_format\n                        (param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,local_c0\n                         ,param_6,&local_a0,param_8,&local_98);\n    local_b8 = auVar18;\n    break;\n  case 'S':\n    auVar18 = _M_extract_num(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                             local_c0,&local_9c,0,0x3c,2,param_6,&local_a0);\n    local_b8 = auVar18;\n    if (local_a0 == 0) {\n      *param_8 = local_9c;\n    }\n    break;\n  case 'T':\n    (**(code **)(*(long *)pcVar12 + 0x58))(pcVar12,"%H:%M:%S",&DAT_003aba16,&local_98);\n    auVar18 = _M_extract_via_format\n                        (param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,local_c0\n                         ,param_6,&local_a0,param_8,&local_98);\n    local_b8 = auVar18;\n    break;\n  case 'X':\n    auVar18 = _M_extract_via_format\n                        (param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,local_c0\n                         ,param_6,&local_a0,param_8,\n                         *(undefined8 *)(*(long *)(p_Var11 + 0x10) + 0x20));\n    local_b8 = auVar18;\n    break;\n  case 'Z':\n    uVar8 = istreambuf_iterator<wchar_t,std::char_traits<wchar_t>>::_M_get();\n    cVar6 = (**(code **)(*(long *)pcVar12 + 0x10))(pcVar12,0x100,uVar8);\n    if (cVar6 == '\0') goto switchD_003580fd_caseD_45;\n    auVar18 = _M_extract_name(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                              local_c0,&local_98,PTR__S_timezones_0045bff0,0xe,param_6,&local_a0);\n    local_b8 = auVar18;\n    cVar6 = istreambuf_iterator<wchar_t,std::char_traits<wchar_t>>::equal\n                      ((istreambuf_iterator<wchar_t,std::char_traits<wchar_t>> *)local_b8,\n                       (istreambuf_iterator *)&local_c8);\n    if ((cVar6 == '\0') && (local_a0 == 0 && (int)local_98 == 0)) {\n      iVar9 = istreambuf_iterator<wchar_t,std::char_traits<wchar_t>>::_M_get();\n      iVar7 = (**(code **)(*(long *)pcVar12 + 0x50))(pcVar12,0x2d);\n      if (iVar9 != iVar7) {\n        iVar9 = istreambuf_iterator<wchar_t,std::char_traits<wchar_t>>::_M_get();\n        iVar7 = (**(code **)(*(long *)pcVar12 + 0x50))(pcVar12,0x2b);\n        if (iVar9 != iVar7) break;\n      }\n      auVar18 = _M_extract_num(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                               local_c0,&local_98,0,0x17,2,param_6,&local_a0);\n      local_b8 = auVar18;\n      auVar18 = _M_extract_num(param_1,auVar18._0_8_,CONCAT44(uStack_ac,auVar18._8_4_),local_c8,\n                               local_c0,&local_98,0,0x3b,2,param_6,&local_a0);\n      local_b8 = auVar18;\n    }\n    break;\n  case 'a':\n    lVar2 = *(long *)(p_Var11 + 0x10);\n    local_98 = *(undefined8 *)(lVar2 + 0x90);\n    local_90 = *(undefined8 *)(lVar2 + 0x98);\n    local_88 = *(undefined8 *)(lVar2 + 0xa0);\n    local_80 = *(undefined8 *)(lVar2 + 0xa8);\n    local_78 = *(undefined8 *)(lVar2 + 0xb0);\n    local_70 = *(undefined8 *)(lVar2 + 0xb8);\n    local_68 = *(undefined8 *)(lVar2 + 0xc0);\n    auVar18 = _M_extract_name(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                              local_c0,&local_9c,&local_98,7,param_6,&local_a0);\njoined_r0x003588cd:\n    local_b8 = auVar18;\n    if (local_a0 == 0) {\n      param_8[6] = local_9c;\n    }\n    break;\n  case 'b':\n  case 'h':\n    lVar2 = *(long *)(p_Var11 + 0x10);\n    local_98 = *(undefined8 *)(lVar2 + 0x128);\n    local_90 = *(undefined8 *)(lVar2 + 0x130);\n    local_88 = *(undefined8 *)(lVar2 + 0x138);\n    local_80 = *(undefined8 *)(lVar2 + 0x140);\n    local_78 = *(undefined8 *)(lVar2 + 0x148);\n    local_70 = *(undefined8 *)(lVar2 + 0x150);\n    local_68 = *(undefined8 *)(lVar2 + 0x158);\n    local_60 = *(undefined8 *)(lVar2 + 0x160);\n    local_58 = *(undefined8 *)(lVar2 + 0x168);\n    local_50 = *(undefined8 *)(lVar2 + 0x170);\n    local_48 = *(undefined8 *)(lVar2 + 0x178);\n    local_40 = *(undefined8 *)(lVar2 + 0x180);\n    auVar18 = _M_extract_name(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                              local_c0,&local_9c,&local_98,0xc,param_6,&local_a0);\njoined_r0x00358a12:\n    local_b8 = auVar18;\n    if (local_a0 == 0) {\n      param_8[4] = local_9c;\n    }\n    break;\n  case 'c':\n    auVar18 = _M_extract_via_format\n                        (param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,local_c0\n                         ,param_6,&local_a0,param_8,\n                         *(undefined8 *)(*(long *)(p_Var11 + 0x10) + 0x30));\n    local_b8 = auVar18;\n    break;\n  case 'd':\n    auVar18 = _M_extract_num(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                             local_c0,&local_9c,1,0x1f,2,param_6,&local_a0);\n    goto joined_r0x00358be9;\n  case 'e':\n    uVar8 = istreambuf_iterator<wchar_t,std::char_traits<wchar_t>>::_M_get();\n    cVar6 = (**(code **)(*(long *)pcVar12 + 0x10))(pcVar12,0x2000,uVar8);\n    if (cVar6 == '\0') {\n      auVar18 = _M_extract_num(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                               local_c0,&local_9c,10,0x1f,2,param_6,&local_a0);\n    }\n    else {\n      wstreambuf::sbumpc((wstreambuf *)local_b8._0_8_);\n      local_b8._8_4_ = 0xffffffff;\n      auVar18 = _M_extract_num(param_1,local_b8._0_8_,CONCAT44(uStack_ac,0xffffffff),local_c8,\n                               local_c0,&local_9c,1,9,1,param_6,&local_a0);\n    }\njoined_r0x00358be9:\n    local_b8 = auVar18;\n    if (local_a0 == 0) {\n      param_8[3] = local_9c;\n    }\n    break;\n  case 'm':\n    auVar18 = _M_extract_num(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                             local_c0,&local_9c,1,0xc,2,param_6,&local_a0);\n    local_b8 = auVar18;\n    if (local_a0 == 0) {\n      param_8[4] = local_9c + -1;\n    }\n    break;\n  case 'n':\n    uVar8 = istreambuf_iterator<wchar_t,std::char_traits<wchar_t>>::_M_get();\n    cVar6 = (**(code **)(*(long *)pcVar12 + 0x60))(pcVar12,uVar8,0);\n    if (cVar6 != '\n') goto switchD_003580fd_caseD_45;\nLAB_003590ce:\n    wstreambuf::sbumpc((wstreambuf *)local_b8._0_8_);\n    local_b8._8_4_ = 0xffffffff;\n    break;\n  case 't':\n    uVar8 = istreambuf_iterator<wchar_t,std::char_traits<wchar_t>>::_M_get();\n    cVar6 = (**(code **)(*(long *)pcVar12 + 0x60))(pcVar12,uVar8,0);\n    if (cVar6 == '\t') goto LAB_003590ce;\n    goto switchD_003580fd_caseD_45;\n  case 'x':\n    auVar18 = _M_extract_via_format\n                        (param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,local_c0\n                         ,param_6,&local_a0,param_8,\n                         *(undefined8 *)(*(long *)(p_Var11 + 0x10) + 0x10));\n    local_b8 = auVar18;\n  }\nLAB_00358248:\n  uVar15 = uVar14 + 1;\n  goto LAB_00358033;\nswitchD_003580fd_caseD_45:\n  local_a0 = local_a0 | 4;\n  goto LAB_00358248;\n}" { (declaration "wchar_t wVar1;" type_identifier identifier ;) (declaration "long lVar2;" (sized_type_specifier "long" long) identifier ;) (declaration "undefined1 auVar3 [16];" type_identifier (array_declarator "auVar3 [16]" identifier [ number_literal ]) ;) (declaration "undefined1 auVar4 [12];" type_identifier (array_declarator "auVar4 [12]" identifier [ number_literal ]) ;) (declaration "bool bVar5;" primitive_type identifier ;) (declaration "char cVar6;" primitive_type identifier ;) (declaration "int iVar7;" primitive_type identifier ;) (declaration "undefined4 uVar8;" type_identifier identifier ;) (declaration "int iVar9;" primitive_type identifier ;) (declaration "wchar_t wVar10;" type_identifier identifier ;) (declaration "__timepunct *p_Var11;" type_identifier (pointer_declarator "*p_Var11" * identifier) ;) (declaration "ctype *pcVar12;" type_identifier (pointer_declarator "*pcVar12" * identifier) ;) (declaration "size_t sVar13;" primitive_type identifier ;) (declaration "ulong uVar14;" type_identifier identifier ;) (declaration "ulong uVar15;" type_identifier identifier ;) (declaration "bool bVar16;" primitive_type identifier ;) (declaration "bool bVar17;" primitive_type identifier ;) (declaration "undefined1 auVar18 [12];" type_identifier (array_declarator "auVar18 [12]" identifier [ number_literal ]) ;) (declaration "long *local_c8;" (sized_type_specifier "long" long) (pointer_declarator "*local_c8" * identifier) ;) (declaration "undefined8 local_c0;" type_identifier identifier ;) (declaration "undefined1 local_b8 [12];" type_identifier (array_declarator "local_b8 [12]" identifier [ number_literal ]) ;) (declaration "undefined4 uStack_ac;" type_identifier identifier ;) (declaration "uint local_a0;" type_identifier identifier ;) (declaration "int local_9c;" primitive_type identifier ;) (declaration "undefined8 local_98;" type_identifier identifier ;) (declaration "undefined8 local_90;" type_identifier identifier ;) (declaration "undefined8 local_88;" type_identifier identifier ;) (declaration "undefined8 local_80;" type_identifier identifier ;) (declaration "undefined8 local_78;" type_identifier identifier ;) (declaration "undefined8 local_70;" type_identifier identifier ;) (declaration "undefined8 local_68;" type_identifier identifier ;) (declaration "undefined8 local_60;" type_identifier identifier ;) (declaration "undefined8 local_58;" type_identifier identifier ;) (declaration "undefined8 local_50;" type_identifier identifier ;) (declaration "undefined8 local_48;" type_identifier identifier ;) (declaration "undefined8 local_40;" type_identifier identifier ;) (expression_statement "local_b8._8_4_ = (undefined4)param_3;" (assignment_expression "local_b8._8_4_ = (undefined4)param_3" (field_expression "local_b8._8_4_" identifier . field_identifier) = (cast_expression "(undefined4)param_3" ( (type_descriptor "undefined4" type_identifier) ) identifier)) ;) (expression_statement "uStack_ac = (undefined4)((ulong)param_3 >> 0x20);" (assignment_expression "uStack_ac = (undefined4)((ulong)param_3 >> 0x20)" identifier = (call_expression "(undefined4)((ulong)param_3 >> 0x20)" (parenthesized_expression "(undefined4)" ( identifier )) (argument_list "((ulong)param_3 >> 0x20)" ( (binary_expression "(ulong)param_3 >> 0x20" (cast_expression "(ulong)param_3" ( (type_descriptor "ulong" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "local_c8 = param_4;" (assignment_expression "local_c8 = param_4" identifier = identifier) ;) (expression_statement "local_c0 = param_5;" (assignment_expression "local_c0 = param_5" identifier = identifier) ;) (expression_statement "local_b8._0_8_ = param_2;" (assignment_expression "local_b8._0_8_ = param_2" (field_expression "local_b8._0_8_" identifier . field_identifier) = identifier) ;) (expression_statement "p_Var11 = use_facet<std::__timepunct<wchar_t>>((locale *)(param_6 + 0xd0));" (binary_expression "p_Var11 = use_facet<std::__timepunct<wchar_t>>((locale *)(param_6 + 0xd0))" (assignment_expression "p_Var11 = use_facet<std" identifier = (binary_expression "use_facet<std" identifier < identifier)) (ERROR "::__timepunct" : : identifier) < (binary_expression "wchar_t>>((locale *)(param_6 + 0xd0))" identifier >> (parenthesized_expression "((locale *)(param_6 + 0xd0))" ( (cast_expression "(locale *)(param_6 + 0xd0)" ( (type_descriptor "locale *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_6 + 0xd0)" ( (binary_expression "param_6 + 0xd0" identifier + number_literal) ))) )))) ;) (expression_statement "pcVar12 = use_facet<std::ctype<wchar_t>>((locale *)(param_6 + 0xd0));" (binary_expression "pcVar12 = use_facet<std::ctype<wchar_t>>((locale *)(param_6 + 0xd0))" (assignment_expression "pcVar12 = use_facet<std" identifier = (binary_expression "use_facet<std" identifier < identifier)) (ERROR "::ctype" : : identifier) < (binary_expression "wchar_t>>((locale *)(param_6 + 0xd0))" identifier >> (parenthesized_expression "((locale *)(param_6 + 0xd0))" ( (cast_expression "(locale *)(param_6 + 0xd0)" ( (type_descriptor "locale *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_6 + 0xd0)" ( (binary_expression "param_6 + 0xd0" identifier + number_literal) ))) )))) ;) (expression_statement "sVar13 = wcslen(param_9);" (assignment_expression "sVar13 = wcslen(param_9)" identifier = (call_expression "wcslen(param_9)" identifier (argument_list "(param_9)" ( identifier )))) ;) (expression_statement "local_a0 = 0;" (assignment_expression "local_a0 = 0" identifier = number_literal) ;) (expression_statement "uVar15 = 0;" (assignment_expression "uVar15 = 0" identifier = number_literal) ;) (labeled_statement "LAB_00358033:\n  bVar5 = (long *)local_b8._0_8_ != (long *)0x0 && local_b8._8_4_ == -1;" statement_identifier : (expression_statement "bVar5 = (long *)local_b8._0_8_ != (long *)0x0 && local_b8._8_4_ == -1;" (assignment_expression "bVar5 = (long *)local_b8._0_8_ != (long *)0x0 && local_b8._8_4_ == -1" identifier = (binary_expression "(long *)local_b8._0_8_ != (long *)0x0 && local_b8._8_4_ == -1" (binary_expression "(long *)local_b8._0_8_ != (long *)0x0" (cast_expression "(long *)local_b8._0_8_" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (field_expression "local_b8._0_8_" identifier . field_identifier)) != (cast_expression "(long *)0x0" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) number_literal)) && (binary_expression "local_b8._8_4_ == -1" (field_expression "local_b8._8_4_" identifier . field_identifier) == number_literal))) ;)) (expression_statement "bVar17 = local_b8._8_4_ == -1;" (assignment_expression "bVar17 = local_b8._8_4_ == -1" identifier = (binary_expression "local_b8._8_4_ == -1" (field_expression "local_b8._8_4_" identifier . field_identifier) == number_literal)) ;) (if_statement "if (bVar5) {\n    if (*(int **)(local_b8._0_8_ + 0x10) < *(int **)(local_b8._0_8_ + 0x18)) {\n      iVar9 = **(int **)(local_b8._0_8_ + 0x10);\n    }\n    else {\n      iVar9 = (**(code **)(*(long *)local_b8._0_8_ + 0x48))();\n    }\n    bVar17 = false;\n    if (iVar9 == -1) {\n      auVar18._4_8_ = 0;\n      auVar18._0_4_ = local_b8._8_4_;\n      local_b8 = auVar18 << 0x40;\n      bVar17 = bVar5;\n    }\n  }" if (parenthesized_expression "(bVar5)" ( identifier )) (compound_statement "{\n    if (*(int **)(local_b8._0_8_ + 0x10) < *(int **)(local_b8._0_8_ + 0x18)) {\n      iVar9 = **(int **)(local_b8._0_8_ + 0x10);\n    }\n    else {\n      iVar9 = (**(code **)(*(long *)local_b8._0_8_ + 0x48))();\n    }\n    bVar17 = false;\n    if (iVar9 == -1) {\n      auVar18._4_8_ = 0;\n      auVar18._0_4_ = local_b8._8_4_;\n      local_b8 = auVar18 << 0x40;\n      bVar17 = bVar5;\n    }\n  }" { (if_statement "if (*(int **)(local_b8._0_8_ + 0x10) < *(int **)(local_b8._0_8_ + 0x18)) {\n      iVar9 = **(int **)(local_b8._0_8_ + 0x10);\n    }\n    else {\n      iVar9 = (**(code **)(*(long *)local_b8._0_8_ + 0x48))();\n    }" if (parenthesized_expression "(*(int **)(local_b8._0_8_ + 0x10) < *(int **)(local_b8._0_8_ + 0x18))" ( (binary_expression "*(int **)(local_b8._0_8_ + 0x10) < *(int **)(local_b8._0_8_ + 0x18)" (pointer_expression "*(int **)(local_b8._0_8_ + 0x10)" * (cast_expression "(int **)(local_b8._0_8_ + 0x10)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(local_b8._0_8_ + 0x10)" ( (binary_expression "local_b8._0_8_ + 0x10" (field_expression "local_b8._0_8_" identifier . field_identifier) + number_literal) )))) < (pointer_expression "*(int **)(local_b8._0_8_ + 0x18)" * (cast_expression "(int **)(local_b8._0_8_ + 0x18)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(local_b8._0_8_ + 0x18)" ( (binary_expression "local_b8._0_8_ + 0x18" (field_expression "local_b8._0_8_" identifier . field_identifier) + number_literal) ))))) )) (compound_statement "{\n      iVar9 = **(int **)(local_b8._0_8_ + 0x10);\n    }" { (expression_statement "iVar9 = **(int **)(local_b8._0_8_ + 0x10);" (assignment_expression "iVar9 = **(int **)(local_b8._0_8_ + 0x10)" identifier = (pointer_expression "**(int **)(local_b8._0_8_ + 0x10)" * (pointer_expression "*(int **)(local_b8._0_8_ + 0x10)" * (cast_expression "(int **)(local_b8._0_8_ + 0x10)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(local_b8._0_8_ + 0x10)" ( (binary_expression "local_b8._0_8_ + 0x10" (field_expression "local_b8._0_8_" identifier . field_identifier) + number_literal) )))))) ;) }) (else_clause "else {\n      iVar9 = (**(code **)(*(long *)local_b8._0_8_ + 0x48))();\n    }" else (compound_statement "{\n      iVar9 = (**(code **)(*(long *)local_b8._0_8_ + 0x48))();\n    }" { (expression_statement "iVar9 = (**(code **)(*(long *)local_b8._0_8_ + 0x48))();" (assignment_expression "iVar9 = (**(code **)(*(long *)local_b8._0_8_ + 0x48))()" identifier = (call_expression "(**(code **)(*(long *)local_b8._0_8_ + 0x48))()" (parenthesized_expression "(**(code **)(*(long *)local_b8._0_8_ + 0x48))" ( (pointer_expression "**(code **)(*(long *)local_b8._0_8_ + 0x48)" * (pointer_expression "*(code **)(*(long *)local_b8._0_8_ + 0x48)" * (cast_expression "(code **)(*(long *)local_b8._0_8_ + 0x48)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(long *)local_b8._0_8_ + 0x48)" ( (binary_expression "*(long *)local_b8._0_8_ + 0x48" (pointer_expression "*(long *)local_b8._0_8_" * (cast_expression "(long *)local_b8._0_8_" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (field_expression "local_b8._0_8_" identifier . field_identifier))) + number_literal) ))))) )) (argument_list "()" ( )))) ;) }))) (expression_statement "bVar17 = false;" (assignment_expression "bVar17 = false" identifier = false) ;) (if_statement "if (iVar9 == -1) {\n      auVar18._4_8_ = 0;\n      auVar18._0_4_ = local_b8._8_4_;\n      local_b8 = auVar18 << 0x40;\n      bVar17 = bVar5;\n    }" if (parenthesized_expression "(iVar9 == -1)" ( (binary_expression "iVar9 == -1" identifier == number_literal) )) (compound_statement "{\n      auVar18._4_8_ = 0;\n      auVar18._0_4_ = local_b8._8_4_;\n      local_b8 = auVar18 << 0x40;\n      bVar17 = bVar5;\n    }" { (expression_statement "auVar18._4_8_ = 0;" (assignment_expression "auVar18._4_8_ = 0" (field_expression "auVar18._4_8_" identifier . field_identifier) = number_literal) ;) (expression_statement "auVar18._0_4_ = local_b8._8_4_;" (assignment_expression "auVar18._0_4_ = local_b8._8_4_" (field_expression "auVar18._0_4_" identifier . field_identifier) = (field_expression "local_b8._8_4_" identifier . field_identifier)) ;) (expression_statement "local_b8 = auVar18 << 0x40;" (assignment_expression "local_b8 = auVar18 << 0x40" identifier = (binary_expression "auVar18 << 0x40" identifier << number_literal)) ;) (expression_statement "bVar17 = bVar5;" (assignment_expression "bVar17 = bVar5" identifier = identifier) ;) })) })) (expression_statement "bVar16 = (int)local_c0 == -1;" (assignment_expression "bVar16 = (int)local_c0 == -1" identifier = (binary_expression "(int)local_c0 == -1" (cast_expression "(int)local_c0" ( (type_descriptor "int" primitive_type) ) identifier) == number_literal)) ;) (expression_statement "bVar5 = local_c8 != (long *)0x0 && bVar16;" (assignment_expression "bVar5 = local_c8 != (long *)0x0 && bVar16" identifier = (binary_expression "local_c8 != (long *)0x0 && bVar16" (binary_expression "local_c8 != (long *)0x0" identifier != (cast_expression "(long *)0x0" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) number_literal)) && identifier)) ;) (if_statement "if (bVar5) {\n    if ((int *)local_c8[2] < (int *)local_c8[3]) {\n      iVar9 = *(int *)local_c8[2];\n    }\n    else {\n      iVar9 = (**(code **)(*local_c8 + 0x48))();\n    }\n    bVar16 = false;\n    if (iVar9 != -1) goto LAB_00358070;\n    local_c8 = (long *)0x0;\n    if (bVar17 != bVar5) goto LAB_00358080;\nLAB_00358188:\n    if ((uVar15 == sVar13) && (local_a0 == 0)) goto LAB_0035819e;\nLAB_00358193:\n    *param_7 = *param_7 | 4;\nLAB_0035819e:\n    auVar3._12_4_ = uStack_ac;\n    auVar3._0_12_ = local_b8;\n    return auVar3;\n  }" if (parenthesized_expression "(bVar5)" ( identifier )) (compound_statement "{\n    if ((int *)local_c8[2] < (int *)local_c8[3]) {\n      iVar9 = *(int *)local_c8[2];\n    }\n    else {\n      iVar9 = (**(code **)(*local_c8 + 0x48))();\n    }\n    bVar16 = false;\n    if (iVar9 != -1) goto LAB_00358070;\n    local_c8 = (long *)0x0;\n    if (bVar17 != bVar5) goto LAB_00358080;\nLAB_00358188:\n    if ((uVar15 == sVar13) && (local_a0 == 0)) goto LAB_0035819e;\nLAB_00358193:\n    *param_7 = *param_7 | 4;\nLAB_0035819e:\n    auVar3._12_4_ = uStack_ac;\n    auVar3._0_12_ = local_b8;\n    return auVar3;\n  }" { (if_statement "if ((int *)local_c8[2] < (int *)local_c8[3]) {\n      iVar9 = *(int *)local_c8[2];\n    }\n    else {\n      iVar9 = (**(code **)(*local_c8 + 0x48))();\n    }" if (parenthesized_expression "((int *)local_c8[2] < (int *)local_c8[3])" ( (binary_expression "(int *)local_c8[2] < (int *)local_c8[3]" (cast_expression "(int *)local_c8[2]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "local_c8[2]" identifier [ number_literal ])) < (cast_expression "(int *)local_c8[3]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "local_c8[3]" identifier [ number_literal ]))) )) (compound_statement "{\n      iVar9 = *(int *)local_c8[2];\n    }" { (expression_statement "iVar9 = *(int *)local_c8[2];" (assignment_expression "iVar9 = *(int *)local_c8[2]" identifier = (pointer_expression "*(int *)local_c8[2]" * (cast_expression "(int *)local_c8[2]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "local_c8[2]" identifier [ number_literal ])))) ;) }) (else_clause "else {\n      iVar9 = (**(code **)(*local_c8 + 0x48))();\n    }" else (compound_statement "{\n      iVar9 = (**(code **)(*local_c8 + 0x48))();\n    }" { (expression_statement "iVar9 = (**(code **)(*local_c8 + 0x48))();" (assignment_expression "iVar9 = (**(code **)(*local_c8 + 0x48))()" identifier = (call_expression "(**(code **)(*local_c8 + 0x48))()" (parenthesized_expression "(**(code **)(*local_c8 + 0x48))" ( (pointer_expression "**(code **)(*local_c8 + 0x48)" * (pointer_expression "*(code **)(*local_c8 + 0x48)" * (cast_expression "(code **)(*local_c8 + 0x48)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*local_c8 + 0x48)" ( (binary_expression "*local_c8 + 0x48" (pointer_expression "*local_c8" * identifier) + number_literal) ))))) )) (argument_list "()" ( )))) ;) }))) (expression_statement "bVar16 = false;" (assignment_expression "bVar16 = false" identifier = false) ;) (if_statement "if (iVar9 != -1) goto LAB_00358070;" if (parenthesized_expression "(iVar9 != -1)" ( (binary_expression "iVar9 != -1" identifier != number_literal) )) (goto_statement "goto LAB_00358070;" goto statement_identifier ;)) (expression_statement "local_c8 = (long *)0x0;" (assignment_expression "local_c8 = (long *)0x0" identifier = (cast_expression "(long *)0x0" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if (bVar17 != bVar5) goto LAB_00358080;" if (parenthesized_expression "(bVar17 != bVar5)" ( (binary_expression "bVar17 != bVar5" identifier != identifier) )) (goto_statement "goto LAB_00358080;" goto statement_identifier ;)) (labeled_statement "LAB_00358188:\n    if ((uVar15 == sVar13) && (local_a0 == 0)) goto LAB_0035819e;" statement_identifier : (if_statement "if ((uVar15 == sVar13) && (local_a0 == 0)) goto LAB_0035819e;" if (parenthesized_expression "((uVar15 == sVar13) && (local_a0 == 0))" ( (binary_expression "(uVar15 == sVar13) && (local_a0 == 0)" (parenthesized_expression "(uVar15 == sVar13)" ( (binary_expression "uVar15 == sVar13" identifier == identifier) )) && (parenthesized_expression "(local_a0 == 0)" ( (binary_expression "local_a0 == 0" identifier == number_literal) ))) )) (goto_statement "goto LAB_0035819e;" goto statement_identifier ;))) (labeled_statement "LAB_00358193:\n    *param_7 = *param_7 | 4;" statement_identifier : (expression_statement "*param_7 = *param_7 | 4;" (assignment_expression "*param_7 = *param_7 | 4" (pointer_expression "*param_7" * identifier) = (binary_expression "*param_7 | 4" (pointer_expression "*param_7" * identifier) | number_literal)) ;)) (labeled_statement "LAB_0035819e:\n    auVar3._12_4_ = uStack_ac;" statement_identifier : (expression_statement "auVar3._12_4_ = uStack_ac;" (assignment_expression "auVar3._12_4_ = uStack_ac" (field_expression "auVar3._12_4_" identifier . field_identifier) = identifier) ;)) (expression_statement "auVar3._0_12_ = local_b8;" (assignment_expression "auVar3._0_12_ = local_b8" (field_expression "auVar3._0_12_" identifier . field_identifier) = identifier) ;) (return_statement "return auVar3;" return identifier ;) })) (labeled_statement "LAB_00358070:\n  if (bVar17 == bVar16) goto LAB_00358188;" statement_identifier : (if_statement "if (bVar17 == bVar16) goto LAB_00358188;" if (parenthesized_expression "(bVar17 == bVar16)" ( (binary_expression "bVar17 == bVar16" identifier == identifier) )) (goto_statement "goto LAB_00358188;" goto statement_identifier ;))) (labeled_statement "LAB_00358080:\n  if (sVar13 <= uVar15) goto LAB_00358188;" statement_identifier : (if_statement "if (sVar13 <= uVar15) goto LAB_00358188;" if (parenthesized_expression "(sVar13 <= uVar15)" ( (binary_expression "sVar13 <= uVar15" identifier <= identifier) )) (goto_statement "goto LAB_00358188;" goto statement_identifier ;))) (if_statement "if (local_a0 != 0) goto LAB_00358193;" if (parenthesized_expression "(local_a0 != 0)" ( (binary_expression "local_a0 != 0" identifier != number_literal) )) (goto_statement "goto LAB_00358193;" goto statement_identifier ;)) (expression_statement "uVar14 = uVar15 + 1;" (assignment_expression "uVar14 = uVar15 + 1" identifier = (binary_expression "uVar15 + 1" identifier + number_literal)) ;) (expression_statement "cVar6 = (**(code **)(*(long *)pcVar12 + 0x60))(pcVar12,param_9[uVar15],0);" (assignment_expression "cVar6 = (**(code **)(*(long *)pcVar12 + 0x60))(pcVar12,param_9[uVar15],0)" identifier = (call_expression "(**(code **)(*(long *)pcVar12 + 0x60))(pcVar12,param_9[uVar15],0)" (parenthesized_expression "(**(code **)(*(long *)pcVar12 + 0x60))" ( (pointer_expression "**(code **)(*(long *)pcVar12 + 0x60)" * (pointer_expression "*(code **)(*(long *)pcVar12 + 0x60)" * (cast_expression "(code **)(*(long *)pcVar12 + 0x60)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(long *)pcVar12 + 0x60)" ( (binary_expression "*(long *)pcVar12 + 0x60" (pointer_expression "*(long *)pcVar12" * (cast_expression "(long *)pcVar12" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) identifier)) + number_literal) ))))) )) (argument_list "(pcVar12,param_9[uVar15],0)" ( identifier , (subscript_expression "param_9[uVar15]" identifier [ identifier ]) , number_literal )))) ;) (if_statement "if (cVar6 != '%') {\n    wVar1 = param_9[uVar15];\n    auVar4 = local_b8;\n    uVar15 = uVar14;\n    if ((local_b8._8_4_ == L'\xffffffff') && ((long *)local_b8._0_8_ != (long *)0x0)) {\n      if (*(wchar_t **)(local_b8._0_8_ + 0x10) < *(wchar_t **)(local_b8._0_8_ + 0x18)) {\n        wVar10 = **(wchar_t **)(local_b8._0_8_ + 0x10);\n      }\n      else {\n        wVar10 = (**(code **)(*(long *)local_b8._0_8_ + 0x48))();\n        auVar4 = local_b8;\n      }\n      local_b8._8_4_ = auVar4._8_4_;\n      if (wVar10 == L'\xffffffff') {\n        auVar4._4_8_ = 0;\n        auVar4._0_4_ = local_b8._8_4_;\n        auVar4 = auVar4 << 0x40;\n        local_b8._8_4_ = L'\xffffffff';\n        goto LAB_00358121;\n      }\n      local_b8 = auVar4;\n      if (wVar1 == wVar10) goto LAB_00358290;\nLAB_0035812a:\n      local_a0 = local_a0 | 4;\n    }\n    else {\nLAB_00358121:\n      bVar17 = wVar1 != local_b8._8_4_;\n      local_b8 = auVar4;\n      if (bVar17) goto LAB_0035812a;\nLAB_00358290:\n      local_b8._0_8_ = auVar4._0_8_;\n      if (*(ulong *)(local_b8._0_8_ + 0x10) < *(ulong *)(local_b8._0_8_ + 0x18)) {\n        *(ulong *)(local_b8._0_8_ + 0x10) = *(ulong *)(local_b8._0_8_ + 0x10) + 4;\n      }\n      else {\n        lVar2 = *(long *)local_b8._0_8_;\n        local_b8 = auVar4;\n        (**(code **)(lVar2 + 0x50))();\n      }\n      local_b8._8_4_ = 0xffffffff;\n    }\n    goto LAB_00358033;\n  }" if (parenthesized_expression "(cVar6 != '%')" ( (binary_expression "cVar6 != '%'" identifier != (char_literal "'%'" ' character ')) )) (compound_statement "{\n    wVar1 = param_9[uVar15];\n    auVar4 = local_b8;\n    uVar15 = uVar14;\n    if ((local_b8._8_4_ == L'\xffffffff') && ((long *)local_b8._0_8_ != (long *)0x0)) {\n      if (*(wchar_t **)(local_b8._0_8_ + 0x10) < *(wchar_t **)(local_b8._0_8_ + 0x18)) {\n        wVar10 = **(wchar_t **)(local_b8._0_8_ + 0x10);\n      }\n      else {\n        wVar10 = (**(code **)(*(long *)local_b8._0_8_ + 0x48))();\n        auVar4 = local_b8;\n      }\n      local_b8._8_4_ = auVar4._8_4_;\n      if (wVar10 == L'\xffffffff') {\n        auVar4._4_8_ = 0;\n        auVar4._0_4_ = local_b8._8_4_;\n        auVar4 = auVar4 << 0x40;\n        local_b8._8_4_ = L'\xffffffff';\n        goto LAB_00358121;\n      }\n      local_b8 = auVar4;\n      if (wVar1 == wVar10) goto LAB_00358290;\nLAB_0035812a:\n      local_a0 = local_a0 | 4;\n    }\n    else {\nLAB_00358121:\n      bVar17 = wVar1 != local_b8._8_4_;\n      local_b8 = auVar4;\n      if (bVar17) goto LAB_0035812a;\nLAB_00358290:\n      local_b8._0_8_ = auVar4._0_8_;\n      if (*(ulong *)(local_b8._0_8_ + 0x10) < *(ulong *)(local_b8._0_8_ + 0x18)) {\n        *(ulong *)(local_b8._0_8_ + 0x10) = *(ulong *)(local_b8._0_8_ + 0x10) + 4;\n      }\n      else {\n        lVar2 = *(long *)local_b8._0_8_;\n        local_b8 = auVar4;\n        (**(code **)(lVar2 + 0x50))();\n      }\n      local_b8._8_4_ = 0xffffffff;\n    }\n    goto LAB_00358033;\n  }" { (expression_statement "wVar1 = param_9[uVar15];" (assignment_expression "wVar1 = param_9[uVar15]" identifier = (subscript_expression "param_9[uVar15]" identifier [ identifier ])) ;) (expression_statement "auVar4 = local_b8;" (assignment_expression "auVar4 = local_b8" identifier = identifier) ;) (expression_statement "uVar15 = uVar14;" (assignment_expression "uVar15 = uVar14" identifier = identifier) ;) (if_statement "if ((local_b8._8_4_ == L'\xffffffff') && ((long *)local_b8._0_8_ != (long *)0x0)) {\n      if (*(wchar_t **)(local_b8._0_8_ + 0x10) < *(wchar_t **)(local_b8._0_8_ + 0x18)) {\n        wVar10 = **(wchar_t **)(local_b8._0_8_ + 0x10);\n      }\n      else {\n        wVar10 = (**(code **)(*(long *)local_b8._0_8_ + 0x48))();\n        auVar4 = local_b8;\n      }\n      local_b8._8_4_ = auVar4._8_4_;\n      if (wVar10 == L'\xffffffff') {\n        auVar4._4_8_ = 0;\n        auVar4._0_4_ = local_b8._8_4_;\n        auVar4 = auVar4 << 0x40;\n        local_b8._8_4_ = L'\xffffffff';\n        goto LAB_00358121;\n      }\n      local_b8 = auVar4;\n      if (wVar1 == wVar10) goto LAB_00358290;\nLAB_0035812a:\n      local_a0 = local_a0 | 4;\n    }\n    else {\nLAB_00358121:\n      bVar17 = wVar1 != local_b8._8_4_;\n      local_b8 = auVar4;\n      if (bVar17) goto LAB_0035812a;\nLAB_00358290:\n      local_b8._0_8_ = auVar4._0_8_;\n      if (*(ulong *)(local_b8._0_8_ + 0x10) < *(ulong *)(local_b8._0_8_ + 0x18)) {\n        *(ulong *)(local_b8._0_8_ + 0x10) = *(ulong *)(local_b8._0_8_ + 0x10) + 4;\n      }\n      else {\n        lVar2 = *(long *)local_b8._0_8_;\n        local_b8 = auVar4;\n        (**(code **)(lVar2 + 0x50))();\n      }\n      local_b8._8_4_ = 0xffffffff;\n    }" if (parenthesized_expression "((local_b8._8_4_ == L'\xffffffff') && ((long *)local_b8._0_8_ != (long *)0x0))" ( (binary_expression "(local_b8._8_4_ == L'\xffffffff') && ((long *)local_b8._0_8_ != (long *)0x0)" (parenthesized_expression "(local_b8._8_4_ == L'\xffffffff')" ( (binary_expression "local_b8._8_4_ == L'\xffffffff'" (field_expression "local_b8._8_4_" identifier . field_identifier) == (char_literal "L'\xffffffff'" L' escape_sequence character character character character ')) )) && (parenthesized_expression "((long *)local_b8._0_8_ != (long *)0x0)" ( (binary_expression "(long *)local_b8._0_8_ != (long *)0x0" (cast_expression "(long *)local_b8._0_8_" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (field_expression "local_b8._0_8_" identifier . field_identifier)) != (cast_expression "(long *)0x0" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) number_literal)) ))) )) (compound_statement "{\n      if (*(wchar_t **)(local_b8._0_8_ + 0x10) < *(wchar_t **)(local_b8._0_8_ + 0x18)) {\n        wVar10 = **(wchar_t **)(local_b8._0_8_ + 0x10);\n      }\n      else {\n        wVar10 = (**(code **)(*(long *)local_b8._0_8_ + 0x48))();\n        auVar4 = local_b8;\n      }\n      local_b8._8_4_ = auVar4._8_4_;\n      if (wVar10 == L'\xffffffff') {\n        auVar4._4_8_ = 0;\n        auVar4._0_4_ = local_b8._8_4_;\n        auVar4 = auVar4 << 0x40;\n        local_b8._8_4_ = L'\xffffffff';\n        goto LAB_00358121;\n      }\n      local_b8 = auVar4;\n      if (wVar1 == wVar10) goto LAB_00358290;\nLAB_0035812a:\n      local_a0 = local_a0 | 4;\n    }" { (if_statement "if (*(wchar_t **)(local_b8._0_8_ + 0x10) < *(wchar_t **)(local_b8._0_8_ + 0x18)) {\n        wVar10 = **(wchar_t **)(local_b8._0_8_ + 0x10);\n      }\n      else {\n        wVar10 = (**(code **)(*(long *)local_b8._0_8_ + 0x48))();\n        auVar4 = local_b8;\n      }" if (parenthesized_expression "(*(wchar_t **)(local_b8._0_8_ + 0x10) < *(wchar_t **)(local_b8._0_8_ + 0x18))" ( (binary_expression "*(wchar_t **)(local_b8._0_8_ + 0x10) < *(wchar_t **)(local_b8._0_8_ + 0x18)" (pointer_expression "*(wchar_t **)(local_b8._0_8_ + 0x10)" * (cast_expression "(wchar_t **)(local_b8._0_8_ + 0x10)" ( (type_descriptor "wchar_t **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(local_b8._0_8_ + 0x10)" ( (binary_expression "local_b8._0_8_ + 0x10" (field_expression "local_b8._0_8_" identifier . field_identifier) + number_literal) )))) < (pointer_expression "*(wchar_t **)(local_b8._0_8_ + 0x18)" * (cast_expression "(wchar_t **)(local_b8._0_8_ + 0x18)" ( (type_descriptor "wchar_t **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(local_b8._0_8_ + 0x18)" ( (binary_expression "local_b8._0_8_ + 0x18" (field_expression "local_b8._0_8_" identifier . field_identifier) + number_literal) ))))) )) (compound_statement "{\n        wVar10 = **(wchar_t **)(local_b8._0_8_ + 0x10);\n      }" { (expression_statement "wVar10 = **(wchar_t **)(local_b8._0_8_ + 0x10);" (assignment_expression "wVar10 = **(wchar_t **)(local_b8._0_8_ + 0x10)" identifier = (pointer_expression "**(wchar_t **)(local_b8._0_8_ + 0x10)" * (pointer_expression "*(wchar_t **)(local_b8._0_8_ + 0x10)" * (cast_expression "(wchar_t **)(local_b8._0_8_ + 0x10)" ( (type_descriptor "wchar_t **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(local_b8._0_8_ + 0x10)" ( (binary_expression "local_b8._0_8_ + 0x10" (field_expression "local_b8._0_8_" identifier . field_identifier) + number_literal) )))))) ;) }) (else_clause "else {\n        wVar10 = (**(code **)(*(long *)local_b8._0_8_ + 0x48))();\n        auVar4 = local_b8;\n      }" else (compound_statement "{\n        wVar10 = (**(code **)(*(long *)local_b8._0_8_ + 0x48))();\n        auVar4 = local_b8;\n      }" { (expression_statement "wVar10 = (**(code **)(*(long *)local_b8._0_8_ + 0x48))();" (assignment_expression "wVar10 = (**(code **)(*(long *)local_b8._0_8_ + 0x48))()" identifier = (call_expression "(**(code **)(*(long *)local_b8._0_8_ + 0x48))()" (parenthesized_expression "(**(code **)(*(long *)local_b8._0_8_ + 0x48))" ( (pointer_expression "**(code **)(*(long *)local_b8._0_8_ + 0x48)" * (pointer_expression "*(code **)(*(long *)local_b8._0_8_ + 0x48)" * (cast_expression "(code **)(*(long *)local_b8._0_8_ + 0x48)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(long *)local_b8._0_8_ + 0x48)" ( (binary_expression "*(long *)local_b8._0_8_ + 0x48" (pointer_expression "*(long *)local_b8._0_8_" * (cast_expression "(long *)local_b8._0_8_" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (field_expression "local_b8._0_8_" identifier . field_identifier))) + number_literal) ))))) )) (argument_list "()" ( )))) ;) (expression_statement "auVar4 = local_b8;" (assignment_expression "auVar4 = local_b8" identifier = identifier) ;) }))) (expression_statement "local_b8._8_4_ = auVar4._8_4_;" (assignment_expression "local_b8._8_4_ = auVar4._8_4_" (field_expression "local_b8._8_4_" identifier . field_identifier) = (field_expression "auVar4._8_4_" identifier . field_identifier)) ;) (if_statement "if (wVar10 == L'\xffffffff') {\n        auVar4._4_8_ = 0;\n        auVar4._0_4_ = local_b8._8_4_;\n        auVar4 = auVar4 << 0x40;\n        local_b8._8_4_ = L'\xffffffff';\n        goto LAB_00358121;\n      }" if (parenthesized_expression "(wVar10 == L'\xffffffff')" ( (binary_expression "wVar10 == L'\xffffffff'" identifier == (char_literal "L'\xffffffff'" L' escape_sequence character character character character ')) )) (compound_statement "{\n        auVar4._4_8_ = 0;\n        auVar4._0_4_ = local_b8._8_4_;\n        auVar4 = auVar4 << 0x40;\n        local_b8._8_4_ = L'\xffffffff';\n        goto LAB_00358121;\n      }" { (expression_statement "auVar4._4_8_ = 0;" (assignment_expression "auVar4._4_8_ = 0" (field_expression "auVar4._4_8_" identifier . field_identifier) = number_literal) ;) (expression_statement "auVar4._0_4_ = local_b8._8_4_;" (assignment_expression "auVar4._0_4_ = local_b8._8_4_" (field_expression "auVar4._0_4_" identifier . field_identifier) = (field_expression "local_b8._8_4_" identifier . field_identifier)) ;) (expression_statement "auVar4 = auVar4 << 0x40;" (assignment_expression "auVar4 = auVar4 << 0x40" identifier = (binary_expression "auVar4 << 0x40" identifier << number_literal)) ;) (expression_statement "local_b8._8_4_ = L'\xffffffff';" (assignment_expression "local_b8._8_4_ = L'\xffffffff'" (field_expression "local_b8._8_4_" identifier . field_identifier) = (char_literal "L'\xffffffff'" L' escape_sequence character character character character ')) ;) (goto_statement "goto LAB_00358121;" goto statement_identifier ;) })) (expression_statement "local_b8 = auVar4;" (assignment_expression "local_b8 = auVar4" identifier = identifier) ;) (if_statement "if (wVar1 == wVar10) goto LAB_00358290;" if (parenthesized_expression "(wVar1 == wVar10)" ( (binary_expression "wVar1 == wVar10" identifier == identifier) )) (goto_statement "goto LAB_00358290;" goto statement_identifier ;)) (labeled_statement "LAB_0035812a:\n      local_a0 = local_a0 | 4;" statement_identifier : (expression_statement "local_a0 = local_a0 | 4;" (assignment_expression "local_a0 = local_a0 | 4" identifier = (binary_expression "local_a0 | 4" identifier | number_literal)) ;)) }) (else_clause "else {\nLAB_00358121:\n      bVar17 = wVar1 != local_b8._8_4_;\n      local_b8 = auVar4;\n      if (bVar17) goto LAB_0035812a;\nLAB_00358290:\n      local_b8._0_8_ = auVar4._0_8_;\n      if (*(ulong *)(local_b8._0_8_ + 0x10) < *(ulong *)(local_b8._0_8_ + 0x18)) {\n        *(ulong *)(local_b8._0_8_ + 0x10) = *(ulong *)(local_b8._0_8_ + 0x10) + 4;\n      }\n      else {\n        lVar2 = *(long *)local_b8._0_8_;\n        local_b8 = auVar4;\n        (**(code **)(lVar2 + 0x50))();\n      }\n      local_b8._8_4_ = 0xffffffff;\n    }" else (compound_statement "{\nLAB_00358121:\n      bVar17 = wVar1 != local_b8._8_4_;\n      local_b8 = auVar4;\n      if (bVar17) goto LAB_0035812a;\nLAB_00358290:\n      local_b8._0_8_ = auVar4._0_8_;\n      if (*(ulong *)(local_b8._0_8_ + 0x10) < *(ulong *)(local_b8._0_8_ + 0x18)) {\n        *(ulong *)(local_b8._0_8_ + 0x10) = *(ulong *)(local_b8._0_8_ + 0x10) + 4;\n      }\n      else {\n        lVar2 = *(long *)local_b8._0_8_;\n        local_b8 = auVar4;\n        (**(code **)(lVar2 + 0x50))();\n      }\n      local_b8._8_4_ = 0xffffffff;\n    }" { (labeled_statement "LAB_00358121:\n      bVar17 = wVar1 != local_b8._8_4_;" statement_identifier : (expression_statement "bVar17 = wVar1 != local_b8._8_4_;" (assignment_expression "bVar17 = wVar1 != local_b8._8_4_" identifier = (binary_expression "wVar1 != local_b8._8_4_" identifier != (field_expression "local_b8._8_4_" identifier . field_identifier))) ;)) (expression_statement "local_b8 = auVar4;" (assignment_expression "local_b8 = auVar4" identifier = identifier) ;) (if_statement "if (bVar17) goto LAB_0035812a;" if (parenthesized_expression "(bVar17)" ( identifier )) (goto_statement "goto LAB_0035812a;" goto statement_identifier ;)) (labeled_statement "LAB_00358290:\n      local_b8._0_8_ = auVar4._0_8_;" statement_identifier : (expression_statement "local_b8._0_8_ = auVar4._0_8_;" (assignment_expression "local_b8._0_8_ = auVar4._0_8_" (field_expression "local_b8._0_8_" identifier . field_identifier) = (field_expression "auVar4._0_8_" identifier . field_identifier)) ;)) (if_statement "if (*(ulong *)(local_b8._0_8_ + 0x10) < *(ulong *)(local_b8._0_8_ + 0x18)) {\n        *(ulong *)(local_b8._0_8_ + 0x10) = *(ulong *)(local_b8._0_8_ + 0x10) + 4;\n      }\n      else {\n        lVar2 = *(long *)local_b8._0_8_;\n        local_b8 = auVar4;\n        (**(code **)(lVar2 + 0x50))();\n      }" if (parenthesized_expression "(*(ulong *)(local_b8._0_8_ + 0x10) < *(ulong *)(local_b8._0_8_ + 0x18))" ( (binary_expression "*(ulong *)(local_b8._0_8_ + 0x10) < *(ulong *)(local_b8._0_8_ + 0x18)" (pointer_expression "*(ulong *)(local_b8._0_8_ + 0x10)" * (cast_expression "(ulong *)(local_b8._0_8_ + 0x10)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_b8._0_8_ + 0x10)" ( (binary_expression "local_b8._0_8_ + 0x10" (field_expression "local_b8._0_8_" identifier . field_identifier) + number_literal) )))) < (pointer_expression "*(ulong *)(local_b8._0_8_ + 0x18)" * (cast_expression "(ulong *)(local_b8._0_8_ + 0x18)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_b8._0_8_ + 0x18)" ( (binary_expression "local_b8._0_8_ + 0x18" (field_expression "local_b8._0_8_" identifier . field_identifier) + number_literal) ))))) )) (compound_statement "{\n        *(ulong *)(local_b8._0_8_ + 0x10) = *(ulong *)(local_b8._0_8_ + 0x10) + 4;\n      }" { (expression_statement "*(ulong *)(local_b8._0_8_ + 0x10) = *(ulong *)(local_b8._0_8_ + 0x10) + 4;" (assignment_expression "*(ulong *)(local_b8._0_8_ + 0x10) = *(ulong *)(local_b8._0_8_ + 0x10) + 4" (pointer_expression "*(ulong *)(local_b8._0_8_ + 0x10)" * (cast_expression "(ulong *)(local_b8._0_8_ + 0x10)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_b8._0_8_ + 0x10)" ( (binary_expression "local_b8._0_8_ + 0x10" (field_expression "local_b8._0_8_" identifier . field_identifier) + number_literal) )))) = (binary_expression "*(ulong *)(local_b8._0_8_ + 0x10) + 4" (pointer_expression "*(ulong *)(local_b8._0_8_ + 0x10)" * (cast_expression "(ulong *)(local_b8._0_8_ + 0x10)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_b8._0_8_ + 0x10)" ( (binary_expression "local_b8._0_8_ + 0x10" (field_expression "local_b8._0_8_" identifier . field_identifier) + number_literal) )))) + number_literal)) ;) }) (else_clause "else {\n        lVar2 = *(long *)local_b8._0_8_;\n        local_b8 = auVar4;\n        (**(code **)(lVar2 + 0x50))();\n      }" else (compound_statement "{\n        lVar2 = *(long *)local_b8._0_8_;\n        local_b8 = auVar4;\n        (**(code **)(lVar2 + 0x50))();\n      }" { (expression_statement "lVar2 = *(long *)local_b8._0_8_;" (assignment_expression "lVar2 = *(long *)local_b8._0_8_" identifier = (pointer_expression "*(long *)local_b8._0_8_" * (cast_expression "(long *)local_b8._0_8_" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (field_expression "local_b8._0_8_" identifier . field_identifier)))) ;) (expression_statement "local_b8 = auVar4;" (assignment_expression "local_b8 = auVar4" identifier = identifier) ;) (expression_statement "(**(code **)(lVar2 + 0x50))();" (call_expression "(**(code **)(lVar2 + 0x50))()" (parenthesized_expression "(**(code **)(lVar2 + 0x50))" ( (pointer_expression "**(code **)(lVar2 + 0x50)" * (pointer_expression "*(code **)(lVar2 + 0x50)" * (cast_expression "(code **)(lVar2 + 0x50)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(lVar2 + 0x50)" ( (binary_expression "lVar2 + 0x50" identifier + number_literal) ))))) )) (argument_list "()" ( ))) ;) }))) (expression_statement "local_b8._8_4_ = 0xffffffff;" (assignment_expression "local_b8._8_4_ = 0xffffffff" (field_expression "local_b8._8_4_" identifier . field_identifier) = number_literal) ;) }))) (goto_statement "goto LAB_00358033;" goto statement_identifier ;) })) (expression_statement "cVar6 = (**(code **)(*(long *)pcVar12 + 0x60))(pcVar12,param_9[uVar15 + 1],0);" (assignment_expression "cVar6 = (**(code **)(*(long *)pcVar12 + 0x60))(pcVar12,param_9[uVar15 + 1],0)" identifier = (call_expression "(**(code **)(*(long *)pcVar12 + 0x60))(pcVar12,param_9[uVar15 + 1],0)" (parenthesized_expression "(**(code **)(*(long *)pcVar12 + 0x60))" ( (pointer_expression "**(code **)(*(long *)pcVar12 + 0x60)" * (pointer_expression "*(code **)(*(long *)pcVar12 + 0x60)" * (cast_expression "(code **)(*(long *)pcVar12 + 0x60)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(long *)pcVar12 + 0x60)" ( (binary_expression "*(long *)pcVar12 + 0x60" (pointer_expression "*(long *)pcVar12" * (cast_expression "(long *)pcVar12" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) identifier)) + number_literal) ))))) )) (argument_list "(pcVar12,param_9[uVar15 + 1],0)" ( identifier , (subscript_expression "param_9[uVar15 + 1]" identifier [ (binary_expression "uVar15 + 1" identifier + number_literal) ]) , number_literal )))) ;) (expression_statement "local_9c = 0;" (assignment_expression "local_9c = 0" identifier = number_literal) ;) (if_statement "if ((cVar6 == 'E') || (cVar6 == 'O')) {\n    uVar14 = uVar15 + 2;\n    cVar6 = (**(code **)(*(long *)pcVar12 + 0x60))(pcVar12,param_9[uVar15 + 2],0);\n  }" if (parenthesized_expression "((cVar6 == 'E') || (cVar6 == 'O'))" ( (binary_expression "(cVar6 == 'E') || (cVar6 == 'O')" (parenthesized_expression "(cVar6 == 'E')" ( (binary_expression "cVar6 == 'E'" identifier == (char_literal "'E'" ' character ')) )) || (parenthesized_expression "(cVar6 == 'O')" ( (binary_expression "cVar6 == 'O'" identifier == (char_literal "'O'" ' character ')) ))) )) (compound_statement "{\n    uVar14 = uVar15 + 2;\n    cVar6 = (**(code **)(*(long *)pcVar12 + 0x60))(pcVar12,param_9[uVar15 + 2],0);\n  }" { (expression_statement "uVar14 = uVar15 + 2;" (assignment_expression "uVar14 = uVar15 + 2" identifier = (binary_expression "uVar15 + 2" identifier + number_literal)) ;) (expression_statement "cVar6 = (**(code **)(*(long *)pcVar12 + 0x60))(pcVar12,param_9[uVar15 + 2],0);" (assignment_expression "cVar6 = (**(code **)(*(long *)pcVar12 + 0x60))(pcVar12,param_9[uVar15 + 2],0)" identifier = (call_expression "(**(code **)(*(long *)pcVar12 + 0x60))(pcVar12,param_9[uVar15 + 2],0)" (parenthesized_expression "(**(code **)(*(long *)pcVar12 + 0x60))" ( (pointer_expression "**(code **)(*(long *)pcVar12 + 0x60)" * (pointer_expression "*(code **)(*(long *)pcVar12 + 0x60)" * (cast_expression "(code **)(*(long *)pcVar12 + 0x60)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(long *)pcVar12 + 0x60)" ( (binary_expression "*(long *)pcVar12 + 0x60" (pointer_expression "*(long *)pcVar12" * (cast_expression "(long *)pcVar12" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) identifier)) + number_literal) ))))) )) (argument_list "(pcVar12,param_9[uVar15 + 2],0)" ( identifier , (subscript_expression "param_9[uVar15 + 2]" identifier [ (binary_expression "uVar15 + 2" identifier + number_literal) ]) , number_literal )))) ;) })) (switch_statement "switch(cVar6) {\n  case 'A':\n    lVar2 = *(long *)(p_Var11 + 0x10);\n    local_98 = *(undefined8 *)(lVar2 + 0x58);\n    local_90 = *(undefined8 *)(lVar2 + 0x60);\n    local_88 = *(undefined8 *)(lVar2 + 0x68);\n    local_80 = *(undefined8 *)(lVar2 + 0x70);\n    local_78 = *(undefined8 *)(lVar2 + 0x78);\n    local_70 = *(undefined8 *)(lVar2 + 0x80);\n    local_68 = *(undefined8 *)(lVar2 + 0x88);\n    auVar18 = _M_extract_name(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                              local_c0,&local_9c,&local_98,7,param_6,&local_a0);\n    goto joined_r0x003588cd;\n  case 'B':\n    lVar2 = *(long *)(p_Var11 + 0x10);\n    local_98 = *(undefined8 *)(lVar2 + 200);\n    local_90 = *(undefined8 *)(lVar2 + 0xd0);\n    local_88 = *(undefined8 *)(lVar2 + 0xd8);\n    local_80 = *(undefined8 *)(lVar2 + 0xe0);\n    local_78 = *(undefined8 *)(lVar2 + 0xe8);\n    local_70 = *(undefined8 *)(lVar2 + 0xf0);\n    local_68 = *(undefined8 *)(lVar2 + 0xf8);\n    local_60 = *(undefined8 *)(lVar2 + 0x100);\n    local_58 = *(undefined8 *)(lVar2 + 0x108);\n    local_50 = *(undefined8 *)(lVar2 + 0x110);\n    local_48 = *(undefined8 *)(lVar2 + 0x118);\n    local_40 = *(undefined8 *)(lVar2 + 0x120);\n    auVar18 = _M_extract_name(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                              local_c0,&local_9c,&local_98,0xc,param_6,&local_a0);\n    goto joined_r0x00358a12;\n  case 'C':\n  case 'Y':\n  case 'y':\n    auVar18 = _M_extract_num(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                             local_c0,&local_9c,0,9999,4,param_6,&local_a0);\n    local_b8 = auVar18;\n    if (local_a0 == 0) {\n      iVar9 = local_9c + -0x76c;\n      if (local_9c < 0) {\n        iVar9 = local_9c + 100;\n      }\n      param_8[5] = iVar9;\n    }\n    break;\n  case 'D':\n    (**(code **)(*(long *)pcVar12 + 0x58))(pcVar12,"%m/%d/%y","%H:%M",&local_98);\n    auVar18 = _M_extract_via_format\n                        (param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,local_c0\n                         ,param_6,&local_a0,param_8,&local_98);\n    local_b8 = auVar18;\n    break;\n  default:\n    goto switchD_003580fd_caseD_45;\n  case 'H':\n    auVar18 = _M_extract_num(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                             local_c0,&local_9c,0,0x17,2,param_6,&local_a0);\n    goto joined_r0x003587d9;\n  case 'I':\n    auVar18 = _M_extract_num(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                             local_c0,&local_9c,1,0xc,2,param_6,&local_a0);\njoined_r0x003587d9:\n    local_b8 = auVar18;\n    if (local_a0 == 0) {\n      param_8[2] = local_9c;\n    }\n    break;\n  case 'M':\n    auVar18 = _M_extract_num(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                             local_c0,&local_9c,0,0x3b,2,param_6,&local_a0);\n    local_b8 = auVar18;\n    if (local_a0 == 0) {\n      param_8[1] = local_9c;\n    }\n    break;\n  case 'R':\n    (**(code **)(*(long *)pcVar12 + 0x58))(pcVar12,"%H:%M","%H:%M:%S",&local_98);\n    auVar18 = _M_extract_via_format\n                        (param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,local_c0\n                         ,param_6,&local_a0,param_8,&local_98);\n    local_b8 = auVar18;\n    break;\n  case 'S':\n    auVar18 = _M_extract_num(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                             local_c0,&local_9c,0,0x3c,2,param_6,&local_a0);\n    local_b8 = auVar18;\n    if (local_a0 == 0) {\n      *param_8 = local_9c;\n    }\n    break;\n  case 'T':\n    (**(code **)(*(long *)pcVar12 + 0x58))(pcVar12,"%H:%M:%S",&DAT_003aba16,&local_98);\n    auVar18 = _M_extract_via_format\n                        (param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,local_c0\n                         ,param_6,&local_a0,param_8,&local_98);\n    local_b8 = auVar18;\n    break;\n  case 'X':\n    auVar18 = _M_extract_via_format\n                        (param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,local_c0\n                         ,param_6,&local_a0,param_8,\n                         *(undefined8 *)(*(long *)(p_Var11 + 0x10) + 0x20));\n    local_b8 = auVar18;\n    break;\n  case 'Z':\n    uVar8 = istreambuf_iterator<wchar_t,std::char_traits<wchar_t>>::_M_get();\n    cVar6 = (**(code **)(*(long *)pcVar12 + 0x10))(pcVar12,0x100,uVar8);\n    if (cVar6 == '\0') goto switchD_003580fd_caseD_45;\n    auVar18 = _M_extract_name(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                              local_c0,&local_98,PTR__S_timezones_0045bff0,0xe,param_6,&local_a0);\n    local_b8 = auVar18;\n    cVar6 = istreambuf_iterator<wchar_t,std::char_traits<wchar_t>>::equal\n                      ((istreambuf_iterator<wchar_t,std::char_traits<wchar_t>> *)local_b8,\n                       (istreambuf_iterator *)&local_c8);\n    if ((cVar6 == '\0') && (local_a0 == 0 && (int)local_98 == 0)) {\n      iVar9 = istreambuf_iterator<wchar_t,std::char_traits<wchar_t>>::_M_get();\n      iVar7 = (**(code **)(*(long *)pcVar12 + 0x50))(pcVar12,0x2d);\n      if (iVar9 != iVar7) {\n        iVar9 = istreambuf_iterator<wchar_t,std::char_traits<wchar_t>>::_M_get();\n        iVar7 = (**(code **)(*(long *)pcVar12 + 0x50))(pcVar12,0x2b);\n        if (iVar9 != iVar7) break;\n      }\n      auVar18 = _M_extract_num(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                               local_c0,&local_98,0,0x17,2,param_6,&local_a0);\n      local_b8 = auVar18;\n      auVar18 = _M_extract_num(param_1,auVar18._0_8_,CONCAT44(uStack_ac,auVar18._8_4_),local_c8,\n                               local_c0,&local_98,0,0x3b,2,param_6,&local_a0);\n      local_b8 = auVar18;\n    }\n    break;\n  case 'a':\n    lVar2 = *(long *)(p_Var11 + 0x10);\n    local_98 = *(undefined8 *)(lVar2 + 0x90);\n    local_90 = *(undefined8 *)(lVar2 + 0x98);\n    local_88 = *(undefined8 *)(lVar2 + 0xa0);\n    local_80 = *(undefined8 *)(lVar2 + 0xa8);\n    local_78 = *(undefined8 *)(lVar2 + 0xb0);\n    local_70 = *(undefined8 *)(lVar2 + 0xb8);\n    local_68 = *(undefined8 *)(lVar2 + 0xc0);\n    auVar18 = _M_extract_name(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                              local_c0,&local_9c,&local_98,7,param_6,&local_a0);\njoined_r0x003588cd:\n    local_b8 = auVar18;\n    if (local_a0 == 0) {\n      param_8[6] = local_9c;\n    }\n    break;\n  case 'b':\n  case 'h':\n    lVar2 = *(long *)(p_Var11 + 0x10);\n    local_98 = *(undefined8 *)(lVar2 + 0x128);\n    local_90 = *(undefined8 *)(lVar2 + 0x130);\n    local_88 = *(undefined8 *)(lVar2 + 0x138);\n    local_80 = *(undefined8 *)(lVar2 + 0x140);\n    local_78 = *(undefined8 *)(lVar2 + 0x148);\n    local_70 = *(undefined8 *)(lVar2 + 0x150);\n    local_68 = *(undefined8 *)(lVar2 + 0x158);\n    local_60 = *(undefined8 *)(lVar2 + 0x160);\n    local_58 = *(undefined8 *)(lVar2 + 0x168);\n    local_50 = *(undefined8 *)(lVar2 + 0x170);\n    local_48 = *(undefined8 *)(lVar2 + 0x178);\n    local_40 = *(undefined8 *)(lVar2 + 0x180);\n    auVar18 = _M_extract_name(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                              local_c0,&local_9c,&local_98,0xc,param_6,&local_a0);\njoined_r0x00358a12:\n    local_b8 = auVar18;\n    if (local_a0 == 0) {\n      param_8[4] = local_9c;\n    }\n    break;\n  case 'c':\n    auVar18 = _M_extract_via_format\n                        (param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,local_c0\n                         ,param_6,&local_a0,param_8,\n                         *(undefined8 *)(*(long *)(p_Var11 + 0x10) + 0x30));\n    local_b8 = auVar18;\n    break;\n  case 'd':\n    auVar18 = _M_extract_num(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                             local_c0,&local_9c,1,0x1f,2,param_6,&local_a0);\n    goto joined_r0x00358be9;\n  case 'e':\n    uVar8 = istreambuf_iterator<wchar_t,std::char_traits<wchar_t>>::_M_get();\n    cVar6 = (**(code **)(*(long *)pcVar12 + 0x10))(pcVar12,0x2000,uVar8);\n    if (cVar6 == '\0') {\n      auVar18 = _M_extract_num(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                               local_c0,&local_9c,10,0x1f,2,param_6,&local_a0);\n    }\n    else {\n      wstreambuf::sbumpc((wstreambuf *)local_b8._0_8_);\n      local_b8._8_4_ = 0xffffffff;\n      auVar18 = _M_extract_num(param_1,local_b8._0_8_,CONCAT44(uStack_ac,0xffffffff),local_c8,\n                               local_c0,&local_9c,1,9,1,param_6,&local_a0);\n    }\njoined_r0x00358be9:\n    local_b8 = auVar18;\n    if (local_a0 == 0) {\n      param_8[3] = local_9c;\n    }\n    break;\n  case 'm':\n    auVar18 = _M_extract_num(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                             local_c0,&local_9c,1,0xc,2,param_6,&local_a0);\n    local_b8 = auVar18;\n    if (local_a0 == 0) {\n      param_8[4] = local_9c + -1;\n    }\n    break;\n  case 'n':\n    uVar8 = istreambuf_iterator<wchar_t,std::char_traits<wchar_t>>::_M_get();\n    cVar6 = (**(code **)(*(long *)pcVar12 + 0x60))(pcVar12,uVar8,0);\n    if (cVar6 != '\n') goto switchD_003580fd_caseD_45;\nLAB_003590ce:\n    wstreambuf::sbumpc((wstreambuf *)local_b8._0_8_);\n    local_b8._8_4_ = 0xffffffff;\n    break;\n  case 't':\n    uVar8 = istreambuf_iterator<wchar_t,std::char_traits<wchar_t>>::_M_get();\n    cVar6 = (**(code **)(*(long *)pcVar12 + 0x60))(pcVar12,uVar8,0);\n    if (cVar6 == '\t') goto LAB_003590ce;\n    goto switchD_003580fd_caseD_45;\n  case 'x':\n    auVar18 = _M_extract_via_format\n                        (param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,local_c0\n                         ,param_6,&local_a0,param_8,\n                         *(undefined8 *)(*(long *)(p_Var11 + 0x10) + 0x10));\n    local_b8 = auVar18;\n  }" switch (parenthesized_expression "(cVar6)" ( identifier )) (compound_statement "{\n  case 'A':\n    lVar2 = *(long *)(p_Var11 + 0x10);\n    local_98 = *(undefined8 *)(lVar2 + 0x58);\n    local_90 = *(undefined8 *)(lVar2 + 0x60);\n    local_88 = *(undefined8 *)(lVar2 + 0x68);\n    local_80 = *(undefined8 *)(lVar2 + 0x70);\n    local_78 = *(undefined8 *)(lVar2 + 0x78);\n    local_70 = *(undefined8 *)(lVar2 + 0x80);\n    local_68 = *(undefined8 *)(lVar2 + 0x88);\n    auVar18 = _M_extract_name(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                              local_c0,&local_9c,&local_98,7,param_6,&local_a0);\n    goto joined_r0x003588cd;\n  case 'B':\n    lVar2 = *(long *)(p_Var11 + 0x10);\n    local_98 = *(undefined8 *)(lVar2 + 200);\n    local_90 = *(undefined8 *)(lVar2 + 0xd0);\n    local_88 = *(undefined8 *)(lVar2 + 0xd8);\n    local_80 = *(undefined8 *)(lVar2 + 0xe0);\n    local_78 = *(undefined8 *)(lVar2 + 0xe8);\n    local_70 = *(undefined8 *)(lVar2 + 0xf0);\n    local_68 = *(undefined8 *)(lVar2 + 0xf8);\n    local_60 = *(undefined8 *)(lVar2 + 0x100);\n    local_58 = *(undefined8 *)(lVar2 + 0x108);\n    local_50 = *(undefined8 *)(lVar2 + 0x110);\n    local_48 = *(undefined8 *)(lVar2 + 0x118);\n    local_40 = *(undefined8 *)(lVar2 + 0x120);\n    auVar18 = _M_extract_name(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                              local_c0,&local_9c,&local_98,0xc,param_6,&local_a0);\n    goto joined_r0x00358a12;\n  case 'C':\n  case 'Y':\n  case 'y':\n    auVar18 = _M_extract_num(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                             local_c0,&local_9c,0,9999,4,param_6,&local_a0);\n    local_b8 = auVar18;\n    if (local_a0 == 0) {\n      iVar9 = local_9c + -0x76c;\n      if (local_9c < 0) {\n        iVar9 = local_9c + 100;\n      }\n      param_8[5] = iVar9;\n    }\n    break;\n  case 'D':\n    (**(code **)(*(long *)pcVar12 + 0x58))(pcVar12,"%m/%d/%y","%H:%M",&local_98);\n    auVar18 = _M_extract_via_format\n                        (param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,local_c0\n                         ,param_6,&local_a0,param_8,&local_98);\n    local_b8 = auVar18;\n    break;\n  default:\n    goto switchD_003580fd_caseD_45;\n  case 'H':\n    auVar18 = _M_extract_num(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                             local_c0,&local_9c,0,0x17,2,param_6,&local_a0);\n    goto joined_r0x003587d9;\n  case 'I':\n    auVar18 = _M_extract_num(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                             local_c0,&local_9c,1,0xc,2,param_6,&local_a0);\njoined_r0x003587d9:\n    local_b8 = auVar18;\n    if (local_a0 == 0) {\n      param_8[2] = local_9c;\n    }\n    break;\n  case 'M':\n    auVar18 = _M_extract_num(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                             local_c0,&local_9c,0,0x3b,2,param_6,&local_a0);\n    local_b8 = auVar18;\n    if (local_a0 == 0) {\n      param_8[1] = local_9c;\n    }\n    break;\n  case 'R':\n    (**(code **)(*(long *)pcVar12 + 0x58))(pcVar12,"%H:%M","%H:%M:%S",&local_98);\n    auVar18 = _M_extract_via_format\n                        (param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,local_c0\n                         ,param_6,&local_a0,param_8,&local_98);\n    local_b8 = auVar18;\n    break;\n  case 'S':\n    auVar18 = _M_extract_num(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                             local_c0,&local_9c,0,0x3c,2,param_6,&local_a0);\n    local_b8 = auVar18;\n    if (local_a0 == 0) {\n      *param_8 = local_9c;\n    }\n    break;\n  case 'T':\n    (**(code **)(*(long *)pcVar12 + 0x58))(pcVar12,"%H:%M:%S",&DAT_003aba16,&local_98);\n    auVar18 = _M_extract_via_format\n                        (param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,local_c0\n                         ,param_6,&local_a0,param_8,&local_98);\n    local_b8 = auVar18;\n    break;\n  case 'X':\n    auVar18 = _M_extract_via_format\n                        (param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,local_c0\n                         ,param_6,&local_a0,param_8,\n                         *(undefined8 *)(*(long *)(p_Var11 + 0x10) + 0x20));\n    local_b8 = auVar18;\n    break;\n  case 'Z':\n    uVar8 = istreambuf_iterator<wchar_t,std::char_traits<wchar_t>>::_M_get();\n    cVar6 = (**(code **)(*(long *)pcVar12 + 0x10))(pcVar12,0x100,uVar8);\n    if (cVar6 == '\0') goto switchD_003580fd_caseD_45;\n    auVar18 = _M_extract_name(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                              local_c0,&local_98,PTR__S_timezones_0045bff0,0xe,param_6,&local_a0);\n    local_b8 = auVar18;\n    cVar6 = istreambuf_iterator<wchar_t,std::char_traits<wchar_t>>::equal\n                      ((istreambuf_iterator<wchar_t,std::char_traits<wchar_t>> *)local_b8,\n                       (istreambuf_iterator *)&local_c8);\n    if ((cVar6 == '\0') && (local_a0 == 0 && (int)local_98 == 0)) {\n      iVar9 = istreambuf_iterator<wchar_t,std::char_traits<wchar_t>>::_M_get();\n      iVar7 = (**(code **)(*(long *)pcVar12 + 0x50))(pcVar12,0x2d);\n      if (iVar9 != iVar7) {\n        iVar9 = istreambuf_iterator<wchar_t,std::char_traits<wchar_t>>::_M_get();\n        iVar7 = (**(code **)(*(long *)pcVar12 + 0x50))(pcVar12,0x2b);\n        if (iVar9 != iVar7) break;\n      }\n      auVar18 = _M_extract_num(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                               local_c0,&local_98,0,0x17,2,param_6,&local_a0);\n      local_b8 = auVar18;\n      auVar18 = _M_extract_num(param_1,auVar18._0_8_,CONCAT44(uStack_ac,auVar18._8_4_),local_c8,\n                               local_c0,&local_98,0,0x3b,2,param_6,&local_a0);\n      local_b8 = auVar18;\n    }\n    break;\n  case 'a':\n    lVar2 = *(long *)(p_Var11 + 0x10);\n    local_98 = *(undefined8 *)(lVar2 + 0x90);\n    local_90 = *(undefined8 *)(lVar2 + 0x98);\n    local_88 = *(undefined8 *)(lVar2 + 0xa0);\n    local_80 = *(undefined8 *)(lVar2 + 0xa8);\n    local_78 = *(undefined8 *)(lVar2 + 0xb0);\n    local_70 = *(undefined8 *)(lVar2 + 0xb8);\n    local_68 = *(undefined8 *)(lVar2 + 0xc0);\n    auVar18 = _M_extract_name(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                              local_c0,&local_9c,&local_98,7,param_6,&local_a0);\njoined_r0x003588cd:\n    local_b8 = auVar18;\n    if (local_a0 == 0) {\n      param_8[6] = local_9c;\n    }\n    break;\n  case 'b':\n  case 'h':\n    lVar2 = *(long *)(p_Var11 + 0x10);\n    local_98 = *(undefined8 *)(lVar2 + 0x128);\n    local_90 = *(undefined8 *)(lVar2 + 0x130);\n    local_88 = *(undefined8 *)(lVar2 + 0x138);\n    local_80 = *(undefined8 *)(lVar2 + 0x140);\n    local_78 = *(undefined8 *)(lVar2 + 0x148);\n    local_70 = *(undefined8 *)(lVar2 + 0x150);\n    local_68 = *(undefined8 *)(lVar2 + 0x158);\n    local_60 = *(undefined8 *)(lVar2 + 0x160);\n    local_58 = *(undefined8 *)(lVar2 + 0x168);\n    local_50 = *(undefined8 *)(lVar2 + 0x170);\n    local_48 = *(undefined8 *)(lVar2 + 0x178);\n    local_40 = *(undefined8 *)(lVar2 + 0x180);\n    auVar18 = _M_extract_name(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                              local_c0,&local_9c,&local_98,0xc,param_6,&local_a0);\njoined_r0x00358a12:\n    local_b8 = auVar18;\n    if (local_a0 == 0) {\n      param_8[4] = local_9c;\n    }\n    break;\n  case 'c':\n    auVar18 = _M_extract_via_format\n                        (param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,local_c0\n                         ,param_6,&local_a0,param_8,\n                         *(undefined8 *)(*(long *)(p_Var11 + 0x10) + 0x30));\n    local_b8 = auVar18;\n    break;\n  case 'd':\n    auVar18 = _M_extract_num(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                             local_c0,&local_9c,1,0x1f,2,param_6,&local_a0);\n    goto joined_r0x00358be9;\n  case 'e':\n    uVar8 = istreambuf_iterator<wchar_t,std::char_traits<wchar_t>>::_M_get();\n    cVar6 = (**(code **)(*(long *)pcVar12 + 0x10))(pcVar12,0x2000,uVar8);\n    if (cVar6 == '\0') {\n      auVar18 = _M_extract_num(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                               local_c0,&local_9c,10,0x1f,2,param_6,&local_a0);\n    }\n    else {\n      wstreambuf::sbumpc((wstreambuf *)local_b8._0_8_);\n      local_b8._8_4_ = 0xffffffff;\n      auVar18 = _M_extract_num(param_1,local_b8._0_8_,CONCAT44(uStack_ac,0xffffffff),local_c8,\n                               local_c0,&local_9c,1,9,1,param_6,&local_a0);\n    }\njoined_r0x00358be9:\n    local_b8 = auVar18;\n    if (local_a0 == 0) {\n      param_8[3] = local_9c;\n    }\n    break;\n  case 'm':\n    auVar18 = _M_extract_num(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                             local_c0,&local_9c,1,0xc,2,param_6,&local_a0);\n    local_b8 = auVar18;\n    if (local_a0 == 0) {\n      param_8[4] = local_9c + -1;\n    }\n    break;\n  case 'n':\n    uVar8 = istreambuf_iterator<wchar_t,std::char_traits<wchar_t>>::_M_get();\n    cVar6 = (**(code **)(*(long *)pcVar12 + 0x60))(pcVar12,uVar8,0);\n    if (cVar6 != '\n') goto switchD_003580fd_caseD_45;\nLAB_003590ce:\n    wstreambuf::sbumpc((wstreambuf *)local_b8._0_8_);\n    local_b8._8_4_ = 0xffffffff;\n    break;\n  case 't':\n    uVar8 = istreambuf_iterator<wchar_t,std::char_traits<wchar_t>>::_M_get();\n    cVar6 = (**(code **)(*(long *)pcVar12 + 0x60))(pcVar12,uVar8,0);\n    if (cVar6 == '\t') goto LAB_003590ce;\n    goto switchD_003580fd_caseD_45;\n  case 'x':\n    auVar18 = _M_extract_via_format\n                        (param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,local_c0\n                         ,param_6,&local_a0,param_8,\n                         *(undefined8 *)(*(long *)(p_Var11 + 0x10) + 0x10));\n    local_b8 = auVar18;\n  }" { (case_statement "case 'A':\n    lVar2 = *(long *)(p_Var11 + 0x10);\n    local_98 = *(undefined8 *)(lVar2 + 0x58);\n    local_90 = *(undefined8 *)(lVar2 + 0x60);\n    local_88 = *(undefined8 *)(lVar2 + 0x68);\n    local_80 = *(undefined8 *)(lVar2 + 0x70);\n    local_78 = *(undefined8 *)(lVar2 + 0x78);\n    local_70 = *(undefined8 *)(lVar2 + 0x80);\n    local_68 = *(undefined8 *)(lVar2 + 0x88);\n    auVar18 = _M_extract_name(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                              local_c0,&local_9c,&local_98,7,param_6,&local_a0);\n    goto joined_r0x003588cd;" case (char_literal "'A'" ' character ') : (expression_statement "lVar2 = *(long *)(p_Var11 + 0x10);" (assignment_expression "lVar2 = *(long *)(p_Var11 + 0x10)" identifier = (pointer_expression "*(long *)(p_Var11 + 0x10)" * (cast_expression "(long *)(p_Var11 + 0x10)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(p_Var11 + 0x10)" ( (binary_expression "p_Var11 + 0x10" identifier + number_literal) ))))) ;) (expression_statement "local_98 = *(undefined8 *)(lVar2 + 0x58);" (assignment_expression "local_98 = *(undefined8 *)(lVar2 + 0x58)" identifier = (pointer_expression "*(undefined8 *)(lVar2 + 0x58)" * (cast_expression "(undefined8 *)(lVar2 + 0x58)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar2 + 0x58)" ( (binary_expression "lVar2 + 0x58" identifier + number_literal) ))))) ;) (expression_statement "local_90 = *(undefined8 *)(lVar2 + 0x60);" (assignment_expression "local_90 = *(undefined8 *)(lVar2 + 0x60)" identifier = (pointer_expression "*(undefined8 *)(lVar2 + 0x60)" * (cast_expression "(undefined8 *)(lVar2 + 0x60)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar2 + 0x60)" ( (binary_expression "lVar2 + 0x60" identifier + number_literal) ))))) ;) (expression_statement "local_88 = *(undefined8 *)(lVar2 + 0x68);" (assignment_expression "local_88 = *(undefined8 *)(lVar2 + 0x68)" identifier = (pointer_expression "*(undefined8 *)(lVar2 + 0x68)" * (cast_expression "(undefined8 *)(lVar2 + 0x68)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar2 + 0x68)" ( (binary_expression "lVar2 + 0x68" identifier + number_literal) ))))) ;) (expression_statement "local_80 = *(undefined8 *)(lVar2 + 0x70);" (assignment_expression "local_80 = *(undefined8 *)(lVar2 + 0x70)" identifier = (pointer_expression "*(undefined8 *)(lVar2 + 0x70)" * (cast_expression "(undefined8 *)(lVar2 + 0x70)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar2 + 0x70)" ( (binary_expression "lVar2 + 0x70" identifier + number_literal) ))))) ;) (expression_statement "local_78 = *(undefined8 *)(lVar2 + 0x78);" (assignment_expression "local_78 = *(undefined8 *)(lVar2 + 0x78)" identifier = (pointer_expression "*(undefined8 *)(lVar2 + 0x78)" * (cast_expression "(undefined8 *)(lVar2 + 0x78)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar2 + 0x78)" ( (binary_expression "lVar2 + 0x78" identifier + number_literal) ))))) ;) (expression_statement "local_70 = *(undefined8 *)(lVar2 + 0x80);" (assignment_expression "local_70 = *(undefined8 *)(lVar2 + 0x80)" identifier = (pointer_expression "*(undefined8 *)(lVar2 + 0x80)" * (cast_expression "(undefined8 *)(lVar2 + 0x80)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar2 + 0x80)" ( (binary_expression "lVar2 + 0x80" identifier + number_literal) ))))) ;) (expression_statement "local_68 = *(undefined8 *)(lVar2 + 0x88);" (assignment_expression "local_68 = *(undefined8 *)(lVar2 + 0x88)" identifier = (pointer_expression "*(undefined8 *)(lVar2 + 0x88)" * (cast_expression "(undefined8 *)(lVar2 + 0x88)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar2 + 0x88)" ( (binary_expression "lVar2 + 0x88" identifier + number_literal) ))))) ;) (expression_statement "auVar18 = _M_extract_name(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                              local_c0,&local_9c,&local_98,7,param_6,&local_a0);" (assignment_expression "auVar18 = _M_extract_name(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                              local_c0,&local_9c,&local_98,7,param_6,&local_a0)" identifier = (call_expression "_M_extract_name(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                              local_c0,&local_9c,&local_98,7,param_6,&local_a0)" identifier (argument_list "(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                              local_c0,&local_9c,&local_98,7,param_6,&local_a0)" ( identifier , (field_expression "local_b8._0_8_" identifier . field_identifier) , (call_expression "CONCAT44(uStack_ac,local_b8._8_4_)" identifier (argument_list "(uStack_ac,local_b8._8_4_)" ( identifier , (field_expression "local_b8._8_4_" identifier . field_identifier) ))) , identifier , identifier , (pointer_expression "&local_9c" & identifier) , (pointer_expression "&local_98" & identifier) , number_literal , identifier , (pointer_expression "&local_a0" & identifier) )))) ;) (goto_statement "goto joined_r0x003588cd;" goto statement_identifier ;)) (case_statement "case 'B':\n    lVar2 = *(long *)(p_Var11 + 0x10);\n    local_98 = *(undefined8 *)(lVar2 + 200);\n    local_90 = *(undefined8 *)(lVar2 + 0xd0);\n    local_88 = *(undefined8 *)(lVar2 + 0xd8);\n    local_80 = *(undefined8 *)(lVar2 + 0xe0);\n    local_78 = *(undefined8 *)(lVar2 + 0xe8);\n    local_70 = *(undefined8 *)(lVar2 + 0xf0);\n    local_68 = *(undefined8 *)(lVar2 + 0xf8);\n    local_60 = *(undefined8 *)(lVar2 + 0x100);\n    local_58 = *(undefined8 *)(lVar2 + 0x108);\n    local_50 = *(undefined8 *)(lVar2 + 0x110);\n    local_48 = *(undefined8 *)(lVar2 + 0x118);\n    local_40 = *(undefined8 *)(lVar2 + 0x120);\n    auVar18 = _M_extract_name(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                              local_c0,&local_9c,&local_98,0xc,param_6,&local_a0);\n    goto joined_r0x00358a12;" case (char_literal "'B'" ' character ') : (expression_statement "lVar2 = *(long *)(p_Var11 + 0x10);" (assignment_expression "lVar2 = *(long *)(p_Var11 + 0x10)" identifier = (pointer_expression "*(long *)(p_Var11 + 0x10)" * (cast_expression "(long *)(p_Var11 + 0x10)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(p_Var11 + 0x10)" ( (binary_expression "p_Var11 + 0x10" identifier + number_literal) ))))) ;) (expression_statement "local_98 = *(undefined8 *)(lVar2 + 200);" (assignment_expression "local_98 = *(undefined8 *)(lVar2 + 200)" identifier = (pointer_expression "*(undefined8 *)(lVar2 + 200)" * (cast_expression "(undefined8 *)(lVar2 + 200)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar2 + 200)" ( (binary_expression "lVar2 + 200" identifier + number_literal) ))))) ;) (expression_statement "local_90 = *(undefined8 *)(lVar2 + 0xd0);" (assignment_expression "local_90 = *(undefined8 *)(lVar2 + 0xd0)" identifier = (pointer_expression "*(undefined8 *)(lVar2 + 0xd0)" * (cast_expression "(undefined8 *)(lVar2 + 0xd0)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar2 + 0xd0)" ( (binary_expression "lVar2 + 0xd0" identifier + number_literal) ))))) ;) (expression_statement "local_88 = *(undefined8 *)(lVar2 + 0xd8);" (assignment_expression "local_88 = *(undefined8 *)(lVar2 + 0xd8)" identifier = (pointer_expression "*(undefined8 *)(lVar2 + 0xd8)" * (cast_expression "(undefined8 *)(lVar2 + 0xd8)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar2 + 0xd8)" ( (binary_expression "lVar2 + 0xd8" identifier + number_literal) ))))) ;) (expression_statement "local_80 = *(undefined8 *)(lVar2 + 0xe0);" (assignment_expression "local_80 = *(undefined8 *)(lVar2 + 0xe0)" identifier = (pointer_expression "*(undefined8 *)(lVar2 + 0xe0)" * (cast_expression "(undefined8 *)(lVar2 + 0xe0)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar2 + 0xe0)" ( (binary_expression "lVar2 + 0xe0" identifier + number_literal) ))))) ;) (expression_statement "local_78 = *(undefined8 *)(lVar2 + 0xe8);" (assignment_expression "local_78 = *(undefined8 *)(lVar2 + 0xe8)" identifier = (pointer_expression "*(undefined8 *)(lVar2 + 0xe8)" * (cast_expression "(undefined8 *)(lVar2 + 0xe8)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar2 + 0xe8)" ( (binary_expression "lVar2 + 0xe8" identifier + number_literal) ))))) ;) (expression_statement "local_70 = *(undefined8 *)(lVar2 + 0xf0);" (assignment_expression "local_70 = *(undefined8 *)(lVar2 + 0xf0)" identifier = (pointer_expression "*(undefined8 *)(lVar2 + 0xf0)" * (cast_expression "(undefined8 *)(lVar2 + 0xf0)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar2 + 0xf0)" ( (binary_expression "lVar2 + 0xf0" identifier + number_literal) ))))) ;) (expression_statement "local_68 = *(undefined8 *)(lVar2 + 0xf8);" (assignment_expression "local_68 = *(undefined8 *)(lVar2 + 0xf8)" identifier = (pointer_expression "*(undefined8 *)(lVar2 + 0xf8)" * (cast_expression "(undefined8 *)(lVar2 + 0xf8)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar2 + 0xf8)" ( (binary_expression "lVar2 + 0xf8" identifier + number_literal) ))))) ;) (expression_statement "local_60 = *(undefined8 *)(lVar2 + 0x100);" (assignment_expression "local_60 = *(undefined8 *)(lVar2 + 0x100)" identifier = (pointer_expression "*(undefined8 *)(lVar2 + 0x100)" * (cast_expression "(undefined8 *)(lVar2 + 0x100)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar2 + 0x100)" ( (binary_expression "lVar2 + 0x100" identifier + number_literal) ))))) ;) (expression_statement "local_58 = *(undefined8 *)(lVar2 + 0x108);" (assignment_expression "local_58 = *(undefined8 *)(lVar2 + 0x108)" identifier = (pointer_expression "*(undefined8 *)(lVar2 + 0x108)" * (cast_expression "(undefined8 *)(lVar2 + 0x108)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar2 + 0x108)" ( (binary_expression "lVar2 + 0x108" identifier + number_literal) ))))) ;) (expression_statement "local_50 = *(undefined8 *)(lVar2 + 0x110);" (assignment_expression "local_50 = *(undefined8 *)(lVar2 + 0x110)" identifier = (pointer_expression "*(undefined8 *)(lVar2 + 0x110)" * (cast_expression "(undefined8 *)(lVar2 + 0x110)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar2 + 0x110)" ( (binary_expression "lVar2 + 0x110" identifier + number_literal) ))))) ;) (expression_statement "local_48 = *(undefined8 *)(lVar2 + 0x118);" (assignment_expression "local_48 = *(undefined8 *)(lVar2 + 0x118)" identifier = (pointer_expression "*(undefined8 *)(lVar2 + 0x118)" * (cast_expression "(undefined8 *)(lVar2 + 0x118)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar2 + 0x118)" ( (binary_expression "lVar2 + 0x118" identifier + number_literal) ))))) ;) (expression_statement "local_40 = *(undefined8 *)(lVar2 + 0x120);" (assignment_expression "local_40 = *(undefined8 *)(lVar2 + 0x120)" identifier = (pointer_expression "*(undefined8 *)(lVar2 + 0x120)" * (cast_expression "(undefined8 *)(lVar2 + 0x120)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar2 + 0x120)" ( (binary_expression "lVar2 + 0x120" identifier + number_literal) ))))) ;) (expression_statement "auVar18 = _M_extract_name(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                              local_c0,&local_9c,&local_98,0xc,param_6,&local_a0);" (assignment_expression "auVar18 = _M_extract_name(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                              local_c0,&local_9c,&local_98,0xc,param_6,&local_a0)" identifier = (call_expression "_M_extract_name(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                              local_c0,&local_9c,&local_98,0xc,param_6,&local_a0)" identifier (argument_list "(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                              local_c0,&local_9c,&local_98,0xc,param_6,&local_a0)" ( identifier , (field_expression "local_b8._0_8_" identifier . field_identifier) , (call_expression "CONCAT44(uStack_ac,local_b8._8_4_)" identifier (argument_list "(uStack_ac,local_b8._8_4_)" ( identifier , (field_expression "local_b8._8_4_" identifier . field_identifier) ))) , identifier , identifier , (pointer_expression "&local_9c" & identifier) , (pointer_expression "&local_98" & identifier) , number_literal , identifier , (pointer_expression "&local_a0" & identifier) )))) ;) (goto_statement "goto joined_r0x00358a12;" goto statement_identifier ;)) (case_statement "case 'C':" case (char_literal "'C'" ' character ') :) (case_statement "case 'Y':" case (char_literal "'Y'" ' character ') :) (case_statement "case 'y':\n    auVar18 = _M_extract_num(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                             local_c0,&local_9c,0,9999,4,param_6,&local_a0);\n    local_b8 = auVar18;\n    if (local_a0 == 0) {\n      iVar9 = local_9c + -0x76c;\n      if (local_9c < 0) {\n        iVar9 = local_9c + 100;\n      }\n      param_8[5] = iVar9;\n    }\n    break;" case (char_literal "'y'" ' character ') : (expression_statement "auVar18 = _M_extract_num(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                             local_c0,&local_9c,0,9999,4,param_6,&local_a0);" (assignment_expression "auVar18 = _M_extract_num(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                             local_c0,&local_9c,0,9999,4,param_6,&local_a0)" identifier = (call_expression "_M_extract_num(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                             local_c0,&local_9c,0,9999,4,param_6,&local_a0)" identifier (argument_list "(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                             local_c0,&local_9c,0,9999,4,param_6,&local_a0)" ( identifier , (field_expression "local_b8._0_8_" identifier . field_identifier) , (call_expression "CONCAT44(uStack_ac,local_b8._8_4_)" identifier (argument_list "(uStack_ac,local_b8._8_4_)" ( identifier , (field_expression "local_b8._8_4_" identifier . field_identifier) ))) , identifier , identifier , (pointer_expression "&local_9c" & identifier) , number_literal , number_literal , number_literal , identifier , (pointer_expression "&local_a0" & identifier) )))) ;) (expression_statement "local_b8 = auVar18;" (assignment_expression "local_b8 = auVar18" identifier = identifier) ;) (if_statement "if (local_a0 == 0) {\n      iVar9 = local_9c + -0x76c;\n      if (local_9c < 0) {\n        iVar9 = local_9c + 100;\n      }\n      param_8[5] = iVar9;\n    }" if (parenthesized_expression "(local_a0 == 0)" ( (binary_expression "local_a0 == 0" identifier == number_literal) )) (compound_statement "{\n      iVar9 = local_9c + -0x76c;\n      if (local_9c < 0) {\n        iVar9 = local_9c + 100;\n      }\n      param_8[5] = iVar9;\n    }" { (expression_statement "iVar9 = local_9c + -0x76c;" (assignment_expression "iVar9 = local_9c + -0x76c" identifier = (binary_expression "local_9c + -0x76c" identifier + number_literal)) ;) (if_statement "if (local_9c < 0) {\n        iVar9 = local_9c + 100;\n      }" if (parenthesized_expression "(local_9c < 0)" ( (binary_expression "local_9c < 0" identifier < number_literal) )) (compound_statement "{\n        iVar9 = local_9c + 100;\n      }" { (expression_statement "iVar9 = local_9c + 100;" (assignment_expression "iVar9 = local_9c + 100" identifier = (binary_expression "local_9c + 100" identifier + number_literal)) ;) })) (expression_statement "param_8[5] = iVar9;" (assignment_expression "param_8[5] = iVar9" (subscript_expression "param_8[5]" identifier [ number_literal ]) = identifier) ;) })) (break_statement "break;" break ;)) (case_statement "case 'D':\n    (**(code **)(*(long *)pcVar12 + 0x58))(pcVar12,"%m/%d/%y","%H:%M",&local_98);\n    auVar18 = _M_extract_via_format\n                        (param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,local_c0\n                         ,param_6,&local_a0,param_8,&local_98);\n    local_b8 = auVar18;\n    break;" case (char_literal "'D'" ' character ') : (expression_statement "(**(code **)(*(long *)pcVar12 + 0x58))(pcVar12,"%m/%d/%y","%H:%M",&local_98);" (call_expression "(**(code **)(*(long *)pcVar12 + 0x58))(pcVar12,"%m/%d/%y","%H:%M",&local_98)" (parenthesized_expression "(**(code **)(*(long *)pcVar12 + 0x58))" ( (pointer_expression "**(code **)(*(long *)pcVar12 + 0x58)" * (pointer_expression "*(code **)(*(long *)pcVar12 + 0x58)" * (cast_expression "(code **)(*(long *)pcVar12 + 0x58)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(long *)pcVar12 + 0x58)" ( (binary_expression "*(long *)pcVar12 + 0x58" (pointer_expression "*(long *)pcVar12" * (cast_expression "(long *)pcVar12" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) identifier)) + number_literal) ))))) )) (argument_list "(pcVar12,"%m/%d/%y","%H:%M",&local_98)" ( identifier , (string_literal ""%m/%d/%y"" " string_content ") , (string_literal ""%H:%M"" " string_content ") , (pointer_expression "&local_98" & identifier) ))) ;) (expression_statement "auVar18 = _M_extract_via_format\n                        (param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,local_c0\n                         ,param_6,&local_a0,param_8,&local_98);" (assignment_expression "auVar18 = _M_extract_via_format\n                        (param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,local_c0\n                         ,param_6,&local_a0,param_8,&local_98)" identifier = (call_expression "_M_extract_via_format\n                        (param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,local_c0\n                         ,param_6,&local_a0,param_8,&local_98)" identifier (argument_list "(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,local_c0\n                         ,param_6,&local_a0,param_8,&local_98)" ( identifier , (field_expression "local_b8._0_8_" identifier . field_identifier) , (call_expression "CONCAT44(uStack_ac,local_b8._8_4_)" identifier (argument_list "(uStack_ac,local_b8._8_4_)" ( identifier , (field_expression "local_b8._8_4_" identifier . field_identifier) ))) , identifier , identifier , identifier , (pointer_expression "&local_a0" & identifier) , identifier , (pointer_expression "&local_98" & identifier) )))) ;) (expression_statement "local_b8 = auVar18;" (assignment_expression "local_b8 = auVar18" identifier = identifier) ;) (break_statement "break;" break ;)) (case_statement "default:\n    goto switchD_003580fd_caseD_45;" default : (goto_statement "goto switchD_003580fd_caseD_45;" goto statement_identifier ;)) (case_statement "case 'H':\n    auVar18 = _M_extract_num(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                             local_c0,&local_9c,0,0x17,2,param_6,&local_a0);\n    goto joined_r0x003587d9;" case (char_literal "'H'" ' character ') : (expression_statement "auVar18 = _M_extract_num(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                             local_c0,&local_9c,0,0x17,2,param_6,&local_a0);" (assignment_expression "auVar18 = _M_extract_num(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                             local_c0,&local_9c,0,0x17,2,param_6,&local_a0)" identifier = (call_expression "_M_extract_num(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                             local_c0,&local_9c,0,0x17,2,param_6,&local_a0)" identifier (argument_list "(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                             local_c0,&local_9c,0,0x17,2,param_6,&local_a0)" ( identifier , (field_expression "local_b8._0_8_" identifier . field_identifier) , (call_expression "CONCAT44(uStack_ac,local_b8._8_4_)" identifier (argument_list "(uStack_ac,local_b8._8_4_)" ( identifier , (field_expression "local_b8._8_4_" identifier . field_identifier) ))) , identifier , identifier , (pointer_expression "&local_9c" & identifier) , number_literal , number_literal , number_literal , identifier , (pointer_expression "&local_a0" & identifier) )))) ;) (goto_statement "goto joined_r0x003587d9;" goto statement_identifier ;)) (case_statement "case 'I':\n    auVar18 = _M_extract_num(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                             local_c0,&local_9c,1,0xc,2,param_6,&local_a0);\njoined_r0x003587d9:\n    local_b8 = auVar18;\n    if (local_a0 == 0) {\n      param_8[2] = local_9c;\n    }\n    break;" case (char_literal "'I'" ' character ') : (expression_statement "auVar18 = _M_extract_num(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                             local_c0,&local_9c,1,0xc,2,param_6,&local_a0);" (assignment_expression "auVar18 = _M_extract_num(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                             local_c0,&local_9c,1,0xc,2,param_6,&local_a0)" identifier = (call_expression "_M_extract_num(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                             local_c0,&local_9c,1,0xc,2,param_6,&local_a0)" identifier (argument_list "(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                             local_c0,&local_9c,1,0xc,2,param_6,&local_a0)" ( identifier , (field_expression "local_b8._0_8_" identifier . field_identifier) , (call_expression "CONCAT44(uStack_ac,local_b8._8_4_)" identifier (argument_list "(uStack_ac,local_b8._8_4_)" ( identifier , (field_expression "local_b8._8_4_" identifier . field_identifier) ))) , identifier , identifier , (pointer_expression "&local_9c" & identifier) , number_literal , number_literal , number_literal , identifier , (pointer_expression "&local_a0" & identifier) )))) ;) (labeled_statement "joined_r0x003587d9:\n    local_b8 = auVar18;" statement_identifier : (expression_statement "local_b8 = auVar18;" (assignment_expression "local_b8 = auVar18" identifier = identifier) ;)) (if_statement "if (local_a0 == 0) {\n      param_8[2] = local_9c;\n    }" if (parenthesized_expression "(local_a0 == 0)" ( (binary_expression "local_a0 == 0" identifier == number_literal) )) (compound_statement "{\n      param_8[2] = local_9c;\n    }" { (expression_statement "param_8[2] = local_9c;" (assignment_expression "param_8[2] = local_9c" (subscript_expression "param_8[2]" identifier [ number_literal ]) = identifier) ;) })) (break_statement "break;" break ;)) (case_statement "case 'M':\n    auVar18 = _M_extract_num(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                             local_c0,&local_9c,0,0x3b,2,param_6,&local_a0);\n    local_b8 = auVar18;\n    if (local_a0 == 0) {\n      param_8[1] = local_9c;\n    }\n    break;" case (char_literal "'M'" ' character ') : (expression_statement "auVar18 = _M_extract_num(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                             local_c0,&local_9c,0,0x3b,2,param_6,&local_a0);" (assignment_expression "auVar18 = _M_extract_num(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                             local_c0,&local_9c,0,0x3b,2,param_6,&local_a0)" identifier = (call_expression "_M_extract_num(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                             local_c0,&local_9c,0,0x3b,2,param_6,&local_a0)" identifier (argument_list "(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                             local_c0,&local_9c,0,0x3b,2,param_6,&local_a0)" ( identifier , (field_expression "local_b8._0_8_" identifier . field_identifier) , (call_expression "CONCAT44(uStack_ac,local_b8._8_4_)" identifier (argument_list "(uStack_ac,local_b8._8_4_)" ( identifier , (field_expression "local_b8._8_4_" identifier . field_identifier) ))) , identifier , identifier , (pointer_expression "&local_9c" & identifier) , number_literal , number_literal , number_literal , identifier , (pointer_expression "&local_a0" & identifier) )))) ;) (expression_statement "local_b8 = auVar18;" (assignment_expression "local_b8 = auVar18" identifier = identifier) ;) (if_statement "if (local_a0 == 0) {\n      param_8[1] = local_9c;\n    }" if (parenthesized_expression "(local_a0 == 0)" ( (binary_expression "local_a0 == 0" identifier == number_literal) )) (compound_statement "{\n      param_8[1] = local_9c;\n    }" { (expression_statement "param_8[1] = local_9c;" (assignment_expression "param_8[1] = local_9c" (subscript_expression "param_8[1]" identifier [ number_literal ]) = identifier) ;) })) (break_statement "break;" break ;)) (case_statement "case 'R':\n    (**(code **)(*(long *)pcVar12 + 0x58))(pcVar12,"%H:%M","%H:%M:%S",&local_98);\n    auVar18 = _M_extract_via_format\n                        (param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,local_c0\n                         ,param_6,&local_a0,param_8,&local_98);\n    local_b8 = auVar18;\n    break;" case (char_literal "'R'" ' character ') : (expression_statement "(**(code **)(*(long *)pcVar12 + 0x58))(pcVar12,"%H:%M","%H:%M:%S",&local_98);" (call_expression "(**(code **)(*(long *)pcVar12 + 0x58))(pcVar12,"%H:%M","%H:%M:%S",&local_98)" (parenthesized_expression "(**(code **)(*(long *)pcVar12 + 0x58))" ( (pointer_expression "**(code **)(*(long *)pcVar12 + 0x58)" * (pointer_expression "*(code **)(*(long *)pcVar12 + 0x58)" * (cast_expression "(code **)(*(long *)pcVar12 + 0x58)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(long *)pcVar12 + 0x58)" ( (binary_expression "*(long *)pcVar12 + 0x58" (pointer_expression "*(long *)pcVar12" * (cast_expression "(long *)pcVar12" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) identifier)) + number_literal) ))))) )) (argument_list "(pcVar12,"%H:%M","%H:%M:%S",&local_98)" ( identifier , (string_literal ""%H:%M"" " string_content ") , (string_literal ""%H:%M:%S"" " string_content ") , (pointer_expression "&local_98" & identifier) ))) ;) (expression_statement "auVar18 = _M_extract_via_format\n                        (param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,local_c0\n                         ,param_6,&local_a0,param_8,&local_98);" (assignment_expression "auVar18 = _M_extract_via_format\n                        (param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,local_c0\n                         ,param_6,&local_a0,param_8,&local_98)" identifier = (call_expression "_M_extract_via_format\n                        (param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,local_c0\n                         ,param_6,&local_a0,param_8,&local_98)" identifier (argument_list "(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,local_c0\n                         ,param_6,&local_a0,param_8,&local_98)" ( identifier , (field_expression "local_b8._0_8_" identifier . field_identifier) , (call_expression "CONCAT44(uStack_ac,local_b8._8_4_)" identifier (argument_list "(uStack_ac,local_b8._8_4_)" ( identifier , (field_expression "local_b8._8_4_" identifier . field_identifier) ))) , identifier , identifier , identifier , (pointer_expression "&local_a0" & identifier) , identifier , (pointer_expression "&local_98" & identifier) )))) ;) (expression_statement "local_b8 = auVar18;" (assignment_expression "local_b8 = auVar18" identifier = identifier) ;) (break_statement "break;" break ;)) (case_statement "case 'S':\n    auVar18 = _M_extract_num(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                             local_c0,&local_9c,0,0x3c,2,param_6,&local_a0);\n    local_b8 = auVar18;\n    if (local_a0 == 0) {\n      *param_8 = local_9c;\n    }\n    break;" case (char_literal "'S'" ' character ') : (expression_statement "auVar18 = _M_extract_num(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                             local_c0,&local_9c,0,0x3c,2,param_6,&local_a0);" (assignment_expression "auVar18 = _M_extract_num(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                             local_c0,&local_9c,0,0x3c,2,param_6,&local_a0)" identifier = (call_expression "_M_extract_num(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                             local_c0,&local_9c,0,0x3c,2,param_6,&local_a0)" identifier (argument_list "(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                             local_c0,&local_9c,0,0x3c,2,param_6,&local_a0)" ( identifier , (field_expression "local_b8._0_8_" identifier . field_identifier) , (call_expression "CONCAT44(uStack_ac,local_b8._8_4_)" identifier (argument_list "(uStack_ac,local_b8._8_4_)" ( identifier , (field_expression "local_b8._8_4_" identifier . field_identifier) ))) , identifier , identifier , (pointer_expression "&local_9c" & identifier) , number_literal , number_literal , number_literal , identifier , (pointer_expression "&local_a0" & identifier) )))) ;) (expression_statement "local_b8 = auVar18;" (assignment_expression "local_b8 = auVar18" identifier = identifier) ;) (if_statement "if (local_a0 == 0) {\n      *param_8 = local_9c;\n    }" if (parenthesized_expression "(local_a0 == 0)" ( (binary_expression "local_a0 == 0" identifier == number_literal) )) (compound_statement "{\n      *param_8 = local_9c;\n    }" { (expression_statement "*param_8 = local_9c;" (assignment_expression "*param_8 = local_9c" (pointer_expression "*param_8" * identifier) = identifier) ;) })) (break_statement "break;" break ;)) (case_statement "case 'T':\n    (**(code **)(*(long *)pcVar12 + 0x58))(pcVar12,"%H:%M:%S",&DAT_003aba16,&local_98);\n    auVar18 = _M_extract_via_format\n                        (param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,local_c0\n                         ,param_6,&local_a0,param_8,&local_98);\n    local_b8 = auVar18;\n    break;" case (char_literal "'T'" ' character ') : (expression_statement "(**(code **)(*(long *)pcVar12 + 0x58))(pcVar12,"%H:%M:%S",&DAT_003aba16,&local_98);" (call_expression "(**(code **)(*(long *)pcVar12 + 0x58))(pcVar12,"%H:%M:%S",&DAT_003aba16,&local_98)" (parenthesized_expression "(**(code **)(*(long *)pcVar12 + 0x58))" ( (pointer_expression "**(code **)(*(long *)pcVar12 + 0x58)" * (pointer_expression "*(code **)(*(long *)pcVar12 + 0x58)" * (cast_expression "(code **)(*(long *)pcVar12 + 0x58)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(long *)pcVar12 + 0x58)" ( (binary_expression "*(long *)pcVar12 + 0x58" (pointer_expression "*(long *)pcVar12" * (cast_expression "(long *)pcVar12" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) identifier)) + number_literal) ))))) )) (argument_list "(pcVar12,"%H:%M:%S",&DAT_003aba16,&local_98)" ( identifier , (string_literal ""%H:%M:%S"" " string_content ") , (pointer_expression "&DAT_003aba16" & identifier) , (pointer_expression "&local_98" & identifier) ))) ;) (expression_statement "auVar18 = _M_extract_via_format\n                        (param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,local_c0\n                         ,param_6,&local_a0,param_8,&local_98);" (assignment_expression "auVar18 = _M_extract_via_format\n                        (param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,local_c0\n                         ,param_6,&local_a0,param_8,&local_98)" identifier = (call_expression "_M_extract_via_format\n                        (param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,local_c0\n                         ,param_6,&local_a0,param_8,&local_98)" identifier (argument_list "(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,local_c0\n                         ,param_6,&local_a0,param_8,&local_98)" ( identifier , (field_expression "local_b8._0_8_" identifier . field_identifier) , (call_expression "CONCAT44(uStack_ac,local_b8._8_4_)" identifier (argument_list "(uStack_ac,local_b8._8_4_)" ( identifier , (field_expression "local_b8._8_4_" identifier . field_identifier) ))) , identifier , identifier , identifier , (pointer_expression "&local_a0" & identifier) , identifier , (pointer_expression "&local_98" & identifier) )))) ;) (expression_statement "local_b8 = auVar18;" (assignment_expression "local_b8 = auVar18" identifier = identifier) ;) (break_statement "break;" break ;)) (case_statement "case 'X':\n    auVar18 = _M_extract_via_format\n                        (param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,local_c0\n                         ,param_6,&local_a0,param_8,\n                         *(undefined8 *)(*(long *)(p_Var11 + 0x10) + 0x20));\n    local_b8 = auVar18;\n    break;" case (char_literal "'X'" ' character ') : (expression_statement "auVar18 = _M_extract_via_format\n                        (param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,local_c0\n                         ,param_6,&local_a0,param_8,\n                         *(undefined8 *)(*(long *)(p_Var11 + 0x10) + 0x20));" (assignment_expression "auVar18 = _M_extract_via_format\n                        (param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,local_c0\n                         ,param_6,&local_a0,param_8,\n                         *(undefined8 *)(*(long *)(p_Var11 + 0x10) + 0x20))" identifier = (call_expression "_M_extract_via_format\n                        (param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,local_c0\n                         ,param_6,&local_a0,param_8,\n                         *(undefined8 *)(*(long *)(p_Var11 + 0x10) + 0x20))" identifier (argument_list "(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,local_c0\n                         ,param_6,&local_a0,param_8,\n                         *(undefined8 *)(*(long *)(p_Var11 + 0x10) + 0x20))" ( identifier , (field_expression "local_b8._0_8_" identifier . field_identifier) , (call_expression "CONCAT44(uStack_ac,local_b8._8_4_)" identifier (argument_list "(uStack_ac,local_b8._8_4_)" ( identifier , (field_expression "local_b8._8_4_" identifier . field_identifier) ))) , identifier , identifier , identifier , (pointer_expression "&local_a0" & identifier) , identifier , (pointer_expression "*(undefined8 *)(*(long *)(p_Var11 + 0x10) + 0x20)" * (cast_expression "(undefined8 *)(*(long *)(p_Var11 + 0x10) + 0x20)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(long *)(p_Var11 + 0x10) + 0x20)" ( (binary_expression "*(long *)(p_Var11 + 0x10) + 0x20" (pointer_expression "*(long *)(p_Var11 + 0x10)" * (cast_expression "(long *)(p_Var11 + 0x10)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(p_Var11 + 0x10)" ( (binary_expression "p_Var11 + 0x10" identifier + number_literal) )))) + number_literal) )))) )))) ;) (expression_statement "local_b8 = auVar18;" (assignment_expression "local_b8 = auVar18" identifier = identifier) ;) (break_statement "break;" break ;)) (case_statement "case 'Z':\n    uVar8 = istreambuf_iterator<wchar_t,std::char_traits<wchar_t>>::_M_get();\n    cVar6 = (**(code **)(*(long *)pcVar12 + 0x10))(pcVar12,0x100,uVar8);\n    if (cVar6 == '\0') goto switchD_003580fd_caseD_45;\n    auVar18 = _M_extract_name(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                              local_c0,&local_98,PTR__S_timezones_0045bff0,0xe,param_6,&local_a0);\n    local_b8 = auVar18;\n    cVar6 = istreambuf_iterator<wchar_t,std::char_traits<wchar_t>>::equal\n                      ((istreambuf_iterator<wchar_t,std::char_traits<wchar_t>> *)local_b8,\n                       (istreambuf_iterator *)&local_c8);\n    if ((cVar6 == '\0') && (local_a0 == 0 && (int)local_98 == 0)) {\n      iVar9 = istreambuf_iterator<wchar_t,std::char_traits<wchar_t>>::_M_get();\n      iVar7 = (**(code **)(*(long *)pcVar12 + 0x50))(pcVar12,0x2d);\n      if (iVar9 != iVar7) {\n        iVar9 = istreambuf_iterator<wchar_t,std::char_traits<wchar_t>>::_M_get();\n        iVar7 = (**(code **)(*(long *)pcVar12 + 0x50))(pcVar12,0x2b);\n        if (iVar9 != iVar7) break;\n      }\n      auVar18 = _M_extract_num(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                               local_c0,&local_98,0,0x17,2,param_6,&local_a0);\n      local_b8 = auVar18;\n      auVar18 = _M_extract_num(param_1,auVar18._0_8_,CONCAT44(uStack_ac,auVar18._8_4_),local_c8,\n                               local_c0,&local_98,0,0x3b,2,param_6,&local_a0);\n      local_b8 = auVar18;\n    }\n    break;" case (char_literal "'Z'" ' character ') : (ERROR "uVar8 = istreambuf_iterator<wchar_t,std::" (comma_expression "uVar8 = istreambuf_iterator<wchar_t,std" (assignment_expression "uVar8 = istreambuf_iterator<wchar_t" identifier = (binary_expression "istreambuf_iterator<wchar_t" identifier < identifier)) , identifier) : :) (expression_statement "char_traits<wchar_t>>::_M_get();" (binary_expression "char_traits<wchar_t>>::_M_get()" identifier < (binary_expression "wchar_t>>::_M_get()" identifier >> (ERROR "::" : :) (call_expression "_M_get()" identifier (argument_list "()" ( ))))) ;) (expression_statement "cVar6 = (**(code **)(*(long *)pcVar12 + 0x10))(pcVar12,0x100,uVar8);" (assignment_expression "cVar6 = (**(code **)(*(long *)pcVar12 + 0x10))(pcVar12,0x100,uVar8)" identifier = (call_expression "(**(code **)(*(long *)pcVar12 + 0x10))(pcVar12,0x100,uVar8)" (parenthesized_expression "(**(code **)(*(long *)pcVar12 + 0x10))" ( (pointer_expression "**(code **)(*(long *)pcVar12 + 0x10)" * (pointer_expression "*(code **)(*(long *)pcVar12 + 0x10)" * (cast_expression "(code **)(*(long *)pcVar12 + 0x10)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(long *)pcVar12 + 0x10)" ( (binary_expression "*(long *)pcVar12 + 0x10" (pointer_expression "*(long *)pcVar12" * (cast_expression "(long *)pcVar12" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) identifier)) + number_literal) ))))) )) (argument_list "(pcVar12,0x100,uVar8)" ( identifier , number_literal , identifier )))) ;) (if_statement "if (cVar6 == '\0') goto switchD_003580fd_caseD_45;" if (parenthesized_expression "(cVar6 == '\0')" ( (binary_expression "cVar6 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto switchD_003580fd_caseD_45;" goto statement_identifier ;)) (expression_statement "auVar18 = _M_extract_name(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                              local_c0,&local_98,PTR__S_timezones_0045bff0,0xe,param_6,&local_a0);" (assignment_expression "auVar18 = _M_extract_name(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                              local_c0,&local_98,PTR__S_timezones_0045bff0,0xe,param_6,&local_a0)" identifier = (call_expression "_M_extract_name(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                              local_c0,&local_98,PTR__S_timezones_0045bff0,0xe,param_6,&local_a0)" identifier (argument_list "(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                              local_c0,&local_98,PTR__S_timezones_0045bff0,0xe,param_6,&local_a0)" ( identifier , (field_expression "local_b8._0_8_" identifier . field_identifier) , (call_expression "CONCAT44(uStack_ac,local_b8._8_4_)" identifier (argument_list "(uStack_ac,local_b8._8_4_)" ( identifier , (field_expression "local_b8._8_4_" identifier . field_identifier) ))) , identifier , identifier , (pointer_expression "&local_98" & identifier) , identifier , number_literal , identifier , (pointer_expression "&local_a0" & identifier) )))) ;) (expression_statement "local_b8 = auVar18;" (assignment_expression "local_b8 = auVar18" identifier = identifier) ;) (ERROR "cVar6 = istreambuf_iterator<wchar_t,std::" (comma_expression "cVar6 = istreambuf_iterator<wchar_t,std" (assignment_expression "cVar6 = istreambuf_iterator<wchar_t" identifier = (binary_expression "istreambuf_iterator<wchar_t" identifier < identifier)) , identifier) : :) (expression_statement "char_traits<wchar_t>>::equal\n                      ((istreambuf_iterator<wchar_t,std::char_traits<wchar_t>> *)local_b8,\n                       (istreambuf_iterator *)&local_c8);" (binary_expression "char_traits<wchar_t>>::equal\n                      ((istreambuf_iterator<wchar_t,std::char_traits<wchar_t>> *)local_b8,\n                       (istreambuf_iterator *)&local_c8)" identifier < (binary_expression "wchar_t>>::equal\n                      ((istreambuf_iterator<wchar_t,std::char_traits<wchar_t>> *)local_b8,\n                       (istreambuf_iterator *)&local_c8)" identifier >> (ERROR "::" : :) (call_expression "equal\n                      ((istreambuf_iterator<wchar_t,std::char_traits<wchar_t>> *)local_b8,\n                       (istreambuf_iterator *)&local_c8)" identifier (argument_list "((istreambuf_iterator<wchar_t,std::char_traits<wchar_t>> *)local_b8,\n                       (istreambuf_iterator *)&local_c8)" ( (parenthesized_expression "(istreambuf_iterator<wchar_t,std::char_traits<wchar_t>> *)local_b8,\n                       (istreambuf_iterator *)&local_c8)" ( (ERROR "istreambuf_iterator<wchar_t,std::" (comma_expression "istreambuf_iterator<wchar_t,std" (binary_expression "istreambuf_iterator<wchar_t" identifier < identifier) , identifier) : :) (comma_expression "char_traits<wchar_t>> *)local_b8,\n                       (istreambuf_iterator *)&local_c8" (binary_expression "char_traits<wchar_t>> *)local_b8" identifier < (binary_expression "wchar_t>> *)local_b8" identifier >> (pointer_expression "*)local_b8" * (ERROR ")" )) identifier))) , (cast_expression "(istreambuf_iterator *)&local_c8" ( (type_descriptor "istreambuf_iterator *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&local_c8" & identifier))) )) ))))) ;) (if_statement "if ((cVar6 == '\0') && (local_a0 == 0 && (int)local_98 == 0)) {\n      iVar9 = istreambuf_iterator<wchar_t,std::char_traits<wchar_t>>::_M_get();\n      iVar7 = (**(code **)(*(long *)pcVar12 + 0x50))(pcVar12,0x2d);\n      if (iVar9 != iVar7) {\n        iVar9 = istreambuf_iterator<wchar_t,std::char_traits<wchar_t>>::_M_get();\n        iVar7 = (**(code **)(*(long *)pcVar12 + 0x50))(pcVar12,0x2b);\n        if (iVar9 != iVar7) break;\n      }\n      auVar18 = _M_extract_num(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                               local_c0,&local_98,0,0x17,2,param_6,&local_a0);\n      local_b8 = auVar18;\n      auVar18 = _M_extract_num(param_1,auVar18._0_8_,CONCAT44(uStack_ac,auVar18._8_4_),local_c8,\n                               local_c0,&local_98,0,0x3b,2,param_6,&local_a0);\n      local_b8 = auVar18;\n    }" if (parenthesized_expression "((cVar6 == '\0') && (local_a0 == 0 && (int)local_98 == 0))" ( (binary_expression "(cVar6 == '\0') && (local_a0 == 0 && (int)local_98 == 0)" (parenthesized_expression "(cVar6 == '\0')" ( (binary_expression "cVar6 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) && (parenthesized_expression "(local_a0 == 0 && (int)local_98 == 0)" ( (binary_expression "local_a0 == 0 && (int)local_98 == 0" (binary_expression "local_a0 == 0" identifier == number_literal) && (binary_expression "(int)local_98 == 0" (cast_expression "(int)local_98" ( (type_descriptor "int" primitive_type) ) identifier) == number_literal)) ))) )) (compound_statement "{\n      iVar9 = istreambuf_iterator<wchar_t,std::char_traits<wchar_t>>::_M_get();\n      iVar7 = (**(code **)(*(long *)pcVar12 + 0x50))(pcVar12,0x2d);\n      if (iVar9 != iVar7) {\n        iVar9 = istreambuf_iterator<wchar_t,std::char_traits<wchar_t>>::_M_get();\n        iVar7 = (**(code **)(*(long *)pcVar12 + 0x50))(pcVar12,0x2b);\n        if (iVar9 != iVar7) break;\n      }\n      auVar18 = _M_extract_num(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                               local_c0,&local_98,0,0x17,2,param_6,&local_a0);\n      local_b8 = auVar18;\n      auVar18 = _M_extract_num(param_1,auVar18._0_8_,CONCAT44(uStack_ac,auVar18._8_4_),local_c8,\n                               local_c0,&local_98,0,0x3b,2,param_6,&local_a0);\n      local_b8 = auVar18;\n    }" { (ERROR "iVar9 = istreambuf_iterator<wchar_t,std::" (comma_expression "iVar9 = istreambuf_iterator<wchar_t,std" (assignment_expression "iVar9 = istreambuf_iterator<wchar_t" identifier = (binary_expression "istreambuf_iterator<wchar_t" identifier < identifier)) , identifier) : :) (expression_statement "char_traits<wchar_t>>::_M_get();" (binary_expression "char_traits<wchar_t>>::_M_get()" identifier < (binary_expression "wchar_t>>::_M_get()" identifier >> (ERROR "::" : :) (call_expression "_M_get()" identifier (argument_list "()" ( ))))) ;) (expression_statement "iVar7 = (**(code **)(*(long *)pcVar12 + 0x50))(pcVar12,0x2d);" (assignment_expression "iVar7 = (**(code **)(*(long *)pcVar12 + 0x50))(pcVar12,0x2d)" identifier = (call_expression "(**(code **)(*(long *)pcVar12 + 0x50))(pcVar12,0x2d)" (parenthesized_expression "(**(code **)(*(long *)pcVar12 + 0x50))" ( (pointer_expression "**(code **)(*(long *)pcVar12 + 0x50)" * (pointer_expression "*(code **)(*(long *)pcVar12 + 0x50)" * (cast_expression "(code **)(*(long *)pcVar12 + 0x50)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(long *)pcVar12 + 0x50)" ( (binary_expression "*(long *)pcVar12 + 0x50" (pointer_expression "*(long *)pcVar12" * (cast_expression "(long *)pcVar12" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) identifier)) + number_literal) ))))) )) (argument_list "(pcVar12,0x2d)" ( identifier , number_literal )))) ;) (if_statement "if (iVar9 != iVar7) {\n        iVar9 = istreambuf_iterator<wchar_t,std::char_traits<wchar_t>>::_M_get();\n        iVar7 = (**(code **)(*(long *)pcVar12 + 0x50))(pcVar12,0x2b);\n        if (iVar9 != iVar7) break;\n      }" if (parenthesized_expression "(iVar9 != iVar7)" ( (binary_expression "iVar9 != iVar7" identifier != identifier) )) (compound_statement "{\n        iVar9 = istreambuf_iterator<wchar_t,std::char_traits<wchar_t>>::_M_get();\n        iVar7 = (**(code **)(*(long *)pcVar12 + 0x50))(pcVar12,0x2b);\n        if (iVar9 != iVar7) break;\n      }" { (ERROR "iVar9 = istreambuf_iterator<wchar_t,std::" (comma_expression "iVar9 = istreambuf_iterator<wchar_t,std" (assignment_expression "iVar9 = istreambuf_iterator<wchar_t" identifier = (binary_expression "istreambuf_iterator<wchar_t" identifier < identifier)) , identifier) : :) (expression_statement "char_traits<wchar_t>>::_M_get();" (binary_expression "char_traits<wchar_t>>::_M_get()" identifier < (binary_expression "wchar_t>>::_M_get()" identifier >> (ERROR "::" : :) (call_expression "_M_get()" identifier (argument_list "()" ( ))))) ;) (expression_statement "iVar7 = (**(code **)(*(long *)pcVar12 + 0x50))(pcVar12,0x2b);" (assignment_expression "iVar7 = (**(code **)(*(long *)pcVar12 + 0x50))(pcVar12,0x2b)" identifier = (call_expression "(**(code **)(*(long *)pcVar12 + 0x50))(pcVar12,0x2b)" (parenthesized_expression "(**(code **)(*(long *)pcVar12 + 0x50))" ( (pointer_expression "**(code **)(*(long *)pcVar12 + 0x50)" * (pointer_expression "*(code **)(*(long *)pcVar12 + 0x50)" * (cast_expression "(code **)(*(long *)pcVar12 + 0x50)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(long *)pcVar12 + 0x50)" ( (binary_expression "*(long *)pcVar12 + 0x50" (pointer_expression "*(long *)pcVar12" * (cast_expression "(long *)pcVar12" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) identifier)) + number_literal) ))))) )) (argument_list "(pcVar12,0x2b)" ( identifier , number_literal )))) ;) (if_statement "if (iVar9 != iVar7) break;" if (parenthesized_expression "(iVar9 != iVar7)" ( (binary_expression "iVar9 != iVar7" identifier != identifier) )) (break_statement "break;" break ;)) })) (expression_statement "auVar18 = _M_extract_num(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                               local_c0,&local_98,0,0x17,2,param_6,&local_a0);" (assignment_expression "auVar18 = _M_extract_num(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                               local_c0,&local_98,0,0x17,2,param_6,&local_a0)" identifier = (call_expression "_M_extract_num(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                               local_c0,&local_98,0,0x17,2,param_6,&local_a0)" identifier (argument_list "(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                               local_c0,&local_98,0,0x17,2,param_6,&local_a0)" ( identifier , (field_expression "local_b8._0_8_" identifier . field_identifier) , (call_expression "CONCAT44(uStack_ac,local_b8._8_4_)" identifier (argument_list "(uStack_ac,local_b8._8_4_)" ( identifier , (field_expression "local_b8._8_4_" identifier . field_identifier) ))) , identifier , identifier , (pointer_expression "&local_98" & identifier) , number_literal , number_literal , number_literal , identifier , (pointer_expression "&local_a0" & identifier) )))) ;) (expression_statement "local_b8 = auVar18;" (assignment_expression "local_b8 = auVar18" identifier = identifier) ;) (expression_statement "auVar18 = _M_extract_num(param_1,auVar18._0_8_,CONCAT44(uStack_ac,auVar18._8_4_),local_c8,\n                               local_c0,&local_98,0,0x3b,2,param_6,&local_a0);" (assignment_expression "auVar18 = _M_extract_num(param_1,auVar18._0_8_,CONCAT44(uStack_ac,auVar18._8_4_),local_c8,\n                               local_c0,&local_98,0,0x3b,2,param_6,&local_a0)" identifier = (call_expression "_M_extract_num(param_1,auVar18._0_8_,CONCAT44(uStack_ac,auVar18._8_4_),local_c8,\n                               local_c0,&local_98,0,0x3b,2,param_6,&local_a0)" identifier (argument_list "(param_1,auVar18._0_8_,CONCAT44(uStack_ac,auVar18._8_4_),local_c8,\n                               local_c0,&local_98,0,0x3b,2,param_6,&local_a0)" ( identifier , (field_expression "auVar18._0_8_" identifier . field_identifier) , (call_expression "CONCAT44(uStack_ac,auVar18._8_4_)" identifier (argument_list "(uStack_ac,auVar18._8_4_)" ( identifier , (field_expression "auVar18._8_4_" identifier . field_identifier) ))) , identifier , identifier , (pointer_expression "&local_98" & identifier) , number_literal , number_literal , number_literal , identifier , (pointer_expression "&local_a0" & identifier) )))) ;) (expression_statement "local_b8 = auVar18;" (assignment_expression "local_b8 = auVar18" identifier = identifier) ;) })) (break_statement "break;" break ;)) (case_statement "case 'a':\n    lVar2 = *(long *)(p_Var11 + 0x10);\n    local_98 = *(undefined8 *)(lVar2 + 0x90);\n    local_90 = *(undefined8 *)(lVar2 + 0x98);\n    local_88 = *(undefined8 *)(lVar2 + 0xa0);\n    local_80 = *(undefined8 *)(lVar2 + 0xa8);\n    local_78 = *(undefined8 *)(lVar2 + 0xb0);\n    local_70 = *(undefined8 *)(lVar2 + 0xb8);\n    local_68 = *(undefined8 *)(lVar2 + 0xc0);\n    auVar18 = _M_extract_name(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                              local_c0,&local_9c,&local_98,7,param_6,&local_a0);\njoined_r0x003588cd:\n    local_b8 = auVar18;\n    if (local_a0 == 0) {\n      param_8[6] = local_9c;\n    }\n    break;" case (char_literal "'a'" ' character ') : (expression_statement "lVar2 = *(long *)(p_Var11 + 0x10);" (assignment_expression "lVar2 = *(long *)(p_Var11 + 0x10)" identifier = (pointer_expression "*(long *)(p_Var11 + 0x10)" * (cast_expression "(long *)(p_Var11 + 0x10)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(p_Var11 + 0x10)" ( (binary_expression "p_Var11 + 0x10" identifier + number_literal) ))))) ;) (expression_statement "local_98 = *(undefined8 *)(lVar2 + 0x90);" (assignment_expression "local_98 = *(undefined8 *)(lVar2 + 0x90)" identifier = (pointer_expression "*(undefined8 *)(lVar2 + 0x90)" * (cast_expression "(undefined8 *)(lVar2 + 0x90)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar2 + 0x90)" ( (binary_expression "lVar2 + 0x90" identifier + number_literal) ))))) ;) (expression_statement "local_90 = *(undefined8 *)(lVar2 + 0x98);" (assignment_expression "local_90 = *(undefined8 *)(lVar2 + 0x98)" identifier = (pointer_expression "*(undefined8 *)(lVar2 + 0x98)" * (cast_expression "(undefined8 *)(lVar2 + 0x98)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar2 + 0x98)" ( (binary_expression "lVar2 + 0x98" identifier + number_literal) ))))) ;) (expression_statement "local_88 = *(undefined8 *)(lVar2 + 0xa0);" (assignment_expression "local_88 = *(undefined8 *)(lVar2 + 0xa0)" identifier = (pointer_expression "*(undefined8 *)(lVar2 + 0xa0)" * (cast_expression "(undefined8 *)(lVar2 + 0xa0)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar2 + 0xa0)" ( (binary_expression "lVar2 + 0xa0" identifier + number_literal) ))))) ;) (expression_statement "local_80 = *(undefined8 *)(lVar2 + 0xa8);" (assignment_expression "local_80 = *(undefined8 *)(lVar2 + 0xa8)" identifier = (pointer_expression "*(undefined8 *)(lVar2 + 0xa8)" * (cast_expression "(undefined8 *)(lVar2 + 0xa8)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar2 + 0xa8)" ( (binary_expression "lVar2 + 0xa8" identifier + number_literal) ))))) ;) (expression_statement "local_78 = *(undefined8 *)(lVar2 + 0xb0);" (assignment_expression "local_78 = *(undefined8 *)(lVar2 + 0xb0)" identifier = (pointer_expression "*(undefined8 *)(lVar2 + 0xb0)" * (cast_expression "(undefined8 *)(lVar2 + 0xb0)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar2 + 0xb0)" ( (binary_expression "lVar2 + 0xb0" identifier + number_literal) ))))) ;) (expression_statement "local_70 = *(undefined8 *)(lVar2 + 0xb8);" (assignment_expression "local_70 = *(undefined8 *)(lVar2 + 0xb8)" identifier = (pointer_expression "*(undefined8 *)(lVar2 + 0xb8)" * (cast_expression "(undefined8 *)(lVar2 + 0xb8)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar2 + 0xb8)" ( (binary_expression "lVar2 + 0xb8" identifier + number_literal) ))))) ;) (expression_statement "local_68 = *(undefined8 *)(lVar2 + 0xc0);" (assignment_expression "local_68 = *(undefined8 *)(lVar2 + 0xc0)" identifier = (pointer_expression "*(undefined8 *)(lVar2 + 0xc0)" * (cast_expression "(undefined8 *)(lVar2 + 0xc0)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar2 + 0xc0)" ( (binary_expression "lVar2 + 0xc0" identifier + number_literal) ))))) ;) (expression_statement "auVar18 = _M_extract_name(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                              local_c0,&local_9c,&local_98,7,param_6,&local_a0);" (assignment_expression "auVar18 = _M_extract_name(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                              local_c0,&local_9c,&local_98,7,param_6,&local_a0)" identifier = (call_expression "_M_extract_name(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                              local_c0,&local_9c,&local_98,7,param_6,&local_a0)" identifier (argument_list "(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                              local_c0,&local_9c,&local_98,7,param_6,&local_a0)" ( identifier , (field_expression "local_b8._0_8_" identifier . field_identifier) , (call_expression "CONCAT44(uStack_ac,local_b8._8_4_)" identifier (argument_list "(uStack_ac,local_b8._8_4_)" ( identifier , (field_expression "local_b8._8_4_" identifier . field_identifier) ))) , identifier , identifier , (pointer_expression "&local_9c" & identifier) , (pointer_expression "&local_98" & identifier) , number_literal , identifier , (pointer_expression "&local_a0" & identifier) )))) ;) (labeled_statement "joined_r0x003588cd:\n    local_b8 = auVar18;" statement_identifier : (expression_statement "local_b8 = auVar18;" (assignment_expression "local_b8 = auVar18" identifier = identifier) ;)) (if_statement "if (local_a0 == 0) {\n      param_8[6] = local_9c;\n    }" if (parenthesized_expression "(local_a0 == 0)" ( (binary_expression "local_a0 == 0" identifier == number_literal) )) (compound_statement "{\n      param_8[6] = local_9c;\n    }" { (expression_statement "param_8[6] = local_9c;" (assignment_expression "param_8[6] = local_9c" (subscript_expression "param_8[6]" identifier [ number_literal ]) = identifier) ;) })) (break_statement "break;" break ;)) (case_statement "case 'b':" case (char_literal "'b'" ' character ') :) (case_statement "case 'h':\n    lVar2 = *(long *)(p_Var11 + 0x10);\n    local_98 = *(undefined8 *)(lVar2 + 0x128);\n    local_90 = *(undefined8 *)(lVar2 + 0x130);\n    local_88 = *(undefined8 *)(lVar2 + 0x138);\n    local_80 = *(undefined8 *)(lVar2 + 0x140);\n    local_78 = *(undefined8 *)(lVar2 + 0x148);\n    local_70 = *(undefined8 *)(lVar2 + 0x150);\n    local_68 = *(undefined8 *)(lVar2 + 0x158);\n    local_60 = *(undefined8 *)(lVar2 + 0x160);\n    local_58 = *(undefined8 *)(lVar2 + 0x168);\n    local_50 = *(undefined8 *)(lVar2 + 0x170);\n    local_48 = *(undefined8 *)(lVar2 + 0x178);\n    local_40 = *(undefined8 *)(lVar2 + 0x180);\n    auVar18 = _M_extract_name(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                              local_c0,&local_9c,&local_98,0xc,param_6,&local_a0);\njoined_r0x00358a12:\n    local_b8 = auVar18;\n    if (local_a0 == 0) {\n      param_8[4] = local_9c;\n    }\n    break;" case (char_literal "'h'" ' character ') : (expression_statement "lVar2 = *(long *)(p_Var11 + 0x10);" (assignment_expression "lVar2 = *(long *)(p_Var11 + 0x10)" identifier = (pointer_expression "*(long *)(p_Var11 + 0x10)" * (cast_expression "(long *)(p_Var11 + 0x10)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(p_Var11 + 0x10)" ( (binary_expression "p_Var11 + 0x10" identifier + number_literal) ))))) ;) (expression_statement "local_98 = *(undefined8 *)(lVar2 + 0x128);" (assignment_expression "local_98 = *(undefined8 *)(lVar2 + 0x128)" identifier = (pointer_expression "*(undefined8 *)(lVar2 + 0x128)" * (cast_expression "(undefined8 *)(lVar2 + 0x128)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar2 + 0x128)" ( (binary_expression "lVar2 + 0x128" identifier + number_literal) ))))) ;) (expression_statement "local_90 = *(undefined8 *)(lVar2 + 0x130);" (assignment_expression "local_90 = *(undefined8 *)(lVar2 + 0x130)" identifier = (pointer_expression "*(undefined8 *)(lVar2 + 0x130)" * (cast_expression "(undefined8 *)(lVar2 + 0x130)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar2 + 0x130)" ( (binary_expression "lVar2 + 0x130" identifier + number_literal) ))))) ;) (expression_statement "local_88 = *(undefined8 *)(lVar2 + 0x138);" (assignment_expression "local_88 = *(undefined8 *)(lVar2 + 0x138)" identifier = (pointer_expression "*(undefined8 *)(lVar2 + 0x138)" * (cast_expression "(undefined8 *)(lVar2 + 0x138)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar2 + 0x138)" ( (binary_expression "lVar2 + 0x138" identifier + number_literal) ))))) ;) (expression_statement "local_80 = *(undefined8 *)(lVar2 + 0x140);" (assignment_expression "local_80 = *(undefined8 *)(lVar2 + 0x140)" identifier = (pointer_expression "*(undefined8 *)(lVar2 + 0x140)" * (cast_expression "(undefined8 *)(lVar2 + 0x140)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar2 + 0x140)" ( (binary_expression "lVar2 + 0x140" identifier + number_literal) ))))) ;) (expression_statement "local_78 = *(undefined8 *)(lVar2 + 0x148);" (assignment_expression "local_78 = *(undefined8 *)(lVar2 + 0x148)" identifier = (pointer_expression "*(undefined8 *)(lVar2 + 0x148)" * (cast_expression "(undefined8 *)(lVar2 + 0x148)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar2 + 0x148)" ( (binary_expression "lVar2 + 0x148" identifier + number_literal) ))))) ;) (expression_statement "local_70 = *(undefined8 *)(lVar2 + 0x150);" (assignment_expression "local_70 = *(undefined8 *)(lVar2 + 0x150)" identifier = (pointer_expression "*(undefined8 *)(lVar2 + 0x150)" * (cast_expression "(undefined8 *)(lVar2 + 0x150)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar2 + 0x150)" ( (binary_expression "lVar2 + 0x150" identifier + number_literal) ))))) ;) (expression_statement "local_68 = *(undefined8 *)(lVar2 + 0x158);" (assignment_expression "local_68 = *(undefined8 *)(lVar2 + 0x158)" identifier = (pointer_expression "*(undefined8 *)(lVar2 + 0x158)" * (cast_expression "(undefined8 *)(lVar2 + 0x158)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar2 + 0x158)" ( (binary_expression "lVar2 + 0x158" identifier + number_literal) ))))) ;) (expression_statement "local_60 = *(undefined8 *)(lVar2 + 0x160);" (assignment_expression "local_60 = *(undefined8 *)(lVar2 + 0x160)" identifier = (pointer_expression "*(undefined8 *)(lVar2 + 0x160)" * (cast_expression "(undefined8 *)(lVar2 + 0x160)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar2 + 0x160)" ( (binary_expression "lVar2 + 0x160" identifier + number_literal) ))))) ;) (expression_statement "local_58 = *(undefined8 *)(lVar2 + 0x168);" (assignment_expression "local_58 = *(undefined8 *)(lVar2 + 0x168)" identifier = (pointer_expression "*(undefined8 *)(lVar2 + 0x168)" * (cast_expression "(undefined8 *)(lVar2 + 0x168)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar2 + 0x168)" ( (binary_expression "lVar2 + 0x168" identifier + number_literal) ))))) ;) (expression_statement "local_50 = *(undefined8 *)(lVar2 + 0x170);" (assignment_expression "local_50 = *(undefined8 *)(lVar2 + 0x170)" identifier = (pointer_expression "*(undefined8 *)(lVar2 + 0x170)" * (cast_expression "(undefined8 *)(lVar2 + 0x170)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar2 + 0x170)" ( (binary_expression "lVar2 + 0x170" identifier + number_literal) ))))) ;) (expression_statement "local_48 = *(undefined8 *)(lVar2 + 0x178);" (assignment_expression "local_48 = *(undefined8 *)(lVar2 + 0x178)" identifier = (pointer_expression "*(undefined8 *)(lVar2 + 0x178)" * (cast_expression "(undefined8 *)(lVar2 + 0x178)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar2 + 0x178)" ( (binary_expression "lVar2 + 0x178" identifier + number_literal) ))))) ;) (expression_statement "local_40 = *(undefined8 *)(lVar2 + 0x180);" (assignment_expression "local_40 = *(undefined8 *)(lVar2 + 0x180)" identifier = (pointer_expression "*(undefined8 *)(lVar2 + 0x180)" * (cast_expression "(undefined8 *)(lVar2 + 0x180)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar2 + 0x180)" ( (binary_expression "lVar2 + 0x180" identifier + number_literal) ))))) ;) (expression_statement "auVar18 = _M_extract_name(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                              local_c0,&local_9c,&local_98,0xc,param_6,&local_a0);" (assignment_expression "auVar18 = _M_extract_name(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                              local_c0,&local_9c,&local_98,0xc,param_6,&local_a0)" identifier = (call_expression "_M_extract_name(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                              local_c0,&local_9c,&local_98,0xc,param_6,&local_a0)" identifier (argument_list "(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                              local_c0,&local_9c,&local_98,0xc,param_6,&local_a0)" ( identifier , (field_expression "local_b8._0_8_" identifier . field_identifier) , (call_expression "CONCAT44(uStack_ac,local_b8._8_4_)" identifier (argument_list "(uStack_ac,local_b8._8_4_)" ( identifier , (field_expression "local_b8._8_4_" identifier . field_identifier) ))) , identifier , identifier , (pointer_expression "&local_9c" & identifier) , (pointer_expression "&local_98" & identifier) , number_literal , identifier , (pointer_expression "&local_a0" & identifier) )))) ;) (labeled_statement "joined_r0x00358a12:\n    local_b8 = auVar18;" statement_identifier : (expression_statement "local_b8 = auVar18;" (assignment_expression "local_b8 = auVar18" identifier = identifier) ;)) (if_statement "if (local_a0 == 0) {\n      param_8[4] = local_9c;\n    }" if (parenthesized_expression "(local_a0 == 0)" ( (binary_expression "local_a0 == 0" identifier == number_literal) )) (compound_statement "{\n      param_8[4] = local_9c;\n    }" { (expression_statement "param_8[4] = local_9c;" (assignment_expression "param_8[4] = local_9c" (subscript_expression "param_8[4]" identifier [ number_literal ]) = identifier) ;) })) (break_statement "break;" break ;)) (case_statement "case 'c':\n    auVar18 = _M_extract_via_format\n                        (param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,local_c0\n                         ,param_6,&local_a0,param_8,\n                         *(undefined8 *)(*(long *)(p_Var11 + 0x10) + 0x30));\n    local_b8 = auVar18;\n    break;" case (char_literal "'c'" ' character ') : (expression_statement "auVar18 = _M_extract_via_format\n                        (param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,local_c0\n                         ,param_6,&local_a0,param_8,\n                         *(undefined8 *)(*(long *)(p_Var11 + 0x10) + 0x30));" (assignment_expression "auVar18 = _M_extract_via_format\n                        (param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,local_c0\n                         ,param_6,&local_a0,param_8,\n                         *(undefined8 *)(*(long *)(p_Var11 + 0x10) + 0x30))" identifier = (call_expression "_M_extract_via_format\n                        (param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,local_c0\n                         ,param_6,&local_a0,param_8,\n                         *(undefined8 *)(*(long *)(p_Var11 + 0x10) + 0x30))" identifier (argument_list "(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,local_c0\n                         ,param_6,&local_a0,param_8,\n                         *(undefined8 *)(*(long *)(p_Var11 + 0x10) + 0x30))" ( identifier , (field_expression "local_b8._0_8_" identifier . field_identifier) , (call_expression "CONCAT44(uStack_ac,local_b8._8_4_)" identifier (argument_list "(uStack_ac,local_b8._8_4_)" ( identifier , (field_expression "local_b8._8_4_" identifier . field_identifier) ))) , identifier , identifier , identifier , (pointer_expression "&local_a0" & identifier) , identifier , (pointer_expression "*(undefined8 *)(*(long *)(p_Var11 + 0x10) + 0x30)" * (cast_expression "(undefined8 *)(*(long *)(p_Var11 + 0x10) + 0x30)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(long *)(p_Var11 + 0x10) + 0x30)" ( (binary_expression "*(long *)(p_Var11 + 0x10) + 0x30" (pointer_expression "*(long *)(p_Var11 + 0x10)" * (cast_expression "(long *)(p_Var11 + 0x10)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(p_Var11 + 0x10)" ( (binary_expression "p_Var11 + 0x10" identifier + number_literal) )))) + number_literal) )))) )))) ;) (expression_statement "local_b8 = auVar18;" (assignment_expression "local_b8 = auVar18" identifier = identifier) ;) (break_statement "break;" break ;)) (case_statement "case 'd':\n    auVar18 = _M_extract_num(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                             local_c0,&local_9c,1,0x1f,2,param_6,&local_a0);\n    goto joined_r0x00358be9;" case (char_literal "'d'" ' character ') : (expression_statement "auVar18 = _M_extract_num(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                             local_c0,&local_9c,1,0x1f,2,param_6,&local_a0);" (assignment_expression "auVar18 = _M_extract_num(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                             local_c0,&local_9c,1,0x1f,2,param_6,&local_a0)" identifier = (call_expression "_M_extract_num(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                             local_c0,&local_9c,1,0x1f,2,param_6,&local_a0)" identifier (argument_list "(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                             local_c0,&local_9c,1,0x1f,2,param_6,&local_a0)" ( identifier , (field_expression "local_b8._0_8_" identifier . field_identifier) , (call_expression "CONCAT44(uStack_ac,local_b8._8_4_)" identifier (argument_list "(uStack_ac,local_b8._8_4_)" ( identifier , (field_expression "local_b8._8_4_" identifier . field_identifier) ))) , identifier , identifier , (pointer_expression "&local_9c" & identifier) , number_literal , number_literal , number_literal , identifier , (pointer_expression "&local_a0" & identifier) )))) ;) (goto_statement "goto joined_r0x00358be9;" goto statement_identifier ;)) (case_statement "case 'e':\n    uVar8 = istreambuf_iterator<wchar_t,std::char_traits<wchar_t>>::_M_get();\n    cVar6 = (**(code **)(*(long *)pcVar12 + 0x10))(pcVar12,0x2000,uVar8);\n    if (cVar6 == '\0') {\n      auVar18 = _M_extract_num(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                               local_c0,&local_9c,10,0x1f,2,param_6,&local_a0);\n    }\n    else {\n      wstreambuf::sbumpc((wstreambuf *)local_b8._0_8_);\n      local_b8._8_4_ = 0xffffffff;\n      auVar18 = _M_extract_num(param_1,local_b8._0_8_,CONCAT44(uStack_ac,0xffffffff),local_c8,\n                               local_c0,&local_9c,1,9,1,param_6,&local_a0);\n    }\njoined_r0x00358be9:\n    local_b8 = auVar18;\n    if (local_a0 == 0) {\n      param_8[3] = local_9c;\n    }\n    break;" case (char_literal "'e'" ' character ') : (ERROR "uVar8 = istreambuf_iterator<wchar_t,std::" (comma_expression "uVar8 = istreambuf_iterator<wchar_t,std" (assignment_expression "uVar8 = istreambuf_iterator<wchar_t" identifier = (binary_expression "istreambuf_iterator<wchar_t" identifier < identifier)) , identifier) : :) (expression_statement "char_traits<wchar_t>>::_M_get();" (binary_expression "char_traits<wchar_t>>::_M_get()" identifier < (binary_expression "wchar_t>>::_M_get()" identifier >> (ERROR "::" : :) (call_expression "_M_get()" identifier (argument_list "()" ( ))))) ;) (expression_statement "cVar6 = (**(code **)(*(long *)pcVar12 + 0x10))(pcVar12,0x2000,uVar8);" (assignment_expression "cVar6 = (**(code **)(*(long *)pcVar12 + 0x10))(pcVar12,0x2000,uVar8)" identifier = (call_expression "(**(code **)(*(long *)pcVar12 + 0x10))(pcVar12,0x2000,uVar8)" (parenthesized_expression "(**(code **)(*(long *)pcVar12 + 0x10))" ( (pointer_expression "**(code **)(*(long *)pcVar12 + 0x10)" * (pointer_expression "*(code **)(*(long *)pcVar12 + 0x10)" * (cast_expression "(code **)(*(long *)pcVar12 + 0x10)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(long *)pcVar12 + 0x10)" ( (binary_expression "*(long *)pcVar12 + 0x10" (pointer_expression "*(long *)pcVar12" * (cast_expression "(long *)pcVar12" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) identifier)) + number_literal) ))))) )) (argument_list "(pcVar12,0x2000,uVar8)" ( identifier , number_literal , identifier )))) ;) (if_statement "if (cVar6 == '\0') {\n      auVar18 = _M_extract_num(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                               local_c0,&local_9c,10,0x1f,2,param_6,&local_a0);\n    }\n    else {\n      wstreambuf::sbumpc((wstreambuf *)local_b8._0_8_);\n      local_b8._8_4_ = 0xffffffff;\n      auVar18 = _M_extract_num(param_1,local_b8._0_8_,CONCAT44(uStack_ac,0xffffffff),local_c8,\n                               local_c0,&local_9c,1,9,1,param_6,&local_a0);\n    }" if (parenthesized_expression "(cVar6 == '\0')" ( (binary_expression "cVar6 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n      auVar18 = _M_extract_num(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                               local_c0,&local_9c,10,0x1f,2,param_6,&local_a0);\n    }" { (expression_statement "auVar18 = _M_extract_num(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                               local_c0,&local_9c,10,0x1f,2,param_6,&local_a0);" (assignment_expression "auVar18 = _M_extract_num(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                               local_c0,&local_9c,10,0x1f,2,param_6,&local_a0)" identifier = (call_expression "_M_extract_num(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                               local_c0,&local_9c,10,0x1f,2,param_6,&local_a0)" identifier (argument_list "(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                               local_c0,&local_9c,10,0x1f,2,param_6,&local_a0)" ( identifier , (field_expression "local_b8._0_8_" identifier . field_identifier) , (call_expression "CONCAT44(uStack_ac,local_b8._8_4_)" identifier (argument_list "(uStack_ac,local_b8._8_4_)" ( identifier , (field_expression "local_b8._8_4_" identifier . field_identifier) ))) , identifier , identifier , (pointer_expression "&local_9c" & identifier) , number_literal , number_literal , number_literal , identifier , (pointer_expression "&local_a0" & identifier) )))) ;) }) (else_clause "else {\n      wstreambuf::sbumpc((wstreambuf *)local_b8._0_8_);\n      local_b8._8_4_ = 0xffffffff;\n      auVar18 = _M_extract_num(param_1,local_b8._0_8_,CONCAT44(uStack_ac,0xffffffff),local_c8,\n                               local_c0,&local_9c,1,9,1,param_6,&local_a0);\n    }" else (compound_statement "{\n      wstreambuf::sbumpc((wstreambuf *)local_b8._0_8_);\n      local_b8._8_4_ = 0xffffffff;\n      auVar18 = _M_extract_num(param_1,local_b8._0_8_,CONCAT44(uStack_ac,0xffffffff),local_c8,\n                               local_c0,&local_9c,1,9,1,param_6,&local_a0);\n    }" { (labeled_statement "wstreambuf::sbumpc((wstreambuf *)local_b8._0_8_);" statement_identifier : (ERROR ":" :) (expression_statement "sbumpc((wstreambuf *)local_b8._0_8_);" (call_expression "sbumpc((wstreambuf *)local_b8._0_8_)" identifier (argument_list "((wstreambuf *)local_b8._0_8_)" ( (cast_expression "(wstreambuf *)local_b8._0_8_" ( (type_descriptor "wstreambuf *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "local_b8._0_8_" identifier . field_identifier)) ))) ;)) (expression_statement "local_b8._8_4_ = 0xffffffff;" (assignment_expression "local_b8._8_4_ = 0xffffffff" (field_expression "local_b8._8_4_" identifier . field_identifier) = number_literal) ;) (expression_statement "auVar18 = _M_extract_num(param_1,local_b8._0_8_,CONCAT44(uStack_ac,0xffffffff),local_c8,\n                               local_c0,&local_9c,1,9,1,param_6,&local_a0);" (assignment_expression "auVar18 = _M_extract_num(param_1,local_b8._0_8_,CONCAT44(uStack_ac,0xffffffff),local_c8,\n                               local_c0,&local_9c,1,9,1,param_6,&local_a0)" identifier = (call_expression "_M_extract_num(param_1,local_b8._0_8_,CONCAT44(uStack_ac,0xffffffff),local_c8,\n                               local_c0,&local_9c,1,9,1,param_6,&local_a0)" identifier (argument_list "(param_1,local_b8._0_8_,CONCAT44(uStack_ac,0xffffffff),local_c8,\n                               local_c0,&local_9c,1,9,1,param_6,&local_a0)" ( identifier , (field_expression "local_b8._0_8_" identifier . field_identifier) , (call_expression "CONCAT44(uStack_ac,0xffffffff)" identifier (argument_list "(uStack_ac,0xffffffff)" ( identifier , number_literal ))) , identifier , identifier , (pointer_expression "&local_9c" & identifier) , number_literal , number_literal , number_literal , identifier , (pointer_expression "&local_a0" & identifier) )))) ;) }))) (labeled_statement "joined_r0x00358be9:\n    local_b8 = auVar18;" statement_identifier : (expression_statement "local_b8 = auVar18;" (assignment_expression "local_b8 = auVar18" identifier = identifier) ;)) (if_statement "if (local_a0 == 0) {\n      param_8[3] = local_9c;\n    }" if (parenthesized_expression "(local_a0 == 0)" ( (binary_expression "local_a0 == 0" identifier == number_literal) )) (compound_statement "{\n      param_8[3] = local_9c;\n    }" { (expression_statement "param_8[3] = local_9c;" (assignment_expression "param_8[3] = local_9c" (subscript_expression "param_8[3]" identifier [ number_literal ]) = identifier) ;) })) (break_statement "break;" break ;)) (case_statement "case 'm':\n    auVar18 = _M_extract_num(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                             local_c0,&local_9c,1,0xc,2,param_6,&local_a0);\n    local_b8 = auVar18;\n    if (local_a0 == 0) {\n      param_8[4] = local_9c + -1;\n    }\n    break;" case (char_literal "'m'" ' character ') : (expression_statement "auVar18 = _M_extract_num(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                             local_c0,&local_9c,1,0xc,2,param_6,&local_a0);" (assignment_expression "auVar18 = _M_extract_num(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                             local_c0,&local_9c,1,0xc,2,param_6,&local_a0)" identifier = (call_expression "_M_extract_num(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                             local_c0,&local_9c,1,0xc,2,param_6,&local_a0)" identifier (argument_list "(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                             local_c0,&local_9c,1,0xc,2,param_6,&local_a0)" ( identifier , (field_expression "local_b8._0_8_" identifier . field_identifier) , (call_expression "CONCAT44(uStack_ac,local_b8._8_4_)" identifier (argument_list "(uStack_ac,local_b8._8_4_)" ( identifier , (field_expression "local_b8._8_4_" identifier . field_identifier) ))) , identifier , identifier , (pointer_expression "&local_9c" & identifier) , number_literal , number_literal , number_literal , identifier , (pointer_expression "&local_a0" & identifier) )))) ;) (expression_statement "local_b8 = auVar18;" (assignment_expression "local_b8 = auVar18" identifier = identifier) ;) (if_statement "if (local_a0 == 0) {\n      param_8[4] = local_9c + -1;\n    }" if (parenthesized_expression "(local_a0 == 0)" ( (binary_expression "local_a0 == 0" identifier == number_literal) )) (compound_statement "{\n      param_8[4] = local_9c + -1;\n    }" { (expression_statement "param_8[4] = local_9c + -1;" (assignment_expression "param_8[4] = local_9c + -1" (subscript_expression "param_8[4]" identifier [ number_literal ]) = (binary_expression "local_9c + -1" identifier + number_literal)) ;) })) (break_statement "break;" break ;)) (case_statement "case 'n':\n    uVar8 = istreambuf_iterator<wchar_t,std::char_traits<wchar_t>>::_M_get();\n    cVar6 = (**(code **)(*(long *)pcVar12 + 0x60))(pcVar12,uVar8,0);\n    if (cVar6 != '\n') goto switchD_003580fd_caseD_45;\nLAB_003590ce:\n    wstreambuf::sbumpc((wstreambuf *)local_b8._0_8_);\n    local_b8._8_4_ = 0xffffffff;\n    break;" case (char_literal "'n'" ' character ') : (ERROR "uVar8 = istreambuf_iterator<wchar_t,std::" (comma_expression "uVar8 = istreambuf_iterator<wchar_t,std" (assignment_expression "uVar8 = istreambuf_iterator<wchar_t" identifier = (binary_expression "istreambuf_iterator<wchar_t" identifier < identifier)) , identifier) : :) (expression_statement "char_traits<wchar_t>>::_M_get();" (binary_expression "char_traits<wchar_t>>::_M_get()" identifier < (binary_expression "wchar_t>>::_M_get()" identifier >> (ERROR "::" : :) (call_expression "_M_get()" identifier (argument_list "()" ( ))))) ;) (expression_statement "cVar6 = (**(code **)(*(long *)pcVar12 + 0x60))(pcVar12,uVar8,0);" (assignment_expression "cVar6 = (**(code **)(*(long *)pcVar12 + 0x60))(pcVar12,uVar8,0)" identifier = (call_expression "(**(code **)(*(long *)pcVar12 + 0x60))(pcVar12,uVar8,0)" (parenthesized_expression "(**(code **)(*(long *)pcVar12 + 0x60))" ( (pointer_expression "**(code **)(*(long *)pcVar12 + 0x60)" * (pointer_expression "*(code **)(*(long *)pcVar12 + 0x60)" * (cast_expression "(code **)(*(long *)pcVar12 + 0x60)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(long *)pcVar12 + 0x60)" ( (binary_expression "*(long *)pcVar12 + 0x60" (pointer_expression "*(long *)pcVar12" * (cast_expression "(long *)pcVar12" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) identifier)) + number_literal) ))))) )) (argument_list "(pcVar12,uVar8,0)" ( identifier , identifier , number_literal )))) ;) (if_statement "if (cVar6 != '\n') goto switchD_003580fd_caseD_45;" if (parenthesized_expression "(cVar6 != '\n')" ( (binary_expression "cVar6 != '\n'" identifier != (char_literal "'\n'" ' escape_sequence ')) )) (goto_statement "goto switchD_003580fd_caseD_45;" goto statement_identifier ;)) (labeled_statement "LAB_003590ce:\n    wstreambuf::sbumpc((wstreambuf *)local_b8._0_8_);" statement_identifier : (labeled_statement "wstreambuf::sbumpc((wstreambuf *)local_b8._0_8_);" statement_identifier : (ERROR ":" :) (expression_statement "sbumpc((wstreambuf *)local_b8._0_8_);" (call_expression "sbumpc((wstreambuf *)local_b8._0_8_)" identifier (argument_list "((wstreambuf *)local_b8._0_8_)" ( (cast_expression "(wstreambuf *)local_b8._0_8_" ( (type_descriptor "wstreambuf *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "local_b8._0_8_" identifier . field_identifier)) ))) ;))) (expression_statement "local_b8._8_4_ = 0xffffffff;" (assignment_expression "local_b8._8_4_ = 0xffffffff" (field_expression "local_b8._8_4_" identifier . field_identifier) = number_literal) ;) (break_statement "break;" break ;)) (case_statement "case 't':\n    uVar8 = istreambuf_iterator<wchar_t,std::char_traits<wchar_t>>::_M_get();\n    cVar6 = (**(code **)(*(long *)pcVar12 + 0x60))(pcVar12,uVar8,0);\n    if (cVar6 == '\t') goto LAB_003590ce;\n    goto switchD_003580fd_caseD_45;" case (char_literal "'t'" ' character ') : (ERROR "uVar8 = istreambuf_iterator<wchar_t,std::" (comma_expression "uVar8 = istreambuf_iterator<wchar_t,std" (assignment_expression "uVar8 = istreambuf_iterator<wchar_t" identifier = (binary_expression "istreambuf_iterator<wchar_t" identifier < identifier)) , identifier) : :) (expression_statement "char_traits<wchar_t>>::_M_get();" (binary_expression "char_traits<wchar_t>>::_M_get()" identifier < (binary_expression "wchar_t>>::_M_get()" identifier >> (ERROR "::" : :) (call_expression "_M_get()" identifier (argument_list "()" ( ))))) ;) (expression_statement "cVar6 = (**(code **)(*(long *)pcVar12 + 0x60))(pcVar12,uVar8,0);" (assignment_expression "cVar6 = (**(code **)(*(long *)pcVar12 + 0x60))(pcVar12,uVar8,0)" identifier = (call_expression "(**(code **)(*(long *)pcVar12 + 0x60))(pcVar12,uVar8,0)" (parenthesized_expression "(**(code **)(*(long *)pcVar12 + 0x60))" ( (pointer_expression "**(code **)(*(long *)pcVar12 + 0x60)" * (pointer_expression "*(code **)(*(long *)pcVar12 + 0x60)" * (cast_expression "(code **)(*(long *)pcVar12 + 0x60)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(long *)pcVar12 + 0x60)" ( (binary_expression "*(long *)pcVar12 + 0x60" (pointer_expression "*(long *)pcVar12" * (cast_expression "(long *)pcVar12" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) identifier)) + number_literal) ))))) )) (argument_list "(pcVar12,uVar8,0)" ( identifier , identifier , number_literal )))) ;) (if_statement "if (cVar6 == '\t') goto LAB_003590ce;" if (parenthesized_expression "(cVar6 == '\t')" ( (binary_expression "cVar6 == '\t'" identifier == (char_literal "'\t'" ' escape_sequence ')) )) (goto_statement "goto LAB_003590ce;" goto statement_identifier ;)) (goto_statement "goto switchD_003580fd_caseD_45;" goto statement_identifier ;)) (case_statement "case 'x':\n    auVar18 = _M_extract_via_format\n                        (param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,local_c0\n                         ,param_6,&local_a0,param_8,\n                         *(undefined8 *)(*(long *)(p_Var11 + 0x10) + 0x10));\n    local_b8 = auVar18;" case (char_literal "'x'" ' character ') : (expression_statement "auVar18 = _M_extract_via_format\n                        (param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,local_c0\n                         ,param_6,&local_a0,param_8,\n                         *(undefined8 *)(*(long *)(p_Var11 + 0x10) + 0x10));" (assignment_expression "auVar18 = _M_extract_via_format\n                        (param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,local_c0\n                         ,param_6,&local_a0,param_8,\n                         *(undefined8 *)(*(long *)(p_Var11 + 0x10) + 0x10))" identifier = (call_expression "_M_extract_via_format\n                        (param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,local_c0\n                         ,param_6,&local_a0,param_8,\n                         *(undefined8 *)(*(long *)(p_Var11 + 0x10) + 0x10))" identifier (argument_list "(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,local_c0\n                         ,param_6,&local_a0,param_8,\n                         *(undefined8 *)(*(long *)(p_Var11 + 0x10) + 0x10))" ( identifier , (field_expression "local_b8._0_8_" identifier . field_identifier) , (call_expression "CONCAT44(uStack_ac,local_b8._8_4_)" identifier (argument_list "(uStack_ac,local_b8._8_4_)" ( identifier , (field_expression "local_b8._8_4_" identifier . field_identifier) ))) , identifier , identifier , identifier , (pointer_expression "&local_a0" & identifier) , identifier , (pointer_expression "*(undefined8 *)(*(long *)(p_Var11 + 0x10) + 0x10)" * (cast_expression "(undefined8 *)(*(long *)(p_Var11 + 0x10) + 0x10)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(long *)(p_Var11 + 0x10) + 0x10)" ( (binary_expression "*(long *)(p_Var11 + 0x10) + 0x10" (pointer_expression "*(long *)(p_Var11 + 0x10)" * (cast_expression "(long *)(p_Var11 + 0x10)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(p_Var11 + 0x10)" ( (binary_expression "p_Var11 + 0x10" identifier + number_literal) )))) + number_literal) )))) )))) ;) (expression_statement "local_b8 = auVar18;" (assignment_expression "local_b8 = auVar18" identifier = identifier) ;)) })) (labeled_statement "LAB_00358248:\n  uVar15 = uVar14 + 1;" statement_identifier : (expression_statement "uVar15 = uVar14 + 1;" (assignment_expression "uVar15 = uVar14 + 1" identifier = (binary_expression "uVar14 + 1" identifier + number_literal)) ;)) (goto_statement "goto LAB_00358033;" goto statement_identifier ;) (labeled_statement "switchD_003580fd_caseD_45:\n  local_a0 = local_a0 | 4;" statement_identifier : (expression_statement "local_a0 = local_a0 | 4;" (assignment_expression "local_a0 = local_a0 | 4" identifier = (binary_expression "local_a0 | 4" identifier | number_literal)) ;)) (goto_statement "goto LAB_00358248;" goto statement_identifier ;) }))
(translation_unit "undefined1  [16]\nFUN_00357f80(undefined8 param_1,undefined8 param_2,undefined8 param_3,long *param_4,\n            undefined8 param_5,long param_6,uint *param_7,int *param_8,wchar_t *param_9)\n\n{\n  wchar_t wVar1;\n  long lVar2;\n  undefined1 auVar3 [16];\n  undefined1 auVar4 [12];\n  bool bVar5;\n  char cVar6;\n  int iVar7;\n  undefined4 uVar8;\n  int iVar9;\n  wchar_t wVar10;\n  long lVar11;\n  long *plVar12;\n  size_t sVar13;\n  ulong uVar14;\n  ulong uVar15;\n  bool bVar16;\n  bool bVar17;\n  undefined1 auVar18 [12];\n  long *local_c8;\n  undefined8 local_c0;\n  undefined1 local_b8 [12];\n  undefined4 uStack_ac;\n  uint local_a0;\n  int local_9c;\n  undefined8 local_98;\n  undefined8 local_90;\n  undefined8 local_88;\n  undefined8 local_80;\n  undefined8 local_78;\n  undefined8 local_70;\n  undefined8 local_68;\n  undefined8 local_60;\n  undefined8 local_58;\n  undefined8 local_50;\n  undefined8 local_48;\n  undefined8 local_40;\n  \n  local_b8._8_4_ = (undefined4)param_3;\n  uStack_ac = (undefined4)((ulong)param_3 >> 0x20);\n  local_c8 = param_4;\n  local_c0 = param_5;\n  local_b8._0_8_ = param_2;\n  lVar11 = FUN_0033ff70(param_6 + 0xd0);\n  plVar12 = (long *)FUN_0033e820(param_6 + 0xd0);\n  sVar13 = wcslen(param_9);\n  local_a0 = 0;\n  uVar15 = 0;\nLAB_00358033:\n  bVar5 = (long *)local_b8._0_8_ != (long *)0x0 && local_b8._8_4_ == -1;\n  bVar17 = local_b8._8_4_ == -1;\n  if (bVar5) {\n    if (*(int **)(local_b8._0_8_ + 0x10) < *(int **)(local_b8._0_8_ + 0x18)) {\n      iVar9 = **(int **)(local_b8._0_8_ + 0x10);\n    }\n    else {\n      iVar9 = (**(code **)(*(long *)local_b8._0_8_ + 0x48))();\n    }\n    bVar17 = false;\n    if (iVar9 == -1) {\n      auVar18._4_8_ = 0;\n      auVar18._0_4_ = local_b8._8_4_;\n      local_b8 = auVar18 << 0x40;\n      bVar17 = bVar5;\n    }\n  }\n  bVar16 = (int)local_c0 == -1;\n  bVar5 = local_c8 != (long *)0x0 && bVar16;\n  if (bVar5) {\n    if ((int *)local_c8[2] < (int *)local_c8[3]) {\n      iVar9 = *(int *)local_c8[2];\n    }\n    else {\n      iVar9 = (**(code **)(*local_c8 + 0x48))();\n    }\n    bVar16 = false;\n    if (iVar9 != -1) goto LAB_00358070;\n    local_c8 = (long *)0x0;\n    if (bVar17 != bVar5) goto LAB_00358080;\nLAB_00358188:\n    if ((uVar15 == sVar13) && (local_a0 == 0)) goto LAB_0035819e;\nLAB_00358193:\n    *param_7 = *param_7 | 4;\nLAB_0035819e:\n    auVar3._12_4_ = uStack_ac;\n    auVar3._0_12_ = local_b8;\n    return auVar3;\n  }\nLAB_00358070:\n  if (bVar17 == bVar16) goto LAB_00358188;\nLAB_00358080:\n  if (sVar13 <= uVar15) goto LAB_00358188;\n  if (local_a0 != 0) goto LAB_00358193;\n  uVar14 = uVar15 + 1;\n  cVar6 = (**(code **)(*plVar12 + 0x60))(plVar12,param_9[uVar15],0);\n  if (cVar6 != '%') {\n    wVar1 = param_9[uVar15];\n    auVar4 = local_b8;\n    uVar15 = uVar14;\n    if ((local_b8._8_4_ == L'\xffffffff') && ((long *)local_b8._0_8_ != (long *)0x0)) {\n      if (*(wchar_t **)(local_b8._0_8_ + 0x10) < *(wchar_t **)(local_b8._0_8_ + 0x18)) {\n        wVar10 = **(wchar_t **)(local_b8._0_8_ + 0x10);\n      }\n      else {\n        wVar10 = (**(code **)(*(long *)local_b8._0_8_ + 0x48))();\n        auVar4 = local_b8;\n      }\n      local_b8._8_4_ = auVar4._8_4_;\n      if (wVar10 == L'\xffffffff') {\n        auVar4._4_8_ = 0;\n        auVar4._0_4_ = local_b8._8_4_;\n        auVar4 = auVar4 << 0x40;\n        local_b8._8_4_ = L'\xffffffff';\n        goto LAB_00358121;\n      }\n      local_b8 = auVar4;\n      if (wVar1 == wVar10) goto LAB_00358290;\nLAB_0035812a:\n      local_a0 = local_a0 | 4;\n    }\n    else {\nLAB_00358121:\n      bVar17 = wVar1 != local_b8._8_4_;\n      local_b8 = auVar4;\n      if (bVar17) goto LAB_0035812a;\nLAB_00358290:\n      local_b8._0_8_ = auVar4._0_8_;\n      if (*(ulong *)(local_b8._0_8_ + 0x10) < *(ulong *)(local_b8._0_8_ + 0x18)) {\n        *(ulong *)(local_b8._0_8_ + 0x10) = *(ulong *)(local_b8._0_8_ + 0x10) + 4;\n      }\n      else {\n        lVar2 = *(long *)local_b8._0_8_;\n        local_b8 = auVar4;\n        (**(code **)(lVar2 + 0x50))();\n      }\n      local_b8._8_4_ = 0xffffffff;\n    }\n    goto LAB_00358033;\n  }\n  cVar6 = (**(code **)(*plVar12 + 0x60))(plVar12,param_9[uVar15 + 1],0);\n  local_9c = 0;\n  if ((cVar6 == 'E') || (cVar6 == 'O')) {\n    uVar14 = uVar15 + 2;\n    cVar6 = (**(code **)(*plVar12 + 0x60))(plVar12,param_9[uVar15 + 2],0);\n  }\n  switch(cVar6) {\n  case 'A':\n    lVar2 = *(long *)(lVar11 + 0x10);\n    local_98 = *(undefined8 *)(lVar2 + 0x58);\n    local_90 = *(undefined8 *)(lVar2 + 0x60);\n    local_88 = *(undefined8 *)(lVar2 + 0x68);\n    local_80 = *(undefined8 *)(lVar2 + 0x70);\n    local_78 = *(undefined8 *)(lVar2 + 0x78);\n    local_70 = *(undefined8 *)(lVar2 + 0x80);\n    local_68 = *(undefined8 *)(lVar2 + 0x88);\n    auVar18 = FUN_00356440(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,&local_9c,&local_98,7,param_6,&local_a0);\n    goto joined_r0x003588cd;\n  case 'B':\n    lVar2 = *(long *)(lVar11 + 0x10);\n    local_98 = *(undefined8 *)(lVar2 + 200);\n    local_90 = *(undefined8 *)(lVar2 + 0xd0);\n    local_88 = *(undefined8 *)(lVar2 + 0xd8);\n    local_80 = *(undefined8 *)(lVar2 + 0xe0);\n    local_78 = *(undefined8 *)(lVar2 + 0xe8);\n    local_70 = *(undefined8 *)(lVar2 + 0xf0);\n    local_68 = *(undefined8 *)(lVar2 + 0xf8);\n    local_60 = *(undefined8 *)(lVar2 + 0x100);\n    local_58 = *(undefined8 *)(lVar2 + 0x108);\n    local_50 = *(undefined8 *)(lVar2 + 0x110);\n    local_48 = *(undefined8 *)(lVar2 + 0x118);\n    local_40 = *(undefined8 *)(lVar2 + 0x120);\n    auVar18 = FUN_00356440(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,&local_9c,&local_98,0xc,param_6,&local_a0);\n    goto joined_r0x00358a12;\n  case 'C':\n  case 'Y':\n  case 'y':\n    auVar18 = FUN_00355fc0(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,&local_9c,0,9999,4,param_6,&local_a0);\n    local_b8 = auVar18;\n    if (local_a0 == 0) {\n      iVar9 = local_9c + -0x76c;\n      if (local_9c < 0) {\n        iVar9 = local_9c + 100;\n      }\n      param_8[5] = iVar9;\n    }\n    break;\n  case 'D':\n    (**(code **)(*plVar12 + 0x58))(plVar12,"%m/%d/%y","%H:%M",&local_98);\n    auVar18 = FUN_00357f80(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,param_6,&local_a0,param_8,&local_98);\n    local_b8 = auVar18;\n    break;\n  default:\n    goto switchD_003580fd_caseD_45;\n  case 'H':\n    auVar18 = FUN_00355fc0(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,&local_9c,0,0x17,2,param_6,&local_a0);\n    goto joined_r0x003587d9;\n  case 'I':\n    auVar18 = FUN_00355fc0(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,&local_9c,1,0xc,2,param_6,&local_a0);\njoined_r0x003587d9:\n    local_b8 = auVar18;\n    if (local_a0 == 0) {\n      param_8[2] = local_9c;\n    }\n    break;\n  case 'M':\n    auVar18 = FUN_00355fc0(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,&local_9c,0,0x3b,2,param_6,&local_a0);\n    local_b8 = auVar18;\n    if (local_a0 == 0) {\n      param_8[1] = local_9c;\n    }\n    break;\n  case 'R':\n    (**(code **)(*plVar12 + 0x58))(plVar12,"%H:%M","%H:%M:%S",&local_98);\n    auVar18 = FUN_00357f80(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,param_6,&local_a0,param_8,&local_98);\n    local_b8 = auVar18;\n    break;\n  case 'S':\n    auVar18 = FUN_00355fc0(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,&local_9c,0,0x3c,2,param_6,&local_a0);\n    local_b8 = auVar18;\n    if (local_a0 == 0) {\n      *param_8 = local_9c;\n    }\n    break;\n  case 'T':\n    (**(code **)(*plVar12 + 0x58))(plVar12,"%H:%M:%S",&DAT_003aba16,&local_98);\n    auVar18 = FUN_00357f80(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,param_6,&local_a0,param_8,&local_98);\n    local_b8 = auVar18;\n    break;\n  case 'X':\n    auVar18 = FUN_00357f80(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,param_6,&local_a0,param_8,\n                           *(undefined8 *)(*(long *)(lVar11 + 0x10) + 0x20));\n    local_b8 = auVar18;\n    break;\n  case 'Z':\n    uVar8 = FUN_0034def0(local_b8,local_b8._8_4_);\n    cVar6 = (**(code **)(*plVar12 + 0x10))(plVar12,0x100,uVar8);\n    if (cVar6 == '\0') goto switchD_003580fd_caseD_45;\n    auVar18 = FUN_00356440(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,&local_98,PTR_PTR_DAT_0045bff0,0xe,param_6,&local_a0);\n    local_b8 = auVar18;\n    cVar6 = FUN_00343350(local_b8,&local_c8);\n    if ((cVar6 == '\0') && (local_a0 == 0 && (int)local_98 == 0)) {\n      iVar9 = FUN_0034def0(local_b8);\n      iVar7 = (**(code **)(*plVar12 + 0x50))(plVar12,0x2d);\n      if (iVar9 != iVar7) {\n        iVar9 = FUN_0034def0(local_b8,local_b8._8_4_);\n        iVar7 = (**(code **)(*plVar12 + 0x50))(plVar12,0x2b);\n        if (iVar9 != iVar7) break;\n      }\n      auVar18 = FUN_00355fc0(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                             local_c0,&local_98,0,0x17,2,param_6,&local_a0);\n      local_b8 = auVar18;\n      auVar18 = FUN_00355fc0(param_1,auVar18._0_8_,CONCAT44(uStack_ac,auVar18._8_4_),local_c8,\n                             local_c0,&local_98,0,0x3b,2,param_6,&local_a0);\n      local_b8 = auVar18;\n    }\n    break;\n  case 'a':\n    lVar2 = *(long *)(lVar11 + 0x10);\n    local_98 = *(undefined8 *)(lVar2 + 0x90);\n    local_90 = *(undefined8 *)(lVar2 + 0x98);\n    local_88 = *(undefined8 *)(lVar2 + 0xa0);\n    local_80 = *(undefined8 *)(lVar2 + 0xa8);\n    local_78 = *(undefined8 *)(lVar2 + 0xb0);\n    local_70 = *(undefined8 *)(lVar2 + 0xb8);\n    local_68 = *(undefined8 *)(lVar2 + 0xc0);\n    auVar18 = FUN_00356440(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,&local_9c,&local_98,7,param_6,&local_a0);\njoined_r0x003588cd:\n    local_b8 = auVar18;\n    if (local_a0 == 0) {\n      param_8[6] = local_9c;\n    }\n    break;\n  case 'b':\n  case 'h':\n    lVar2 = *(long *)(lVar11 + 0x10);\n    local_98 = *(undefined8 *)(lVar2 + 0x128);\n    local_90 = *(undefined8 *)(lVar2 + 0x130);\n    local_88 = *(undefined8 *)(lVar2 + 0x138);\n    local_80 = *(undefined8 *)(lVar2 + 0x140);\n    local_78 = *(undefined8 *)(lVar2 + 0x148);\n    local_70 = *(undefined8 *)(lVar2 + 0x150);\n    local_68 = *(undefined8 *)(lVar2 + 0x158);\n    local_60 = *(undefined8 *)(lVar2 + 0x160);\n    local_58 = *(undefined8 *)(lVar2 + 0x168);\n    local_50 = *(undefined8 *)(lVar2 + 0x170);\n    local_48 = *(undefined8 *)(lVar2 + 0x178);\n    local_40 = *(undefined8 *)(lVar2 + 0x180);\n    auVar18 = FUN_00356440(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,&local_9c,&local_98,0xc,param_6,&local_a0);\njoined_r0x00358a12:\n    local_b8 = auVar18;\n    if (local_a0 == 0) {\n      param_8[4] = local_9c;\n    }\n    break;\n  case 'c':\n    auVar18 = FUN_00357f80(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,param_6,&local_a0,param_8,\n                           *(undefined8 *)(*(long *)(lVar11 + 0x10) + 0x30));\n    local_b8 = auVar18;\n    break;\n  case 'd':\n    auVar18 = FUN_00355fc0(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,&local_9c,1,0x1f,2,param_6,&local_a0);\n    goto joined_r0x00358be9;\n  case 'e':\n    uVar8 = FUN_0034def0(local_b8,local_b8._8_4_);\n    cVar6 = (**(code **)(*plVar12 + 0x10))(plVar12,0x2000,uVar8);\n    if (cVar6 == '\0') {\n      auVar18 = FUN_00355fc0(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                             local_c0,&local_9c,10,0x1f,2,param_6,&local_a0);\n    }\n    else {\n      FUN_002fc080(local_b8._0_8_);\n      local_b8._8_4_ = 0xffffffff;\n      auVar18 = FUN_00355fc0(param_1,local_b8._0_8_,CONCAT44(uStack_ac,0xffffffff),local_c8,local_c0\n                             ,&local_9c,1,9,1,param_6,&local_a0);\n    }\njoined_r0x00358be9:\n    local_b8 = auVar18;\n    if (local_a0 == 0) {\n      param_8[3] = local_9c;\n    }\n    break;\n  case 'm':\n    auVar18 = FUN_00355fc0(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,&local_9c,1,0xc,2,param_6,&local_a0);\n    local_b8 = auVar18;\n    if (local_a0 == 0) {\n      param_8[4] = local_9c + -1;\n    }\n    break;\n  case 'n':\n    uVar8 = FUN_0034def0(local_b8,local_b8._8_4_);\n    cVar6 = (**(code **)(*plVar12 + 0x60))(plVar12,uVar8,0);\n    if (cVar6 != '\n') goto switchD_003580fd_caseD_45;\nLAB_003590ce:\n    FUN_002fc080(local_b8._0_8_);\n    local_b8._8_4_ = 0xffffffff;\n    break;\n  case 't':\n    uVar8 = FUN_0034def0(local_b8,local_b8._8_4_);\n    cVar6 = (**(code **)(*plVar12 + 0x60))(plVar12,uVar8,0);\n    if (cVar6 == '\t') goto LAB_003590ce;\n    goto switchD_003580fd_caseD_45;\n  case 'x':\n    auVar18 = FUN_00357f80(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,param_6,&local_a0,param_8,\n                           *(undefined8 *)(*(long *)(lVar11 + 0x10) + 0x10));\n    local_b8 = auVar18;\n  }\nLAB_00358248:\n  uVar15 = uVar14 + 1;\n  goto LAB_00358033;\nswitchD_003580fd_caseD_45:\n  local_a0 = local_a0 | 4;\n  goto LAB_00358248;\n}\n\n" (expression_statement "undefined1  [16]" (subscript_expression "undefined1  [16]" identifier [ number_literal ]) ;) (declaration "FUN_00357f80(undefined8 param_1,undefined8 param_2,undefined8 param_3,long *param_4,\n            undefined8 param_5,long param_6,uint *param_7,int *param_8,wchar_t *param_9)\n\n{\n  wchar_t wVar1;" (macro_type_specifier "FUN_00357f80(undefined8" identifier ( (type_descriptor "undefined8" type_identifier) )) identifier , identifier (ERROR "param_2" identifier) , identifier (ERROR "param_3" identifier) , (ERROR "long" identifier) (pointer_declarator "*param_4" * identifier) , identifier (ERROR "param_5" identifier) , (ERROR "long" identifier) identifier , (ERROR "uint" identifier) (pointer_declarator "*param_7" * identifier) , (ERROR "int" identifier) (pointer_declarator "*param_8" * identifier) , (ERROR "wchar_t *param_9)\n\n{\n  wchar_t" identifier (pointer_declarator "*param_9" * identifier) ) { identifier) identifier ;) (declaration "long lVar2;" (sized_type_specifier "long" long) identifier ;) (declaration "undefined1 auVar3 [16];" type_identifier (array_declarator "auVar3 [16]" identifier [ number_literal ]) ;) (declaration "undefined1 auVar4 [12];" type_identifier (array_declarator "auVar4 [12]" identifier [ number_literal ]) ;) (declaration "bool bVar5;" primitive_type identifier ;) (declaration "char cVar6;" primitive_type identifier ;) (declaration "int iVar7;" primitive_type identifier ;) (declaration "undefined4 uVar8;" type_identifier identifier ;) (declaration "int iVar9;" primitive_type identifier ;) (declaration "wchar_t wVar10;" type_identifier identifier ;) (declaration "long lVar11;" (sized_type_specifier "long" long) identifier ;) (declaration "long *plVar12;" (sized_type_specifier "long" long) (pointer_declarator "*plVar12" * identifier) ;) (declaration "size_t sVar13;" primitive_type identifier ;) (declaration "ulong uVar14;" type_identifier identifier ;) (declaration "ulong uVar15;" type_identifier identifier ;) (declaration "bool bVar16;" primitive_type identifier ;) (declaration "bool bVar17;" primitive_type identifier ;) (declaration "undefined1 auVar18 [12];" type_identifier (array_declarator "auVar18 [12]" identifier [ number_literal ]) ;) (declaration "long *local_c8;" (sized_type_specifier "long" long) (pointer_declarator "*local_c8" * identifier) ;) (declaration "undefined8 local_c0;" type_identifier identifier ;) (declaration "undefined1 local_b8 [12];" type_identifier (array_declarator "local_b8 [12]" identifier [ number_literal ]) ;) (declaration "undefined4 uStack_ac;" type_identifier identifier ;) (declaration "uint local_a0;" type_identifier identifier ;) (declaration "int local_9c;" primitive_type identifier ;) (declaration "undefined8 local_98;" type_identifier identifier ;) (declaration "undefined8 local_90;" type_identifier identifier ;) (declaration "undefined8 local_88;" type_identifier identifier ;) (declaration "undefined8 local_80;" type_identifier identifier ;) (declaration "undefined8 local_78;" type_identifier identifier ;) (declaration "undefined8 local_70;" type_identifier identifier ;) (declaration "undefined8 local_68;" type_identifier identifier ;) (declaration "undefined8 local_60;" type_identifier identifier ;) (declaration "undefined8 local_58;" type_identifier identifier ;) (declaration "undefined8 local_50;" type_identifier identifier ;) (declaration "undefined8 local_48;" type_identifier identifier ;) (declaration "undefined8 local_40;" type_identifier identifier ;) (expression_statement "local_b8._8_4_ = (undefined4)param_3;" (assignment_expression "local_b8._8_4_ = (undefined4)param_3" (field_expression "local_b8._8_4_" identifier . field_identifier) = (cast_expression "(undefined4)param_3" ( (type_descriptor "undefined4" type_identifier) ) identifier)) ;) (expression_statement "uStack_ac = (undefined4)((ulong)param_3 >> 0x20);" (assignment_expression "uStack_ac = (undefined4)((ulong)param_3 >> 0x20)" identifier = (call_expression "(undefined4)((ulong)param_3 >> 0x20)" (parenthesized_expression "(undefined4)" ( identifier )) (argument_list "((ulong)param_3 >> 0x20)" ( (binary_expression "(ulong)param_3 >> 0x20" (cast_expression "(ulong)param_3" ( (type_descriptor "ulong" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "local_c8 = param_4;" (assignment_expression "local_c8 = param_4" identifier = identifier) ;) (expression_statement "local_c0 = param_5;" (assignment_expression "local_c0 = param_5" identifier = identifier) ;) (expression_statement "local_b8._0_8_ = param_2;" (assignment_expression "local_b8._0_8_ = param_2" (field_expression "local_b8._0_8_" identifier . field_identifier) = identifier) ;) (expression_statement "lVar11 = FUN_0033ff70(param_6 + 0xd0);" (assignment_expression "lVar11 = FUN_0033ff70(param_6 + 0xd0)" identifier = (call_expression "FUN_0033ff70(param_6 + 0xd0)" identifier (argument_list "(param_6 + 0xd0)" ( (binary_expression "param_6 + 0xd0" identifier + number_literal) )))) ;) (expression_statement "plVar12 = (long *)FUN_0033e820(param_6 + 0xd0);" (assignment_expression "plVar12 = (long *)FUN_0033e820(param_6 + 0xd0)" identifier = (cast_expression "(long *)FUN_0033e820(param_6 + 0xd0)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_0033e820(param_6 + 0xd0)" identifier (argument_list "(param_6 + 0xd0)" ( (binary_expression "param_6 + 0xd0" identifier + number_literal) ))))) ;) (expression_statement "sVar13 = wcslen(param_9);" (assignment_expression "sVar13 = wcslen(param_9)" identifier = (call_expression "wcslen(param_9)" identifier (argument_list "(param_9)" ( identifier )))) ;) (expression_statement "local_a0 = 0;" (assignment_expression "local_a0 = 0" identifier = number_literal) ;) (expression_statement "uVar15 = 0;" (assignment_expression "uVar15 = 0" identifier = number_literal) ;) (labeled_statement "LAB_00358033:\n  bVar5 = (long *)local_b8._0_8_ != (long *)0x0 && local_b8._8_4_ == -1;" statement_identifier : (expression_statement "bVar5 = (long *)local_b8._0_8_ != (long *)0x0 && local_b8._8_4_ == -1;" (assignment_expression "bVar5 = (long *)local_b8._0_8_ != (long *)0x0 && local_b8._8_4_ == -1" identifier = (binary_expression "(long *)local_b8._0_8_ != (long *)0x0 && local_b8._8_4_ == -1" (binary_expression "(long *)local_b8._0_8_ != (long *)0x0" (cast_expression "(long *)local_b8._0_8_" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (field_expression "local_b8._0_8_" identifier . field_identifier)) != (cast_expression "(long *)0x0" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) number_literal)) && (binary_expression "local_b8._8_4_ == -1" (field_expression "local_b8._8_4_" identifier . field_identifier) == number_literal))) ;)) (expression_statement "bVar17 = local_b8._8_4_ == -1;" (assignment_expression "bVar17 = local_b8._8_4_ == -1" identifier = (binary_expression "local_b8._8_4_ == -1" (field_expression "local_b8._8_4_" identifier . field_identifier) == number_literal)) ;) (if_statement "if (bVar5) {\n    if (*(int **)(local_b8._0_8_ + 0x10) < *(int **)(local_b8._0_8_ + 0x18)) {\n      iVar9 = **(int **)(local_b8._0_8_ + 0x10);\n    }\n    else {\n      iVar9 = (**(code **)(*(long *)local_b8._0_8_ + 0x48))();\n    }\n    bVar17 = false;\n    if (iVar9 == -1) {\n      auVar18._4_8_ = 0;\n      auVar18._0_4_ = local_b8._8_4_;\n      local_b8 = auVar18 << 0x40;\n      bVar17 = bVar5;\n    }\n  }" if (parenthesized_expression "(bVar5)" ( identifier )) (compound_statement "{\n    if (*(int **)(local_b8._0_8_ + 0x10) < *(int **)(local_b8._0_8_ + 0x18)) {\n      iVar9 = **(int **)(local_b8._0_8_ + 0x10);\n    }\n    else {\n      iVar9 = (**(code **)(*(long *)local_b8._0_8_ + 0x48))();\n    }\n    bVar17 = false;\n    if (iVar9 == -1) {\n      auVar18._4_8_ = 0;\n      auVar18._0_4_ = local_b8._8_4_;\n      local_b8 = auVar18 << 0x40;\n      bVar17 = bVar5;\n    }\n  }" { (if_statement "if (*(int **)(local_b8._0_8_ + 0x10) < *(int **)(local_b8._0_8_ + 0x18)) {\n      iVar9 = **(int **)(local_b8._0_8_ + 0x10);\n    }\n    else {\n      iVar9 = (**(code **)(*(long *)local_b8._0_8_ + 0x48))();\n    }" if (parenthesized_expression "(*(int **)(local_b8._0_8_ + 0x10) < *(int **)(local_b8._0_8_ + 0x18))" ( (binary_expression "*(int **)(local_b8._0_8_ + 0x10) < *(int **)(local_b8._0_8_ + 0x18)" (pointer_expression "*(int **)(local_b8._0_8_ + 0x10)" * (cast_expression "(int **)(local_b8._0_8_ + 0x10)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(local_b8._0_8_ + 0x10)" ( (binary_expression "local_b8._0_8_ + 0x10" (field_expression "local_b8._0_8_" identifier . field_identifier) + number_literal) )))) < (pointer_expression "*(int **)(local_b8._0_8_ + 0x18)" * (cast_expression "(int **)(local_b8._0_8_ + 0x18)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(local_b8._0_8_ + 0x18)" ( (binary_expression "local_b8._0_8_ + 0x18" (field_expression "local_b8._0_8_" identifier . field_identifier) + number_literal) ))))) )) (compound_statement "{\n      iVar9 = **(int **)(local_b8._0_8_ + 0x10);\n    }" { (expression_statement "iVar9 = **(int **)(local_b8._0_8_ + 0x10);" (assignment_expression "iVar9 = **(int **)(local_b8._0_8_ + 0x10)" identifier = (pointer_expression "**(int **)(local_b8._0_8_ + 0x10)" * (pointer_expression "*(int **)(local_b8._0_8_ + 0x10)" * (cast_expression "(int **)(local_b8._0_8_ + 0x10)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(local_b8._0_8_ + 0x10)" ( (binary_expression "local_b8._0_8_ + 0x10" (field_expression "local_b8._0_8_" identifier . field_identifier) + number_literal) )))))) ;) }) (else_clause "else {\n      iVar9 = (**(code **)(*(long *)local_b8._0_8_ + 0x48))();\n    }" else (compound_statement "{\n      iVar9 = (**(code **)(*(long *)local_b8._0_8_ + 0x48))();\n    }" { (expression_statement "iVar9 = (**(code **)(*(long *)local_b8._0_8_ + 0x48))();" (assignment_expression "iVar9 = (**(code **)(*(long *)local_b8._0_8_ + 0x48))()" identifier = (call_expression "(**(code **)(*(long *)local_b8._0_8_ + 0x48))()" (parenthesized_expression "(**(code **)(*(long *)local_b8._0_8_ + 0x48))" ( (pointer_expression "**(code **)(*(long *)local_b8._0_8_ + 0x48)" * (pointer_expression "*(code **)(*(long *)local_b8._0_8_ + 0x48)" * (cast_expression "(code **)(*(long *)local_b8._0_8_ + 0x48)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(long *)local_b8._0_8_ + 0x48)" ( (binary_expression "*(long *)local_b8._0_8_ + 0x48" (pointer_expression "*(long *)local_b8._0_8_" * (cast_expression "(long *)local_b8._0_8_" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (field_expression "local_b8._0_8_" identifier . field_identifier))) + number_literal) ))))) )) (argument_list "()" ( )))) ;) }))) (expression_statement "bVar17 = false;" (assignment_expression "bVar17 = false" identifier = false) ;) (if_statement "if (iVar9 == -1) {\n      auVar18._4_8_ = 0;\n      auVar18._0_4_ = local_b8._8_4_;\n      local_b8 = auVar18 << 0x40;\n      bVar17 = bVar5;\n    }" if (parenthesized_expression "(iVar9 == -1)" ( (binary_expression "iVar9 == -1" identifier == number_literal) )) (compound_statement "{\n      auVar18._4_8_ = 0;\n      auVar18._0_4_ = local_b8._8_4_;\n      local_b8 = auVar18 << 0x40;\n      bVar17 = bVar5;\n    }" { (expression_statement "auVar18._4_8_ = 0;" (assignment_expression "auVar18._4_8_ = 0" (field_expression "auVar18._4_8_" identifier . field_identifier) = number_literal) ;) (expression_statement "auVar18._0_4_ = local_b8._8_4_;" (assignment_expression "auVar18._0_4_ = local_b8._8_4_" (field_expression "auVar18._0_4_" identifier . field_identifier) = (field_expression "local_b8._8_4_" identifier . field_identifier)) ;) (expression_statement "local_b8 = auVar18 << 0x40;" (assignment_expression "local_b8 = auVar18 << 0x40" identifier = (binary_expression "auVar18 << 0x40" identifier << number_literal)) ;) (expression_statement "bVar17 = bVar5;" (assignment_expression "bVar17 = bVar5" identifier = identifier) ;) })) })) (expression_statement "bVar16 = (int)local_c0 == -1;" (assignment_expression "bVar16 = (int)local_c0 == -1" identifier = (binary_expression "(int)local_c0 == -1" (cast_expression "(int)local_c0" ( (type_descriptor "int" primitive_type) ) identifier) == number_literal)) ;) (expression_statement "bVar5 = local_c8 != (long *)0x0 && bVar16;" (assignment_expression "bVar5 = local_c8 != (long *)0x0 && bVar16" identifier = (binary_expression "local_c8 != (long *)0x0 && bVar16" (binary_expression "local_c8 != (long *)0x0" identifier != (cast_expression "(long *)0x0" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) number_literal)) && identifier)) ;) (if_statement "if (bVar5) {\n    if ((int *)local_c8[2] < (int *)local_c8[3]) {\n      iVar9 = *(int *)local_c8[2];\n    }\n    else {\n      iVar9 = (**(code **)(*local_c8 + 0x48))();\n    }\n    bVar16 = false;\n    if (iVar9 != -1) goto LAB_00358070;\n    local_c8 = (long *)0x0;\n    if (bVar17 != bVar5) goto LAB_00358080;\nLAB_00358188:\n    if ((uVar15 == sVar13) && (local_a0 == 0)) goto LAB_0035819e;\nLAB_00358193:\n    *param_7 = *param_7 | 4;\nLAB_0035819e:\n    auVar3._12_4_ = uStack_ac;\n    auVar3._0_12_ = local_b8;\n    return auVar3;\n  }" if (parenthesized_expression "(bVar5)" ( identifier )) (compound_statement "{\n    if ((int *)local_c8[2] < (int *)local_c8[3]) {\n      iVar9 = *(int *)local_c8[2];\n    }\n    else {\n      iVar9 = (**(code **)(*local_c8 + 0x48))();\n    }\n    bVar16 = false;\n    if (iVar9 != -1) goto LAB_00358070;\n    local_c8 = (long *)0x0;\n    if (bVar17 != bVar5) goto LAB_00358080;\nLAB_00358188:\n    if ((uVar15 == sVar13) && (local_a0 == 0)) goto LAB_0035819e;\nLAB_00358193:\n    *param_7 = *param_7 | 4;\nLAB_0035819e:\n    auVar3._12_4_ = uStack_ac;\n    auVar3._0_12_ = local_b8;\n    return auVar3;\n  }" { (if_statement "if ((int *)local_c8[2] < (int *)local_c8[3]) {\n      iVar9 = *(int *)local_c8[2];\n    }\n    else {\n      iVar9 = (**(code **)(*local_c8 + 0x48))();\n    }" if (parenthesized_expression "((int *)local_c8[2] < (int *)local_c8[3])" ( (binary_expression "(int *)local_c8[2] < (int *)local_c8[3]" (cast_expression "(int *)local_c8[2]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "local_c8[2]" identifier [ number_literal ])) < (cast_expression "(int *)local_c8[3]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "local_c8[3]" identifier [ number_literal ]))) )) (compound_statement "{\n      iVar9 = *(int *)local_c8[2];\n    }" { (expression_statement "iVar9 = *(int *)local_c8[2];" (assignment_expression "iVar9 = *(int *)local_c8[2]" identifier = (pointer_expression "*(int *)local_c8[2]" * (cast_expression "(int *)local_c8[2]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "local_c8[2]" identifier [ number_literal ])))) ;) }) (else_clause "else {\n      iVar9 = (**(code **)(*local_c8 + 0x48))();\n    }" else (compound_statement "{\n      iVar9 = (**(code **)(*local_c8 + 0x48))();\n    }" { (expression_statement "iVar9 = (**(code **)(*local_c8 + 0x48))();" (assignment_expression "iVar9 = (**(code **)(*local_c8 + 0x48))()" identifier = (call_expression "(**(code **)(*local_c8 + 0x48))()" (parenthesized_expression "(**(code **)(*local_c8 + 0x48))" ( (pointer_expression "**(code **)(*local_c8 + 0x48)" * (pointer_expression "*(code **)(*local_c8 + 0x48)" * (cast_expression "(code **)(*local_c8 + 0x48)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*local_c8 + 0x48)" ( (binary_expression "*local_c8 + 0x48" (pointer_expression "*local_c8" * identifier) + number_literal) ))))) )) (argument_list "()" ( )))) ;) }))) (expression_statement "bVar16 = false;" (assignment_expression "bVar16 = false" identifier = false) ;) (if_statement "if (iVar9 != -1) goto LAB_00358070;" if (parenthesized_expression "(iVar9 != -1)" ( (binary_expression "iVar9 != -1" identifier != number_literal) )) (goto_statement "goto LAB_00358070;" goto statement_identifier ;)) (expression_statement "local_c8 = (long *)0x0;" (assignment_expression "local_c8 = (long *)0x0" identifier = (cast_expression "(long *)0x0" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if (bVar17 != bVar5) goto LAB_00358080;" if (parenthesized_expression "(bVar17 != bVar5)" ( (binary_expression "bVar17 != bVar5" identifier != identifier) )) (goto_statement "goto LAB_00358080;" goto statement_identifier ;)) (labeled_statement "LAB_00358188:\n    if ((uVar15 == sVar13) && (local_a0 == 0)) goto LAB_0035819e;" statement_identifier : (if_statement "if ((uVar15 == sVar13) && (local_a0 == 0)) goto LAB_0035819e;" if (parenthesized_expression "((uVar15 == sVar13) && (local_a0 == 0))" ( (binary_expression "(uVar15 == sVar13) && (local_a0 == 0)" (parenthesized_expression "(uVar15 == sVar13)" ( (binary_expression "uVar15 == sVar13" identifier == identifier) )) && (parenthesized_expression "(local_a0 == 0)" ( (binary_expression "local_a0 == 0" identifier == number_literal) ))) )) (goto_statement "goto LAB_0035819e;" goto statement_identifier ;))) (labeled_statement "LAB_00358193:\n    *param_7 = *param_7 | 4;" statement_identifier : (expression_statement "*param_7 = *param_7 | 4;" (assignment_expression "*param_7 = *param_7 | 4" (pointer_expression "*param_7" * identifier) = (binary_expression "*param_7 | 4" (pointer_expression "*param_7" * identifier) | number_literal)) ;)) (labeled_statement "LAB_0035819e:\n    auVar3._12_4_ = uStack_ac;" statement_identifier : (expression_statement "auVar3._12_4_ = uStack_ac;" (assignment_expression "auVar3._12_4_ = uStack_ac" (field_expression "auVar3._12_4_" identifier . field_identifier) = identifier) ;)) (expression_statement "auVar3._0_12_ = local_b8;" (assignment_expression "auVar3._0_12_ = local_b8" (field_expression "auVar3._0_12_" identifier . field_identifier) = identifier) ;) (return_statement "return auVar3;" return identifier ;) })) (labeled_statement "LAB_00358070:\n  if (bVar17 == bVar16) goto LAB_00358188;" statement_identifier : (if_statement "if (bVar17 == bVar16) goto LAB_00358188;" if (parenthesized_expression "(bVar17 == bVar16)" ( (binary_expression "bVar17 == bVar16" identifier == identifier) )) (goto_statement "goto LAB_00358188;" goto statement_identifier ;))) (labeled_statement "LAB_00358080:\n  if (sVar13 <= uVar15) goto LAB_00358188;" statement_identifier : (if_statement "if (sVar13 <= uVar15) goto LAB_00358188;" if (parenthesized_expression "(sVar13 <= uVar15)" ( (binary_expression "sVar13 <= uVar15" identifier <= identifier) )) (goto_statement "goto LAB_00358188;" goto statement_identifier ;))) (if_statement "if (local_a0 != 0) goto LAB_00358193;" if (parenthesized_expression "(local_a0 != 0)" ( (binary_expression "local_a0 != 0" identifier != number_literal) )) (goto_statement "goto LAB_00358193;" goto statement_identifier ;)) (expression_statement "uVar14 = uVar15 + 1;" (assignment_expression "uVar14 = uVar15 + 1" identifier = (binary_expression "uVar15 + 1" identifier + number_literal)) ;) (expression_statement "cVar6 = (**(code **)(*plVar12 + 0x60))(plVar12,param_9[uVar15],0);" (assignment_expression "cVar6 = (**(code **)(*plVar12 + 0x60))(plVar12,param_9[uVar15],0)" identifier = (call_expression "(**(code **)(*plVar12 + 0x60))(plVar12,param_9[uVar15],0)" (parenthesized_expression "(**(code **)(*plVar12 + 0x60))" ( (pointer_expression "**(code **)(*plVar12 + 0x60)" * (pointer_expression "*(code **)(*plVar12 + 0x60)" * (cast_expression "(code **)(*plVar12 + 0x60)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*plVar12 + 0x60)" ( (binary_expression "*plVar12 + 0x60" (pointer_expression "*plVar12" * identifier) + number_literal) ))))) )) (argument_list "(plVar12,param_9[uVar15],0)" ( identifier , (subscript_expression "param_9[uVar15]" identifier [ identifier ]) , number_literal )))) ;) (if_statement "if (cVar6 != '%') {\n    wVar1 = param_9[uVar15];\n    auVar4 = local_b8;\n    uVar15 = uVar14;\n    if ((local_b8._8_4_ == L'\xffffffff') && ((long *)local_b8._0_8_ != (long *)0x0)) {\n      if (*(wchar_t **)(local_b8._0_8_ + 0x10) < *(wchar_t **)(local_b8._0_8_ + 0x18)) {\n        wVar10 = **(wchar_t **)(local_b8._0_8_ + 0x10);\n      }\n      else {\n        wVar10 = (**(code **)(*(long *)local_b8._0_8_ + 0x48))();\n        auVar4 = local_b8;\n      }\n      local_b8._8_4_ = auVar4._8_4_;\n      if (wVar10 == L'\xffffffff') {\n        auVar4._4_8_ = 0;\n        auVar4._0_4_ = local_b8._8_4_;\n        auVar4 = auVar4 << 0x40;\n        local_b8._8_4_ = L'\xffffffff';\n        goto LAB_00358121;\n      }\n      local_b8 = auVar4;\n      if (wVar1 == wVar10) goto LAB_00358290;\nLAB_0035812a:\n      local_a0 = local_a0 | 4;\n    }\n    else {\nLAB_00358121:\n      bVar17 = wVar1 != local_b8._8_4_;\n      local_b8 = auVar4;\n      if (bVar17) goto LAB_0035812a;\nLAB_00358290:\n      local_b8._0_8_ = auVar4._0_8_;\n      if (*(ulong *)(local_b8._0_8_ + 0x10) < *(ulong *)(local_b8._0_8_ + 0x18)) {\n        *(ulong *)(local_b8._0_8_ + 0x10) = *(ulong *)(local_b8._0_8_ + 0x10) + 4;\n      }\n      else {\n        lVar2 = *(long *)local_b8._0_8_;\n        local_b8 = auVar4;\n        (**(code **)(lVar2 + 0x50))();\n      }\n      local_b8._8_4_ = 0xffffffff;\n    }\n    goto LAB_00358033;\n  }" if (parenthesized_expression "(cVar6 != '%')" ( (binary_expression "cVar6 != '%'" identifier != (char_literal "'%'" ' character ')) )) (compound_statement "{\n    wVar1 = param_9[uVar15];\n    auVar4 = local_b8;\n    uVar15 = uVar14;\n    if ((local_b8._8_4_ == L'\xffffffff') && ((long *)local_b8._0_8_ != (long *)0x0)) {\n      if (*(wchar_t **)(local_b8._0_8_ + 0x10) < *(wchar_t **)(local_b8._0_8_ + 0x18)) {\n        wVar10 = **(wchar_t **)(local_b8._0_8_ + 0x10);\n      }\n      else {\n        wVar10 = (**(code **)(*(long *)local_b8._0_8_ + 0x48))();\n        auVar4 = local_b8;\n      }\n      local_b8._8_4_ = auVar4._8_4_;\n      if (wVar10 == L'\xffffffff') {\n        auVar4._4_8_ = 0;\n        auVar4._0_4_ = local_b8._8_4_;\n        auVar4 = auVar4 << 0x40;\n        local_b8._8_4_ = L'\xffffffff';\n        goto LAB_00358121;\n      }\n      local_b8 = auVar4;\n      if (wVar1 == wVar10) goto LAB_00358290;\nLAB_0035812a:\n      local_a0 = local_a0 | 4;\n    }\n    else {\nLAB_00358121:\n      bVar17 = wVar1 != local_b8._8_4_;\n      local_b8 = auVar4;\n      if (bVar17) goto LAB_0035812a;\nLAB_00358290:\n      local_b8._0_8_ = auVar4._0_8_;\n      if (*(ulong *)(local_b8._0_8_ + 0x10) < *(ulong *)(local_b8._0_8_ + 0x18)) {\n        *(ulong *)(local_b8._0_8_ + 0x10) = *(ulong *)(local_b8._0_8_ + 0x10) + 4;\n      }\n      else {\n        lVar2 = *(long *)local_b8._0_8_;\n        local_b8 = auVar4;\n        (**(code **)(lVar2 + 0x50))();\n      }\n      local_b8._8_4_ = 0xffffffff;\n    }\n    goto LAB_00358033;\n  }" { (expression_statement "wVar1 = param_9[uVar15];" (assignment_expression "wVar1 = param_9[uVar15]" identifier = (subscript_expression "param_9[uVar15]" identifier [ identifier ])) ;) (expression_statement "auVar4 = local_b8;" (assignment_expression "auVar4 = local_b8" identifier = identifier) ;) (expression_statement "uVar15 = uVar14;" (assignment_expression "uVar15 = uVar14" identifier = identifier) ;) (if_statement "if ((local_b8._8_4_ == L'\xffffffff') && ((long *)local_b8._0_8_ != (long *)0x0)) {\n      if (*(wchar_t **)(local_b8._0_8_ + 0x10) < *(wchar_t **)(local_b8._0_8_ + 0x18)) {\n        wVar10 = **(wchar_t **)(local_b8._0_8_ + 0x10);\n      }\n      else {\n        wVar10 = (**(code **)(*(long *)local_b8._0_8_ + 0x48))();\n        auVar4 = local_b8;\n      }\n      local_b8._8_4_ = auVar4._8_4_;\n      if (wVar10 == L'\xffffffff') {\n        auVar4._4_8_ = 0;\n        auVar4._0_4_ = local_b8._8_4_;\n        auVar4 = auVar4 << 0x40;\n        local_b8._8_4_ = L'\xffffffff';\n        goto LAB_00358121;\n      }\n      local_b8 = auVar4;\n      if (wVar1 == wVar10) goto LAB_00358290;\nLAB_0035812a:\n      local_a0 = local_a0 | 4;\n    }\n    else {\nLAB_00358121:\n      bVar17 = wVar1 != local_b8._8_4_;\n      local_b8 = auVar4;\n      if (bVar17) goto LAB_0035812a;\nLAB_00358290:\n      local_b8._0_8_ = auVar4._0_8_;\n      if (*(ulong *)(local_b8._0_8_ + 0x10) < *(ulong *)(local_b8._0_8_ + 0x18)) {\n        *(ulong *)(local_b8._0_8_ + 0x10) = *(ulong *)(local_b8._0_8_ + 0x10) + 4;\n      }\n      else {\n        lVar2 = *(long *)local_b8._0_8_;\n        local_b8 = auVar4;\n        (**(code **)(lVar2 + 0x50))();\n      }\n      local_b8._8_4_ = 0xffffffff;\n    }" if (parenthesized_expression "((local_b8._8_4_ == L'\xffffffff') && ((long *)local_b8._0_8_ != (long *)0x0))" ( (binary_expression "(local_b8._8_4_ == L'\xffffffff') && ((long *)local_b8._0_8_ != (long *)0x0)" (parenthesized_expression "(local_b8._8_4_ == L'\xffffffff')" ( (binary_expression "local_b8._8_4_ == L'\xffffffff'" (field_expression "local_b8._8_4_" identifier . field_identifier) == (char_literal "L'\xffffffff'" L' escape_sequence character character character character ')) )) && (parenthesized_expression "((long *)local_b8._0_8_ != (long *)0x0)" ( (binary_expression "(long *)local_b8._0_8_ != (long *)0x0" (cast_expression "(long *)local_b8._0_8_" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (field_expression "local_b8._0_8_" identifier . field_identifier)) != (cast_expression "(long *)0x0" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) number_literal)) ))) )) (compound_statement "{\n      if (*(wchar_t **)(local_b8._0_8_ + 0x10) < *(wchar_t **)(local_b8._0_8_ + 0x18)) {\n        wVar10 = **(wchar_t **)(local_b8._0_8_ + 0x10);\n      }\n      else {\n        wVar10 = (**(code **)(*(long *)local_b8._0_8_ + 0x48))();\n        auVar4 = local_b8;\n      }\n      local_b8._8_4_ = auVar4._8_4_;\n      if (wVar10 == L'\xffffffff') {\n        auVar4._4_8_ = 0;\n        auVar4._0_4_ = local_b8._8_4_;\n        auVar4 = auVar4 << 0x40;\n        local_b8._8_4_ = L'\xffffffff';\n        goto LAB_00358121;\n      }\n      local_b8 = auVar4;\n      if (wVar1 == wVar10) goto LAB_00358290;\nLAB_0035812a:\n      local_a0 = local_a0 | 4;\n    }" { (if_statement "if (*(wchar_t **)(local_b8._0_8_ + 0x10) < *(wchar_t **)(local_b8._0_8_ + 0x18)) {\n        wVar10 = **(wchar_t **)(local_b8._0_8_ + 0x10);\n      }\n      else {\n        wVar10 = (**(code **)(*(long *)local_b8._0_8_ + 0x48))();\n        auVar4 = local_b8;\n      }" if (parenthesized_expression "(*(wchar_t **)(local_b8._0_8_ + 0x10) < *(wchar_t **)(local_b8._0_8_ + 0x18))" ( (binary_expression "*(wchar_t **)(local_b8._0_8_ + 0x10) < *(wchar_t **)(local_b8._0_8_ + 0x18)" (pointer_expression "*(wchar_t **)(local_b8._0_8_ + 0x10)" * (cast_expression "(wchar_t **)(local_b8._0_8_ + 0x10)" ( (type_descriptor "wchar_t **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(local_b8._0_8_ + 0x10)" ( (binary_expression "local_b8._0_8_ + 0x10" (field_expression "local_b8._0_8_" identifier . field_identifier) + number_literal) )))) < (pointer_expression "*(wchar_t **)(local_b8._0_8_ + 0x18)" * (cast_expression "(wchar_t **)(local_b8._0_8_ + 0x18)" ( (type_descriptor "wchar_t **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(local_b8._0_8_ + 0x18)" ( (binary_expression "local_b8._0_8_ + 0x18" (field_expression "local_b8._0_8_" identifier . field_identifier) + number_literal) ))))) )) (compound_statement "{\n        wVar10 = **(wchar_t **)(local_b8._0_8_ + 0x10);\n      }" { (expression_statement "wVar10 = **(wchar_t **)(local_b8._0_8_ + 0x10);" (assignment_expression "wVar10 = **(wchar_t **)(local_b8._0_8_ + 0x10)" identifier = (pointer_expression "**(wchar_t **)(local_b8._0_8_ + 0x10)" * (pointer_expression "*(wchar_t **)(local_b8._0_8_ + 0x10)" * (cast_expression "(wchar_t **)(local_b8._0_8_ + 0x10)" ( (type_descriptor "wchar_t **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(local_b8._0_8_ + 0x10)" ( (binary_expression "local_b8._0_8_ + 0x10" (field_expression "local_b8._0_8_" identifier . field_identifier) + number_literal) )))))) ;) }) (else_clause "else {\n        wVar10 = (**(code **)(*(long *)local_b8._0_8_ + 0x48))();\n        auVar4 = local_b8;\n      }" else (compound_statement "{\n        wVar10 = (**(code **)(*(long *)local_b8._0_8_ + 0x48))();\n        auVar4 = local_b8;\n      }" { (expression_statement "wVar10 = (**(code **)(*(long *)local_b8._0_8_ + 0x48))();" (assignment_expression "wVar10 = (**(code **)(*(long *)local_b8._0_8_ + 0x48))()" identifier = (call_expression "(**(code **)(*(long *)local_b8._0_8_ + 0x48))()" (parenthesized_expression "(**(code **)(*(long *)local_b8._0_8_ + 0x48))" ( (pointer_expression "**(code **)(*(long *)local_b8._0_8_ + 0x48)" * (pointer_expression "*(code **)(*(long *)local_b8._0_8_ + 0x48)" * (cast_expression "(code **)(*(long *)local_b8._0_8_ + 0x48)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(long *)local_b8._0_8_ + 0x48)" ( (binary_expression "*(long *)local_b8._0_8_ + 0x48" (pointer_expression "*(long *)local_b8._0_8_" * (cast_expression "(long *)local_b8._0_8_" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (field_expression "local_b8._0_8_" identifier . field_identifier))) + number_literal) ))))) )) (argument_list "()" ( )))) ;) (expression_statement "auVar4 = local_b8;" (assignment_expression "auVar4 = local_b8" identifier = identifier) ;) }))) (expression_statement "local_b8._8_4_ = auVar4._8_4_;" (assignment_expression "local_b8._8_4_ = auVar4._8_4_" (field_expression "local_b8._8_4_" identifier . field_identifier) = (field_expression "auVar4._8_4_" identifier . field_identifier)) ;) (if_statement "if (wVar10 == L'\xffffffff') {\n        auVar4._4_8_ = 0;\n        auVar4._0_4_ = local_b8._8_4_;\n        auVar4 = auVar4 << 0x40;\n        local_b8._8_4_ = L'\xffffffff';\n        goto LAB_00358121;\n      }" if (parenthesized_expression "(wVar10 == L'\xffffffff')" ( (binary_expression "wVar10 == L'\xffffffff'" identifier == (char_literal "L'\xffffffff'" L' escape_sequence character character character character ')) )) (compound_statement "{\n        auVar4._4_8_ = 0;\n        auVar4._0_4_ = local_b8._8_4_;\n        auVar4 = auVar4 << 0x40;\n        local_b8._8_4_ = L'\xffffffff';\n        goto LAB_00358121;\n      }" { (expression_statement "auVar4._4_8_ = 0;" (assignment_expression "auVar4._4_8_ = 0" (field_expression "auVar4._4_8_" identifier . field_identifier) = number_literal) ;) (expression_statement "auVar4._0_4_ = local_b8._8_4_;" (assignment_expression "auVar4._0_4_ = local_b8._8_4_" (field_expression "auVar4._0_4_" identifier . field_identifier) = (field_expression "local_b8._8_4_" identifier . field_identifier)) ;) (expression_statement "auVar4 = auVar4 << 0x40;" (assignment_expression "auVar4 = auVar4 << 0x40" identifier = (binary_expression "auVar4 << 0x40" identifier << number_literal)) ;) (expression_statement "local_b8._8_4_ = L'\xffffffff';" (assignment_expression "local_b8._8_4_ = L'\xffffffff'" (field_expression "local_b8._8_4_" identifier . field_identifier) = (char_literal "L'\xffffffff'" L' escape_sequence character character character character ')) ;) (goto_statement "goto LAB_00358121;" goto statement_identifier ;) })) (expression_statement "local_b8 = auVar4;" (assignment_expression "local_b8 = auVar4" identifier = identifier) ;) (if_statement "if (wVar1 == wVar10) goto LAB_00358290;" if (parenthesized_expression "(wVar1 == wVar10)" ( (binary_expression "wVar1 == wVar10" identifier == identifier) )) (goto_statement "goto LAB_00358290;" goto statement_identifier ;)) (labeled_statement "LAB_0035812a:\n      local_a0 = local_a0 | 4;" statement_identifier : (expression_statement "local_a0 = local_a0 | 4;" (assignment_expression "local_a0 = local_a0 | 4" identifier = (binary_expression "local_a0 | 4" identifier | number_literal)) ;)) }) (else_clause "else {\nLAB_00358121:\n      bVar17 = wVar1 != local_b8._8_4_;\n      local_b8 = auVar4;\n      if (bVar17) goto LAB_0035812a;\nLAB_00358290:\n      local_b8._0_8_ = auVar4._0_8_;\n      if (*(ulong *)(local_b8._0_8_ + 0x10) < *(ulong *)(local_b8._0_8_ + 0x18)) {\n        *(ulong *)(local_b8._0_8_ + 0x10) = *(ulong *)(local_b8._0_8_ + 0x10) + 4;\n      }\n      else {\n        lVar2 = *(long *)local_b8._0_8_;\n        local_b8 = auVar4;\n        (**(code **)(lVar2 + 0x50))();\n      }\n      local_b8._8_4_ = 0xffffffff;\n    }" else (compound_statement "{\nLAB_00358121:\n      bVar17 = wVar1 != local_b8._8_4_;\n      local_b8 = auVar4;\n      if (bVar17) goto LAB_0035812a;\nLAB_00358290:\n      local_b8._0_8_ = auVar4._0_8_;\n      if (*(ulong *)(local_b8._0_8_ + 0x10) < *(ulong *)(local_b8._0_8_ + 0x18)) {\n        *(ulong *)(local_b8._0_8_ + 0x10) = *(ulong *)(local_b8._0_8_ + 0x10) + 4;\n      }\n      else {\n        lVar2 = *(long *)local_b8._0_8_;\n        local_b8 = auVar4;\n        (**(code **)(lVar2 + 0x50))();\n      }\n      local_b8._8_4_ = 0xffffffff;\n    }" { (labeled_statement "LAB_00358121:\n      bVar17 = wVar1 != local_b8._8_4_;" statement_identifier : (expression_statement "bVar17 = wVar1 != local_b8._8_4_;" (assignment_expression "bVar17 = wVar1 != local_b8._8_4_" identifier = (binary_expression "wVar1 != local_b8._8_4_" identifier != (field_expression "local_b8._8_4_" identifier . field_identifier))) ;)) (expression_statement "local_b8 = auVar4;" (assignment_expression "local_b8 = auVar4" identifier = identifier) ;) (if_statement "if (bVar17) goto LAB_0035812a;" if (parenthesized_expression "(bVar17)" ( identifier )) (goto_statement "goto LAB_0035812a;" goto statement_identifier ;)) (labeled_statement "LAB_00358290:\n      local_b8._0_8_ = auVar4._0_8_;" statement_identifier : (expression_statement "local_b8._0_8_ = auVar4._0_8_;" (assignment_expression "local_b8._0_8_ = auVar4._0_8_" (field_expression "local_b8._0_8_" identifier . field_identifier) = (field_expression "auVar4._0_8_" identifier . field_identifier)) ;)) (if_statement "if (*(ulong *)(local_b8._0_8_ + 0x10) < *(ulong *)(local_b8._0_8_ + 0x18)) {\n        *(ulong *)(local_b8._0_8_ + 0x10) = *(ulong *)(local_b8._0_8_ + 0x10) + 4;\n      }\n      else {\n        lVar2 = *(long *)local_b8._0_8_;\n        local_b8 = auVar4;\n        (**(code **)(lVar2 + 0x50))();\n      }" if (parenthesized_expression "(*(ulong *)(local_b8._0_8_ + 0x10) < *(ulong *)(local_b8._0_8_ + 0x18))" ( (binary_expression "*(ulong *)(local_b8._0_8_ + 0x10) < *(ulong *)(local_b8._0_8_ + 0x18)" (pointer_expression "*(ulong *)(local_b8._0_8_ + 0x10)" * (cast_expression "(ulong *)(local_b8._0_8_ + 0x10)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_b8._0_8_ + 0x10)" ( (binary_expression "local_b8._0_8_ + 0x10" (field_expression "local_b8._0_8_" identifier . field_identifier) + number_literal) )))) < (pointer_expression "*(ulong *)(local_b8._0_8_ + 0x18)" * (cast_expression "(ulong *)(local_b8._0_8_ + 0x18)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_b8._0_8_ + 0x18)" ( (binary_expression "local_b8._0_8_ + 0x18" (field_expression "local_b8._0_8_" identifier . field_identifier) + number_literal) ))))) )) (compound_statement "{\n        *(ulong *)(local_b8._0_8_ + 0x10) = *(ulong *)(local_b8._0_8_ + 0x10) + 4;\n      }" { (expression_statement "*(ulong *)(local_b8._0_8_ + 0x10) = *(ulong *)(local_b8._0_8_ + 0x10) + 4;" (assignment_expression "*(ulong *)(local_b8._0_8_ + 0x10) = *(ulong *)(local_b8._0_8_ + 0x10) + 4" (pointer_expression "*(ulong *)(local_b8._0_8_ + 0x10)" * (cast_expression "(ulong *)(local_b8._0_8_ + 0x10)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_b8._0_8_ + 0x10)" ( (binary_expression "local_b8._0_8_ + 0x10" (field_expression "local_b8._0_8_" identifier . field_identifier) + number_literal) )))) = (binary_expression "*(ulong *)(local_b8._0_8_ + 0x10) + 4" (pointer_expression "*(ulong *)(local_b8._0_8_ + 0x10)" * (cast_expression "(ulong *)(local_b8._0_8_ + 0x10)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_b8._0_8_ + 0x10)" ( (binary_expression "local_b8._0_8_ + 0x10" (field_expression "local_b8._0_8_" identifier . field_identifier) + number_literal) )))) + number_literal)) ;) }) (else_clause "else {\n        lVar2 = *(long *)local_b8._0_8_;\n        local_b8 = auVar4;\n        (**(code **)(lVar2 + 0x50))();\n      }" else (compound_statement "{\n        lVar2 = *(long *)local_b8._0_8_;\n        local_b8 = auVar4;\n        (**(code **)(lVar2 + 0x50))();\n      }" { (expression_statement "lVar2 = *(long *)local_b8._0_8_;" (assignment_expression "lVar2 = *(long *)local_b8._0_8_" identifier = (pointer_expression "*(long *)local_b8._0_8_" * (cast_expression "(long *)local_b8._0_8_" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (field_expression "local_b8._0_8_" identifier . field_identifier)))) ;) (expression_statement "local_b8 = auVar4;" (assignment_expression "local_b8 = auVar4" identifier = identifier) ;) (expression_statement "(**(code **)(lVar2 + 0x50))();" (call_expression "(**(code **)(lVar2 + 0x50))()" (parenthesized_expression "(**(code **)(lVar2 + 0x50))" ( (pointer_expression "**(code **)(lVar2 + 0x50)" * (pointer_expression "*(code **)(lVar2 + 0x50)" * (cast_expression "(code **)(lVar2 + 0x50)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(lVar2 + 0x50)" ( (binary_expression "lVar2 + 0x50" identifier + number_literal) ))))) )) (argument_list "()" ( ))) ;) }))) (expression_statement "local_b8._8_4_ = 0xffffffff;" (assignment_expression "local_b8._8_4_ = 0xffffffff" (field_expression "local_b8._8_4_" identifier . field_identifier) = number_literal) ;) }))) (goto_statement "goto LAB_00358033;" goto statement_identifier ;) })) (expression_statement "cVar6 = (**(code **)(*plVar12 + 0x60))(plVar12,param_9[uVar15 + 1],0);" (assignment_expression "cVar6 = (**(code **)(*plVar12 + 0x60))(plVar12,param_9[uVar15 + 1],0)" identifier = (call_expression "(**(code **)(*plVar12 + 0x60))(plVar12,param_9[uVar15 + 1],0)" (parenthesized_expression "(**(code **)(*plVar12 + 0x60))" ( (pointer_expression "**(code **)(*plVar12 + 0x60)" * (pointer_expression "*(code **)(*plVar12 + 0x60)" * (cast_expression "(code **)(*plVar12 + 0x60)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*plVar12 + 0x60)" ( (binary_expression "*plVar12 + 0x60" (pointer_expression "*plVar12" * identifier) + number_literal) ))))) )) (argument_list "(plVar12,param_9[uVar15 + 1],0)" ( identifier , (subscript_expression "param_9[uVar15 + 1]" identifier [ (binary_expression "uVar15 + 1" identifier + number_literal) ]) , number_literal )))) ;) (expression_statement "local_9c = 0;" (assignment_expression "local_9c = 0" identifier = number_literal) ;) (if_statement "if ((cVar6 == 'E') || (cVar6 == 'O')) {\n    uVar14 = uVar15 + 2;\n    cVar6 = (**(code **)(*plVar12 + 0x60))(plVar12,param_9[uVar15 + 2],0);\n  }" if (parenthesized_expression "((cVar6 == 'E') || (cVar6 == 'O'))" ( (binary_expression "(cVar6 == 'E') || (cVar6 == 'O')" (parenthesized_expression "(cVar6 == 'E')" ( (binary_expression "cVar6 == 'E'" identifier == (char_literal "'E'" ' character ')) )) || (parenthesized_expression "(cVar6 == 'O')" ( (binary_expression "cVar6 == 'O'" identifier == (char_literal "'O'" ' character ')) ))) )) (compound_statement "{\n    uVar14 = uVar15 + 2;\n    cVar6 = (**(code **)(*plVar12 + 0x60))(plVar12,param_9[uVar15 + 2],0);\n  }" { (expression_statement "uVar14 = uVar15 + 2;" (assignment_expression "uVar14 = uVar15 + 2" identifier = (binary_expression "uVar15 + 2" identifier + number_literal)) ;) (expression_statement "cVar6 = (**(code **)(*plVar12 + 0x60))(plVar12,param_9[uVar15 + 2],0);" (assignment_expression "cVar6 = (**(code **)(*plVar12 + 0x60))(plVar12,param_9[uVar15 + 2],0)" identifier = (call_expression "(**(code **)(*plVar12 + 0x60))(plVar12,param_9[uVar15 + 2],0)" (parenthesized_expression "(**(code **)(*plVar12 + 0x60))" ( (pointer_expression "**(code **)(*plVar12 + 0x60)" * (pointer_expression "*(code **)(*plVar12 + 0x60)" * (cast_expression "(code **)(*plVar12 + 0x60)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*plVar12 + 0x60)" ( (binary_expression "*plVar12 + 0x60" (pointer_expression "*plVar12" * identifier) + number_literal) ))))) )) (argument_list "(plVar12,param_9[uVar15 + 2],0)" ( identifier , (subscript_expression "param_9[uVar15 + 2]" identifier [ (binary_expression "uVar15 + 2" identifier + number_literal) ]) , number_literal )))) ;) })) (switch_statement "switch(cVar6) {\n  case 'A':\n    lVar2 = *(long *)(lVar11 + 0x10);\n    local_98 = *(undefined8 *)(lVar2 + 0x58);\n    local_90 = *(undefined8 *)(lVar2 + 0x60);\n    local_88 = *(undefined8 *)(lVar2 + 0x68);\n    local_80 = *(undefined8 *)(lVar2 + 0x70);\n    local_78 = *(undefined8 *)(lVar2 + 0x78);\n    local_70 = *(undefined8 *)(lVar2 + 0x80);\n    local_68 = *(undefined8 *)(lVar2 + 0x88);\n    auVar18 = FUN_00356440(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,&local_9c,&local_98,7,param_6,&local_a0);\n    goto joined_r0x003588cd;\n  case 'B':\n    lVar2 = *(long *)(lVar11 + 0x10);\n    local_98 = *(undefined8 *)(lVar2 + 200);\n    local_90 = *(undefined8 *)(lVar2 + 0xd0);\n    local_88 = *(undefined8 *)(lVar2 + 0xd8);\n    local_80 = *(undefined8 *)(lVar2 + 0xe0);\n    local_78 = *(undefined8 *)(lVar2 + 0xe8);\n    local_70 = *(undefined8 *)(lVar2 + 0xf0);\n    local_68 = *(undefined8 *)(lVar2 + 0xf8);\n    local_60 = *(undefined8 *)(lVar2 + 0x100);\n    local_58 = *(undefined8 *)(lVar2 + 0x108);\n    local_50 = *(undefined8 *)(lVar2 + 0x110);\n    local_48 = *(undefined8 *)(lVar2 + 0x118);\n    local_40 = *(undefined8 *)(lVar2 + 0x120);\n    auVar18 = FUN_00356440(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,&local_9c,&local_98,0xc,param_6,&local_a0);\n    goto joined_r0x00358a12;\n  case 'C':\n  case 'Y':\n  case 'y':\n    auVar18 = FUN_00355fc0(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,&local_9c,0,9999,4,param_6,&local_a0);\n    local_b8 = auVar18;\n    if (local_a0 == 0) {\n      iVar9 = local_9c + -0x76c;\n      if (local_9c < 0) {\n        iVar9 = local_9c + 100;\n      }\n      param_8[5] = iVar9;\n    }\n    break;\n  case 'D':\n    (**(code **)(*plVar12 + 0x58))(plVar12,"%m/%d/%y","%H:%M",&local_98);\n    auVar18 = FUN_00357f80(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,param_6,&local_a0,param_8,&local_98);\n    local_b8 = auVar18;\n    break;\n  default:\n    goto switchD_003580fd_caseD_45;\n  case 'H':\n    auVar18 = FUN_00355fc0(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,&local_9c,0,0x17,2,param_6,&local_a0);\n    goto joined_r0x003587d9;\n  case 'I':\n    auVar18 = FUN_00355fc0(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,&local_9c,1,0xc,2,param_6,&local_a0);\njoined_r0x003587d9:\n    local_b8 = auVar18;\n    if (local_a0 == 0) {\n      param_8[2] = local_9c;\n    }\n    break;\n  case 'M':\n    auVar18 = FUN_00355fc0(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,&local_9c,0,0x3b,2,param_6,&local_a0);\n    local_b8 = auVar18;\n    if (local_a0 == 0) {\n      param_8[1] = local_9c;\n    }\n    break;\n  case 'R':\n    (**(code **)(*plVar12 + 0x58))(plVar12,"%H:%M","%H:%M:%S",&local_98);\n    auVar18 = FUN_00357f80(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,param_6,&local_a0,param_8,&local_98);\n    local_b8 = auVar18;\n    break;\n  case 'S':\n    auVar18 = FUN_00355fc0(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,&local_9c,0,0x3c,2,param_6,&local_a0);\n    local_b8 = auVar18;\n    if (local_a0 == 0) {\n      *param_8 = local_9c;\n    }\n    break;\n  case 'T':\n    (**(code **)(*plVar12 + 0x58))(plVar12,"%H:%M:%S",&DAT_003aba16,&local_98);\n    auVar18 = FUN_00357f80(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,param_6,&local_a0,param_8,&local_98);\n    local_b8 = auVar18;\n    break;\n  case 'X':\n    auVar18 = FUN_00357f80(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,param_6,&local_a0,param_8,\n                           *(undefined8 *)(*(long *)(lVar11 + 0x10) + 0x20));\n    local_b8 = auVar18;\n    break;\n  case 'Z':\n    uVar8 = FUN_0034def0(local_b8,local_b8._8_4_);\n    cVar6 = (**(code **)(*plVar12 + 0x10))(plVar12,0x100,uVar8);\n    if (cVar6 == '\0') goto switchD_003580fd_caseD_45;\n    auVar18 = FUN_00356440(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,&local_98,PTR_PTR_DAT_0045bff0,0xe,param_6,&local_a0);\n    local_b8 = auVar18;\n    cVar6 = FUN_00343350(local_b8,&local_c8);\n    if ((cVar6 == '\0') && (local_a0 == 0 && (int)local_98 == 0)) {\n      iVar9 = FUN_0034def0(local_b8);\n      iVar7 = (**(code **)(*plVar12 + 0x50))(plVar12,0x2d);\n      if (iVar9 != iVar7) {\n        iVar9 = FUN_0034def0(local_b8,local_b8._8_4_);\n        iVar7 = (**(code **)(*plVar12 + 0x50))(plVar12,0x2b);\n        if (iVar9 != iVar7) break;\n      }\n      auVar18 = FUN_00355fc0(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                             local_c0,&local_98,0,0x17,2,param_6,&local_a0);\n      local_b8 = auVar18;\n      auVar18 = FUN_00355fc0(param_1,auVar18._0_8_,CONCAT44(uStack_ac,auVar18._8_4_),local_c8,\n                             local_c0,&local_98,0,0x3b,2,param_6,&local_a0);\n      local_b8 = auVar18;\n    }\n    break;\n  case 'a':\n    lVar2 = *(long *)(lVar11 + 0x10);\n    local_98 = *(undefined8 *)(lVar2 + 0x90);\n    local_90 = *(undefined8 *)(lVar2 + 0x98);\n    local_88 = *(undefined8 *)(lVar2 + 0xa0);\n    local_80 = *(undefined8 *)(lVar2 + 0xa8);\n    local_78 = *(undefined8 *)(lVar2 + 0xb0);\n    local_70 = *(undefined8 *)(lVar2 + 0xb8);\n    local_68 = *(undefined8 *)(lVar2 + 0xc0);\n    auVar18 = FUN_00356440(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,&local_9c,&local_98,7,param_6,&local_a0);\njoined_r0x003588cd:\n    local_b8 = auVar18;\n    if (local_a0 == 0) {\n      param_8[6] = local_9c;\n    }\n    break;\n  case 'b':\n  case 'h':\n    lVar2 = *(long *)(lVar11 + 0x10);\n    local_98 = *(undefined8 *)(lVar2 + 0x128);\n    local_90 = *(undefined8 *)(lVar2 + 0x130);\n    local_88 = *(undefined8 *)(lVar2 + 0x138);\n    local_80 = *(undefined8 *)(lVar2 + 0x140);\n    local_78 = *(undefined8 *)(lVar2 + 0x148);\n    local_70 = *(undefined8 *)(lVar2 + 0x150);\n    local_68 = *(undefined8 *)(lVar2 + 0x158);\n    local_60 = *(undefined8 *)(lVar2 + 0x160);\n    local_58 = *(undefined8 *)(lVar2 + 0x168);\n    local_50 = *(undefined8 *)(lVar2 + 0x170);\n    local_48 = *(undefined8 *)(lVar2 + 0x178);\n    local_40 = *(undefined8 *)(lVar2 + 0x180);\n    auVar18 = FUN_00356440(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,&local_9c,&local_98,0xc,param_6,&local_a0);\njoined_r0x00358a12:\n    local_b8 = auVar18;\n    if (local_a0 == 0) {\n      param_8[4] = local_9c;\n    }\n    break;\n  case 'c':\n    auVar18 = FUN_00357f80(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,param_6,&local_a0,param_8,\n                           *(undefined8 *)(*(long *)(lVar11 + 0x10) + 0x30));\n    local_b8 = auVar18;\n    break;\n  case 'd':\n    auVar18 = FUN_00355fc0(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,&local_9c,1,0x1f,2,param_6,&local_a0);\n    goto joined_r0x00358be9;\n  case 'e':\n    uVar8 = FUN_0034def0(local_b8,local_b8._8_4_);\n    cVar6 = (**(code **)(*plVar12 + 0x10))(plVar12,0x2000,uVar8);\n    if (cVar6 == '\0') {\n      auVar18 = FUN_00355fc0(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                             local_c0,&local_9c,10,0x1f,2,param_6,&local_a0);\n    }\n    else {\n      FUN_002fc080(local_b8._0_8_);\n      local_b8._8_4_ = 0xffffffff;\n      auVar18 = FUN_00355fc0(param_1,local_b8._0_8_,CONCAT44(uStack_ac,0xffffffff),local_c8,local_c0\n                             ,&local_9c,1,9,1,param_6,&local_a0);\n    }\njoined_r0x00358be9:\n    local_b8 = auVar18;\n    if (local_a0 == 0) {\n      param_8[3] = local_9c;\n    }\n    break;\n  case 'm':\n    auVar18 = FUN_00355fc0(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,&local_9c,1,0xc,2,param_6,&local_a0);\n    local_b8 = auVar18;\n    if (local_a0 == 0) {\n      param_8[4] = local_9c + -1;\n    }\n    break;\n  case 'n':\n    uVar8 = FUN_0034def0(local_b8,local_b8._8_4_);\n    cVar6 = (**(code **)(*plVar12 + 0x60))(plVar12,uVar8,0);\n    if (cVar6 != '\n') goto switchD_003580fd_caseD_45;\nLAB_003590ce:\n    FUN_002fc080(local_b8._0_8_);\n    local_b8._8_4_ = 0xffffffff;\n    break;\n  case 't':\n    uVar8 = FUN_0034def0(local_b8,local_b8._8_4_);\n    cVar6 = (**(code **)(*plVar12 + 0x60))(plVar12,uVar8,0);\n    if (cVar6 == '\t') goto LAB_003590ce;\n    goto switchD_003580fd_caseD_45;\n  case 'x':\n    auVar18 = FUN_00357f80(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,param_6,&local_a0,param_8,\n                           *(undefined8 *)(*(long *)(lVar11 + 0x10) + 0x10));\n    local_b8 = auVar18;\n  }" switch (parenthesized_expression "(cVar6)" ( identifier )) (compound_statement "{\n  case 'A':\n    lVar2 = *(long *)(lVar11 + 0x10);\n    local_98 = *(undefined8 *)(lVar2 + 0x58);\n    local_90 = *(undefined8 *)(lVar2 + 0x60);\n    local_88 = *(undefined8 *)(lVar2 + 0x68);\n    local_80 = *(undefined8 *)(lVar2 + 0x70);\n    local_78 = *(undefined8 *)(lVar2 + 0x78);\n    local_70 = *(undefined8 *)(lVar2 + 0x80);\n    local_68 = *(undefined8 *)(lVar2 + 0x88);\n    auVar18 = FUN_00356440(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,&local_9c,&local_98,7,param_6,&local_a0);\n    goto joined_r0x003588cd;\n  case 'B':\n    lVar2 = *(long *)(lVar11 + 0x10);\n    local_98 = *(undefined8 *)(lVar2 + 200);\n    local_90 = *(undefined8 *)(lVar2 + 0xd0);\n    local_88 = *(undefined8 *)(lVar2 + 0xd8);\n    local_80 = *(undefined8 *)(lVar2 + 0xe0);\n    local_78 = *(undefined8 *)(lVar2 + 0xe8);\n    local_70 = *(undefined8 *)(lVar2 + 0xf0);\n    local_68 = *(undefined8 *)(lVar2 + 0xf8);\n    local_60 = *(undefined8 *)(lVar2 + 0x100);\n    local_58 = *(undefined8 *)(lVar2 + 0x108);\n    local_50 = *(undefined8 *)(lVar2 + 0x110);\n    local_48 = *(undefined8 *)(lVar2 + 0x118);\n    local_40 = *(undefined8 *)(lVar2 + 0x120);\n    auVar18 = FUN_00356440(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,&local_9c,&local_98,0xc,param_6,&local_a0);\n    goto joined_r0x00358a12;\n  case 'C':\n  case 'Y':\n  case 'y':\n    auVar18 = FUN_00355fc0(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,&local_9c,0,9999,4,param_6,&local_a0);\n    local_b8 = auVar18;\n    if (local_a0 == 0) {\n      iVar9 = local_9c + -0x76c;\n      if (local_9c < 0) {\n        iVar9 = local_9c + 100;\n      }\n      param_8[5] = iVar9;\n    }\n    break;\n  case 'D':\n    (**(code **)(*plVar12 + 0x58))(plVar12,"%m/%d/%y","%H:%M",&local_98);\n    auVar18 = FUN_00357f80(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,param_6,&local_a0,param_8,&local_98);\n    local_b8 = auVar18;\n    break;\n  default:\n    goto switchD_003580fd_caseD_45;\n  case 'H':\n    auVar18 = FUN_00355fc0(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,&local_9c,0,0x17,2,param_6,&local_a0);\n    goto joined_r0x003587d9;\n  case 'I':\n    auVar18 = FUN_00355fc0(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,&local_9c,1,0xc,2,param_6,&local_a0);\njoined_r0x003587d9:\n    local_b8 = auVar18;\n    if (local_a0 == 0) {\n      param_8[2] = local_9c;\n    }\n    break;\n  case 'M':\n    auVar18 = FUN_00355fc0(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,&local_9c,0,0x3b,2,param_6,&local_a0);\n    local_b8 = auVar18;\n    if (local_a0 == 0) {\n      param_8[1] = local_9c;\n    }\n    break;\n  case 'R':\n    (**(code **)(*plVar12 + 0x58))(plVar12,"%H:%M","%H:%M:%S",&local_98);\n    auVar18 = FUN_00357f80(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,param_6,&local_a0,param_8,&local_98);\n    local_b8 = auVar18;\n    break;\n  case 'S':\n    auVar18 = FUN_00355fc0(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,&local_9c,0,0x3c,2,param_6,&local_a0);\n    local_b8 = auVar18;\n    if (local_a0 == 0) {\n      *param_8 = local_9c;\n    }\n    break;\n  case 'T':\n    (**(code **)(*plVar12 + 0x58))(plVar12,"%H:%M:%S",&DAT_003aba16,&local_98);\n    auVar18 = FUN_00357f80(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,param_6,&local_a0,param_8,&local_98);\n    local_b8 = auVar18;\n    break;\n  case 'X':\n    auVar18 = FUN_00357f80(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,param_6,&local_a0,param_8,\n                           *(undefined8 *)(*(long *)(lVar11 + 0x10) + 0x20));\n    local_b8 = auVar18;\n    break;\n  case 'Z':\n    uVar8 = FUN_0034def0(local_b8,local_b8._8_4_);\n    cVar6 = (**(code **)(*plVar12 + 0x10))(plVar12,0x100,uVar8);\n    if (cVar6 == '\0') goto switchD_003580fd_caseD_45;\n    auVar18 = FUN_00356440(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,&local_98,PTR_PTR_DAT_0045bff0,0xe,param_6,&local_a0);\n    local_b8 = auVar18;\n    cVar6 = FUN_00343350(local_b8,&local_c8);\n    if ((cVar6 == '\0') && (local_a0 == 0 && (int)local_98 == 0)) {\n      iVar9 = FUN_0034def0(local_b8);\n      iVar7 = (**(code **)(*plVar12 + 0x50))(plVar12,0x2d);\n      if (iVar9 != iVar7) {\n        iVar9 = FUN_0034def0(local_b8,local_b8._8_4_);\n        iVar7 = (**(code **)(*plVar12 + 0x50))(plVar12,0x2b);\n        if (iVar9 != iVar7) break;\n      }\n      auVar18 = FUN_00355fc0(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                             local_c0,&local_98,0,0x17,2,param_6,&local_a0);\n      local_b8 = auVar18;\n      auVar18 = FUN_00355fc0(param_1,auVar18._0_8_,CONCAT44(uStack_ac,auVar18._8_4_),local_c8,\n                             local_c0,&local_98,0,0x3b,2,param_6,&local_a0);\n      local_b8 = auVar18;\n    }\n    break;\n  case 'a':\n    lVar2 = *(long *)(lVar11 + 0x10);\n    local_98 = *(undefined8 *)(lVar2 + 0x90);\n    local_90 = *(undefined8 *)(lVar2 + 0x98);\n    local_88 = *(undefined8 *)(lVar2 + 0xa0);\n    local_80 = *(undefined8 *)(lVar2 + 0xa8);\n    local_78 = *(undefined8 *)(lVar2 + 0xb0);\n    local_70 = *(undefined8 *)(lVar2 + 0xb8);\n    local_68 = *(undefined8 *)(lVar2 + 0xc0);\n    auVar18 = FUN_00356440(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,&local_9c,&local_98,7,param_6,&local_a0);\njoined_r0x003588cd:\n    local_b8 = auVar18;\n    if (local_a0 == 0) {\n      param_8[6] = local_9c;\n    }\n    break;\n  case 'b':\n  case 'h':\n    lVar2 = *(long *)(lVar11 + 0x10);\n    local_98 = *(undefined8 *)(lVar2 + 0x128);\n    local_90 = *(undefined8 *)(lVar2 + 0x130);\n    local_88 = *(undefined8 *)(lVar2 + 0x138);\n    local_80 = *(undefined8 *)(lVar2 + 0x140);\n    local_78 = *(undefined8 *)(lVar2 + 0x148);\n    local_70 = *(undefined8 *)(lVar2 + 0x150);\n    local_68 = *(undefined8 *)(lVar2 + 0x158);\n    local_60 = *(undefined8 *)(lVar2 + 0x160);\n    local_58 = *(undefined8 *)(lVar2 + 0x168);\n    local_50 = *(undefined8 *)(lVar2 + 0x170);\n    local_48 = *(undefined8 *)(lVar2 + 0x178);\n    local_40 = *(undefined8 *)(lVar2 + 0x180);\n    auVar18 = FUN_00356440(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,&local_9c,&local_98,0xc,param_6,&local_a0);\njoined_r0x00358a12:\n    local_b8 = auVar18;\n    if (local_a0 == 0) {\n      param_8[4] = local_9c;\n    }\n    break;\n  case 'c':\n    auVar18 = FUN_00357f80(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,param_6,&local_a0,param_8,\n                           *(undefined8 *)(*(long *)(lVar11 + 0x10) + 0x30));\n    local_b8 = auVar18;\n    break;\n  case 'd':\n    auVar18 = FUN_00355fc0(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,&local_9c,1,0x1f,2,param_6,&local_a0);\n    goto joined_r0x00358be9;\n  case 'e':\n    uVar8 = FUN_0034def0(local_b8,local_b8._8_4_);\n    cVar6 = (**(code **)(*plVar12 + 0x10))(plVar12,0x2000,uVar8);\n    if (cVar6 == '\0') {\n      auVar18 = FUN_00355fc0(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                             local_c0,&local_9c,10,0x1f,2,param_6,&local_a0);\n    }\n    else {\n      FUN_002fc080(local_b8._0_8_);\n      local_b8._8_4_ = 0xffffffff;\n      auVar18 = FUN_00355fc0(param_1,local_b8._0_8_,CONCAT44(uStack_ac,0xffffffff),local_c8,local_c0\n                             ,&local_9c,1,9,1,param_6,&local_a0);\n    }\njoined_r0x00358be9:\n    local_b8 = auVar18;\n    if (local_a0 == 0) {\n      param_8[3] = local_9c;\n    }\n    break;\n  case 'm':\n    auVar18 = FUN_00355fc0(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,&local_9c,1,0xc,2,param_6,&local_a0);\n    local_b8 = auVar18;\n    if (local_a0 == 0) {\n      param_8[4] = local_9c + -1;\n    }\n    break;\n  case 'n':\n    uVar8 = FUN_0034def0(local_b8,local_b8._8_4_);\n    cVar6 = (**(code **)(*plVar12 + 0x60))(plVar12,uVar8,0);\n    if (cVar6 != '\n') goto switchD_003580fd_caseD_45;\nLAB_003590ce:\n    FUN_002fc080(local_b8._0_8_);\n    local_b8._8_4_ = 0xffffffff;\n    break;\n  case 't':\n    uVar8 = FUN_0034def0(local_b8,local_b8._8_4_);\n    cVar6 = (**(code **)(*plVar12 + 0x60))(plVar12,uVar8,0);\n    if (cVar6 == '\t') goto LAB_003590ce;\n    goto switchD_003580fd_caseD_45;\n  case 'x':\n    auVar18 = FUN_00357f80(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,param_6,&local_a0,param_8,\n                           *(undefined8 *)(*(long *)(lVar11 + 0x10) + 0x10));\n    local_b8 = auVar18;\n  }" { (case_statement "case 'A':\n    lVar2 = *(long *)(lVar11 + 0x10);\n    local_98 = *(undefined8 *)(lVar2 + 0x58);\n    local_90 = *(undefined8 *)(lVar2 + 0x60);\n    local_88 = *(undefined8 *)(lVar2 + 0x68);\n    local_80 = *(undefined8 *)(lVar2 + 0x70);\n    local_78 = *(undefined8 *)(lVar2 + 0x78);\n    local_70 = *(undefined8 *)(lVar2 + 0x80);\n    local_68 = *(undefined8 *)(lVar2 + 0x88);\n    auVar18 = FUN_00356440(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,&local_9c,&local_98,7,param_6,&local_a0);\n    goto joined_r0x003588cd;" case (char_literal "'A'" ' character ') : (expression_statement "lVar2 = *(long *)(lVar11 + 0x10);" (assignment_expression "lVar2 = *(long *)(lVar11 + 0x10)" identifier = (pointer_expression "*(long *)(lVar11 + 0x10)" * (cast_expression "(long *)(lVar11 + 0x10)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar11 + 0x10)" ( (binary_expression "lVar11 + 0x10" identifier + number_literal) ))))) ;) (expression_statement "local_98 = *(undefined8 *)(lVar2 + 0x58);" (assignment_expression "local_98 = *(undefined8 *)(lVar2 + 0x58)" identifier = (pointer_expression "*(undefined8 *)(lVar2 + 0x58)" * (cast_expression "(undefined8 *)(lVar2 + 0x58)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar2 + 0x58)" ( (binary_expression "lVar2 + 0x58" identifier + number_literal) ))))) ;) (expression_statement "local_90 = *(undefined8 *)(lVar2 + 0x60);" (assignment_expression "local_90 = *(undefined8 *)(lVar2 + 0x60)" identifier = (pointer_expression "*(undefined8 *)(lVar2 + 0x60)" * (cast_expression "(undefined8 *)(lVar2 + 0x60)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar2 + 0x60)" ( (binary_expression "lVar2 + 0x60" identifier + number_literal) ))))) ;) (expression_statement "local_88 = *(undefined8 *)(lVar2 + 0x68);" (assignment_expression "local_88 = *(undefined8 *)(lVar2 + 0x68)" identifier = (pointer_expression "*(undefined8 *)(lVar2 + 0x68)" * (cast_expression "(undefined8 *)(lVar2 + 0x68)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar2 + 0x68)" ( (binary_expression "lVar2 + 0x68" identifier + number_literal) ))))) ;) (expression_statement "local_80 = *(undefined8 *)(lVar2 + 0x70);" (assignment_expression "local_80 = *(undefined8 *)(lVar2 + 0x70)" identifier = (pointer_expression "*(undefined8 *)(lVar2 + 0x70)" * (cast_expression "(undefined8 *)(lVar2 + 0x70)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar2 + 0x70)" ( (binary_expression "lVar2 + 0x70" identifier + number_literal) ))))) ;) (expression_statement "local_78 = *(undefined8 *)(lVar2 + 0x78);" (assignment_expression "local_78 = *(undefined8 *)(lVar2 + 0x78)" identifier = (pointer_expression "*(undefined8 *)(lVar2 + 0x78)" * (cast_expression "(undefined8 *)(lVar2 + 0x78)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar2 + 0x78)" ( (binary_expression "lVar2 + 0x78" identifier + number_literal) ))))) ;) (expression_statement "local_70 = *(undefined8 *)(lVar2 + 0x80);" (assignment_expression "local_70 = *(undefined8 *)(lVar2 + 0x80)" identifier = (pointer_expression "*(undefined8 *)(lVar2 + 0x80)" * (cast_expression "(undefined8 *)(lVar2 + 0x80)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar2 + 0x80)" ( (binary_expression "lVar2 + 0x80" identifier + number_literal) ))))) ;) (expression_statement "local_68 = *(undefined8 *)(lVar2 + 0x88);" (assignment_expression "local_68 = *(undefined8 *)(lVar2 + 0x88)" identifier = (pointer_expression "*(undefined8 *)(lVar2 + 0x88)" * (cast_expression "(undefined8 *)(lVar2 + 0x88)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar2 + 0x88)" ( (binary_expression "lVar2 + 0x88" identifier + number_literal) ))))) ;) (expression_statement "auVar18 = FUN_00356440(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,&local_9c,&local_98,7,param_6,&local_a0);" (assignment_expression "auVar18 = FUN_00356440(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,&local_9c,&local_98,7,param_6,&local_a0)" identifier = (call_expression "FUN_00356440(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,&local_9c,&local_98,7,param_6,&local_a0)" identifier (argument_list "(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,&local_9c,&local_98,7,param_6,&local_a0)" ( identifier , (field_expression "local_b8._0_8_" identifier . field_identifier) , (call_expression "CONCAT44(uStack_ac,local_b8._8_4_)" identifier (argument_list "(uStack_ac,local_b8._8_4_)" ( identifier , (field_expression "local_b8._8_4_" identifier . field_identifier) ))) , identifier , identifier , (pointer_expression "&local_9c" & identifier) , (pointer_expression "&local_98" & identifier) , number_literal , identifier , (pointer_expression "&local_a0" & identifier) )))) ;) (goto_statement "goto joined_r0x003588cd;" goto statement_identifier ;)) (case_statement "case 'B':\n    lVar2 = *(long *)(lVar11 + 0x10);\n    local_98 = *(undefined8 *)(lVar2 + 200);\n    local_90 = *(undefined8 *)(lVar2 + 0xd0);\n    local_88 = *(undefined8 *)(lVar2 + 0xd8);\n    local_80 = *(undefined8 *)(lVar2 + 0xe0);\n    local_78 = *(undefined8 *)(lVar2 + 0xe8);\n    local_70 = *(undefined8 *)(lVar2 + 0xf0);\n    local_68 = *(undefined8 *)(lVar2 + 0xf8);\n    local_60 = *(undefined8 *)(lVar2 + 0x100);\n    local_58 = *(undefined8 *)(lVar2 + 0x108);\n    local_50 = *(undefined8 *)(lVar2 + 0x110);\n    local_48 = *(undefined8 *)(lVar2 + 0x118);\n    local_40 = *(undefined8 *)(lVar2 + 0x120);\n    auVar18 = FUN_00356440(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,&local_9c,&local_98,0xc,param_6,&local_a0);\n    goto joined_r0x00358a12;" case (char_literal "'B'" ' character ') : (expression_statement "lVar2 = *(long *)(lVar11 + 0x10);" (assignment_expression "lVar2 = *(long *)(lVar11 + 0x10)" identifier = (pointer_expression "*(long *)(lVar11 + 0x10)" * (cast_expression "(long *)(lVar11 + 0x10)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar11 + 0x10)" ( (binary_expression "lVar11 + 0x10" identifier + number_literal) ))))) ;) (expression_statement "local_98 = *(undefined8 *)(lVar2 + 200);" (assignment_expression "local_98 = *(undefined8 *)(lVar2 + 200)" identifier = (pointer_expression "*(undefined8 *)(lVar2 + 200)" * (cast_expression "(undefined8 *)(lVar2 + 200)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar2 + 200)" ( (binary_expression "lVar2 + 200" identifier + number_literal) ))))) ;) (expression_statement "local_90 = *(undefined8 *)(lVar2 + 0xd0);" (assignment_expression "local_90 = *(undefined8 *)(lVar2 + 0xd0)" identifier = (pointer_expression "*(undefined8 *)(lVar2 + 0xd0)" * (cast_expression "(undefined8 *)(lVar2 + 0xd0)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar2 + 0xd0)" ( (binary_expression "lVar2 + 0xd0" identifier + number_literal) ))))) ;) (expression_statement "local_88 = *(undefined8 *)(lVar2 + 0xd8);" (assignment_expression "local_88 = *(undefined8 *)(lVar2 + 0xd8)" identifier = (pointer_expression "*(undefined8 *)(lVar2 + 0xd8)" * (cast_expression "(undefined8 *)(lVar2 + 0xd8)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar2 + 0xd8)" ( (binary_expression "lVar2 + 0xd8" identifier + number_literal) ))))) ;) (expression_statement "local_80 = *(undefined8 *)(lVar2 + 0xe0);" (assignment_expression "local_80 = *(undefined8 *)(lVar2 + 0xe0)" identifier = (pointer_expression "*(undefined8 *)(lVar2 + 0xe0)" * (cast_expression "(undefined8 *)(lVar2 + 0xe0)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar2 + 0xe0)" ( (binary_expression "lVar2 + 0xe0" identifier + number_literal) ))))) ;) (expression_statement "local_78 = *(undefined8 *)(lVar2 + 0xe8);" (assignment_expression "local_78 = *(undefined8 *)(lVar2 + 0xe8)" identifier = (pointer_expression "*(undefined8 *)(lVar2 + 0xe8)" * (cast_expression "(undefined8 *)(lVar2 + 0xe8)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar2 + 0xe8)" ( (binary_expression "lVar2 + 0xe8" identifier + number_literal) ))))) ;) (expression_statement "local_70 = *(undefined8 *)(lVar2 + 0xf0);" (assignment_expression "local_70 = *(undefined8 *)(lVar2 + 0xf0)" identifier = (pointer_expression "*(undefined8 *)(lVar2 + 0xf0)" * (cast_expression "(undefined8 *)(lVar2 + 0xf0)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar2 + 0xf0)" ( (binary_expression "lVar2 + 0xf0" identifier + number_literal) ))))) ;) (expression_statement "local_68 = *(undefined8 *)(lVar2 + 0xf8);" (assignment_expression "local_68 = *(undefined8 *)(lVar2 + 0xf8)" identifier = (pointer_expression "*(undefined8 *)(lVar2 + 0xf8)" * (cast_expression "(undefined8 *)(lVar2 + 0xf8)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar2 + 0xf8)" ( (binary_expression "lVar2 + 0xf8" identifier + number_literal) ))))) ;) (expression_statement "local_60 = *(undefined8 *)(lVar2 + 0x100);" (assignment_expression "local_60 = *(undefined8 *)(lVar2 + 0x100)" identifier = (pointer_expression "*(undefined8 *)(lVar2 + 0x100)" * (cast_expression "(undefined8 *)(lVar2 + 0x100)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar2 + 0x100)" ( (binary_expression "lVar2 + 0x100" identifier + number_literal) ))))) ;) (expression_statement "local_58 = *(undefined8 *)(lVar2 + 0x108);" (assignment_expression "local_58 = *(undefined8 *)(lVar2 + 0x108)" identifier = (pointer_expression "*(undefined8 *)(lVar2 + 0x108)" * (cast_expression "(undefined8 *)(lVar2 + 0x108)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar2 + 0x108)" ( (binary_expression "lVar2 + 0x108" identifier + number_literal) ))))) ;) (expression_statement "local_50 = *(undefined8 *)(lVar2 + 0x110);" (assignment_expression "local_50 = *(undefined8 *)(lVar2 + 0x110)" identifier = (pointer_expression "*(undefined8 *)(lVar2 + 0x110)" * (cast_expression "(undefined8 *)(lVar2 + 0x110)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar2 + 0x110)" ( (binary_expression "lVar2 + 0x110" identifier + number_literal) ))))) ;) (expression_statement "local_48 = *(undefined8 *)(lVar2 + 0x118);" (assignment_expression "local_48 = *(undefined8 *)(lVar2 + 0x118)" identifier = (pointer_expression "*(undefined8 *)(lVar2 + 0x118)" * (cast_expression "(undefined8 *)(lVar2 + 0x118)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar2 + 0x118)" ( (binary_expression "lVar2 + 0x118" identifier + number_literal) ))))) ;) (expression_statement "local_40 = *(undefined8 *)(lVar2 + 0x120);" (assignment_expression "local_40 = *(undefined8 *)(lVar2 + 0x120)" identifier = (pointer_expression "*(undefined8 *)(lVar2 + 0x120)" * (cast_expression "(undefined8 *)(lVar2 + 0x120)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar2 + 0x120)" ( (binary_expression "lVar2 + 0x120" identifier + number_literal) ))))) ;) (expression_statement "auVar18 = FUN_00356440(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,&local_9c,&local_98,0xc,param_6,&local_a0);" (assignment_expression "auVar18 = FUN_00356440(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,&local_9c,&local_98,0xc,param_6,&local_a0)" identifier = (call_expression "FUN_00356440(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,&local_9c,&local_98,0xc,param_6,&local_a0)" identifier (argument_list "(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,&local_9c,&local_98,0xc,param_6,&local_a0)" ( identifier , (field_expression "local_b8._0_8_" identifier . field_identifier) , (call_expression "CONCAT44(uStack_ac,local_b8._8_4_)" identifier (argument_list "(uStack_ac,local_b8._8_4_)" ( identifier , (field_expression "local_b8._8_4_" identifier . field_identifier) ))) , identifier , identifier , (pointer_expression "&local_9c" & identifier) , (pointer_expression "&local_98" & identifier) , number_literal , identifier , (pointer_expression "&local_a0" & identifier) )))) ;) (goto_statement "goto joined_r0x00358a12;" goto statement_identifier ;)) (case_statement "case 'C':" case (char_literal "'C'" ' character ') :) (case_statement "case 'Y':" case (char_literal "'Y'" ' character ') :) (case_statement "case 'y':\n    auVar18 = FUN_00355fc0(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,&local_9c,0,9999,4,param_6,&local_a0);\n    local_b8 = auVar18;\n    if (local_a0 == 0) {\n      iVar9 = local_9c + -0x76c;\n      if (local_9c < 0) {\n        iVar9 = local_9c + 100;\n      }\n      param_8[5] = iVar9;\n    }\n    break;" case (char_literal "'y'" ' character ') : (expression_statement "auVar18 = FUN_00355fc0(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,&local_9c,0,9999,4,param_6,&local_a0);" (assignment_expression "auVar18 = FUN_00355fc0(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,&local_9c,0,9999,4,param_6,&local_a0)" identifier = (call_expression "FUN_00355fc0(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,&local_9c,0,9999,4,param_6,&local_a0)" identifier (argument_list "(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,&local_9c,0,9999,4,param_6,&local_a0)" ( identifier , (field_expression "local_b8._0_8_" identifier . field_identifier) , (call_expression "CONCAT44(uStack_ac,local_b8._8_4_)" identifier (argument_list "(uStack_ac,local_b8._8_4_)" ( identifier , (field_expression "local_b8._8_4_" identifier . field_identifier) ))) , identifier , identifier , (pointer_expression "&local_9c" & identifier) , number_literal , number_literal , number_literal , identifier , (pointer_expression "&local_a0" & identifier) )))) ;) (expression_statement "local_b8 = auVar18;" (assignment_expression "local_b8 = auVar18" identifier = identifier) ;) (if_statement "if (local_a0 == 0) {\n      iVar9 = local_9c + -0x76c;\n      if (local_9c < 0) {\n        iVar9 = local_9c + 100;\n      }\n      param_8[5] = iVar9;\n    }" if (parenthesized_expression "(local_a0 == 0)" ( (binary_expression "local_a0 == 0" identifier == number_literal) )) (compound_statement "{\n      iVar9 = local_9c + -0x76c;\n      if (local_9c < 0) {\n        iVar9 = local_9c + 100;\n      }\n      param_8[5] = iVar9;\n    }" { (expression_statement "iVar9 = local_9c + -0x76c;" (assignment_expression "iVar9 = local_9c + -0x76c" identifier = (binary_expression "local_9c + -0x76c" identifier + number_literal)) ;) (if_statement "if (local_9c < 0) {\n        iVar9 = local_9c + 100;\n      }" if (parenthesized_expression "(local_9c < 0)" ( (binary_expression "local_9c < 0" identifier < number_literal) )) (compound_statement "{\n        iVar9 = local_9c + 100;\n      }" { (expression_statement "iVar9 = local_9c + 100;" (assignment_expression "iVar9 = local_9c + 100" identifier = (binary_expression "local_9c + 100" identifier + number_literal)) ;) })) (expression_statement "param_8[5] = iVar9;" (assignment_expression "param_8[5] = iVar9" (subscript_expression "param_8[5]" identifier [ number_literal ]) = identifier) ;) })) (break_statement "break;" break ;)) (case_statement "case 'D':\n    (**(code **)(*plVar12 + 0x58))(plVar12,"%m/%d/%y","%H:%M",&local_98);\n    auVar18 = FUN_00357f80(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,param_6,&local_a0,param_8,&local_98);\n    local_b8 = auVar18;\n    break;" case (char_literal "'D'" ' character ') : (expression_statement "(**(code **)(*plVar12 + 0x58))(plVar12,"%m/%d/%y","%H:%M",&local_98);" (call_expression "(**(code **)(*plVar12 + 0x58))(plVar12,"%m/%d/%y","%H:%M",&local_98)" (parenthesized_expression "(**(code **)(*plVar12 + 0x58))" ( (pointer_expression "**(code **)(*plVar12 + 0x58)" * (pointer_expression "*(code **)(*plVar12 + 0x58)" * (cast_expression "(code **)(*plVar12 + 0x58)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*plVar12 + 0x58)" ( (binary_expression "*plVar12 + 0x58" (pointer_expression "*plVar12" * identifier) + number_literal) ))))) )) (argument_list "(plVar12,"%m/%d/%y","%H:%M",&local_98)" ( identifier , (string_literal ""%m/%d/%y"" " string_content ") , (string_literal ""%H:%M"" " string_content ") , (pointer_expression "&local_98" & identifier) ))) ;) (expression_statement "auVar18 = FUN_00357f80(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,param_6,&local_a0,param_8,&local_98);" (assignment_expression "auVar18 = FUN_00357f80(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,param_6,&local_a0,param_8,&local_98)" identifier = (call_expression "FUN_00357f80(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,param_6,&local_a0,param_8,&local_98)" identifier (argument_list "(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,param_6,&local_a0,param_8,&local_98)" ( identifier , (field_expression "local_b8._0_8_" identifier . field_identifier) , (call_expression "CONCAT44(uStack_ac,local_b8._8_4_)" identifier (argument_list "(uStack_ac,local_b8._8_4_)" ( identifier , (field_expression "local_b8._8_4_" identifier . field_identifier) ))) , identifier , identifier , identifier , (pointer_expression "&local_a0" & identifier) , identifier , (pointer_expression "&local_98" & identifier) )))) ;) (expression_statement "local_b8 = auVar18;" (assignment_expression "local_b8 = auVar18" identifier = identifier) ;) (break_statement "break;" break ;)) (case_statement "default:\n    goto switchD_003580fd_caseD_45;" default : (goto_statement "goto switchD_003580fd_caseD_45;" goto statement_identifier ;)) (case_statement "case 'H':\n    auVar18 = FUN_00355fc0(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,&local_9c,0,0x17,2,param_6,&local_a0);\n    goto joined_r0x003587d9;" case (char_literal "'H'" ' character ') : (expression_statement "auVar18 = FUN_00355fc0(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,&local_9c,0,0x17,2,param_6,&local_a0);" (assignment_expression "auVar18 = FUN_00355fc0(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,&local_9c,0,0x17,2,param_6,&local_a0)" identifier = (call_expression "FUN_00355fc0(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,&local_9c,0,0x17,2,param_6,&local_a0)" identifier (argument_list "(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,&local_9c,0,0x17,2,param_6,&local_a0)" ( identifier , (field_expression "local_b8._0_8_" identifier . field_identifier) , (call_expression "CONCAT44(uStack_ac,local_b8._8_4_)" identifier (argument_list "(uStack_ac,local_b8._8_4_)" ( identifier , (field_expression "local_b8._8_4_" identifier . field_identifier) ))) , identifier , identifier , (pointer_expression "&local_9c" & identifier) , number_literal , number_literal , number_literal , identifier , (pointer_expression "&local_a0" & identifier) )))) ;) (goto_statement "goto joined_r0x003587d9;" goto statement_identifier ;)) (case_statement "case 'I':\n    auVar18 = FUN_00355fc0(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,&local_9c,1,0xc,2,param_6,&local_a0);\njoined_r0x003587d9:\n    local_b8 = auVar18;\n    if (local_a0 == 0) {\n      param_8[2] = local_9c;\n    }\n    break;" case (char_literal "'I'" ' character ') : (expression_statement "auVar18 = FUN_00355fc0(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,&local_9c,1,0xc,2,param_6,&local_a0);" (assignment_expression "auVar18 = FUN_00355fc0(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,&local_9c,1,0xc,2,param_6,&local_a0)" identifier = (call_expression "FUN_00355fc0(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,&local_9c,1,0xc,2,param_6,&local_a0)" identifier (argument_list "(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,&local_9c,1,0xc,2,param_6,&local_a0)" ( identifier , (field_expression "local_b8._0_8_" identifier . field_identifier) , (call_expression "CONCAT44(uStack_ac,local_b8._8_4_)" identifier (argument_list "(uStack_ac,local_b8._8_4_)" ( identifier , (field_expression "local_b8._8_4_" identifier . field_identifier) ))) , identifier , identifier , (pointer_expression "&local_9c" & identifier) , number_literal , number_literal , number_literal , identifier , (pointer_expression "&local_a0" & identifier) )))) ;) (labeled_statement "joined_r0x003587d9:\n    local_b8 = auVar18;" statement_identifier : (expression_statement "local_b8 = auVar18;" (assignment_expression "local_b8 = auVar18" identifier = identifier) ;)) (if_statement "if (local_a0 == 0) {\n      param_8[2] = local_9c;\n    }" if (parenthesized_expression "(local_a0 == 0)" ( (binary_expression "local_a0 == 0" identifier == number_literal) )) (compound_statement "{\n      param_8[2] = local_9c;\n    }" { (expression_statement "param_8[2] = local_9c;" (assignment_expression "param_8[2] = local_9c" (subscript_expression "param_8[2]" identifier [ number_literal ]) = identifier) ;) })) (break_statement "break;" break ;)) (case_statement "case 'M':\n    auVar18 = FUN_00355fc0(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,&local_9c,0,0x3b,2,param_6,&local_a0);\n    local_b8 = auVar18;\n    if (local_a0 == 0) {\n      param_8[1] = local_9c;\n    }\n    break;" case (char_literal "'M'" ' character ') : (expression_statement "auVar18 = FUN_00355fc0(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,&local_9c,0,0x3b,2,param_6,&local_a0);" (assignment_expression "auVar18 = FUN_00355fc0(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,&local_9c,0,0x3b,2,param_6,&local_a0)" identifier = (call_expression "FUN_00355fc0(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,&local_9c,0,0x3b,2,param_6,&local_a0)" identifier (argument_list "(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,&local_9c,0,0x3b,2,param_6,&local_a0)" ( identifier , (field_expression "local_b8._0_8_" identifier . field_identifier) , (call_expression "CONCAT44(uStack_ac,local_b8._8_4_)" identifier (argument_list "(uStack_ac,local_b8._8_4_)" ( identifier , (field_expression "local_b8._8_4_" identifier . field_identifier) ))) , identifier , identifier , (pointer_expression "&local_9c" & identifier) , number_literal , number_literal , number_literal , identifier , (pointer_expression "&local_a0" & identifier) )))) ;) (expression_statement "local_b8 = auVar18;" (assignment_expression "local_b8 = auVar18" identifier = identifier) ;) (if_statement "if (local_a0 == 0) {\n      param_8[1] = local_9c;\n    }" if (parenthesized_expression "(local_a0 == 0)" ( (binary_expression "local_a0 == 0" identifier == number_literal) )) (compound_statement "{\n      param_8[1] = local_9c;\n    }" { (expression_statement "param_8[1] = local_9c;" (assignment_expression "param_8[1] = local_9c" (subscript_expression "param_8[1]" identifier [ number_literal ]) = identifier) ;) })) (break_statement "break;" break ;)) (case_statement "case 'R':\n    (**(code **)(*plVar12 + 0x58))(plVar12,"%H:%M","%H:%M:%S",&local_98);\n    auVar18 = FUN_00357f80(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,param_6,&local_a0,param_8,&local_98);\n    local_b8 = auVar18;\n    break;" case (char_literal "'R'" ' character ') : (expression_statement "(**(code **)(*plVar12 + 0x58))(plVar12,"%H:%M","%H:%M:%S",&local_98);" (call_expression "(**(code **)(*plVar12 + 0x58))(plVar12,"%H:%M","%H:%M:%S",&local_98)" (parenthesized_expression "(**(code **)(*plVar12 + 0x58))" ( (pointer_expression "**(code **)(*plVar12 + 0x58)" * (pointer_expression "*(code **)(*plVar12 + 0x58)" * (cast_expression "(code **)(*plVar12 + 0x58)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*plVar12 + 0x58)" ( (binary_expression "*plVar12 + 0x58" (pointer_expression "*plVar12" * identifier) + number_literal) ))))) )) (argument_list "(plVar12,"%H:%M","%H:%M:%S",&local_98)" ( identifier , (string_literal ""%H:%M"" " string_content ") , (string_literal ""%H:%M:%S"" " string_content ") , (pointer_expression "&local_98" & identifier) ))) ;) (expression_statement "auVar18 = FUN_00357f80(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,param_6,&local_a0,param_8,&local_98);" (assignment_expression "auVar18 = FUN_00357f80(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,param_6,&local_a0,param_8,&local_98)" identifier = (call_expression "FUN_00357f80(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,param_6,&local_a0,param_8,&local_98)" identifier (argument_list "(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,param_6,&local_a0,param_8,&local_98)" ( identifier , (field_expression "local_b8._0_8_" identifier . field_identifier) , (call_expression "CONCAT44(uStack_ac,local_b8._8_4_)" identifier (argument_list "(uStack_ac,local_b8._8_4_)" ( identifier , (field_expression "local_b8._8_4_" identifier . field_identifier) ))) , identifier , identifier , identifier , (pointer_expression "&local_a0" & identifier) , identifier , (pointer_expression "&local_98" & identifier) )))) ;) (expression_statement "local_b8 = auVar18;" (assignment_expression "local_b8 = auVar18" identifier = identifier) ;) (break_statement "break;" break ;)) (case_statement "case 'S':\n    auVar18 = FUN_00355fc0(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,&local_9c,0,0x3c,2,param_6,&local_a0);\n    local_b8 = auVar18;\n    if (local_a0 == 0) {\n      *param_8 = local_9c;\n    }\n    break;" case (char_literal "'S'" ' character ') : (expression_statement "auVar18 = FUN_00355fc0(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,&local_9c,0,0x3c,2,param_6,&local_a0);" (assignment_expression "auVar18 = FUN_00355fc0(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,&local_9c,0,0x3c,2,param_6,&local_a0)" identifier = (call_expression "FUN_00355fc0(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,&local_9c,0,0x3c,2,param_6,&local_a0)" identifier (argument_list "(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,&local_9c,0,0x3c,2,param_6,&local_a0)" ( identifier , (field_expression "local_b8._0_8_" identifier . field_identifier) , (call_expression "CONCAT44(uStack_ac,local_b8._8_4_)" identifier (argument_list "(uStack_ac,local_b8._8_4_)" ( identifier , (field_expression "local_b8._8_4_" identifier . field_identifier) ))) , identifier , identifier , (pointer_expression "&local_9c" & identifier) , number_literal , number_literal , number_literal , identifier , (pointer_expression "&local_a0" & identifier) )))) ;) (expression_statement "local_b8 = auVar18;" (assignment_expression "local_b8 = auVar18" identifier = identifier) ;) (if_statement "if (local_a0 == 0) {\n      *param_8 = local_9c;\n    }" if (parenthesized_expression "(local_a0 == 0)" ( (binary_expression "local_a0 == 0" identifier == number_literal) )) (compound_statement "{\n      *param_8 = local_9c;\n    }" { (expression_statement "*param_8 = local_9c;" (assignment_expression "*param_8 = local_9c" (pointer_expression "*param_8" * identifier) = identifier) ;) })) (break_statement "break;" break ;)) (case_statement "case 'T':\n    (**(code **)(*plVar12 + 0x58))(plVar12,"%H:%M:%S",&DAT_003aba16,&local_98);\n    auVar18 = FUN_00357f80(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,param_6,&local_a0,param_8,&local_98);\n    local_b8 = auVar18;\n    break;" case (char_literal "'T'" ' character ') : (expression_statement "(**(code **)(*plVar12 + 0x58))(plVar12,"%H:%M:%S",&DAT_003aba16,&local_98);" (call_expression "(**(code **)(*plVar12 + 0x58))(plVar12,"%H:%M:%S",&DAT_003aba16,&local_98)" (parenthesized_expression "(**(code **)(*plVar12 + 0x58))" ( (pointer_expression "**(code **)(*plVar12 + 0x58)" * (pointer_expression "*(code **)(*plVar12 + 0x58)" * (cast_expression "(code **)(*plVar12 + 0x58)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*plVar12 + 0x58)" ( (binary_expression "*plVar12 + 0x58" (pointer_expression "*plVar12" * identifier) + number_literal) ))))) )) (argument_list "(plVar12,"%H:%M:%S",&DAT_003aba16,&local_98)" ( identifier , (string_literal ""%H:%M:%S"" " string_content ") , (pointer_expression "&DAT_003aba16" & identifier) , (pointer_expression "&local_98" & identifier) ))) ;) (expression_statement "auVar18 = FUN_00357f80(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,param_6,&local_a0,param_8,&local_98);" (assignment_expression "auVar18 = FUN_00357f80(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,param_6,&local_a0,param_8,&local_98)" identifier = (call_expression "FUN_00357f80(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,param_6,&local_a0,param_8,&local_98)" identifier (argument_list "(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,param_6,&local_a0,param_8,&local_98)" ( identifier , (field_expression "local_b8._0_8_" identifier . field_identifier) , (call_expression "CONCAT44(uStack_ac,local_b8._8_4_)" identifier (argument_list "(uStack_ac,local_b8._8_4_)" ( identifier , (field_expression "local_b8._8_4_" identifier . field_identifier) ))) , identifier , identifier , identifier , (pointer_expression "&local_a0" & identifier) , identifier , (pointer_expression "&local_98" & identifier) )))) ;) (expression_statement "local_b8 = auVar18;" (assignment_expression "local_b8 = auVar18" identifier = identifier) ;) (break_statement "break;" break ;)) (case_statement "case 'X':\n    auVar18 = FUN_00357f80(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,param_6,&local_a0,param_8,\n                           *(undefined8 *)(*(long *)(lVar11 + 0x10) + 0x20));\n    local_b8 = auVar18;\n    break;" case (char_literal "'X'" ' character ') : (expression_statement "auVar18 = FUN_00357f80(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,param_6,&local_a0,param_8,\n                           *(undefined8 *)(*(long *)(lVar11 + 0x10) + 0x20));" (assignment_expression "auVar18 = FUN_00357f80(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,param_6,&local_a0,param_8,\n                           *(undefined8 *)(*(long *)(lVar11 + 0x10) + 0x20))" identifier = (call_expression "FUN_00357f80(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,param_6,&local_a0,param_8,\n                           *(undefined8 *)(*(long *)(lVar11 + 0x10) + 0x20))" identifier (argument_list "(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,param_6,&local_a0,param_8,\n                           *(undefined8 *)(*(long *)(lVar11 + 0x10) + 0x20))" ( identifier , (field_expression "local_b8._0_8_" identifier . field_identifier) , (call_expression "CONCAT44(uStack_ac,local_b8._8_4_)" identifier (argument_list "(uStack_ac,local_b8._8_4_)" ( identifier , (field_expression "local_b8._8_4_" identifier . field_identifier) ))) , identifier , identifier , identifier , (pointer_expression "&local_a0" & identifier) , identifier , (pointer_expression "*(undefined8 *)(*(long *)(lVar11 + 0x10) + 0x20)" * (cast_expression "(undefined8 *)(*(long *)(lVar11 + 0x10) + 0x20)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(long *)(lVar11 + 0x10) + 0x20)" ( (binary_expression "*(long *)(lVar11 + 0x10) + 0x20" (pointer_expression "*(long *)(lVar11 + 0x10)" * (cast_expression "(long *)(lVar11 + 0x10)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar11 + 0x10)" ( (binary_expression "lVar11 + 0x10" identifier + number_literal) )))) + number_literal) )))) )))) ;) (expression_statement "local_b8 = auVar18;" (assignment_expression "local_b8 = auVar18" identifier = identifier) ;) (break_statement "break;" break ;)) (case_statement "case 'Z':\n    uVar8 = FUN_0034def0(local_b8,local_b8._8_4_);\n    cVar6 = (**(code **)(*plVar12 + 0x10))(plVar12,0x100,uVar8);\n    if (cVar6 == '\0') goto switchD_003580fd_caseD_45;\n    auVar18 = FUN_00356440(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,&local_98,PTR_PTR_DAT_0045bff0,0xe,param_6,&local_a0);\n    local_b8 = auVar18;\n    cVar6 = FUN_00343350(local_b8,&local_c8);\n    if ((cVar6 == '\0') && (local_a0 == 0 && (int)local_98 == 0)) {\n      iVar9 = FUN_0034def0(local_b8);\n      iVar7 = (**(code **)(*plVar12 + 0x50))(plVar12,0x2d);\n      if (iVar9 != iVar7) {\n        iVar9 = FUN_0034def0(local_b8,local_b8._8_4_);\n        iVar7 = (**(code **)(*plVar12 + 0x50))(plVar12,0x2b);\n        if (iVar9 != iVar7) break;\n      }\n      auVar18 = FUN_00355fc0(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                             local_c0,&local_98,0,0x17,2,param_6,&local_a0);\n      local_b8 = auVar18;\n      auVar18 = FUN_00355fc0(param_1,auVar18._0_8_,CONCAT44(uStack_ac,auVar18._8_4_),local_c8,\n                             local_c0,&local_98,0,0x3b,2,param_6,&local_a0);\n      local_b8 = auVar18;\n    }\n    break;" case (char_literal "'Z'" ' character ') : (expression_statement "uVar8 = FUN_0034def0(local_b8,local_b8._8_4_);" (assignment_expression "uVar8 = FUN_0034def0(local_b8,local_b8._8_4_)" identifier = (call_expression "FUN_0034def0(local_b8,local_b8._8_4_)" identifier (argument_list "(local_b8,local_b8._8_4_)" ( identifier , (field_expression "local_b8._8_4_" identifier . field_identifier) )))) ;) (expression_statement "cVar6 = (**(code **)(*plVar12 + 0x10))(plVar12,0x100,uVar8);" (assignment_expression "cVar6 = (**(code **)(*plVar12 + 0x10))(plVar12,0x100,uVar8)" identifier = (call_expression "(**(code **)(*plVar12 + 0x10))(plVar12,0x100,uVar8)" (parenthesized_expression "(**(code **)(*plVar12 + 0x10))" ( (pointer_expression "**(code **)(*plVar12 + 0x10)" * (pointer_expression "*(code **)(*plVar12 + 0x10)" * (cast_expression "(code **)(*plVar12 + 0x10)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*plVar12 + 0x10)" ( (binary_expression "*plVar12 + 0x10" (pointer_expression "*plVar12" * identifier) + number_literal) ))))) )) (argument_list "(plVar12,0x100,uVar8)" ( identifier , number_literal , identifier )))) ;) (if_statement "if (cVar6 == '\0') goto switchD_003580fd_caseD_45;" if (parenthesized_expression "(cVar6 == '\0')" ( (binary_expression "cVar6 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto switchD_003580fd_caseD_45;" goto statement_identifier ;)) (expression_statement "auVar18 = FUN_00356440(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,&local_98,PTR_PTR_DAT_0045bff0,0xe,param_6,&local_a0);" (assignment_expression "auVar18 = FUN_00356440(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,&local_98,PTR_PTR_DAT_0045bff0,0xe,param_6,&local_a0)" identifier = (call_expression "FUN_00356440(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,&local_98,PTR_PTR_DAT_0045bff0,0xe,param_6,&local_a0)" identifier (argument_list "(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,&local_98,PTR_PTR_DAT_0045bff0,0xe,param_6,&local_a0)" ( identifier , (field_expression "local_b8._0_8_" identifier . field_identifier) , (call_expression "CONCAT44(uStack_ac,local_b8._8_4_)" identifier (argument_list "(uStack_ac,local_b8._8_4_)" ( identifier , (field_expression "local_b8._8_4_" identifier . field_identifier) ))) , identifier , identifier , (pointer_expression "&local_98" & identifier) , identifier , number_literal , identifier , (pointer_expression "&local_a0" & identifier) )))) ;) (expression_statement "local_b8 = auVar18;" (assignment_expression "local_b8 = auVar18" identifier = identifier) ;) (expression_statement "cVar6 = FUN_00343350(local_b8,&local_c8);" (assignment_expression "cVar6 = FUN_00343350(local_b8,&local_c8)" identifier = (call_expression "FUN_00343350(local_b8,&local_c8)" identifier (argument_list "(local_b8,&local_c8)" ( identifier , (pointer_expression "&local_c8" & identifier) )))) ;) (if_statement "if ((cVar6 == '\0') && (local_a0 == 0 && (int)local_98 == 0)) {\n      iVar9 = FUN_0034def0(local_b8);\n      iVar7 = (**(code **)(*plVar12 + 0x50))(plVar12,0x2d);\n      if (iVar9 != iVar7) {\n        iVar9 = FUN_0034def0(local_b8,local_b8._8_4_);\n        iVar7 = (**(code **)(*plVar12 + 0x50))(plVar12,0x2b);\n        if (iVar9 != iVar7) break;\n      }\n      auVar18 = FUN_00355fc0(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                             local_c0,&local_98,0,0x17,2,param_6,&local_a0);\n      local_b8 = auVar18;\n      auVar18 = FUN_00355fc0(param_1,auVar18._0_8_,CONCAT44(uStack_ac,auVar18._8_4_),local_c8,\n                             local_c0,&local_98,0,0x3b,2,param_6,&local_a0);\n      local_b8 = auVar18;\n    }" if (parenthesized_expression "((cVar6 == '\0') && (local_a0 == 0 && (int)local_98 == 0))" ( (binary_expression "(cVar6 == '\0') && (local_a0 == 0 && (int)local_98 == 0)" (parenthesized_expression "(cVar6 == '\0')" ( (binary_expression "cVar6 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) && (parenthesized_expression "(local_a0 == 0 && (int)local_98 == 0)" ( (binary_expression "local_a0 == 0 && (int)local_98 == 0" (binary_expression "local_a0 == 0" identifier == number_literal) && (binary_expression "(int)local_98 == 0" (cast_expression "(int)local_98" ( (type_descriptor "int" primitive_type) ) identifier) == number_literal)) ))) )) (compound_statement "{\n      iVar9 = FUN_0034def0(local_b8);\n      iVar7 = (**(code **)(*plVar12 + 0x50))(plVar12,0x2d);\n      if (iVar9 != iVar7) {\n        iVar9 = FUN_0034def0(local_b8,local_b8._8_4_);\n        iVar7 = (**(code **)(*plVar12 + 0x50))(plVar12,0x2b);\n        if (iVar9 != iVar7) break;\n      }\n      auVar18 = FUN_00355fc0(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                             local_c0,&local_98,0,0x17,2,param_6,&local_a0);\n      local_b8 = auVar18;\n      auVar18 = FUN_00355fc0(param_1,auVar18._0_8_,CONCAT44(uStack_ac,auVar18._8_4_),local_c8,\n                             local_c0,&local_98,0,0x3b,2,param_6,&local_a0);\n      local_b8 = auVar18;\n    }" { (expression_statement "iVar9 = FUN_0034def0(local_b8);" (assignment_expression "iVar9 = FUN_0034def0(local_b8)" identifier = (call_expression "FUN_0034def0(local_b8)" identifier (argument_list "(local_b8)" ( identifier )))) ;) (expression_statement "iVar7 = (**(code **)(*plVar12 + 0x50))(plVar12,0x2d);" (assignment_expression "iVar7 = (**(code **)(*plVar12 + 0x50))(plVar12,0x2d)" identifier = (call_expression "(**(code **)(*plVar12 + 0x50))(plVar12,0x2d)" (parenthesized_expression "(**(code **)(*plVar12 + 0x50))" ( (pointer_expression "**(code **)(*plVar12 + 0x50)" * (pointer_expression "*(code **)(*plVar12 + 0x50)" * (cast_expression "(code **)(*plVar12 + 0x50)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*plVar12 + 0x50)" ( (binary_expression "*plVar12 + 0x50" (pointer_expression "*plVar12" * identifier) + number_literal) ))))) )) (argument_list "(plVar12,0x2d)" ( identifier , number_literal )))) ;) (if_statement "if (iVar9 != iVar7) {\n        iVar9 = FUN_0034def0(local_b8,local_b8._8_4_);\n        iVar7 = (**(code **)(*plVar12 + 0x50))(plVar12,0x2b);\n        if (iVar9 != iVar7) break;\n      }" if (parenthesized_expression "(iVar9 != iVar7)" ( (binary_expression "iVar9 != iVar7" identifier != identifier) )) (compound_statement "{\n        iVar9 = FUN_0034def0(local_b8,local_b8._8_4_);\n        iVar7 = (**(code **)(*plVar12 + 0x50))(plVar12,0x2b);\n        if (iVar9 != iVar7) break;\n      }" { (expression_statement "iVar9 = FUN_0034def0(local_b8,local_b8._8_4_);" (assignment_expression "iVar9 = FUN_0034def0(local_b8,local_b8._8_4_)" identifier = (call_expression "FUN_0034def0(local_b8,local_b8._8_4_)" identifier (argument_list "(local_b8,local_b8._8_4_)" ( identifier , (field_expression "local_b8._8_4_" identifier . field_identifier) )))) ;) (expression_statement "iVar7 = (**(code **)(*plVar12 + 0x50))(plVar12,0x2b);" (assignment_expression "iVar7 = (**(code **)(*plVar12 + 0x50))(plVar12,0x2b)" identifier = (call_expression "(**(code **)(*plVar12 + 0x50))(plVar12,0x2b)" (parenthesized_expression "(**(code **)(*plVar12 + 0x50))" ( (pointer_expression "**(code **)(*plVar12 + 0x50)" * (pointer_expression "*(code **)(*plVar12 + 0x50)" * (cast_expression "(code **)(*plVar12 + 0x50)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*plVar12 + 0x50)" ( (binary_expression "*plVar12 + 0x50" (pointer_expression "*plVar12" * identifier) + number_literal) ))))) )) (argument_list "(plVar12,0x2b)" ( identifier , number_literal )))) ;) (if_statement "if (iVar9 != iVar7) break;" if (parenthesized_expression "(iVar9 != iVar7)" ( (binary_expression "iVar9 != iVar7" identifier != identifier) )) (break_statement "break;" break ;)) })) (expression_statement "auVar18 = FUN_00355fc0(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                             local_c0,&local_98,0,0x17,2,param_6,&local_a0);" (assignment_expression "auVar18 = FUN_00355fc0(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                             local_c0,&local_98,0,0x17,2,param_6,&local_a0)" identifier = (call_expression "FUN_00355fc0(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                             local_c0,&local_98,0,0x17,2,param_6,&local_a0)" identifier (argument_list "(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                             local_c0,&local_98,0,0x17,2,param_6,&local_a0)" ( identifier , (field_expression "local_b8._0_8_" identifier . field_identifier) , (call_expression "CONCAT44(uStack_ac,local_b8._8_4_)" identifier (argument_list "(uStack_ac,local_b8._8_4_)" ( identifier , (field_expression "local_b8._8_4_" identifier . field_identifier) ))) , identifier , identifier , (pointer_expression "&local_98" & identifier) , number_literal , number_literal , number_literal , identifier , (pointer_expression "&local_a0" & identifier) )))) ;) (expression_statement "local_b8 = auVar18;" (assignment_expression "local_b8 = auVar18" identifier = identifier) ;) (expression_statement "auVar18 = FUN_00355fc0(param_1,auVar18._0_8_,CONCAT44(uStack_ac,auVar18._8_4_),local_c8,\n                             local_c0,&local_98,0,0x3b,2,param_6,&local_a0);" (assignment_expression "auVar18 = FUN_00355fc0(param_1,auVar18._0_8_,CONCAT44(uStack_ac,auVar18._8_4_),local_c8,\n                             local_c0,&local_98,0,0x3b,2,param_6,&local_a0)" identifier = (call_expression "FUN_00355fc0(param_1,auVar18._0_8_,CONCAT44(uStack_ac,auVar18._8_4_),local_c8,\n                             local_c0,&local_98,0,0x3b,2,param_6,&local_a0)" identifier (argument_list "(param_1,auVar18._0_8_,CONCAT44(uStack_ac,auVar18._8_4_),local_c8,\n                             local_c0,&local_98,0,0x3b,2,param_6,&local_a0)" ( identifier , (field_expression "auVar18._0_8_" identifier . field_identifier) , (call_expression "CONCAT44(uStack_ac,auVar18._8_4_)" identifier (argument_list "(uStack_ac,auVar18._8_4_)" ( identifier , (field_expression "auVar18._8_4_" identifier . field_identifier) ))) , identifier , identifier , (pointer_expression "&local_98" & identifier) , number_literal , number_literal , number_literal , identifier , (pointer_expression "&local_a0" & identifier) )))) ;) (expression_statement "local_b8 = auVar18;" (assignment_expression "local_b8 = auVar18" identifier = identifier) ;) })) (break_statement "break;" break ;)) (case_statement "case 'a':\n    lVar2 = *(long *)(lVar11 + 0x10);\n    local_98 = *(undefined8 *)(lVar2 + 0x90);\n    local_90 = *(undefined8 *)(lVar2 + 0x98);\n    local_88 = *(undefined8 *)(lVar2 + 0xa0);\n    local_80 = *(undefined8 *)(lVar2 + 0xa8);\n    local_78 = *(undefined8 *)(lVar2 + 0xb0);\n    local_70 = *(undefined8 *)(lVar2 + 0xb8);\n    local_68 = *(undefined8 *)(lVar2 + 0xc0);\n    auVar18 = FUN_00356440(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,&local_9c,&local_98,7,param_6,&local_a0);\njoined_r0x003588cd:\n    local_b8 = auVar18;\n    if (local_a0 == 0) {\n      param_8[6] = local_9c;\n    }\n    break;" case (char_literal "'a'" ' character ') : (expression_statement "lVar2 = *(long *)(lVar11 + 0x10);" (assignment_expression "lVar2 = *(long *)(lVar11 + 0x10)" identifier = (pointer_expression "*(long *)(lVar11 + 0x10)" * (cast_expression "(long *)(lVar11 + 0x10)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar11 + 0x10)" ( (binary_expression "lVar11 + 0x10" identifier + number_literal) ))))) ;) (expression_statement "local_98 = *(undefined8 *)(lVar2 + 0x90);" (assignment_expression "local_98 = *(undefined8 *)(lVar2 + 0x90)" identifier = (pointer_expression "*(undefined8 *)(lVar2 + 0x90)" * (cast_expression "(undefined8 *)(lVar2 + 0x90)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar2 + 0x90)" ( (binary_expression "lVar2 + 0x90" identifier + number_literal) ))))) ;) (expression_statement "local_90 = *(undefined8 *)(lVar2 + 0x98);" (assignment_expression "local_90 = *(undefined8 *)(lVar2 + 0x98)" identifier = (pointer_expression "*(undefined8 *)(lVar2 + 0x98)" * (cast_expression "(undefined8 *)(lVar2 + 0x98)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar2 + 0x98)" ( (binary_expression "lVar2 + 0x98" identifier + number_literal) ))))) ;) (expression_statement "local_88 = *(undefined8 *)(lVar2 + 0xa0);" (assignment_expression "local_88 = *(undefined8 *)(lVar2 + 0xa0)" identifier = (pointer_expression "*(undefined8 *)(lVar2 + 0xa0)" * (cast_expression "(undefined8 *)(lVar2 + 0xa0)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar2 + 0xa0)" ( (binary_expression "lVar2 + 0xa0" identifier + number_literal) ))))) ;) (expression_statement "local_80 = *(undefined8 *)(lVar2 + 0xa8);" (assignment_expression "local_80 = *(undefined8 *)(lVar2 + 0xa8)" identifier = (pointer_expression "*(undefined8 *)(lVar2 + 0xa8)" * (cast_expression "(undefined8 *)(lVar2 + 0xa8)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar2 + 0xa8)" ( (binary_expression "lVar2 + 0xa8" identifier + number_literal) ))))) ;) (expression_statement "local_78 = *(undefined8 *)(lVar2 + 0xb0);" (assignment_expression "local_78 = *(undefined8 *)(lVar2 + 0xb0)" identifier = (pointer_expression "*(undefined8 *)(lVar2 + 0xb0)" * (cast_expression "(undefined8 *)(lVar2 + 0xb0)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar2 + 0xb0)" ( (binary_expression "lVar2 + 0xb0" identifier + number_literal) ))))) ;) (expression_statement "local_70 = *(undefined8 *)(lVar2 + 0xb8);" (assignment_expression "local_70 = *(undefined8 *)(lVar2 + 0xb8)" identifier = (pointer_expression "*(undefined8 *)(lVar2 + 0xb8)" * (cast_expression "(undefined8 *)(lVar2 + 0xb8)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar2 + 0xb8)" ( (binary_expression "lVar2 + 0xb8" identifier + number_literal) ))))) ;) (expression_statement "local_68 = *(undefined8 *)(lVar2 + 0xc0);" (assignment_expression "local_68 = *(undefined8 *)(lVar2 + 0xc0)" identifier = (pointer_expression "*(undefined8 *)(lVar2 + 0xc0)" * (cast_expression "(undefined8 *)(lVar2 + 0xc0)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar2 + 0xc0)" ( (binary_expression "lVar2 + 0xc0" identifier + number_literal) ))))) ;) (expression_statement "auVar18 = FUN_00356440(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,&local_9c,&local_98,7,param_6,&local_a0);" (assignment_expression "auVar18 = FUN_00356440(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,&local_9c,&local_98,7,param_6,&local_a0)" identifier = (call_expression "FUN_00356440(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,&local_9c,&local_98,7,param_6,&local_a0)" identifier (argument_list "(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,&local_9c,&local_98,7,param_6,&local_a0)" ( identifier , (field_expression "local_b8._0_8_" identifier . field_identifier) , (call_expression "CONCAT44(uStack_ac,local_b8._8_4_)" identifier (argument_list "(uStack_ac,local_b8._8_4_)" ( identifier , (field_expression "local_b8._8_4_" identifier . field_identifier) ))) , identifier , identifier , (pointer_expression "&local_9c" & identifier) , (pointer_expression "&local_98" & identifier) , number_literal , identifier , (pointer_expression "&local_a0" & identifier) )))) ;) (labeled_statement "joined_r0x003588cd:\n    local_b8 = auVar18;" statement_identifier : (expression_statement "local_b8 = auVar18;" (assignment_expression "local_b8 = auVar18" identifier = identifier) ;)) (if_statement "if (local_a0 == 0) {\n      param_8[6] = local_9c;\n    }" if (parenthesized_expression "(local_a0 == 0)" ( (binary_expression "local_a0 == 0" identifier == number_literal) )) (compound_statement "{\n      param_8[6] = local_9c;\n    }" { (expression_statement "param_8[6] = local_9c;" (assignment_expression "param_8[6] = local_9c" (subscript_expression "param_8[6]" identifier [ number_literal ]) = identifier) ;) })) (break_statement "break;" break ;)) (case_statement "case 'b':" case (char_literal "'b'" ' character ') :) (case_statement "case 'h':\n    lVar2 = *(long *)(lVar11 + 0x10);\n    local_98 = *(undefined8 *)(lVar2 + 0x128);\n    local_90 = *(undefined8 *)(lVar2 + 0x130);\n    local_88 = *(undefined8 *)(lVar2 + 0x138);\n    local_80 = *(undefined8 *)(lVar2 + 0x140);\n    local_78 = *(undefined8 *)(lVar2 + 0x148);\n    local_70 = *(undefined8 *)(lVar2 + 0x150);\n    local_68 = *(undefined8 *)(lVar2 + 0x158);\n    local_60 = *(undefined8 *)(lVar2 + 0x160);\n    local_58 = *(undefined8 *)(lVar2 + 0x168);\n    local_50 = *(undefined8 *)(lVar2 + 0x170);\n    local_48 = *(undefined8 *)(lVar2 + 0x178);\n    local_40 = *(undefined8 *)(lVar2 + 0x180);\n    auVar18 = FUN_00356440(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,&local_9c,&local_98,0xc,param_6,&local_a0);\njoined_r0x00358a12:\n    local_b8 = auVar18;\n    if (local_a0 == 0) {\n      param_8[4] = local_9c;\n    }\n    break;" case (char_literal "'h'" ' character ') : (expression_statement "lVar2 = *(long *)(lVar11 + 0x10);" (assignment_expression "lVar2 = *(long *)(lVar11 + 0x10)" identifier = (pointer_expression "*(long *)(lVar11 + 0x10)" * (cast_expression "(long *)(lVar11 + 0x10)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar11 + 0x10)" ( (binary_expression "lVar11 + 0x10" identifier + number_literal) ))))) ;) (expression_statement "local_98 = *(undefined8 *)(lVar2 + 0x128);" (assignment_expression "local_98 = *(undefined8 *)(lVar2 + 0x128)" identifier = (pointer_expression "*(undefined8 *)(lVar2 + 0x128)" * (cast_expression "(undefined8 *)(lVar2 + 0x128)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar2 + 0x128)" ( (binary_expression "lVar2 + 0x128" identifier + number_literal) ))))) ;) (expression_statement "local_90 = *(undefined8 *)(lVar2 + 0x130);" (assignment_expression "local_90 = *(undefined8 *)(lVar2 + 0x130)" identifier = (pointer_expression "*(undefined8 *)(lVar2 + 0x130)" * (cast_expression "(undefined8 *)(lVar2 + 0x130)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar2 + 0x130)" ( (binary_expression "lVar2 + 0x130" identifier + number_literal) ))))) ;) (expression_statement "local_88 = *(undefined8 *)(lVar2 + 0x138);" (assignment_expression "local_88 = *(undefined8 *)(lVar2 + 0x138)" identifier = (pointer_expression "*(undefined8 *)(lVar2 + 0x138)" * (cast_expression "(undefined8 *)(lVar2 + 0x138)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar2 + 0x138)" ( (binary_expression "lVar2 + 0x138" identifier + number_literal) ))))) ;) (expression_statement "local_80 = *(undefined8 *)(lVar2 + 0x140);" (assignment_expression "local_80 = *(undefined8 *)(lVar2 + 0x140)" identifier = (pointer_expression "*(undefined8 *)(lVar2 + 0x140)" * (cast_expression "(undefined8 *)(lVar2 + 0x140)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar2 + 0x140)" ( (binary_expression "lVar2 + 0x140" identifier + number_literal) ))))) ;) (expression_statement "local_78 = *(undefined8 *)(lVar2 + 0x148);" (assignment_expression "local_78 = *(undefined8 *)(lVar2 + 0x148)" identifier = (pointer_expression "*(undefined8 *)(lVar2 + 0x148)" * (cast_expression "(undefined8 *)(lVar2 + 0x148)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar2 + 0x148)" ( (binary_expression "lVar2 + 0x148" identifier + number_literal) ))))) ;) (expression_statement "local_70 = *(undefined8 *)(lVar2 + 0x150);" (assignment_expression "local_70 = *(undefined8 *)(lVar2 + 0x150)" identifier = (pointer_expression "*(undefined8 *)(lVar2 + 0x150)" * (cast_expression "(undefined8 *)(lVar2 + 0x150)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar2 + 0x150)" ( (binary_expression "lVar2 + 0x150" identifier + number_literal) ))))) ;) (expression_statement "local_68 = *(undefined8 *)(lVar2 + 0x158);" (assignment_expression "local_68 = *(undefined8 *)(lVar2 + 0x158)" identifier = (pointer_expression "*(undefined8 *)(lVar2 + 0x158)" * (cast_expression "(undefined8 *)(lVar2 + 0x158)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar2 + 0x158)" ( (binary_expression "lVar2 + 0x158" identifier + number_literal) ))))) ;) (expression_statement "local_60 = *(undefined8 *)(lVar2 + 0x160);" (assignment_expression "local_60 = *(undefined8 *)(lVar2 + 0x160)" identifier = (pointer_expression "*(undefined8 *)(lVar2 + 0x160)" * (cast_expression "(undefined8 *)(lVar2 + 0x160)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar2 + 0x160)" ( (binary_expression "lVar2 + 0x160" identifier + number_literal) ))))) ;) (expression_statement "local_58 = *(undefined8 *)(lVar2 + 0x168);" (assignment_expression "local_58 = *(undefined8 *)(lVar2 + 0x168)" identifier = (pointer_expression "*(undefined8 *)(lVar2 + 0x168)" * (cast_expression "(undefined8 *)(lVar2 + 0x168)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar2 + 0x168)" ( (binary_expression "lVar2 + 0x168" identifier + number_literal) ))))) ;) (expression_statement "local_50 = *(undefined8 *)(lVar2 + 0x170);" (assignment_expression "local_50 = *(undefined8 *)(lVar2 + 0x170)" identifier = (pointer_expression "*(undefined8 *)(lVar2 + 0x170)" * (cast_expression "(undefined8 *)(lVar2 + 0x170)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar2 + 0x170)" ( (binary_expression "lVar2 + 0x170" identifier + number_literal) ))))) ;) (expression_statement "local_48 = *(undefined8 *)(lVar2 + 0x178);" (assignment_expression "local_48 = *(undefined8 *)(lVar2 + 0x178)" identifier = (pointer_expression "*(undefined8 *)(lVar2 + 0x178)" * (cast_expression "(undefined8 *)(lVar2 + 0x178)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar2 + 0x178)" ( (binary_expression "lVar2 + 0x178" identifier + number_literal) ))))) ;) (expression_statement "local_40 = *(undefined8 *)(lVar2 + 0x180);" (assignment_expression "local_40 = *(undefined8 *)(lVar2 + 0x180)" identifier = (pointer_expression "*(undefined8 *)(lVar2 + 0x180)" * (cast_expression "(undefined8 *)(lVar2 + 0x180)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar2 + 0x180)" ( (binary_expression "lVar2 + 0x180" identifier + number_literal) ))))) ;) (expression_statement "auVar18 = FUN_00356440(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,&local_9c,&local_98,0xc,param_6,&local_a0);" (assignment_expression "auVar18 = FUN_00356440(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,&local_9c,&local_98,0xc,param_6,&local_a0)" identifier = (call_expression "FUN_00356440(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,&local_9c,&local_98,0xc,param_6,&local_a0)" identifier (argument_list "(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,&local_9c,&local_98,0xc,param_6,&local_a0)" ( identifier , (field_expression "local_b8._0_8_" identifier . field_identifier) , (call_expression "CONCAT44(uStack_ac,local_b8._8_4_)" identifier (argument_list "(uStack_ac,local_b8._8_4_)" ( identifier , (field_expression "local_b8._8_4_" identifier . field_identifier) ))) , identifier , identifier , (pointer_expression "&local_9c" & identifier) , (pointer_expression "&local_98" & identifier) , number_literal , identifier , (pointer_expression "&local_a0" & identifier) )))) ;) (labeled_statement "joined_r0x00358a12:\n    local_b8 = auVar18;" statement_identifier : (expression_statement "local_b8 = auVar18;" (assignment_expression "local_b8 = auVar18" identifier = identifier) ;)) (if_statement "if (local_a0 == 0) {\n      param_8[4] = local_9c;\n    }" if (parenthesized_expression "(local_a0 == 0)" ( (binary_expression "local_a0 == 0" identifier == number_literal) )) (compound_statement "{\n      param_8[4] = local_9c;\n    }" { (expression_statement "param_8[4] = local_9c;" (assignment_expression "param_8[4] = local_9c" (subscript_expression "param_8[4]" identifier [ number_literal ]) = identifier) ;) })) (break_statement "break;" break ;)) (case_statement "case 'c':\n    auVar18 = FUN_00357f80(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,param_6,&local_a0,param_8,\n                           *(undefined8 *)(*(long *)(lVar11 + 0x10) + 0x30));\n    local_b8 = auVar18;\n    break;" case (char_literal "'c'" ' character ') : (expression_statement "auVar18 = FUN_00357f80(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,param_6,&local_a0,param_8,\n                           *(undefined8 *)(*(long *)(lVar11 + 0x10) + 0x30));" (assignment_expression "auVar18 = FUN_00357f80(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,param_6,&local_a0,param_8,\n                           *(undefined8 *)(*(long *)(lVar11 + 0x10) + 0x30))" identifier = (call_expression "FUN_00357f80(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,param_6,&local_a0,param_8,\n                           *(undefined8 *)(*(long *)(lVar11 + 0x10) + 0x30))" identifier (argument_list "(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,param_6,&local_a0,param_8,\n                           *(undefined8 *)(*(long *)(lVar11 + 0x10) + 0x30))" ( identifier , (field_expression "local_b8._0_8_" identifier . field_identifier) , (call_expression "CONCAT44(uStack_ac,local_b8._8_4_)" identifier (argument_list "(uStack_ac,local_b8._8_4_)" ( identifier , (field_expression "local_b8._8_4_" identifier . field_identifier) ))) , identifier , identifier , identifier , (pointer_expression "&local_a0" & identifier) , identifier , (pointer_expression "*(undefined8 *)(*(long *)(lVar11 + 0x10) + 0x30)" * (cast_expression "(undefined8 *)(*(long *)(lVar11 + 0x10) + 0x30)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(long *)(lVar11 + 0x10) + 0x30)" ( (binary_expression "*(long *)(lVar11 + 0x10) + 0x30" (pointer_expression "*(long *)(lVar11 + 0x10)" * (cast_expression "(long *)(lVar11 + 0x10)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar11 + 0x10)" ( (binary_expression "lVar11 + 0x10" identifier + number_literal) )))) + number_literal) )))) )))) ;) (expression_statement "local_b8 = auVar18;" (assignment_expression "local_b8 = auVar18" identifier = identifier) ;) (break_statement "break;" break ;)) (case_statement "case 'd':\n    auVar18 = FUN_00355fc0(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,&local_9c,1,0x1f,2,param_6,&local_a0);\n    goto joined_r0x00358be9;" case (char_literal "'d'" ' character ') : (expression_statement "auVar18 = FUN_00355fc0(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,&local_9c,1,0x1f,2,param_6,&local_a0);" (assignment_expression "auVar18 = FUN_00355fc0(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,&local_9c,1,0x1f,2,param_6,&local_a0)" identifier = (call_expression "FUN_00355fc0(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,&local_9c,1,0x1f,2,param_6,&local_a0)" identifier (argument_list "(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,&local_9c,1,0x1f,2,param_6,&local_a0)" ( identifier , (field_expression "local_b8._0_8_" identifier . field_identifier) , (call_expression "CONCAT44(uStack_ac,local_b8._8_4_)" identifier (argument_list "(uStack_ac,local_b8._8_4_)" ( identifier , (field_expression "local_b8._8_4_" identifier . field_identifier) ))) , identifier , identifier , (pointer_expression "&local_9c" & identifier) , number_literal , number_literal , number_literal , identifier , (pointer_expression "&local_a0" & identifier) )))) ;) (goto_statement "goto joined_r0x00358be9;" goto statement_identifier ;)) (case_statement "case 'e':\n    uVar8 = FUN_0034def0(local_b8,local_b8._8_4_);\n    cVar6 = (**(code **)(*plVar12 + 0x10))(plVar12,0x2000,uVar8);\n    if (cVar6 == '\0') {\n      auVar18 = FUN_00355fc0(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                             local_c0,&local_9c,10,0x1f,2,param_6,&local_a0);\n    }\n    else {\n      FUN_002fc080(local_b8._0_8_);\n      local_b8._8_4_ = 0xffffffff;\n      auVar18 = FUN_00355fc0(param_1,local_b8._0_8_,CONCAT44(uStack_ac,0xffffffff),local_c8,local_c0\n                             ,&local_9c,1,9,1,param_6,&local_a0);\n    }\njoined_r0x00358be9:\n    local_b8 = auVar18;\n    if (local_a0 == 0) {\n      param_8[3] = local_9c;\n    }\n    break;" case (char_literal "'e'" ' character ') : (expression_statement "uVar8 = FUN_0034def0(local_b8,local_b8._8_4_);" (assignment_expression "uVar8 = FUN_0034def0(local_b8,local_b8._8_4_)" identifier = (call_expression "FUN_0034def0(local_b8,local_b8._8_4_)" identifier (argument_list "(local_b8,local_b8._8_4_)" ( identifier , (field_expression "local_b8._8_4_" identifier . field_identifier) )))) ;) (expression_statement "cVar6 = (**(code **)(*plVar12 + 0x10))(plVar12,0x2000,uVar8);" (assignment_expression "cVar6 = (**(code **)(*plVar12 + 0x10))(plVar12,0x2000,uVar8)" identifier = (call_expression "(**(code **)(*plVar12 + 0x10))(plVar12,0x2000,uVar8)" (parenthesized_expression "(**(code **)(*plVar12 + 0x10))" ( (pointer_expression "**(code **)(*plVar12 + 0x10)" * (pointer_expression "*(code **)(*plVar12 + 0x10)" * (cast_expression "(code **)(*plVar12 + 0x10)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*plVar12 + 0x10)" ( (binary_expression "*plVar12 + 0x10" (pointer_expression "*plVar12" * identifier) + number_literal) ))))) )) (argument_list "(plVar12,0x2000,uVar8)" ( identifier , number_literal , identifier )))) ;) (if_statement "if (cVar6 == '\0') {\n      auVar18 = FUN_00355fc0(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                             local_c0,&local_9c,10,0x1f,2,param_6,&local_a0);\n    }\n    else {\n      FUN_002fc080(local_b8._0_8_);\n      local_b8._8_4_ = 0xffffffff;\n      auVar18 = FUN_00355fc0(param_1,local_b8._0_8_,CONCAT44(uStack_ac,0xffffffff),local_c8,local_c0\n                             ,&local_9c,1,9,1,param_6,&local_a0);\n    }" if (parenthesized_expression "(cVar6 == '\0')" ( (binary_expression "cVar6 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n      auVar18 = FUN_00355fc0(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                             local_c0,&local_9c,10,0x1f,2,param_6,&local_a0);\n    }" { (expression_statement "auVar18 = FUN_00355fc0(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                             local_c0,&local_9c,10,0x1f,2,param_6,&local_a0);" (assignment_expression "auVar18 = FUN_00355fc0(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                             local_c0,&local_9c,10,0x1f,2,param_6,&local_a0)" identifier = (call_expression "FUN_00355fc0(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                             local_c0,&local_9c,10,0x1f,2,param_6,&local_a0)" identifier (argument_list "(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                             local_c0,&local_9c,10,0x1f,2,param_6,&local_a0)" ( identifier , (field_expression "local_b8._0_8_" identifier . field_identifier) , (call_expression "CONCAT44(uStack_ac,local_b8._8_4_)" identifier (argument_list "(uStack_ac,local_b8._8_4_)" ( identifier , (field_expression "local_b8._8_4_" identifier . field_identifier) ))) , identifier , identifier , (pointer_expression "&local_9c" & identifier) , number_literal , number_literal , number_literal , identifier , (pointer_expression "&local_a0" & identifier) )))) ;) }) (else_clause "else {\n      FUN_002fc080(local_b8._0_8_);\n      local_b8._8_4_ = 0xffffffff;\n      auVar18 = FUN_00355fc0(param_1,local_b8._0_8_,CONCAT44(uStack_ac,0xffffffff),local_c8,local_c0\n                             ,&local_9c,1,9,1,param_6,&local_a0);\n    }" else (compound_statement "{\n      FUN_002fc080(local_b8._0_8_);\n      local_b8._8_4_ = 0xffffffff;\n      auVar18 = FUN_00355fc0(param_1,local_b8._0_8_,CONCAT44(uStack_ac,0xffffffff),local_c8,local_c0\n                             ,&local_9c,1,9,1,param_6,&local_a0);\n    }" { (expression_statement "FUN_002fc080(local_b8._0_8_);" (call_expression "FUN_002fc080(local_b8._0_8_)" identifier (argument_list "(local_b8._0_8_)" ( (field_expression "local_b8._0_8_" identifier . field_identifier) ))) ;) (expression_statement "local_b8._8_4_ = 0xffffffff;" (assignment_expression "local_b8._8_4_ = 0xffffffff" (field_expression "local_b8._8_4_" identifier . field_identifier) = number_literal) ;) (expression_statement "auVar18 = FUN_00355fc0(param_1,local_b8._0_8_,CONCAT44(uStack_ac,0xffffffff),local_c8,local_c0\n                             ,&local_9c,1,9,1,param_6,&local_a0);" (assignment_expression "auVar18 = FUN_00355fc0(param_1,local_b8._0_8_,CONCAT44(uStack_ac,0xffffffff),local_c8,local_c0\n                             ,&local_9c,1,9,1,param_6,&local_a0)" identifier = (call_expression "FUN_00355fc0(param_1,local_b8._0_8_,CONCAT44(uStack_ac,0xffffffff),local_c8,local_c0\n                             ,&local_9c,1,9,1,param_6,&local_a0)" identifier (argument_list "(param_1,local_b8._0_8_,CONCAT44(uStack_ac,0xffffffff),local_c8,local_c0\n                             ,&local_9c,1,9,1,param_6,&local_a0)" ( identifier , (field_expression "local_b8._0_8_" identifier . field_identifier) , (call_expression "CONCAT44(uStack_ac,0xffffffff)" identifier (argument_list "(uStack_ac,0xffffffff)" ( identifier , number_literal ))) , identifier , identifier , (pointer_expression "&local_9c" & identifier) , number_literal , number_literal , number_literal , identifier , (pointer_expression "&local_a0" & identifier) )))) ;) }))) (labeled_statement "joined_r0x00358be9:\n    local_b8 = auVar18;" statement_identifier : (expression_statement "local_b8 = auVar18;" (assignment_expression "local_b8 = auVar18" identifier = identifier) ;)) (if_statement "if (local_a0 == 0) {\n      param_8[3] = local_9c;\n    }" if (parenthesized_expression "(local_a0 == 0)" ( (binary_expression "local_a0 == 0" identifier == number_literal) )) (compound_statement "{\n      param_8[3] = local_9c;\n    }" { (expression_statement "param_8[3] = local_9c;" (assignment_expression "param_8[3] = local_9c" (subscript_expression "param_8[3]" identifier [ number_literal ]) = identifier) ;) })) (break_statement "break;" break ;)) (case_statement "case 'm':\n    auVar18 = FUN_00355fc0(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,&local_9c,1,0xc,2,param_6,&local_a0);\n    local_b8 = auVar18;\n    if (local_a0 == 0) {\n      param_8[4] = local_9c + -1;\n    }\n    break;" case (char_literal "'m'" ' character ') : (expression_statement "auVar18 = FUN_00355fc0(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,&local_9c,1,0xc,2,param_6,&local_a0);" (assignment_expression "auVar18 = FUN_00355fc0(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,&local_9c,1,0xc,2,param_6,&local_a0)" identifier = (call_expression "FUN_00355fc0(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,&local_9c,1,0xc,2,param_6,&local_a0)" identifier (argument_list "(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,&local_9c,1,0xc,2,param_6,&local_a0)" ( identifier , (field_expression "local_b8._0_8_" identifier . field_identifier) , (call_expression "CONCAT44(uStack_ac,local_b8._8_4_)" identifier (argument_list "(uStack_ac,local_b8._8_4_)" ( identifier , (field_expression "local_b8._8_4_" identifier . field_identifier) ))) , identifier , identifier , (pointer_expression "&local_9c" & identifier) , number_literal , number_literal , number_literal , identifier , (pointer_expression "&local_a0" & identifier) )))) ;) (expression_statement "local_b8 = auVar18;" (assignment_expression "local_b8 = auVar18" identifier = identifier) ;) (if_statement "if (local_a0 == 0) {\n      param_8[4] = local_9c + -1;\n    }" if (parenthesized_expression "(local_a0 == 0)" ( (binary_expression "local_a0 == 0" identifier == number_literal) )) (compound_statement "{\n      param_8[4] = local_9c + -1;\n    }" { (expression_statement "param_8[4] = local_9c + -1;" (assignment_expression "param_8[4] = local_9c + -1" (subscript_expression "param_8[4]" identifier [ number_literal ]) = (binary_expression "local_9c + -1" identifier + number_literal)) ;) })) (break_statement "break;" break ;)) (case_statement "case 'n':\n    uVar8 = FUN_0034def0(local_b8,local_b8._8_4_);\n    cVar6 = (**(code **)(*plVar12 + 0x60))(plVar12,uVar8,0);\n    if (cVar6 != '\n') goto switchD_003580fd_caseD_45;\nLAB_003590ce:\n    FUN_002fc080(local_b8._0_8_);\n    local_b8._8_4_ = 0xffffffff;\n    break;" case (char_literal "'n'" ' character ') : (expression_statement "uVar8 = FUN_0034def0(local_b8,local_b8._8_4_);" (assignment_expression "uVar8 = FUN_0034def0(local_b8,local_b8._8_4_)" identifier = (call_expression "FUN_0034def0(local_b8,local_b8._8_4_)" identifier (argument_list "(local_b8,local_b8._8_4_)" ( identifier , (field_expression "local_b8._8_4_" identifier . field_identifier) )))) ;) (expression_statement "cVar6 = (**(code **)(*plVar12 + 0x60))(plVar12,uVar8,0);" (assignment_expression "cVar6 = (**(code **)(*plVar12 + 0x60))(plVar12,uVar8,0)" identifier = (call_expression "(**(code **)(*plVar12 + 0x60))(plVar12,uVar8,0)" (parenthesized_expression "(**(code **)(*plVar12 + 0x60))" ( (pointer_expression "**(code **)(*plVar12 + 0x60)" * (pointer_expression "*(code **)(*plVar12 + 0x60)" * (cast_expression "(code **)(*plVar12 + 0x60)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*plVar12 + 0x60)" ( (binary_expression "*plVar12 + 0x60" (pointer_expression "*plVar12" * identifier) + number_literal) ))))) )) (argument_list "(plVar12,uVar8,0)" ( identifier , identifier , number_literal )))) ;) (if_statement "if (cVar6 != '\n') goto switchD_003580fd_caseD_45;" if (parenthesized_expression "(cVar6 != '\n')" ( (binary_expression "cVar6 != '\n'" identifier != (char_literal "'\n'" ' escape_sequence ')) )) (goto_statement "goto switchD_003580fd_caseD_45;" goto statement_identifier ;)) (labeled_statement "LAB_003590ce:\n    FUN_002fc080(local_b8._0_8_);" statement_identifier : (expression_statement "FUN_002fc080(local_b8._0_8_);" (call_expression "FUN_002fc080(local_b8._0_8_)" identifier (argument_list "(local_b8._0_8_)" ( (field_expression "local_b8._0_8_" identifier . field_identifier) ))) ;)) (expression_statement "local_b8._8_4_ = 0xffffffff;" (assignment_expression "local_b8._8_4_ = 0xffffffff" (field_expression "local_b8._8_4_" identifier . field_identifier) = number_literal) ;) (break_statement "break;" break ;)) (case_statement "case 't':\n    uVar8 = FUN_0034def0(local_b8,local_b8._8_4_);\n    cVar6 = (**(code **)(*plVar12 + 0x60))(plVar12,uVar8,0);\n    if (cVar6 == '\t') goto LAB_003590ce;\n    goto switchD_003580fd_caseD_45;" case (char_literal "'t'" ' character ') : (expression_statement "uVar8 = FUN_0034def0(local_b8,local_b8._8_4_);" (assignment_expression "uVar8 = FUN_0034def0(local_b8,local_b8._8_4_)" identifier = (call_expression "FUN_0034def0(local_b8,local_b8._8_4_)" identifier (argument_list "(local_b8,local_b8._8_4_)" ( identifier , (field_expression "local_b8._8_4_" identifier . field_identifier) )))) ;) (expression_statement "cVar6 = (**(code **)(*plVar12 + 0x60))(plVar12,uVar8,0);" (assignment_expression "cVar6 = (**(code **)(*plVar12 + 0x60))(plVar12,uVar8,0)" identifier = (call_expression "(**(code **)(*plVar12 + 0x60))(plVar12,uVar8,0)" (parenthesized_expression "(**(code **)(*plVar12 + 0x60))" ( (pointer_expression "**(code **)(*plVar12 + 0x60)" * (pointer_expression "*(code **)(*plVar12 + 0x60)" * (cast_expression "(code **)(*plVar12 + 0x60)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*plVar12 + 0x60)" ( (binary_expression "*plVar12 + 0x60" (pointer_expression "*plVar12" * identifier) + number_literal) ))))) )) (argument_list "(plVar12,uVar8,0)" ( identifier , identifier , number_literal )))) ;) (if_statement "if (cVar6 == '\t') goto LAB_003590ce;" if (parenthesized_expression "(cVar6 == '\t')" ( (binary_expression "cVar6 == '\t'" identifier == (char_literal "'\t'" ' escape_sequence ')) )) (goto_statement "goto LAB_003590ce;" goto statement_identifier ;)) (goto_statement "goto switchD_003580fd_caseD_45;" goto statement_identifier ;)) (case_statement "case 'x':\n    auVar18 = FUN_00357f80(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,param_6,&local_a0,param_8,\n                           *(undefined8 *)(*(long *)(lVar11 + 0x10) + 0x10));\n    local_b8 = auVar18;" case (char_literal "'x'" ' character ') : (expression_statement "auVar18 = FUN_00357f80(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,param_6,&local_a0,param_8,\n                           *(undefined8 *)(*(long *)(lVar11 + 0x10) + 0x10));" (assignment_expression "auVar18 = FUN_00357f80(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,param_6,&local_a0,param_8,\n                           *(undefined8 *)(*(long *)(lVar11 + 0x10) + 0x10))" identifier = (call_expression "FUN_00357f80(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,param_6,&local_a0,param_8,\n                           *(undefined8 *)(*(long *)(lVar11 + 0x10) + 0x10))" identifier (argument_list "(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,param_6,&local_a0,param_8,\n                           *(undefined8 *)(*(long *)(lVar11 + 0x10) + 0x10))" ( identifier , (field_expression "local_b8._0_8_" identifier . field_identifier) , (call_expression "CONCAT44(uStack_ac,local_b8._8_4_)" identifier (argument_list "(uStack_ac,local_b8._8_4_)" ( identifier , (field_expression "local_b8._8_4_" identifier . field_identifier) ))) , identifier , identifier , identifier , (pointer_expression "&local_a0" & identifier) , identifier , (pointer_expression "*(undefined8 *)(*(long *)(lVar11 + 0x10) + 0x10)" * (cast_expression "(undefined8 *)(*(long *)(lVar11 + 0x10) + 0x10)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(long *)(lVar11 + 0x10) + 0x10)" ( (binary_expression "*(long *)(lVar11 + 0x10) + 0x10" (pointer_expression "*(long *)(lVar11 + 0x10)" * (cast_expression "(long *)(lVar11 + 0x10)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar11 + 0x10)" ( (binary_expression "lVar11 + 0x10" identifier + number_literal) )))) + number_literal) )))) )))) ;) (expression_statement "local_b8 = auVar18;" (assignment_expression "local_b8 = auVar18" identifier = identifier) ;)) })) (labeled_statement "LAB_00358248:\n  uVar15 = uVar14 + 1;" statement_identifier : (expression_statement "uVar15 = uVar14 + 1;" (assignment_expression "uVar15 = uVar14 + 1" identifier = (binary_expression "uVar14 + 1" identifier + number_literal)) ;)) (goto_statement "goto LAB_00358033;" goto statement_identifier ;) (labeled_statement "switchD_003580fd_caseD_45:\n  local_a0 = local_a0 | 4;" statement_identifier : (expression_statement "local_a0 = local_a0 | 4;" (assignment_expression "local_a0 = local_a0 | 4" identifier = (binary_expression "local_a0 | 4" identifier | number_literal)) ;)) (goto_statement "goto LAB_00358248;" goto statement_identifier ;) (ERROR "}" }))
(translation_unit (expression_statement (subscript_expression IDENT [ LIT ]) ;) (declaration (macro_type_specifier IDENT ( (type_descriptor TYPE) )) IDENT , IDENT (ERROR IDENT) , IDENT (ERROR IDENT) , (ERROR IDENT) (pointer_declarator * IDENT) , IDENT (ERROR IDENT) , (ERROR IDENT) IDENT , (ERROR IDENT) (pointer_declarator * IDENT) , (ERROR IDENT) (pointer_declarator * IDENT) , (ERROR IDENT (pointer_declarator * IDENT) ) { IDENT) IDENT ;) (declaration (sized_type_specifier long) IDENT ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration (sized_type_specifier long) IDENT ;) (declaration (sized_type_specifier long) (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration (sized_type_specifier long) (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (field_expression IDENT . field_identifier)) != (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) LIT)) && (binary_expression (field_expression IDENT . field_identifier) == LIT))) ;)) (expression_statement (assignment_expression IDENT = (binary_expression (field_expression IDENT . field_identifier) == LIT)) ;) (if_statement if (parenthesized_expression ( IDENT )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (field_expression IDENT . field_identifier) + LIT) )))) < (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (field_expression IDENT . field_identifier) + LIT) ))))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (field_expression IDENT . field_identifier) + LIT) )))))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (field_expression IDENT . field_identifier))) + LIT) ))))) )) (argument_list ( )))) ;) }))) (expression_statement (assignment_expression IDENT = BOOL) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = LIT) ;) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (field_expression IDENT . field_identifier)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT << LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) })) })) (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) == LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT != (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) LIT)) && IDENT)) ;) (if_statement if (parenthesized_expression ( IDENT )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ])) < (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ])))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) ))))) )) (argument_list ( )))) ;) }))) (expression_statement (assignment_expression IDENT = BOOL) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != IDENT) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == IDENT) )) && (parenthesized_expression ( (binary_expression IDENT == LIT) ))) )) (goto_statement goto statement_identifier ;))) (labeled_statement statement_identifier : (expression_statement (assignment_expression (pointer_expression * IDENT) = (binary_expression (pointer_expression * IDENT) | LIT)) ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = IDENT) ;)) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = IDENT) ;) (return_statement return IDENT ;) })) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT == IDENT) )) (goto_statement goto statement_identifier ;))) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT <= IDENT) )) (goto_statement goto statement_identifier ;))) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) ))))) )) (argument_list ( IDENT , (subscript_expression IDENT [ IDENT ]) , LIT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (char_literal ' character ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ IDENT ])) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (field_expression IDENT . field_identifier) == (char_literal L' escape_sequence character character character character ')) )) && (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (field_expression IDENT . field_identifier)) != (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) LIT)) ))) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (field_expression IDENT . field_identifier) + LIT) )))) < (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (field_expression IDENT . field_identifier) + LIT) ))))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (field_expression IDENT . field_identifier) + LIT) )))))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (field_expression IDENT . field_identifier))) + LIT) ))))) )) (argument_list ( )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }))) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (field_expression IDENT . field_identifier)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (char_literal L' escape_sequence character character character character ')) )) (compound_statement { (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = LIT) ;) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (field_expression IDENT . field_identifier)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT << LIT)) ;) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (char_literal L' escape_sequence character character character character ')) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == IDENT) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression IDENT | LIT)) ;)) }) (else_clause else (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression IDENT != (field_expression IDENT . field_identifier))) ;)) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( IDENT )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (field_expression IDENT . field_identifier)) ;)) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (field_expression IDENT . field_identifier) + LIT) )))) < (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (field_expression IDENT . field_identifier) + LIT) ))))) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (field_expression IDENT . field_identifier) + LIT) )))) = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (field_expression IDENT . field_identifier) + LIT) )))) + LIT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (field_expression IDENT . field_identifier)))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( ))) ;) }))) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = LIT) ;) }))) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) ))))) )) (argument_list ( IDENT , (subscript_expression IDENT [ (binary_expression IDENT + LIT) ]) , LIT )))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == (char_literal ' character ')) )) || (parenthesized_expression ( (binary_expression IDENT == (char_literal ' character ')) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) ))))) )) (argument_list ( IDENT , (subscript_expression IDENT [ (binary_expression IDENT + LIT) ]) , LIT )))) ;) })) (switch_statement switch (parenthesized_expression ( IDENT )) (compound_statement { (case_statement case (char_literal ' character ') : (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (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 IDENT = (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) ))))) ;) (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 = (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) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (field_expression IDENT . field_identifier) , (call_expression IDENT (argument_list ( IDENT , (field_expression IDENT . field_identifier) ))) , IDENT , IDENT , (pointer_expression & IDENT) , (pointer_expression & IDENT) , LIT , IDENT , (pointer_expression & IDENT) )))) ;) (goto_statement goto statement_identifier ;)) (case_statement case (char_literal ' character ') : (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (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 IDENT = (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) ))))) ;) (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 = (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) ))))) ;) (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 = (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) ))))) ;) (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 = (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) ))))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (field_expression IDENT . field_identifier) , (call_expression IDENT (argument_list ( IDENT , (field_expression IDENT . field_identifier) ))) , IDENT , IDENT , (pointer_expression & IDENT) , (pointer_expression & IDENT) , LIT , IDENT , (pointer_expression & IDENT) )))) ;) (goto_statement goto statement_identifier ;)) (case_statement case (char_literal ' character ') :) (case_statement case (char_literal ' character ') :) (case_statement case (char_literal ' character ') : (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (field_expression IDENT . field_identifier) , (call_expression IDENT (argument_list ( IDENT , (field_expression IDENT . field_identifier) ))) , IDENT , IDENT , (pointer_expression & IDENT) , LIT , LIT , LIT , IDENT , (pointer_expression & IDENT) )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (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 (subscript_expression IDENT [ LIT ]) = IDENT) ;) })) (break_statement break ;)) (case_statement case (char_literal ' character ') : (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) ))))) )) (argument_list ( IDENT , (string_literal " string_content ") , (string_literal " string_content ") , (pointer_expression & IDENT) ))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (field_expression IDENT . field_identifier) , (call_expression IDENT (argument_list ( IDENT , (field_expression IDENT . field_identifier) ))) , IDENT , IDENT , IDENT , (pointer_expression & IDENT) , IDENT , (pointer_expression & IDENT) )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (break_statement break ;)) (case_statement default : (goto_statement goto statement_identifier ;)) (case_statement case (char_literal ' character ') : (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (field_expression IDENT . field_identifier) , (call_expression IDENT (argument_list ( IDENT , (field_expression IDENT . field_identifier) ))) , IDENT , IDENT , (pointer_expression & IDENT) , LIT , LIT , LIT , IDENT , (pointer_expression & IDENT) )))) ;) (goto_statement goto statement_identifier ;)) (case_statement case (char_literal ' character ') : (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (field_expression IDENT . field_identifier) , (call_expression IDENT (argument_list ( IDENT , (field_expression IDENT . field_identifier) ))) , IDENT , IDENT , (pointer_expression & IDENT) , LIT , LIT , LIT , IDENT , (pointer_expression & IDENT) )))) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = IDENT) ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) })) (break_statement break ;)) (case_statement case (char_literal ' character ') : (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (field_expression IDENT . field_identifier) , (call_expression IDENT (argument_list ( IDENT , (field_expression IDENT . field_identifier) ))) , IDENT , IDENT , (pointer_expression & IDENT) , LIT , LIT , LIT , IDENT , (pointer_expression & IDENT) )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) })) (break_statement break ;)) (case_statement case (char_literal ' character ') : (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) ))))) )) (argument_list ( IDENT , (string_literal " string_content ") , (string_literal " string_content ") , (pointer_expression & IDENT) ))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (field_expression IDENT . field_identifier) , (call_expression IDENT (argument_list ( IDENT , (field_expression IDENT . field_identifier) ))) , IDENT , IDENT , IDENT , (pointer_expression & IDENT) , IDENT , (pointer_expression & IDENT) )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (break_statement break ;)) (case_statement case (char_literal ' character ') : (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (field_expression IDENT . field_identifier) , (call_expression IDENT (argument_list ( IDENT , (field_expression IDENT . field_identifier) ))) , IDENT , IDENT , (pointer_expression & IDENT) , LIT , LIT , LIT , IDENT , (pointer_expression & IDENT) )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) })) (break_statement break ;)) (case_statement case (char_literal ' character ') : (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) ))))) )) (argument_list ( IDENT , (string_literal " string_content ") , (pointer_expression & IDENT) , (pointer_expression & IDENT) ))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (field_expression IDENT . field_identifier) , (call_expression IDENT (argument_list ( IDENT , (field_expression IDENT . field_identifier) ))) , IDENT , IDENT , IDENT , (pointer_expression & IDENT) , IDENT , (pointer_expression & IDENT) )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (break_statement break ;)) (case_statement case (char_literal ' character ') : (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (field_expression IDENT . field_identifier) , (call_expression IDENT (argument_list ( IDENT , (field_expression IDENT . field_identifier) ))) , IDENT , IDENT , IDENT , (pointer_expression & IDENT) , IDENT , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (break_statement break ;)) (case_statement case (char_literal ' character ') : (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (field_expression IDENT . field_identifier) )))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) ))))) )) (argument_list ( IDENT , LIT , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (char_literal ' escape_sequence ')) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (field_expression IDENT . field_identifier) , (call_expression IDENT (argument_list ( IDENT , (field_expression IDENT . field_identifier) ))) , IDENT , IDENT , (pointer_expression & IDENT) , IDENT , LIT , IDENT , (pointer_expression & IDENT) )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (pointer_expression & IDENT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == (char_literal ' escape_sequence ')) )) && (parenthesized_expression ( (binary_expression (binary_expression IDENT == LIT) && (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) == LIT)) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) ))))) )) (argument_list ( IDENT , LIT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (field_expression IDENT . field_identifier) )))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) ))))) )) (argument_list ( IDENT , LIT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != IDENT) )) (break_statement break ;)) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (field_expression IDENT . field_identifier) , (call_expression IDENT (argument_list ( IDENT , (field_expression IDENT . field_identifier) ))) , IDENT , IDENT , (pointer_expression & IDENT) , LIT , LIT , LIT , IDENT , (pointer_expression & IDENT) )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (field_expression IDENT . field_identifier) , (call_expression IDENT (argument_list ( IDENT , (field_expression IDENT . field_identifier) ))) , IDENT , IDENT , (pointer_expression & IDENT) , LIT , LIT , LIT , IDENT , (pointer_expression & IDENT) )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) })) (break_statement break ;)) (case_statement case (char_literal ' character ') : (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (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 IDENT = (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) ))))) ;) (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 = (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) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (field_expression IDENT . field_identifier) , (call_expression IDENT (argument_list ( IDENT , (field_expression IDENT . field_identifier) ))) , IDENT , IDENT , (pointer_expression & IDENT) , (pointer_expression & IDENT) , LIT , IDENT , (pointer_expression & IDENT) )))) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = IDENT) ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) })) (break_statement break ;)) (case_statement case (char_literal ' character ') :) (case_statement case (char_literal ' character ') : (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (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 IDENT = (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) ))))) ;) (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 = (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) ))))) ;) (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 = (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) ))))) ;) (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 = (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) ))))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (field_expression IDENT . field_identifier) , (call_expression IDENT (argument_list ( IDENT , (field_expression IDENT . field_identifier) ))) , IDENT , IDENT , (pointer_expression & IDENT) , (pointer_expression & IDENT) , LIT , IDENT , (pointer_expression & IDENT) )))) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = IDENT) ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) })) (break_statement break ;)) (case_statement case (char_literal ' character ') : (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (field_expression IDENT . field_identifier) , (call_expression IDENT (argument_list ( IDENT , (field_expression IDENT . field_identifier) ))) , IDENT , IDENT , IDENT , (pointer_expression & IDENT) , IDENT , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (break_statement break ;)) (case_statement case (char_literal ' character ') : (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (field_expression IDENT . field_identifier) , (call_expression IDENT (argument_list ( IDENT , (field_expression IDENT . field_identifier) ))) , IDENT , IDENT , (pointer_expression & IDENT) , LIT , LIT , LIT , IDENT , (pointer_expression & IDENT) )))) ;) (goto_statement goto statement_identifier ;)) (case_statement case (char_literal ' character ') : (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (field_expression IDENT . field_identifier) )))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) ))))) )) (argument_list ( IDENT , LIT , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (field_expression IDENT . field_identifier) , (call_expression IDENT (argument_list ( IDENT , (field_expression IDENT . field_identifier) ))) , IDENT , IDENT , (pointer_expression & IDENT) , LIT , LIT , LIT , IDENT , (pointer_expression & IDENT) )))) ;) }) (else_clause else (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (field_expression IDENT . field_identifier) ))) ;) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (field_expression IDENT . field_identifier) , (call_expression IDENT (argument_list ( IDENT , LIT ))) , IDENT , IDENT , (pointer_expression & IDENT) , LIT , LIT , LIT , IDENT , (pointer_expression & IDENT) )))) ;) }))) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = IDENT) ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) })) (break_statement break ;)) (case_statement case (char_literal ' character ') : (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (field_expression IDENT . field_identifier) , (call_expression IDENT (argument_list ( IDENT , (field_expression IDENT . field_identifier) ))) , IDENT , IDENT , (pointer_expression & IDENT) , LIT , LIT , LIT , IDENT , (pointer_expression & IDENT) )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression IDENT + LIT)) ;) })) (break_statement break ;)) (case_statement case (char_literal ' character ') : (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (field_expression IDENT . field_identifier) )))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) ))))) )) (argument_list ( IDENT , IDENT , LIT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (char_literal ' escape_sequence ')) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( (field_expression IDENT . field_identifier) ))) ;)) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = LIT) ;) (break_statement break ;)) (case_statement case (char_literal ' character ') : (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (field_expression IDENT . field_identifier) )))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) ))))) )) (argument_list ( IDENT , IDENT , LIT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (char_literal ' escape_sequence ')) )) (goto_statement goto statement_identifier ;)) (goto_statement goto statement_identifier ;)) (case_statement case (char_literal ' character ') : (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (field_expression IDENT . field_identifier) , (call_expression IDENT (argument_list ( IDENT , (field_expression IDENT . field_identifier) ))) , IDENT , IDENT , IDENT , (pointer_expression & IDENT) , IDENT , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;)) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;)) (goto_statement goto statement_identifier ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression IDENT | LIT)) ;)) (goto_statement goto statement_identifier ;) (ERROR }))
(expression_statement "undefined1  [16]" (subscript_expression "undefined1  [16]" (identifier "undefined1") ([ "[") (number_literal "16") (] "]")) (; "")) (declaration "FUN_00357f80(undefined8 param_1,undefined8 param_2,undefined8 param_3,long *param_4,\n            undefined8 param_5,long param_6,uint *param_7,int *param_8,wchar_t *param_9)\n\n{\n  wchar_t wVar1;" (macro_type_specifier "FUN_00357f80(undefined8" (identifier "FUN_00357f80") (( "(") (type_descriptor "undefined8" (type_identifier "undefined8")) () "")) (identifier "param_1") (, ",") (identifier "undefined8") (ERROR "param_2" (identifier "param_2")) (, ",") (identifier "undefined8") (ERROR "param_3" (identifier "param_3")) (, ",") (ERROR "long" (identifier "long")) (pointer_declarator "*param_4" (* "*") (identifier "param_4")) (, ",") (identifier "undefined8") (ERROR "param_5" (identifier "param_5")) (, ",") (ERROR "long" (identifier "long")) (identifier "param_6") (, ",") (ERROR "uint" (identifier "uint")) (pointer_declarator "*param_7" (* "*") (identifier "param_7")) (, ",") (ERROR "int" (identifier "int")) (pointer_declarator "*param_8" (* "*") (identifier "param_8")) (, ",") (ERROR "wchar_t *param_9)\n\n{\n  wchar_t" (identifier "wchar_t") (pointer_declarator "*param_9" (* "*") (identifier "param_9")) () ")") ({ "{") (identifier "wchar_t")) (identifier "wVar1") (; ";")) (declaration "long lVar2;" (sized_type_specifier "long" (long "long")) (identifier "lVar2") (; ";")) (declaration "undefined1 auVar3 [16];" (type_identifier "undefined1") (array_declarator "auVar3 [16]" (identifier "auVar3") ([ "[") (number_literal "16") (] "]")) (; ";")) (declaration "undefined1 auVar4 [12];" (type_identifier "undefined1") (array_declarator "auVar4 [12]" (identifier "auVar4") ([ "[") (number_literal "12") (] "]")) (; ";")) (declaration "bool bVar5;" (primitive_type "bool") (identifier "bVar5") (; ";")) (declaration "char cVar6;" (primitive_type "char") (identifier "cVar6") (; ";")) (declaration "int iVar7;" (primitive_type "int") (identifier "iVar7") (; ";")) (declaration "undefined4 uVar8;" (type_identifier "undefined4") (identifier "uVar8") (; ";")) (declaration "int iVar9;" (primitive_type "int") (identifier "iVar9") (; ";")) (declaration "wchar_t wVar10;" (type_identifier "wchar_t") (identifier "wVar10") (; ";")) (declaration "long lVar11;" (sized_type_specifier "long" (long "long")) (identifier "lVar11") (; ";")) (declaration "long *plVar12;" (sized_type_specifier "long" (long "long")) (pointer_declarator "*plVar12" (* "*") (identifier "plVar12")) (; ";")) (declaration "size_t sVar13;" (primitive_type "size_t") (identifier "sVar13") (; ";")) (declaration "ulong uVar14;" (type_identifier "ulong") (identifier "uVar14") (; ";")) (declaration "ulong uVar15;" (type_identifier "ulong") (identifier "uVar15") (; ";")) (declaration "bool bVar16;" (primitive_type "bool") (identifier "bVar16") (; ";")) (declaration "bool bVar17;" (primitive_type "bool") (identifier "bVar17") (; ";")) (declaration "undefined1 auVar18 [12];" (type_identifier "undefined1") (array_declarator "auVar18 [12]" (identifier "auVar18") ([ "[") (number_literal "12") (] "]")) (; ";")) (declaration "long *local_c8;" (sized_type_specifier "long" (long "long")) (pointer_declarator "*local_c8" (* "*") (identifier "local_c8")) (; ";")) (declaration "undefined8 local_c0;" (type_identifier "undefined8") (identifier "local_c0") (; ";")) (declaration "undefined1 local_b8 [12];" (type_identifier "undefined1") (array_declarator "local_b8 [12]" (identifier "local_b8") ([ "[") (number_literal "12") (] "]")) (; ";")) (declaration "undefined4 uStack_ac;" (type_identifier "undefined4") (identifier "uStack_ac") (; ";")) (declaration "uint local_a0;" (type_identifier "uint") (identifier "local_a0") (; ";")) (declaration "int local_9c;" (primitive_type "int") (identifier "local_9c") (; ";")) (declaration "undefined8 local_98;" (type_identifier "undefined8") (identifier "local_98") (; ";")) (declaration "undefined8 local_90;" (type_identifier "undefined8") (identifier "local_90") (; ";")) (declaration "undefined8 local_88;" (type_identifier "undefined8") (identifier "local_88") (; ";")) (declaration "undefined8 local_80;" (type_identifier "undefined8") (identifier "local_80") (; ";")) (declaration "undefined8 local_78;" (type_identifier "undefined8") (identifier "local_78") (; ";")) (declaration "undefined8 local_70;" (type_identifier "undefined8") (identifier "local_70") (; ";")) (declaration "undefined8 local_68;" (type_identifier "undefined8") (identifier "local_68") (; ";")) (declaration "undefined8 local_60;" (type_identifier "undefined8") (identifier "local_60") (; ";")) (declaration "undefined8 local_58;" (type_identifier "undefined8") (identifier "local_58") (; ";")) (declaration "undefined8 local_50;" (type_identifier "undefined8") (identifier "local_50") (; ";")) (declaration "undefined8 local_48;" (type_identifier "undefined8") (identifier "local_48") (; ";")) (declaration "undefined8 local_40;" (type_identifier "undefined8") (identifier "local_40") (; ";")) (expression_statement "local_b8._8_4_ = (undefined4)param_3;" (assignment_expression "local_b8._8_4_ = (undefined4)param_3" (field_expression "local_b8._8_4_" (identifier "local_b8") (. ".") (field_identifier "_8_4_")) (= "=") (cast_expression "(undefined4)param_3" (( "(") (type_descriptor "undefined4" (type_identifier "undefined4")) () ")") (identifier "param_3"))) (; ";")) (expression_statement "uStack_ac = (undefined4)((ulong)param_3 >> 0x20);" (assignment_expression "uStack_ac = (undefined4)((ulong)param_3 >> 0x20)" (identifier "uStack_ac") (= "=") (call_expression "(undefined4)((ulong)param_3 >> 0x20)" (parenthesized_expression "(undefined4)" (( "(") (identifier "undefined4") () ")")) (argument_list "((ulong)param_3 >> 0x20)" (( "(") (binary_expression "(ulong)param_3 >> 0x20" (cast_expression "(ulong)param_3" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "param_3")) (>> ">>") (number_literal "0x20")) () ")")))) (; ";")) (expression_statement "local_c8 = param_4;" (assignment_expression "local_c8 = param_4" (identifier "local_c8") (= "=") (identifier "param_4")) (; ";")) (expression_statement "local_c0 = param_5;" (assignment_expression "local_c0 = param_5" (identifier "local_c0") (= "=") (identifier "param_5")) (; ";")) (expression_statement "local_b8._0_8_ = param_2;" (assignment_expression "local_b8._0_8_ = param_2" (field_expression "local_b8._0_8_" (identifier "local_b8") (. ".") (field_identifier "_0_8_")) (= "=") (identifier "param_2")) (; ";")) (expression_statement "lVar11 = FUN_0033ff70(param_6 + 0xd0);" (assignment_expression "lVar11 = FUN_0033ff70(param_6 + 0xd0)" (identifier "lVar11") (= "=") (call_expression "FUN_0033ff70(param_6 + 0xd0)" (identifier "FUN_0033ff70") (argument_list "(param_6 + 0xd0)" (( "(") (binary_expression "param_6 + 0xd0" (identifier "param_6") (+ "+") (number_literal "0xd0")) () ")")))) (; ";")) (expression_statement "plVar12 = (long *)FUN_0033e820(param_6 + 0xd0);" (assignment_expression "plVar12 = (long *)FUN_0033e820(param_6 + 0xd0)" (identifier "plVar12") (= "=") (cast_expression "(long *)FUN_0033e820(param_6 + 0xd0)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_0033e820(param_6 + 0xd0)" (identifier "FUN_0033e820") (argument_list "(param_6 + 0xd0)" (( "(") (binary_expression "param_6 + 0xd0" (identifier "param_6") (+ "+") (number_literal "0xd0")) () ")"))))) (; ";")) (expression_statement "sVar13 = wcslen(param_9);" (assignment_expression "sVar13 = wcslen(param_9)" (identifier "sVar13") (= "=") (call_expression "wcslen(param_9)" (identifier "wcslen") (argument_list "(param_9)" (( "(") (identifier "param_9") () ")")))) (; ";")) (expression_statement "local_a0 = 0;" (assignment_expression "local_a0 = 0" (identifier "local_a0") (= "=") (number_literal "0")) (; ";")) (expression_statement "uVar15 = 0;" (assignment_expression "uVar15 = 0" (identifier "uVar15") (= "=") (number_literal "0")) (; ";")) (labeled_statement "LAB_00358033:\n  bVar5 = (long *)local_b8._0_8_ != (long *)0x0 && local_b8._8_4_ == -1;" (statement_identifier "LAB_00358033") (: ":") (expression_statement "bVar5 = (long *)local_b8._0_8_ != (long *)0x0 && local_b8._8_4_ == -1;" (assignment_expression "bVar5 = (long *)local_b8._0_8_ != (long *)0x0 && local_b8._8_4_ == -1" (identifier "bVar5") (= "=") (binary_expression "(long *)local_b8._0_8_ != (long *)0x0 && local_b8._8_4_ == -1" (binary_expression "(long *)local_b8._0_8_ != (long *)0x0" (cast_expression "(long *)local_b8._0_8_" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (field_expression "local_b8._0_8_" (identifier "local_b8") (. ".") (field_identifier "_0_8_"))) (!= "!=") (cast_expression "(long *)0x0" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (&& "&&") (binary_expression "local_b8._8_4_ == -1" (field_expression "local_b8._8_4_" (identifier "local_b8") (. ".") (field_identifier "_8_4_")) (== "==") (number_literal "-1")))) (; ";"))) (expression_statement "bVar17 = local_b8._8_4_ == -1;" (assignment_expression "bVar17 = local_b8._8_4_ == -1" (identifier "bVar17") (= "=") (binary_expression "local_b8._8_4_ == -1" (field_expression "local_b8._8_4_" (identifier "local_b8") (. ".") (field_identifier "_8_4_")) (== "==") (number_literal "-1"))) (; ";")) (if_statement "if (bVar5) {\n    if (*(int **)(local_b8._0_8_ + 0x10) < *(int **)(local_b8._0_8_ + 0x18)) {\n      iVar9 = **(int **)(local_b8._0_8_ + 0x10);\n    }\n    else {\n      iVar9 = (**(code **)(*(long *)local_b8._0_8_ + 0x48))();\n    }\n    bVar17 = false;\n    if (iVar9 == -1) {\n      auVar18._4_8_ = 0;\n      auVar18._0_4_ = local_b8._8_4_;\n      local_b8 = auVar18 << 0x40;\n      bVar17 = bVar5;\n    }\n  }" (if "if") (parenthesized_expression "(bVar5)" (( "(") (identifier "bVar5") () ")")) (compound_statement "{\n    if (*(int **)(local_b8._0_8_ + 0x10) < *(int **)(local_b8._0_8_ + 0x18)) {\n      iVar9 = **(int **)(local_b8._0_8_ + 0x10);\n    }\n    else {\n      iVar9 = (**(code **)(*(long *)local_b8._0_8_ + 0x48))();\n    }\n    bVar17 = false;\n    if (iVar9 == -1) {\n      auVar18._4_8_ = 0;\n      auVar18._0_4_ = local_b8._8_4_;\n      local_b8 = auVar18 << 0x40;\n      bVar17 = bVar5;\n    }\n  }" ({ "{") (if_statement "if (*(int **)(local_b8._0_8_ + 0x10) < *(int **)(local_b8._0_8_ + 0x18)) {\n      iVar9 = **(int **)(local_b8._0_8_ + 0x10);\n    }\n    else {\n      iVar9 = (**(code **)(*(long *)local_b8._0_8_ + 0x48))();\n    }" (if "if") (parenthesized_expression "(*(int **)(local_b8._0_8_ + 0x10) < *(int **)(local_b8._0_8_ + 0x18))" (( "(") (binary_expression "*(int **)(local_b8._0_8_ + 0x10) < *(int **)(local_b8._0_8_ + 0x18)" (pointer_expression "*(int **)(local_b8._0_8_ + 0x10)" (* "*") (cast_expression "(int **)(local_b8._0_8_ + 0x10)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(local_b8._0_8_ + 0x10)" (( "(") (binary_expression "local_b8._0_8_ + 0x10" (field_expression "local_b8._0_8_" (identifier "local_b8") (. ".") (field_identifier "_0_8_")) (+ "+") (number_literal "0x10")) () ")")))) (< "<") (pointer_expression "*(int **)(local_b8._0_8_ + 0x18)" (* "*") (cast_expression "(int **)(local_b8._0_8_ + 0x18)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(local_b8._0_8_ + 0x18)" (( "(") (binary_expression "local_b8._0_8_ + 0x18" (field_expression "local_b8._0_8_" (identifier "local_b8") (. ".") (field_identifier "_0_8_")) (+ "+") (number_literal "0x18")) () ")"))))) () ")")) (compound_statement "{\n      iVar9 = **(int **)(local_b8._0_8_ + 0x10);\n    }" ({ "{") (expression_statement "iVar9 = **(int **)(local_b8._0_8_ + 0x10);" (assignment_expression "iVar9 = **(int **)(local_b8._0_8_ + 0x10)" (identifier "iVar9") (= "=") (pointer_expression "**(int **)(local_b8._0_8_ + 0x10)" (* "*") (pointer_expression "*(int **)(local_b8._0_8_ + 0x10)" (* "*") (cast_expression "(int **)(local_b8._0_8_ + 0x10)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(local_b8._0_8_ + 0x10)" (( "(") (binary_expression "local_b8._0_8_ + 0x10" (field_expression "local_b8._0_8_" (identifier "local_b8") (. ".") (field_identifier "_0_8_")) (+ "+") (number_literal "0x10")) () ")")))))) (; ";")) (} "}")) (else_clause "else {\n      iVar9 = (**(code **)(*(long *)local_b8._0_8_ + 0x48))();\n    }" (else "else") (compound_statement "{\n      iVar9 = (**(code **)(*(long *)local_b8._0_8_ + 0x48))();\n    }" ({ "{") (expression_statement "iVar9 = (**(code **)(*(long *)local_b8._0_8_ + 0x48))();" (assignment_expression "iVar9 = (**(code **)(*(long *)local_b8._0_8_ + 0x48))()" (identifier "iVar9") (= "=") (call_expression "(**(code **)(*(long *)local_b8._0_8_ + 0x48))()" (parenthesized_expression "(**(code **)(*(long *)local_b8._0_8_ + 0x48))" (( "(") (pointer_expression "**(code **)(*(long *)local_b8._0_8_ + 0x48)" (* "*") (pointer_expression "*(code **)(*(long *)local_b8._0_8_ + 0x48)" (* "*") (cast_expression "(code **)(*(long *)local_b8._0_8_ + 0x48)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*(long *)local_b8._0_8_ + 0x48)" (( "(") (binary_expression "*(long *)local_b8._0_8_ + 0x48" (pointer_expression "*(long *)local_b8._0_8_" (* "*") (cast_expression "(long *)local_b8._0_8_" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (field_expression "local_b8._0_8_" (identifier "local_b8") (. ".") (field_identifier "_0_8_")))) (+ "+") (number_literal "0x48")) () ")"))))) () ")")) (argument_list "()" (( "(") () ")")))) (; ";")) (} "}")))) (expression_statement "bVar17 = false;" (assignment_expression "bVar17 = false" (identifier "bVar17") (= "=") (false "false")) (; ";")) (if_statement "if (iVar9 == -1) {\n      auVar18._4_8_ = 0;\n      auVar18._0_4_ = local_b8._8_4_;\n      local_b8 = auVar18 << 0x40;\n      bVar17 = bVar5;\n    }" (if "if") (parenthesized_expression "(iVar9 == -1)" (( "(") (binary_expression "iVar9 == -1" (identifier "iVar9") (== "==") (number_literal "-1")) () ")")) (compound_statement "{\n      auVar18._4_8_ = 0;\n      auVar18._0_4_ = local_b8._8_4_;\n      local_b8 = auVar18 << 0x40;\n      bVar17 = bVar5;\n    }" ({ "{") (expression_statement "auVar18._4_8_ = 0;" (assignment_expression "auVar18._4_8_ = 0" (field_expression "auVar18._4_8_" (identifier "auVar18") (. ".") (field_identifier "_4_8_")) (= "=") (number_literal "0")) (; ";")) (expression_statement "auVar18._0_4_ = local_b8._8_4_;" (assignment_expression "auVar18._0_4_ = local_b8._8_4_" (field_expression "auVar18._0_4_" (identifier "auVar18") (. ".") (field_identifier "_0_4_")) (= "=") (field_expression "local_b8._8_4_" (identifier "local_b8") (. ".") (field_identifier "_8_4_"))) (; ";")) (expression_statement "local_b8 = auVar18 << 0x40;" (assignment_expression "local_b8 = auVar18 << 0x40" (identifier "local_b8") (= "=") (binary_expression "auVar18 << 0x40" (identifier "auVar18") (<< "<<") (number_literal "0x40"))) (; ";")) (expression_statement "bVar17 = bVar5;" (assignment_expression "bVar17 = bVar5" (identifier "bVar17") (= "=") (identifier "bVar5")) (; ";")) (} "}"))) (} "}"))) (expression_statement "bVar16 = (int)local_c0 == -1;" (assignment_expression "bVar16 = (int)local_c0 == -1" (identifier "bVar16") (= "=") (binary_expression "(int)local_c0 == -1" (cast_expression "(int)local_c0" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_c0")) (== "==") (number_literal "-1"))) (; ";")) (expression_statement "bVar5 = local_c8 != (long *)0x0 && bVar16;" (assignment_expression "bVar5 = local_c8 != (long *)0x0 && bVar16" (identifier "bVar5") (= "=") (binary_expression "local_c8 != (long *)0x0 && bVar16" (binary_expression "local_c8 != (long *)0x0" (identifier "local_c8") (!= "!=") (cast_expression "(long *)0x0" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (&& "&&") (identifier "bVar16"))) (; ";")) (if_statement "if (bVar5) {\n    if ((int *)local_c8[2] < (int *)local_c8[3]) {\n      iVar9 = *(int *)local_c8[2];\n    }\n    else {\n      iVar9 = (**(code **)(*local_c8 + 0x48))();\n    }\n    bVar16 = false;\n    if (iVar9 != -1) goto LAB_00358070;\n    local_c8 = (long *)0x0;\n    if (bVar17 != bVar5) goto LAB_00358080;\nLAB_00358188:\n    if ((uVar15 == sVar13) && (local_a0 == 0)) goto LAB_0035819e;\nLAB_00358193:\n    *param_7 = *param_7 | 4;\nLAB_0035819e:\n    auVar3._12_4_ = uStack_ac;\n    auVar3._0_12_ = local_b8;\n    return auVar3;\n  }" (if "if") (parenthesized_expression "(bVar5)" (( "(") (identifier "bVar5") () ")")) (compound_statement "{\n    if ((int *)local_c8[2] < (int *)local_c8[3]) {\n      iVar9 = *(int *)local_c8[2];\n    }\n    else {\n      iVar9 = (**(code **)(*local_c8 + 0x48))();\n    }\n    bVar16 = false;\n    if (iVar9 != -1) goto LAB_00358070;\n    local_c8 = (long *)0x0;\n    if (bVar17 != bVar5) goto LAB_00358080;\nLAB_00358188:\n    if ((uVar15 == sVar13) && (local_a0 == 0)) goto LAB_0035819e;\nLAB_00358193:\n    *param_7 = *param_7 | 4;\nLAB_0035819e:\n    auVar3._12_4_ = uStack_ac;\n    auVar3._0_12_ = local_b8;\n    return auVar3;\n  }" ({ "{") (if_statement "if ((int *)local_c8[2] < (int *)local_c8[3]) {\n      iVar9 = *(int *)local_c8[2];\n    }\n    else {\n      iVar9 = (**(code **)(*local_c8 + 0x48))();\n    }" (if "if") (parenthesized_expression "((int *)local_c8[2] < (int *)local_c8[3])" (( "(") (binary_expression "(int *)local_c8[2] < (int *)local_c8[3]" (cast_expression "(int *)local_c8[2]" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "local_c8[2]" (identifier "local_c8") ([ "[") (number_literal "2") (] "]"))) (< "<") (cast_expression "(int *)local_c8[3]" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "local_c8[3]" (identifier "local_c8") ([ "[") (number_literal "3") (] "]")))) () ")")) (compound_statement "{\n      iVar9 = *(int *)local_c8[2];\n    }" ({ "{") (expression_statement "iVar9 = *(int *)local_c8[2];" (assignment_expression "iVar9 = *(int *)local_c8[2]" (identifier "iVar9") (= "=") (pointer_expression "*(int *)local_c8[2]" (* "*") (cast_expression "(int *)local_c8[2]" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "local_c8[2]" (identifier "local_c8") ([ "[") (number_literal "2") (] "]"))))) (; ";")) (} "}")) (else_clause "else {\n      iVar9 = (**(code **)(*local_c8 + 0x48))();\n    }" (else "else") (compound_statement "{\n      iVar9 = (**(code **)(*local_c8 + 0x48))();\n    }" ({ "{") (expression_statement "iVar9 = (**(code **)(*local_c8 + 0x48))();" (assignment_expression "iVar9 = (**(code **)(*local_c8 + 0x48))()" (identifier "iVar9") (= "=") (call_expression "(**(code **)(*local_c8 + 0x48))()" (parenthesized_expression "(**(code **)(*local_c8 + 0x48))" (( "(") (pointer_expression "**(code **)(*local_c8 + 0x48)" (* "*") (pointer_expression "*(code **)(*local_c8 + 0x48)" (* "*") (cast_expression "(code **)(*local_c8 + 0x48)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*local_c8 + 0x48)" (( "(") (binary_expression "*local_c8 + 0x48" (pointer_expression "*local_c8" (* "*") (identifier "local_c8")) (+ "+") (number_literal "0x48")) () ")"))))) () ")")) (argument_list "()" (( "(") () ")")))) (; ";")) (} "}")))) (expression_statement "bVar16 = false;" (assignment_expression "bVar16 = false" (identifier "bVar16") (= "=") (false "false")) (; ";")) (if_statement "if (iVar9 != -1) goto LAB_00358070;" (if "if") (parenthesized_expression "(iVar9 != -1)" (( "(") (binary_expression "iVar9 != -1" (identifier "iVar9") (!= "!=") (number_literal "-1")) () ")")) (goto_statement "goto LAB_00358070;" (goto "goto") (statement_identifier "LAB_00358070") (; ";"))) (expression_statement "local_c8 = (long *)0x0;" (assignment_expression "local_c8 = (long *)0x0" (identifier "local_c8") (= "=") (cast_expression "(long *)0x0" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (if_statement "if (bVar17 != bVar5) goto LAB_00358080;" (if "if") (parenthesized_expression "(bVar17 != bVar5)" (( "(") (binary_expression "bVar17 != bVar5" (identifier "bVar17") (!= "!=") (identifier "bVar5")) () ")")) (goto_statement "goto LAB_00358080;" (goto "goto") (statement_identifier "LAB_00358080") (; ";"))) (labeled_statement "LAB_00358188:\n    if ((uVar15 == sVar13) && (local_a0 == 0)) goto LAB_0035819e;" (statement_identifier "LAB_00358188") (: ":") (if_statement "if ((uVar15 == sVar13) && (local_a0 == 0)) goto LAB_0035819e;" (if "if") (parenthesized_expression "((uVar15 == sVar13) && (local_a0 == 0))" (( "(") (binary_expression "(uVar15 == sVar13) && (local_a0 == 0)" (parenthesized_expression "(uVar15 == sVar13)" (( "(") (binary_expression "uVar15 == sVar13" (identifier "uVar15") (== "==") (identifier "sVar13")) () ")")) (&& "&&") (parenthesized_expression "(local_a0 == 0)" (( "(") (binary_expression "local_a0 == 0" (identifier "local_a0") (== "==") (number_literal "0")) () ")"))) () ")")) (goto_statement "goto LAB_0035819e;" (goto "goto") (statement_identifier "LAB_0035819e") (; ";")))) (labeled_statement "LAB_00358193:\n    *param_7 = *param_7 | 4;" (statement_identifier "LAB_00358193") (: ":") (expression_statement "*param_7 = *param_7 | 4;" (assignment_expression "*param_7 = *param_7 | 4" (pointer_expression "*param_7" (* "*") (identifier "param_7")) (= "=") (binary_expression "*param_7 | 4" (pointer_expression "*param_7" (* "*") (identifier "param_7")) (| "|") (number_literal "4"))) (; ";"))) (labeled_statement "LAB_0035819e:\n    auVar3._12_4_ = uStack_ac;" (statement_identifier "LAB_0035819e") (: ":") (expression_statement "auVar3._12_4_ = uStack_ac;" (assignment_expression "auVar3._12_4_ = uStack_ac" (field_expression "auVar3._12_4_" (identifier "auVar3") (. ".") (field_identifier "_12_4_")) (= "=") (identifier "uStack_ac")) (; ";"))) (expression_statement "auVar3._0_12_ = local_b8;" (assignment_expression "auVar3._0_12_ = local_b8" (field_expression "auVar3._0_12_" (identifier "auVar3") (. ".") (field_identifier "_0_12_")) (= "=") (identifier "local_b8")) (; ";")) (return_statement "return auVar3;" (return "return") (identifier "auVar3") (; ";")) (} "}"))) (labeled_statement "LAB_00358070:\n  if (bVar17 == bVar16) goto LAB_00358188;" (statement_identifier "LAB_00358070") (: ":") (if_statement "if (bVar17 == bVar16) goto LAB_00358188;" (if "if") (parenthesized_expression "(bVar17 == bVar16)" (( "(") (binary_expression "bVar17 == bVar16" (identifier "bVar17") (== "==") (identifier "bVar16")) () ")")) (goto_statement "goto LAB_00358188;" (goto "goto") (statement_identifier "LAB_00358188") (; ";")))) (labeled_statement "LAB_00358080:\n  if (sVar13 <= uVar15) goto LAB_00358188;" (statement_identifier "LAB_00358080") (: ":") (if_statement "if (sVar13 <= uVar15) goto LAB_00358188;" (if "if") (parenthesized_expression "(sVar13 <= uVar15)" (( "(") (binary_expression "sVar13 <= uVar15" (identifier "sVar13") (<= "<=") (identifier "uVar15")) () ")")) (goto_statement "goto LAB_00358188;" (goto "goto") (statement_identifier "LAB_00358188") (; ";")))) (if_statement "if (local_a0 != 0) goto LAB_00358193;" (if "if") (parenthesized_expression "(local_a0 != 0)" (( "(") (binary_expression "local_a0 != 0" (identifier "local_a0") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_00358193;" (goto "goto") (statement_identifier "LAB_00358193") (; ";"))) (expression_statement "uVar14 = uVar15 + 1;" (assignment_expression "uVar14 = uVar15 + 1" (identifier "uVar14") (= "=") (binary_expression "uVar15 + 1" (identifier "uVar15") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "cVar6 = (**(code **)(*plVar12 + 0x60))(plVar12,param_9[uVar15],0);" (assignment_expression "cVar6 = (**(code **)(*plVar12 + 0x60))(plVar12,param_9[uVar15],0)" (identifier "cVar6") (= "=") (call_expression "(**(code **)(*plVar12 + 0x60))(plVar12,param_9[uVar15],0)" (parenthesized_expression "(**(code **)(*plVar12 + 0x60))" (( "(") (pointer_expression "**(code **)(*plVar12 + 0x60)" (* "*") (pointer_expression "*(code **)(*plVar12 + 0x60)" (* "*") (cast_expression "(code **)(*plVar12 + 0x60)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*plVar12 + 0x60)" (( "(") (binary_expression "*plVar12 + 0x60" (pointer_expression "*plVar12" (* "*") (identifier "plVar12")) (+ "+") (number_literal "0x60")) () ")"))))) () ")")) (argument_list "(plVar12,param_9[uVar15],0)" (( "(") (identifier "plVar12") (, ",") (subscript_expression "param_9[uVar15]" (identifier "param_9") ([ "[") (identifier "uVar15") (] "]")) (, ",") (number_literal "0") () ")")))) (; ";")) (if_statement "if (cVar6 != '%') {\n    wVar1 = param_9[uVar15];\n    auVar4 = local_b8;\n    uVar15 = uVar14;\n    if ((local_b8._8_4_ == L'\xffffffff') && ((long *)local_b8._0_8_ != (long *)0x0)) {\n      if (*(wchar_t **)(local_b8._0_8_ + 0x10) < *(wchar_t **)(local_b8._0_8_ + 0x18)) {\n        wVar10 = **(wchar_t **)(local_b8._0_8_ + 0x10);\n      }\n      else {\n        wVar10 = (**(code **)(*(long *)local_b8._0_8_ + 0x48))();\n        auVar4 = local_b8;\n      }\n      local_b8._8_4_ = auVar4._8_4_;\n      if (wVar10 == L'\xffffffff') {\n        auVar4._4_8_ = 0;\n        auVar4._0_4_ = local_b8._8_4_;\n        auVar4 = auVar4 << 0x40;\n        local_b8._8_4_ = L'\xffffffff';\n        goto LAB_00358121;\n      }\n      local_b8 = auVar4;\n      if (wVar1 == wVar10) goto LAB_00358290;\nLAB_0035812a:\n      local_a0 = local_a0 | 4;\n    }\n    else {\nLAB_00358121:\n      bVar17 = wVar1 != local_b8._8_4_;\n      local_b8 = auVar4;\n      if (bVar17) goto LAB_0035812a;\nLAB_00358290:\n      local_b8._0_8_ = auVar4._0_8_;\n      if (*(ulong *)(local_b8._0_8_ + 0x10) < *(ulong *)(local_b8._0_8_ + 0x18)) {\n        *(ulong *)(local_b8._0_8_ + 0x10) = *(ulong *)(local_b8._0_8_ + 0x10) + 4;\n      }\n      else {\n        lVar2 = *(long *)local_b8._0_8_;\n        local_b8 = auVar4;\n        (**(code **)(lVar2 + 0x50))();\n      }\n      local_b8._8_4_ = 0xffffffff;\n    }\n    goto LAB_00358033;\n  }" (if "if") (parenthesized_expression "(cVar6 != '%')" (( "(") (binary_expression "cVar6 != '%'" (identifier "cVar6") (!= "!=") (char_literal "'%'" (' "'") (character "%") (' "'"))) () ")")) (compound_statement "{\n    wVar1 = param_9[uVar15];\n    auVar4 = local_b8;\n    uVar15 = uVar14;\n    if ((local_b8._8_4_ == L'\xffffffff') && ((long *)local_b8._0_8_ != (long *)0x0)) {\n      if (*(wchar_t **)(local_b8._0_8_ + 0x10) < *(wchar_t **)(local_b8._0_8_ + 0x18)) {\n        wVar10 = **(wchar_t **)(local_b8._0_8_ + 0x10);\n      }\n      else {\n        wVar10 = (**(code **)(*(long *)local_b8._0_8_ + 0x48))();\n        auVar4 = local_b8;\n      }\n      local_b8._8_4_ = auVar4._8_4_;\n      if (wVar10 == L'\xffffffff') {\n        auVar4._4_8_ = 0;\n        auVar4._0_4_ = local_b8._8_4_;\n        auVar4 = auVar4 << 0x40;\n        local_b8._8_4_ = L'\xffffffff';\n        goto LAB_00358121;\n      }\n      local_b8 = auVar4;\n      if (wVar1 == wVar10) goto LAB_00358290;\nLAB_0035812a:\n      local_a0 = local_a0 | 4;\n    }\n    else {\nLAB_00358121:\n      bVar17 = wVar1 != local_b8._8_4_;\n      local_b8 = auVar4;\n      if (bVar17) goto LAB_0035812a;\nLAB_00358290:\n      local_b8._0_8_ = auVar4._0_8_;\n      if (*(ulong *)(local_b8._0_8_ + 0x10) < *(ulong *)(local_b8._0_8_ + 0x18)) {\n        *(ulong *)(local_b8._0_8_ + 0x10) = *(ulong *)(local_b8._0_8_ + 0x10) + 4;\n      }\n      else {\n        lVar2 = *(long *)local_b8._0_8_;\n        local_b8 = auVar4;\n        (**(code **)(lVar2 + 0x50))();\n      }\n      local_b8._8_4_ = 0xffffffff;\n    }\n    goto LAB_00358033;\n  }" ({ "{") (expression_statement "wVar1 = param_9[uVar15];" (assignment_expression "wVar1 = param_9[uVar15]" (identifier "wVar1") (= "=") (subscript_expression "param_9[uVar15]" (identifier "param_9") ([ "[") (identifier "uVar15") (] "]"))) (; ";")) (expression_statement "auVar4 = local_b8;" (assignment_expression "auVar4 = local_b8" (identifier "auVar4") (= "=") (identifier "local_b8")) (; ";")) (expression_statement "uVar15 = uVar14;" (assignment_expression "uVar15 = uVar14" (identifier "uVar15") (= "=") (identifier "uVar14")) (; ";")) (if_statement "if ((local_b8._8_4_ == L'\xffffffff') && ((long *)local_b8._0_8_ != (long *)0x0)) {\n      if (*(wchar_t **)(local_b8._0_8_ + 0x10) < *(wchar_t **)(local_b8._0_8_ + 0x18)) {\n        wVar10 = **(wchar_t **)(local_b8._0_8_ + 0x10);\n      }\n      else {\n        wVar10 = (**(code **)(*(long *)local_b8._0_8_ + 0x48))();\n        auVar4 = local_b8;\n      }\n      local_b8._8_4_ = auVar4._8_4_;\n      if (wVar10 == L'\xffffffff') {\n        auVar4._4_8_ = 0;\n        auVar4._0_4_ = local_b8._8_4_;\n        auVar4 = auVar4 << 0x40;\n        local_b8._8_4_ = L'\xffffffff';\n        goto LAB_00358121;\n      }\n      local_b8 = auVar4;\n      if (wVar1 == wVar10) goto LAB_00358290;\nLAB_0035812a:\n      local_a0 = local_a0 | 4;\n    }\n    else {\nLAB_00358121:\n      bVar17 = wVar1 != local_b8._8_4_;\n      local_b8 = auVar4;\n      if (bVar17) goto LAB_0035812a;\nLAB_00358290:\n      local_b8._0_8_ = auVar4._0_8_;\n      if (*(ulong *)(local_b8._0_8_ + 0x10) < *(ulong *)(local_b8._0_8_ + 0x18)) {\n        *(ulong *)(local_b8._0_8_ + 0x10) = *(ulong *)(local_b8._0_8_ + 0x10) + 4;\n      }\n      else {\n        lVar2 = *(long *)local_b8._0_8_;\n        local_b8 = auVar4;\n        (**(code **)(lVar2 + 0x50))();\n      }\n      local_b8._8_4_ = 0xffffffff;\n    }" (if "if") (parenthesized_expression "((local_b8._8_4_ == L'\xffffffff') && ((long *)local_b8._0_8_ != (long *)0x0))" (( "(") (binary_expression "(local_b8._8_4_ == L'\xffffffff') && ((long *)local_b8._0_8_ != (long *)0x0)" (parenthesized_expression "(local_b8._8_4_ == L'\xffffffff')" (( "(") (binary_expression "local_b8._8_4_ == L'\xffffffff'" (field_expression "local_b8._8_4_" (identifier "local_b8") (. ".") (field_identifier "_8_4_")) (== "==") (char_literal "L'\xffffffff'" (L' "L'") (escape_sequence "\xffff") (character "f") (character "f") (character "f") (character "f") (' "'"))) () ")")) (&& "&&") (parenthesized_expression "((long *)local_b8._0_8_ != (long *)0x0)" (( "(") (binary_expression "(long *)local_b8._0_8_ != (long *)0x0" (cast_expression "(long *)local_b8._0_8_" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (field_expression "local_b8._0_8_" (identifier "local_b8") (. ".") (field_identifier "_0_8_"))) (!= "!=") (cast_expression "(long *)0x0" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")"))) () ")")) (compound_statement "{\n      if (*(wchar_t **)(local_b8._0_8_ + 0x10) < *(wchar_t **)(local_b8._0_8_ + 0x18)) {\n        wVar10 = **(wchar_t **)(local_b8._0_8_ + 0x10);\n      }\n      else {\n        wVar10 = (**(code **)(*(long *)local_b8._0_8_ + 0x48))();\n        auVar4 = local_b8;\n      }\n      local_b8._8_4_ = auVar4._8_4_;\n      if (wVar10 == L'\xffffffff') {\n        auVar4._4_8_ = 0;\n        auVar4._0_4_ = local_b8._8_4_;\n        auVar4 = auVar4 << 0x40;\n        local_b8._8_4_ = L'\xffffffff';\n        goto LAB_00358121;\n      }\n      local_b8 = auVar4;\n      if (wVar1 == wVar10) goto LAB_00358290;\nLAB_0035812a:\n      local_a0 = local_a0 | 4;\n    }" ({ "{") (if_statement "if (*(wchar_t **)(local_b8._0_8_ + 0x10) < *(wchar_t **)(local_b8._0_8_ + 0x18)) {\n        wVar10 = **(wchar_t **)(local_b8._0_8_ + 0x10);\n      }\n      else {\n        wVar10 = (**(code **)(*(long *)local_b8._0_8_ + 0x48))();\n        auVar4 = local_b8;\n      }" (if "if") (parenthesized_expression "(*(wchar_t **)(local_b8._0_8_ + 0x10) < *(wchar_t **)(local_b8._0_8_ + 0x18))" (( "(") (binary_expression "*(wchar_t **)(local_b8._0_8_ + 0x10) < *(wchar_t **)(local_b8._0_8_ + 0x18)" (pointer_expression "*(wchar_t **)(local_b8._0_8_ + 0x10)" (* "*") (cast_expression "(wchar_t **)(local_b8._0_8_ + 0x10)" (( "(") (type_descriptor "wchar_t **" (type_identifier "wchar_t") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(local_b8._0_8_ + 0x10)" (( "(") (binary_expression "local_b8._0_8_ + 0x10" (field_expression "local_b8._0_8_" (identifier "local_b8") (. ".") (field_identifier "_0_8_")) (+ "+") (number_literal "0x10")) () ")")))) (< "<") (pointer_expression "*(wchar_t **)(local_b8._0_8_ + 0x18)" (* "*") (cast_expression "(wchar_t **)(local_b8._0_8_ + 0x18)" (( "(") (type_descriptor "wchar_t **" (type_identifier "wchar_t") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(local_b8._0_8_ + 0x18)" (( "(") (binary_expression "local_b8._0_8_ + 0x18" (field_expression "local_b8._0_8_" (identifier "local_b8") (. ".") (field_identifier "_0_8_")) (+ "+") (number_literal "0x18")) () ")"))))) () ")")) (compound_statement "{\n        wVar10 = **(wchar_t **)(local_b8._0_8_ + 0x10);\n      }" ({ "{") (expression_statement "wVar10 = **(wchar_t **)(local_b8._0_8_ + 0x10);" (assignment_expression "wVar10 = **(wchar_t **)(local_b8._0_8_ + 0x10)" (identifier "wVar10") (= "=") (pointer_expression "**(wchar_t **)(local_b8._0_8_ + 0x10)" (* "*") (pointer_expression "*(wchar_t **)(local_b8._0_8_ + 0x10)" (* "*") (cast_expression "(wchar_t **)(local_b8._0_8_ + 0x10)" (( "(") (type_descriptor "wchar_t **" (type_identifier "wchar_t") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(local_b8._0_8_ + 0x10)" (( "(") (binary_expression "local_b8._0_8_ + 0x10" (field_expression "local_b8._0_8_" (identifier "local_b8") (. ".") (field_identifier "_0_8_")) (+ "+") (number_literal "0x10")) () ")")))))) (; ";")) (} "}")) (else_clause "else {\n        wVar10 = (**(code **)(*(long *)local_b8._0_8_ + 0x48))();\n        auVar4 = local_b8;\n      }" (else "else") (compound_statement "{\n        wVar10 = (**(code **)(*(long *)local_b8._0_8_ + 0x48))();\n        auVar4 = local_b8;\n      }" ({ "{") (expression_statement "wVar10 = (**(code **)(*(long *)local_b8._0_8_ + 0x48))();" (assignment_expression "wVar10 = (**(code **)(*(long *)local_b8._0_8_ + 0x48))()" (identifier "wVar10") (= "=") (call_expression "(**(code **)(*(long *)local_b8._0_8_ + 0x48))()" (parenthesized_expression "(**(code **)(*(long *)local_b8._0_8_ + 0x48))" (( "(") (pointer_expression "**(code **)(*(long *)local_b8._0_8_ + 0x48)" (* "*") (pointer_expression "*(code **)(*(long *)local_b8._0_8_ + 0x48)" (* "*") (cast_expression "(code **)(*(long *)local_b8._0_8_ + 0x48)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*(long *)local_b8._0_8_ + 0x48)" (( "(") (binary_expression "*(long *)local_b8._0_8_ + 0x48" (pointer_expression "*(long *)local_b8._0_8_" (* "*") (cast_expression "(long *)local_b8._0_8_" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (field_expression "local_b8._0_8_" (identifier "local_b8") (. ".") (field_identifier "_0_8_")))) (+ "+") (number_literal "0x48")) () ")"))))) () ")")) (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "auVar4 = local_b8;" (assignment_expression "auVar4 = local_b8" (identifier "auVar4") (= "=") (identifier "local_b8")) (; ";")) (} "}")))) (expression_statement "local_b8._8_4_ = auVar4._8_4_;" (assignment_expression "local_b8._8_4_ = auVar4._8_4_" (field_expression "local_b8._8_4_" (identifier "local_b8") (. ".") (field_identifier "_8_4_")) (= "=") (field_expression "auVar4._8_4_" (identifier "auVar4") (. ".") (field_identifier "_8_4_"))) (; ";")) (if_statement "if (wVar10 == L'\xffffffff') {\n        auVar4._4_8_ = 0;\n        auVar4._0_4_ = local_b8._8_4_;\n        auVar4 = auVar4 << 0x40;\n        local_b8._8_4_ = L'\xffffffff';\n        goto LAB_00358121;\n      }" (if "if") (parenthesized_expression "(wVar10 == L'\xffffffff')" (( "(") (binary_expression "wVar10 == L'\xffffffff'" (identifier "wVar10") (== "==") (char_literal "L'\xffffffff'" (L' "L'") (escape_sequence "\xffff") (character "f") (character "f") (character "f") (character "f") (' "'"))) () ")")) (compound_statement "{\n        auVar4._4_8_ = 0;\n        auVar4._0_4_ = local_b8._8_4_;\n        auVar4 = auVar4 << 0x40;\n        local_b8._8_4_ = L'\xffffffff';\n        goto LAB_00358121;\n      }" ({ "{") (expression_statement "auVar4._4_8_ = 0;" (assignment_expression "auVar4._4_8_ = 0" (field_expression "auVar4._4_8_" (identifier "auVar4") (. ".") (field_identifier "_4_8_")) (= "=") (number_literal "0")) (; ";")) (expression_statement "auVar4._0_4_ = local_b8._8_4_;" (assignment_expression "auVar4._0_4_ = local_b8._8_4_" (field_expression "auVar4._0_4_" (identifier "auVar4") (. ".") (field_identifier "_0_4_")) (= "=") (field_expression "local_b8._8_4_" (identifier "local_b8") (. ".") (field_identifier "_8_4_"))) (; ";")) (expression_statement "auVar4 = auVar4 << 0x40;" (assignment_expression "auVar4 = auVar4 << 0x40" (identifier "auVar4") (= "=") (binary_expression "auVar4 << 0x40" (identifier "auVar4") (<< "<<") (number_literal "0x40"))) (; ";")) (expression_statement "local_b8._8_4_ = L'\xffffffff';" (assignment_expression "local_b8._8_4_ = L'\xffffffff'" (field_expression "local_b8._8_4_" (identifier "local_b8") (. ".") (field_identifier "_8_4_")) (= "=") (char_literal "L'\xffffffff'" (L' "L'") (escape_sequence "\xffff") (character "f") (character "f") (character "f") (character "f") (' "'"))) (; ";")) (goto_statement "goto LAB_00358121;" (goto "goto") (statement_identifier "LAB_00358121") (; ";")) (} "}"))) (expression_statement "local_b8 = auVar4;" (assignment_expression "local_b8 = auVar4" (identifier "local_b8") (= "=") (identifier "auVar4")) (; ";")) (if_statement "if (wVar1 == wVar10) goto LAB_00358290;" (if "if") (parenthesized_expression "(wVar1 == wVar10)" (( "(") (binary_expression "wVar1 == wVar10" (identifier "wVar1") (== "==") (identifier "wVar10")) () ")")) (goto_statement "goto LAB_00358290;" (goto "goto") (statement_identifier "LAB_00358290") (; ";"))) (labeled_statement "LAB_0035812a:\n      local_a0 = local_a0 | 4;" (statement_identifier "LAB_0035812a") (: ":") (expression_statement "local_a0 = local_a0 | 4;" (assignment_expression "local_a0 = local_a0 | 4" (identifier "local_a0") (= "=") (binary_expression "local_a0 | 4" (identifier "local_a0") (| "|") (number_literal "4"))) (; ";"))) (} "}")) (else_clause "else {\nLAB_00358121:\n      bVar17 = wVar1 != local_b8._8_4_;\n      local_b8 = auVar4;\n      if (bVar17) goto LAB_0035812a;\nLAB_00358290:\n      local_b8._0_8_ = auVar4._0_8_;\n      if (*(ulong *)(local_b8._0_8_ + 0x10) < *(ulong *)(local_b8._0_8_ + 0x18)) {\n        *(ulong *)(local_b8._0_8_ + 0x10) = *(ulong *)(local_b8._0_8_ + 0x10) + 4;\n      }\n      else {\n        lVar2 = *(long *)local_b8._0_8_;\n        local_b8 = auVar4;\n        (**(code **)(lVar2 + 0x50))();\n      }\n      local_b8._8_4_ = 0xffffffff;\n    }" (else "else") (compound_statement "{\nLAB_00358121:\n      bVar17 = wVar1 != local_b8._8_4_;\n      local_b8 = auVar4;\n      if (bVar17) goto LAB_0035812a;\nLAB_00358290:\n      local_b8._0_8_ = auVar4._0_8_;\n      if (*(ulong *)(local_b8._0_8_ + 0x10) < *(ulong *)(local_b8._0_8_ + 0x18)) {\n        *(ulong *)(local_b8._0_8_ + 0x10) = *(ulong *)(local_b8._0_8_ + 0x10) + 4;\n      }\n      else {\n        lVar2 = *(long *)local_b8._0_8_;\n        local_b8 = auVar4;\n        (**(code **)(lVar2 + 0x50))();\n      }\n      local_b8._8_4_ = 0xffffffff;\n    }" ({ "{") (labeled_statement "LAB_00358121:\n      bVar17 = wVar1 != local_b8._8_4_;" (statement_identifier "LAB_00358121") (: ":") (expression_statement "bVar17 = wVar1 != local_b8._8_4_;" (assignment_expression "bVar17 = wVar1 != local_b8._8_4_" (identifier "bVar17") (= "=") (binary_expression "wVar1 != local_b8._8_4_" (identifier "wVar1") (!= "!=") (field_expression "local_b8._8_4_" (identifier "local_b8") (. ".") (field_identifier "_8_4_")))) (; ";"))) (expression_statement "local_b8 = auVar4;" (assignment_expression "local_b8 = auVar4" (identifier "local_b8") (= "=") (identifier "auVar4")) (; ";")) (if_statement "if (bVar17) goto LAB_0035812a;" (if "if") (parenthesized_expression "(bVar17)" (( "(") (identifier "bVar17") () ")")) (goto_statement "goto LAB_0035812a;" (goto "goto") (statement_identifier "LAB_0035812a") (; ";"))) (labeled_statement "LAB_00358290:\n      local_b8._0_8_ = auVar4._0_8_;" (statement_identifier "LAB_00358290") (: ":") (expression_statement "local_b8._0_8_ = auVar4._0_8_;" (assignment_expression "local_b8._0_8_ = auVar4._0_8_" (field_expression "local_b8._0_8_" (identifier "local_b8") (. ".") (field_identifier "_0_8_")) (= "=") (field_expression "auVar4._0_8_" (identifier "auVar4") (. ".") (field_identifier "_0_8_"))) (; ";"))) (if_statement "if (*(ulong *)(local_b8._0_8_ + 0x10) < *(ulong *)(local_b8._0_8_ + 0x18)) {\n        *(ulong *)(local_b8._0_8_ + 0x10) = *(ulong *)(local_b8._0_8_ + 0x10) + 4;\n      }\n      else {\n        lVar2 = *(long *)local_b8._0_8_;\n        local_b8 = auVar4;\n        (**(code **)(lVar2 + 0x50))();\n      }" (if "if") (parenthesized_expression "(*(ulong *)(local_b8._0_8_ + 0x10) < *(ulong *)(local_b8._0_8_ + 0x18))" (( "(") (binary_expression "*(ulong *)(local_b8._0_8_ + 0x10) < *(ulong *)(local_b8._0_8_ + 0x18)" (pointer_expression "*(ulong *)(local_b8._0_8_ + 0x10)" (* "*") (cast_expression "(ulong *)(local_b8._0_8_ + 0x10)" (( "(") (type_descriptor "ulong *" (type_identifier "ulong") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_b8._0_8_ + 0x10)" (( "(") (binary_expression "local_b8._0_8_ + 0x10" (field_expression "local_b8._0_8_" (identifier "local_b8") (. ".") (field_identifier "_0_8_")) (+ "+") (number_literal "0x10")) () ")")))) (< "<") (pointer_expression "*(ulong *)(local_b8._0_8_ + 0x18)" (* "*") (cast_expression "(ulong *)(local_b8._0_8_ + 0x18)" (( "(") (type_descriptor "ulong *" (type_identifier "ulong") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_b8._0_8_ + 0x18)" (( "(") (binary_expression "local_b8._0_8_ + 0x18" (field_expression "local_b8._0_8_" (identifier "local_b8") (. ".") (field_identifier "_0_8_")) (+ "+") (number_literal "0x18")) () ")"))))) () ")")) (compound_statement "{\n        *(ulong *)(local_b8._0_8_ + 0x10) = *(ulong *)(local_b8._0_8_ + 0x10) + 4;\n      }" ({ "{") (expression_statement "*(ulong *)(local_b8._0_8_ + 0x10) = *(ulong *)(local_b8._0_8_ + 0x10) + 4;" (assignment_expression "*(ulong *)(local_b8._0_8_ + 0x10) = *(ulong *)(local_b8._0_8_ + 0x10) + 4" (pointer_expression "*(ulong *)(local_b8._0_8_ + 0x10)" (* "*") (cast_expression "(ulong *)(local_b8._0_8_ + 0x10)" (( "(") (type_descriptor "ulong *" (type_identifier "ulong") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_b8._0_8_ + 0x10)" (( "(") (binary_expression "local_b8._0_8_ + 0x10" (field_expression "local_b8._0_8_" (identifier "local_b8") (. ".") (field_identifier "_0_8_")) (+ "+") (number_literal "0x10")) () ")")))) (= "=") (binary_expression "*(ulong *)(local_b8._0_8_ + 0x10) + 4" (pointer_expression "*(ulong *)(local_b8._0_8_ + 0x10)" (* "*") (cast_expression "(ulong *)(local_b8._0_8_ + 0x10)" (( "(") (type_descriptor "ulong *" (type_identifier "ulong") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_b8._0_8_ + 0x10)" (( "(") (binary_expression "local_b8._0_8_ + 0x10" (field_expression "local_b8._0_8_" (identifier "local_b8") (. ".") (field_identifier "_0_8_")) (+ "+") (number_literal "0x10")) () ")")))) (+ "+") (number_literal "4"))) (; ";")) (} "}")) (else_clause "else {\n        lVar2 = *(long *)local_b8._0_8_;\n        local_b8 = auVar4;\n        (**(code **)(lVar2 + 0x50))();\n      }" (else "else") (compound_statement "{\n        lVar2 = *(long *)local_b8._0_8_;\n        local_b8 = auVar4;\n        (**(code **)(lVar2 + 0x50))();\n      }" ({ "{") (expression_statement "lVar2 = *(long *)local_b8._0_8_;" (assignment_expression "lVar2 = *(long *)local_b8._0_8_" (identifier "lVar2") (= "=") (pointer_expression "*(long *)local_b8._0_8_" (* "*") (cast_expression "(long *)local_b8._0_8_" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (field_expression "local_b8._0_8_" (identifier "local_b8") (. ".") (field_identifier "_0_8_"))))) (; ";")) (expression_statement "local_b8 = auVar4;" (assignment_expression "local_b8 = auVar4" (identifier "local_b8") (= "=") (identifier "auVar4")) (; ";")) (expression_statement "(**(code **)(lVar2 + 0x50))();" (call_expression "(**(code **)(lVar2 + 0x50))()" (parenthesized_expression "(**(code **)(lVar2 + 0x50))" (( "(") (pointer_expression "**(code **)(lVar2 + 0x50)" (* "*") (pointer_expression "*(code **)(lVar2 + 0x50)" (* "*") (cast_expression "(code **)(lVar2 + 0x50)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(lVar2 + 0x50)" (( "(") (binary_expression "lVar2 + 0x50" (identifier "lVar2") (+ "+") (number_literal "0x50")) () ")"))))) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (} "}")))) (expression_statement "local_b8._8_4_ = 0xffffffff;" (assignment_expression "local_b8._8_4_ = 0xffffffff" (field_expression "local_b8._8_4_" (identifier "local_b8") (. ".") (field_identifier "_8_4_")) (= "=") (number_literal "0xffffffff")) (; ";")) (} "}")))) (goto_statement "goto LAB_00358033;" (goto "goto") (statement_identifier "LAB_00358033") (; ";")) (} "}"))) (expression_statement "cVar6 = (**(code **)(*plVar12 + 0x60))(plVar12,param_9[uVar15 + 1],0);" (assignment_expression "cVar6 = (**(code **)(*plVar12 + 0x60))(plVar12,param_9[uVar15 + 1],0)" (identifier "cVar6") (= "=") (call_expression "(**(code **)(*plVar12 + 0x60))(plVar12,param_9[uVar15 + 1],0)" (parenthesized_expression "(**(code **)(*plVar12 + 0x60))" (( "(") (pointer_expression "**(code **)(*plVar12 + 0x60)" (* "*") (pointer_expression "*(code **)(*plVar12 + 0x60)" (* "*") (cast_expression "(code **)(*plVar12 + 0x60)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*plVar12 + 0x60)" (( "(") (binary_expression "*plVar12 + 0x60" (pointer_expression "*plVar12" (* "*") (identifier "plVar12")) (+ "+") (number_literal "0x60")) () ")"))))) () ")")) (argument_list "(plVar12,param_9[uVar15 + 1],0)" (( "(") (identifier "plVar12") (, ",") (subscript_expression "param_9[uVar15 + 1]" (identifier "param_9") ([ "[") (binary_expression "uVar15 + 1" (identifier "uVar15") (+ "+") (number_literal "1")) (] "]")) (, ",") (number_literal "0") () ")")))) (; ";")) (expression_statement "local_9c = 0;" (assignment_expression "local_9c = 0" (identifier "local_9c") (= "=") (number_literal "0")) (; ";")) (if_statement "if ((cVar6 == 'E') || (cVar6 == 'O')) {\n    uVar14 = uVar15 + 2;\n    cVar6 = (**(code **)(*plVar12 + 0x60))(plVar12,param_9[uVar15 + 2],0);\n  }" (if "if") (parenthesized_expression "((cVar6 == 'E') || (cVar6 == 'O'))" (( "(") (binary_expression "(cVar6 == 'E') || (cVar6 == 'O')" (parenthesized_expression "(cVar6 == 'E')" (( "(") (binary_expression "cVar6 == 'E'" (identifier "cVar6") (== "==") (char_literal "'E'" (' "'") (character "E") (' "'"))) () ")")) (|| "||") (parenthesized_expression "(cVar6 == 'O')" (( "(") (binary_expression "cVar6 == 'O'" (identifier "cVar6") (== "==") (char_literal "'O'" (' "'") (character "O") (' "'"))) () ")"))) () ")")) (compound_statement "{\n    uVar14 = uVar15 + 2;\n    cVar6 = (**(code **)(*plVar12 + 0x60))(plVar12,param_9[uVar15 + 2],0);\n  }" ({ "{") (expression_statement "uVar14 = uVar15 + 2;" (assignment_expression "uVar14 = uVar15 + 2" (identifier "uVar14") (= "=") (binary_expression "uVar15 + 2" (identifier "uVar15") (+ "+") (number_literal "2"))) (; ";")) (expression_statement "cVar6 = (**(code **)(*plVar12 + 0x60))(plVar12,param_9[uVar15 + 2],0);" (assignment_expression "cVar6 = (**(code **)(*plVar12 + 0x60))(plVar12,param_9[uVar15 + 2],0)" (identifier "cVar6") (= "=") (call_expression "(**(code **)(*plVar12 + 0x60))(plVar12,param_9[uVar15 + 2],0)" (parenthesized_expression "(**(code **)(*plVar12 + 0x60))" (( "(") (pointer_expression "**(code **)(*plVar12 + 0x60)" (* "*") (pointer_expression "*(code **)(*plVar12 + 0x60)" (* "*") (cast_expression "(code **)(*plVar12 + 0x60)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*plVar12 + 0x60)" (( "(") (binary_expression "*plVar12 + 0x60" (pointer_expression "*plVar12" (* "*") (identifier "plVar12")) (+ "+") (number_literal "0x60")) () ")"))))) () ")")) (argument_list "(plVar12,param_9[uVar15 + 2],0)" (( "(") (identifier "plVar12") (, ",") (subscript_expression "param_9[uVar15 + 2]" (identifier "param_9") ([ "[") (binary_expression "uVar15 + 2" (identifier "uVar15") (+ "+") (number_literal "2")) (] "]")) (, ",") (number_literal "0") () ")")))) (; ";")) (} "}"))) (switch_statement "switch(cVar6) {\n  case 'A':\n    lVar2 = *(long *)(lVar11 + 0x10);\n    local_98 = *(undefined8 *)(lVar2 + 0x58);\n    local_90 = *(undefined8 *)(lVar2 + 0x60);\n    local_88 = *(undefined8 *)(lVar2 + 0x68);\n    local_80 = *(undefined8 *)(lVar2 + 0x70);\n    local_78 = *(undefined8 *)(lVar2 + 0x78);\n    local_70 = *(undefined8 *)(lVar2 + 0x80);\n    local_68 = *(undefined8 *)(lVar2 + 0x88);\n    auVar18 = FUN_00356440(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,&local_9c,&local_98,7,param_6,&local_a0);\n    goto joined_r0x003588cd;\n  case 'B':\n    lVar2 = *(long *)(lVar11 + 0x10);\n    local_98 = *(undefined8 *)(lVar2 + 200);\n    local_90 = *(undefined8 *)(lVar2 + 0xd0);\n    local_88 = *(undefined8 *)(lVar2 + 0xd8);\n    local_80 = *(undefined8 *)(lVar2 + 0xe0);\n    local_78 = *(undefined8 *)(lVar2 + 0xe8);\n    local_70 = *(undefined8 *)(lVar2 + 0xf0);\n    local_68 = *(undefined8 *)(lVar2 + 0xf8);\n    local_60 = *(undefined8 *)(lVar2 + 0x100);\n    local_58 = *(undefined8 *)(lVar2 + 0x108);\n    local_50 = *(undefined8 *)(lVar2 + 0x110);\n    local_48 = *(undefined8 *)(lVar2 + 0x118);\n    local_40 = *(undefined8 *)(lVar2 + 0x120);\n    auVar18 = FUN_00356440(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,&local_9c,&local_98,0xc,param_6,&local_a0);\n    goto joined_r0x00358a12;\n  case 'C':\n  case 'Y':\n  case 'y':\n    auVar18 = FUN_00355fc0(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,&local_9c,0,9999,4,param_6,&local_a0);\n    local_b8 = auVar18;\n    if (local_a0 == 0) {\n      iVar9 = local_9c + -0x76c;\n      if (local_9c < 0) {\n        iVar9 = local_9c + 100;\n      }\n      param_8[5] = iVar9;\n    }\n    break;\n  case 'D':\n    (**(code **)(*plVar12 + 0x58))(plVar12,"%m/%d/%y","%H:%M",&local_98);\n    auVar18 = FUN_00357f80(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,param_6,&local_a0,param_8,&local_98);\n    local_b8 = auVar18;\n    break;\n  default:\n    goto switchD_003580fd_caseD_45;\n  case 'H':\n    auVar18 = FUN_00355fc0(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,&local_9c,0,0x17,2,param_6,&local_a0);\n    goto joined_r0x003587d9;\n  case 'I':\n    auVar18 = FUN_00355fc0(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,&local_9c,1,0xc,2,param_6,&local_a0);\njoined_r0x003587d9:\n    local_b8 = auVar18;\n    if (local_a0 == 0) {\n      param_8[2] = local_9c;\n    }\n    break;\n  case 'M':\n    auVar18 = FUN_00355fc0(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,&local_9c,0,0x3b,2,param_6,&local_a0);\n    local_b8 = auVar18;\n    if (local_a0 == 0) {\n      param_8[1] = local_9c;\n    }\n    break;\n  case 'R':\n    (**(code **)(*plVar12 + 0x58))(plVar12,"%H:%M","%H:%M:%S",&local_98);\n    auVar18 = FUN_00357f80(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,param_6,&local_a0,param_8,&local_98);\n    local_b8 = auVar18;\n    break;\n  case 'S':\n    auVar18 = FUN_00355fc0(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,&local_9c,0,0x3c,2,param_6,&local_a0);\n    local_b8 = auVar18;\n    if (local_a0 == 0) {\n      *param_8 = local_9c;\n    }\n    break;\n  case 'T':\n    (**(code **)(*plVar12 + 0x58))(plVar12,"%H:%M:%S",&DAT_003aba16,&local_98);\n    auVar18 = FUN_00357f80(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,param_6,&local_a0,param_8,&local_98);\n    local_b8 = auVar18;\n    break;\n  case 'X':\n    auVar18 = FUN_00357f80(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,param_6,&local_a0,param_8,\n                           *(undefined8 *)(*(long *)(lVar11 + 0x10) + 0x20));\n    local_b8 = auVar18;\n    break;\n  case 'Z':\n    uVar8 = FUN_0034def0(local_b8,local_b8._8_4_);\n    cVar6 = (**(code **)(*plVar12 + 0x10))(plVar12,0x100,uVar8);\n    if (cVar6 == '\0') goto switchD_003580fd_caseD_45;\n    auVar18 = FUN_00356440(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,&local_98,PTR_PTR_DAT_0045bff0,0xe,param_6,&local_a0);\n    local_b8 = auVar18;\n    cVar6 = FUN_00343350(local_b8,&local_c8);\n    if ((cVar6 == '\0') && (local_a0 == 0 && (int)local_98 == 0)) {\n      iVar9 = FUN_0034def0(local_b8);\n      iVar7 = (**(code **)(*plVar12 + 0x50))(plVar12,0x2d);\n      if (iVar9 != iVar7) {\n        iVar9 = FUN_0034def0(local_b8,local_b8._8_4_);\n        iVar7 = (**(code **)(*plVar12 + 0x50))(plVar12,0x2b);\n        if (iVar9 != iVar7) break;\n      }\n      auVar18 = FUN_00355fc0(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                             local_c0,&local_98,0,0x17,2,param_6,&local_a0);\n      local_b8 = auVar18;\n      auVar18 = FUN_00355fc0(param_1,auVar18._0_8_,CONCAT44(uStack_ac,auVar18._8_4_),local_c8,\n                             local_c0,&local_98,0,0x3b,2,param_6,&local_a0);\n      local_b8 = auVar18;\n    }\n    break;\n  case 'a':\n    lVar2 = *(long *)(lVar11 + 0x10);\n    local_98 = *(undefined8 *)(lVar2 + 0x90);\n    local_90 = *(undefined8 *)(lVar2 + 0x98);\n    local_88 = *(undefined8 *)(lVar2 + 0xa0);\n    local_80 = *(undefined8 *)(lVar2 + 0xa8);\n    local_78 = *(undefined8 *)(lVar2 + 0xb0);\n    local_70 = *(undefined8 *)(lVar2 + 0xb8);\n    local_68 = *(undefined8 *)(lVar2 + 0xc0);\n    auVar18 = FUN_00356440(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,&local_9c,&local_98,7,param_6,&local_a0);\njoined_r0x003588cd:\n    local_b8 = auVar18;\n    if (local_a0 == 0) {\n      param_8[6] = local_9c;\n    }\n    break;\n  case 'b':\n  case 'h':\n    lVar2 = *(long *)(lVar11 + 0x10);\n    local_98 = *(undefined8 *)(lVar2 + 0x128);\n    local_90 = *(undefined8 *)(lVar2 + 0x130);\n    local_88 = *(undefined8 *)(lVar2 + 0x138);\n    local_80 = *(undefined8 *)(lVar2 + 0x140);\n    local_78 = *(undefined8 *)(lVar2 + 0x148);\n    local_70 = *(undefined8 *)(lVar2 + 0x150);\n    local_68 = *(undefined8 *)(lVar2 + 0x158);\n    local_60 = *(undefined8 *)(lVar2 + 0x160);\n    local_58 = *(undefined8 *)(lVar2 + 0x168);\n    local_50 = *(undefined8 *)(lVar2 + 0x170);\n    local_48 = *(undefined8 *)(lVar2 + 0x178);\n    local_40 = *(undefined8 *)(lVar2 + 0x180);\n    auVar18 = FUN_00356440(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,&local_9c,&local_98,0xc,param_6,&local_a0);\njoined_r0x00358a12:\n    local_b8 = auVar18;\n    if (local_a0 == 0) {\n      param_8[4] = local_9c;\n    }\n    break;\n  case 'c':\n    auVar18 = FUN_00357f80(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,param_6,&local_a0,param_8,\n                           *(undefined8 *)(*(long *)(lVar11 + 0x10) + 0x30));\n    local_b8 = auVar18;\n    break;\n  case 'd':\n    auVar18 = FUN_00355fc0(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,&local_9c,1,0x1f,2,param_6,&local_a0);\n    goto joined_r0x00358be9;\n  case 'e':\n    uVar8 = FUN_0034def0(local_b8,local_b8._8_4_);\n    cVar6 = (**(code **)(*plVar12 + 0x10))(plVar12,0x2000,uVar8);\n    if (cVar6 == '\0') {\n      auVar18 = FUN_00355fc0(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                             local_c0,&local_9c,10,0x1f,2,param_6,&local_a0);\n    }\n    else {\n      FUN_002fc080(local_b8._0_8_);\n      local_b8._8_4_ = 0xffffffff;\n      auVar18 = FUN_00355fc0(param_1,local_b8._0_8_,CONCAT44(uStack_ac,0xffffffff),local_c8,local_c0\n                             ,&local_9c,1,9,1,param_6,&local_a0);\n    }\njoined_r0x00358be9:\n    local_b8 = auVar18;\n    if (local_a0 == 0) {\n      param_8[3] = local_9c;\n    }\n    break;\n  case 'm':\n    auVar18 = FUN_00355fc0(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,&local_9c,1,0xc,2,param_6,&local_a0);\n    local_b8 = auVar18;\n    if (local_a0 == 0) {\n      param_8[4] = local_9c + -1;\n    }\n    break;\n  case 'n':\n    uVar8 = FUN_0034def0(local_b8,local_b8._8_4_);\n    cVar6 = (**(code **)(*plVar12 + 0x60))(plVar12,uVar8,0);\n    if (cVar6 != '\n') goto switchD_003580fd_caseD_45;\nLAB_003590ce:\n    FUN_002fc080(local_b8._0_8_);\n    local_b8._8_4_ = 0xffffffff;\n    break;\n  case 't':\n    uVar8 = FUN_0034def0(local_b8,local_b8._8_4_);\n    cVar6 = (**(code **)(*plVar12 + 0x60))(plVar12,uVar8,0);\n    if (cVar6 == '\t') goto LAB_003590ce;\n    goto switchD_003580fd_caseD_45;\n  case 'x':\n    auVar18 = FUN_00357f80(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,param_6,&local_a0,param_8,\n                           *(undefined8 *)(*(long *)(lVar11 + 0x10) + 0x10));\n    local_b8 = auVar18;\n  }" (switch "switch") (parenthesized_expression "(cVar6)" (( "(") (identifier "cVar6") () ")")) (compound_statement "{\n  case 'A':\n    lVar2 = *(long *)(lVar11 + 0x10);\n    local_98 = *(undefined8 *)(lVar2 + 0x58);\n    local_90 = *(undefined8 *)(lVar2 + 0x60);\n    local_88 = *(undefined8 *)(lVar2 + 0x68);\n    local_80 = *(undefined8 *)(lVar2 + 0x70);\n    local_78 = *(undefined8 *)(lVar2 + 0x78);\n    local_70 = *(undefined8 *)(lVar2 + 0x80);\n    local_68 = *(undefined8 *)(lVar2 + 0x88);\n    auVar18 = FUN_00356440(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,&local_9c,&local_98,7,param_6,&local_a0);\n    goto joined_r0x003588cd;\n  case 'B':\n    lVar2 = *(long *)(lVar11 + 0x10);\n    local_98 = *(undefined8 *)(lVar2 + 200);\n    local_90 = *(undefined8 *)(lVar2 + 0xd0);\n    local_88 = *(undefined8 *)(lVar2 + 0xd8);\n    local_80 = *(undefined8 *)(lVar2 + 0xe0);\n    local_78 = *(undefined8 *)(lVar2 + 0xe8);\n    local_70 = *(undefined8 *)(lVar2 + 0xf0);\n    local_68 = *(undefined8 *)(lVar2 + 0xf8);\n    local_60 = *(undefined8 *)(lVar2 + 0x100);\n    local_58 = *(undefined8 *)(lVar2 + 0x108);\n    local_50 = *(undefined8 *)(lVar2 + 0x110);\n    local_48 = *(undefined8 *)(lVar2 + 0x118);\n    local_40 = *(undefined8 *)(lVar2 + 0x120);\n    auVar18 = FUN_00356440(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,&local_9c,&local_98,0xc,param_6,&local_a0);\n    goto joined_r0x00358a12;\n  case 'C':\n  case 'Y':\n  case 'y':\n    auVar18 = FUN_00355fc0(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,&local_9c,0,9999,4,param_6,&local_a0);\n    local_b8 = auVar18;\n    if (local_a0 == 0) {\n      iVar9 = local_9c + -0x76c;\n      if (local_9c < 0) {\n        iVar9 = local_9c + 100;\n      }\n      param_8[5] = iVar9;\n    }\n    break;\n  case 'D':\n    (**(code **)(*plVar12 + 0x58))(plVar12,"%m/%d/%y","%H:%M",&local_98);\n    auVar18 = FUN_00357f80(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,param_6,&local_a0,param_8,&local_98);\n    local_b8 = auVar18;\n    break;\n  default:\n    goto switchD_003580fd_caseD_45;\n  case 'H':\n    auVar18 = FUN_00355fc0(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,&local_9c,0,0x17,2,param_6,&local_a0);\n    goto joined_r0x003587d9;\n  case 'I':\n    auVar18 = FUN_00355fc0(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,&local_9c,1,0xc,2,param_6,&local_a0);\njoined_r0x003587d9:\n    local_b8 = auVar18;\n    if (local_a0 == 0) {\n      param_8[2] = local_9c;\n    }\n    break;\n  case 'M':\n    auVar18 = FUN_00355fc0(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,&local_9c,0,0x3b,2,param_6,&local_a0);\n    local_b8 = auVar18;\n    if (local_a0 == 0) {\n      param_8[1] = local_9c;\n    }\n    break;\n  case 'R':\n    (**(code **)(*plVar12 + 0x58))(plVar12,"%H:%M","%H:%M:%S",&local_98);\n    auVar18 = FUN_00357f80(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,param_6,&local_a0,param_8,&local_98);\n    local_b8 = auVar18;\n    break;\n  case 'S':\n    auVar18 = FUN_00355fc0(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,&local_9c,0,0x3c,2,param_6,&local_a0);\n    local_b8 = auVar18;\n    if (local_a0 == 0) {\n      *param_8 = local_9c;\n    }\n    break;\n  case 'T':\n    (**(code **)(*plVar12 + 0x58))(plVar12,"%H:%M:%S",&DAT_003aba16,&local_98);\n    auVar18 = FUN_00357f80(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,param_6,&local_a0,param_8,&local_98);\n    local_b8 = auVar18;\n    break;\n  case 'X':\n    auVar18 = FUN_00357f80(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,param_6,&local_a0,param_8,\n                           *(undefined8 *)(*(long *)(lVar11 + 0x10) + 0x20));\n    local_b8 = auVar18;\n    break;\n  case 'Z':\n    uVar8 = FUN_0034def0(local_b8,local_b8._8_4_);\n    cVar6 = (**(code **)(*plVar12 + 0x10))(plVar12,0x100,uVar8);\n    if (cVar6 == '\0') goto switchD_003580fd_caseD_45;\n    auVar18 = FUN_00356440(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,&local_98,PTR_PTR_DAT_0045bff0,0xe,param_6,&local_a0);\n    local_b8 = auVar18;\n    cVar6 = FUN_00343350(local_b8,&local_c8);\n    if ((cVar6 == '\0') && (local_a0 == 0 && (int)local_98 == 0)) {\n      iVar9 = FUN_0034def0(local_b8);\n      iVar7 = (**(code **)(*plVar12 + 0x50))(plVar12,0x2d);\n      if (iVar9 != iVar7) {\n        iVar9 = FUN_0034def0(local_b8,local_b8._8_4_);\n        iVar7 = (**(code **)(*plVar12 + 0x50))(plVar12,0x2b);\n        if (iVar9 != iVar7) break;\n      }\n      auVar18 = FUN_00355fc0(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                             local_c0,&local_98,0,0x17,2,param_6,&local_a0);\n      local_b8 = auVar18;\n      auVar18 = FUN_00355fc0(param_1,auVar18._0_8_,CONCAT44(uStack_ac,auVar18._8_4_),local_c8,\n                             local_c0,&local_98,0,0x3b,2,param_6,&local_a0);\n      local_b8 = auVar18;\n    }\n    break;\n  case 'a':\n    lVar2 = *(long *)(lVar11 + 0x10);\n    local_98 = *(undefined8 *)(lVar2 + 0x90);\n    local_90 = *(undefined8 *)(lVar2 + 0x98);\n    local_88 = *(undefined8 *)(lVar2 + 0xa0);\n    local_80 = *(undefined8 *)(lVar2 + 0xa8);\n    local_78 = *(undefined8 *)(lVar2 + 0xb0);\n    local_70 = *(undefined8 *)(lVar2 + 0xb8);\n    local_68 = *(undefined8 *)(lVar2 + 0xc0);\n    auVar18 = FUN_00356440(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,&local_9c,&local_98,7,param_6,&local_a0);\njoined_r0x003588cd:\n    local_b8 = auVar18;\n    if (local_a0 == 0) {\n      param_8[6] = local_9c;\n    }\n    break;\n  case 'b':\n  case 'h':\n    lVar2 = *(long *)(lVar11 + 0x10);\n    local_98 = *(undefined8 *)(lVar2 + 0x128);\n    local_90 = *(undefined8 *)(lVar2 + 0x130);\n    local_88 = *(undefined8 *)(lVar2 + 0x138);\n    local_80 = *(undefined8 *)(lVar2 + 0x140);\n    local_78 = *(undefined8 *)(lVar2 + 0x148);\n    local_70 = *(undefined8 *)(lVar2 + 0x150);\n    local_68 = *(undefined8 *)(lVar2 + 0x158);\n    local_60 = *(undefined8 *)(lVar2 + 0x160);\n    local_58 = *(undefined8 *)(lVar2 + 0x168);\n    local_50 = *(undefined8 *)(lVar2 + 0x170);\n    local_48 = *(undefined8 *)(lVar2 + 0x178);\n    local_40 = *(undefined8 *)(lVar2 + 0x180);\n    auVar18 = FUN_00356440(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,&local_9c,&local_98,0xc,param_6,&local_a0);\njoined_r0x00358a12:\n    local_b8 = auVar18;\n    if (local_a0 == 0) {\n      param_8[4] = local_9c;\n    }\n    break;\n  case 'c':\n    auVar18 = FUN_00357f80(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,param_6,&local_a0,param_8,\n                           *(undefined8 *)(*(long *)(lVar11 + 0x10) + 0x30));\n    local_b8 = auVar18;\n    break;\n  case 'd':\n    auVar18 = FUN_00355fc0(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,&local_9c,1,0x1f,2,param_6,&local_a0);\n    goto joined_r0x00358be9;\n  case 'e':\n    uVar8 = FUN_0034def0(local_b8,local_b8._8_4_);\n    cVar6 = (**(code **)(*plVar12 + 0x10))(plVar12,0x2000,uVar8);\n    if (cVar6 == '\0') {\n      auVar18 = FUN_00355fc0(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                             local_c0,&local_9c,10,0x1f,2,param_6,&local_a0);\n    }\n    else {\n      FUN_002fc080(local_b8._0_8_);\n      local_b8._8_4_ = 0xffffffff;\n      auVar18 = FUN_00355fc0(param_1,local_b8._0_8_,CONCAT44(uStack_ac,0xffffffff),local_c8,local_c0\n                             ,&local_9c,1,9,1,param_6,&local_a0);\n    }\njoined_r0x00358be9:\n    local_b8 = auVar18;\n    if (local_a0 == 0) {\n      param_8[3] = local_9c;\n    }\n    break;\n  case 'm':\n    auVar18 = FUN_00355fc0(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,&local_9c,1,0xc,2,param_6,&local_a0);\n    local_b8 = auVar18;\n    if (local_a0 == 0) {\n      param_8[4] = local_9c + -1;\n    }\n    break;\n  case 'n':\n    uVar8 = FUN_0034def0(local_b8,local_b8._8_4_);\n    cVar6 = (**(code **)(*plVar12 + 0x60))(plVar12,uVar8,0);\n    if (cVar6 != '\n') goto switchD_003580fd_caseD_45;\nLAB_003590ce:\n    FUN_002fc080(local_b8._0_8_);\n    local_b8._8_4_ = 0xffffffff;\n    break;\n  case 't':\n    uVar8 = FUN_0034def0(local_b8,local_b8._8_4_);\n    cVar6 = (**(code **)(*plVar12 + 0x60))(plVar12,uVar8,0);\n    if (cVar6 == '\t') goto LAB_003590ce;\n    goto switchD_003580fd_caseD_45;\n  case 'x':\n    auVar18 = FUN_00357f80(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,param_6,&local_a0,param_8,\n                           *(undefined8 *)(*(long *)(lVar11 + 0x10) + 0x10));\n    local_b8 = auVar18;\n  }" ({ "{") (case_statement "case 'A':\n    lVar2 = *(long *)(lVar11 + 0x10);\n    local_98 = *(undefined8 *)(lVar2 + 0x58);\n    local_90 = *(undefined8 *)(lVar2 + 0x60);\n    local_88 = *(undefined8 *)(lVar2 + 0x68);\n    local_80 = *(undefined8 *)(lVar2 + 0x70);\n    local_78 = *(undefined8 *)(lVar2 + 0x78);\n    local_70 = *(undefined8 *)(lVar2 + 0x80);\n    local_68 = *(undefined8 *)(lVar2 + 0x88);\n    auVar18 = FUN_00356440(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,&local_9c,&local_98,7,param_6,&local_a0);\n    goto joined_r0x003588cd;" (case "case") (char_literal "'A'" (' "'") (character "A") (' "'")) (: ":") (expression_statement "lVar2 = *(long *)(lVar11 + 0x10);" (assignment_expression "lVar2 = *(long *)(lVar11 + 0x10)" (identifier "lVar2") (= "=") (pointer_expression "*(long *)(lVar11 + 0x10)" (* "*") (cast_expression "(long *)(lVar11 + 0x10)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar11 + 0x10)" (( "(") (binary_expression "lVar11 + 0x10" (identifier "lVar11") (+ "+") (number_literal "0x10")) () ")"))))) (; ";")) (expression_statement "local_98 = *(undefined8 *)(lVar2 + 0x58);" (assignment_expression "local_98 = *(undefined8 *)(lVar2 + 0x58)" (identifier "local_98") (= "=") (pointer_expression "*(undefined8 *)(lVar2 + 0x58)" (* "*") (cast_expression "(undefined8 *)(lVar2 + 0x58)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar2 + 0x58)" (( "(") (binary_expression "lVar2 + 0x58" (identifier "lVar2") (+ "+") (number_literal "0x58")) () ")"))))) (; ";")) (expression_statement "local_90 = *(undefined8 *)(lVar2 + 0x60);" (assignment_expression "local_90 = *(undefined8 *)(lVar2 + 0x60)" (identifier "local_90") (= "=") (pointer_expression "*(undefined8 *)(lVar2 + 0x60)" (* "*") (cast_expression "(undefined8 *)(lVar2 + 0x60)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar2 + 0x60)" (( "(") (binary_expression "lVar2 + 0x60" (identifier "lVar2") (+ "+") (number_literal "0x60")) () ")"))))) (; ";")) (expression_statement "local_88 = *(undefined8 *)(lVar2 + 0x68);" (assignment_expression "local_88 = *(undefined8 *)(lVar2 + 0x68)" (identifier "local_88") (= "=") (pointer_expression "*(undefined8 *)(lVar2 + 0x68)" (* "*") (cast_expression "(undefined8 *)(lVar2 + 0x68)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar2 + 0x68)" (( "(") (binary_expression "lVar2 + 0x68" (identifier "lVar2") (+ "+") (number_literal "0x68")) () ")"))))) (; ";")) (expression_statement "local_80 = *(undefined8 *)(lVar2 + 0x70);" (assignment_expression "local_80 = *(undefined8 *)(lVar2 + 0x70)" (identifier "local_80") (= "=") (pointer_expression "*(undefined8 *)(lVar2 + 0x70)" (* "*") (cast_expression "(undefined8 *)(lVar2 + 0x70)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar2 + 0x70)" (( "(") (binary_expression "lVar2 + 0x70" (identifier "lVar2") (+ "+") (number_literal "0x70")) () ")"))))) (; ";")) (expression_statement "local_78 = *(undefined8 *)(lVar2 + 0x78);" (assignment_expression "local_78 = *(undefined8 *)(lVar2 + 0x78)" (identifier "local_78") (= "=") (pointer_expression "*(undefined8 *)(lVar2 + 0x78)" (* "*") (cast_expression "(undefined8 *)(lVar2 + 0x78)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar2 + 0x78)" (( "(") (binary_expression "lVar2 + 0x78" (identifier "lVar2") (+ "+") (number_literal "0x78")) () ")"))))) (; ";")) (expression_statement "local_70 = *(undefined8 *)(lVar2 + 0x80);" (assignment_expression "local_70 = *(undefined8 *)(lVar2 + 0x80)" (identifier "local_70") (= "=") (pointer_expression "*(undefined8 *)(lVar2 + 0x80)" (* "*") (cast_expression "(undefined8 *)(lVar2 + 0x80)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar2 + 0x80)" (( "(") (binary_expression "lVar2 + 0x80" (identifier "lVar2") (+ "+") (number_literal "0x80")) () ")"))))) (; ";")) (expression_statement "local_68 = *(undefined8 *)(lVar2 + 0x88);" (assignment_expression "local_68 = *(undefined8 *)(lVar2 + 0x88)" (identifier "local_68") (= "=") (pointer_expression "*(undefined8 *)(lVar2 + 0x88)" (* "*") (cast_expression "(undefined8 *)(lVar2 + 0x88)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar2 + 0x88)" (( "(") (binary_expression "lVar2 + 0x88" (identifier "lVar2") (+ "+") (number_literal "0x88")) () ")"))))) (; ";")) (expression_statement "auVar18 = FUN_00356440(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,&local_9c,&local_98,7,param_6,&local_a0);" (assignment_expression "auVar18 = FUN_00356440(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,&local_9c,&local_98,7,param_6,&local_a0)" (identifier "auVar18") (= "=") (call_expression "FUN_00356440(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,&local_9c,&local_98,7,param_6,&local_a0)" (identifier "FUN_00356440") (argument_list "(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,&local_9c,&local_98,7,param_6,&local_a0)" (( "(") (identifier "param_1") (, ",") (field_expression "local_b8._0_8_" (identifier "local_b8") (. ".") (field_identifier "_0_8_")) (, ",") (call_expression "CONCAT44(uStack_ac,local_b8._8_4_)" (identifier "CONCAT44") (argument_list "(uStack_ac,local_b8._8_4_)" (( "(") (identifier "uStack_ac") (, ",") (field_expression "local_b8._8_4_" (identifier "local_b8") (. ".") (field_identifier "_8_4_")) () ")"))) (, ",") (identifier "local_c8") (, ",") (identifier "local_c0") (, ",") (pointer_expression "&local_9c" (& "&") (identifier "local_9c")) (, ",") (pointer_expression "&local_98" (& "&") (identifier "local_98")) (, ",") (number_literal "7") (, ",") (identifier "param_6") (, ",") (pointer_expression "&local_a0" (& "&") (identifier "local_a0")) () ")")))) (; ";")) (goto_statement "goto joined_r0x003588cd;" (goto "goto") (statement_identifier "joined_r0x003588cd") (; ";"))) (case_statement "case 'B':\n    lVar2 = *(long *)(lVar11 + 0x10);\n    local_98 = *(undefined8 *)(lVar2 + 200);\n    local_90 = *(undefined8 *)(lVar2 + 0xd0);\n    local_88 = *(undefined8 *)(lVar2 + 0xd8);\n    local_80 = *(undefined8 *)(lVar2 + 0xe0);\n    local_78 = *(undefined8 *)(lVar2 + 0xe8);\n    local_70 = *(undefined8 *)(lVar2 + 0xf0);\n    local_68 = *(undefined8 *)(lVar2 + 0xf8);\n    local_60 = *(undefined8 *)(lVar2 + 0x100);\n    local_58 = *(undefined8 *)(lVar2 + 0x108);\n    local_50 = *(undefined8 *)(lVar2 + 0x110);\n    local_48 = *(undefined8 *)(lVar2 + 0x118);\n    local_40 = *(undefined8 *)(lVar2 + 0x120);\n    auVar18 = FUN_00356440(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,&local_9c,&local_98,0xc,param_6,&local_a0);\n    goto joined_r0x00358a12;" (case "case") (char_literal "'B'" (' "'") (character "B") (' "'")) (: ":") (expression_statement "lVar2 = *(long *)(lVar11 + 0x10);" (assignment_expression "lVar2 = *(long *)(lVar11 + 0x10)" (identifier "lVar2") (= "=") (pointer_expression "*(long *)(lVar11 + 0x10)" (* "*") (cast_expression "(long *)(lVar11 + 0x10)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar11 + 0x10)" (( "(") (binary_expression "lVar11 + 0x10" (identifier "lVar11") (+ "+") (number_literal "0x10")) () ")"))))) (; ";")) (expression_statement "local_98 = *(undefined8 *)(lVar2 + 200);" (assignment_expression "local_98 = *(undefined8 *)(lVar2 + 200)" (identifier "local_98") (= "=") (pointer_expression "*(undefined8 *)(lVar2 + 200)" (* "*") (cast_expression "(undefined8 *)(lVar2 + 200)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar2 + 200)" (( "(") (binary_expression "lVar2 + 200" (identifier "lVar2") (+ "+") (number_literal "200")) () ")"))))) (; ";")) (expression_statement "local_90 = *(undefined8 *)(lVar2 + 0xd0);" (assignment_expression "local_90 = *(undefined8 *)(lVar2 + 0xd0)" (identifier "local_90") (= "=") (pointer_expression "*(undefined8 *)(lVar2 + 0xd0)" (* "*") (cast_expression "(undefined8 *)(lVar2 + 0xd0)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar2 + 0xd0)" (( "(") (binary_expression "lVar2 + 0xd0" (identifier "lVar2") (+ "+") (number_literal "0xd0")) () ")"))))) (; ";")) (expression_statement "local_88 = *(undefined8 *)(lVar2 + 0xd8);" (assignment_expression "local_88 = *(undefined8 *)(lVar2 + 0xd8)" (identifier "local_88") (= "=") (pointer_expression "*(undefined8 *)(lVar2 + 0xd8)" (* "*") (cast_expression "(undefined8 *)(lVar2 + 0xd8)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar2 + 0xd8)" (( "(") (binary_expression "lVar2 + 0xd8" (identifier "lVar2") (+ "+") (number_literal "0xd8")) () ")"))))) (; ";")) (expression_statement "local_80 = *(undefined8 *)(lVar2 + 0xe0);" (assignment_expression "local_80 = *(undefined8 *)(lVar2 + 0xe0)" (identifier "local_80") (= "=") (pointer_expression "*(undefined8 *)(lVar2 + 0xe0)" (* "*") (cast_expression "(undefined8 *)(lVar2 + 0xe0)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar2 + 0xe0)" (( "(") (binary_expression "lVar2 + 0xe0" (identifier "lVar2") (+ "+") (number_literal "0xe0")) () ")"))))) (; ";")) (expression_statement "local_78 = *(undefined8 *)(lVar2 + 0xe8);" (assignment_expression "local_78 = *(undefined8 *)(lVar2 + 0xe8)" (identifier "local_78") (= "=") (pointer_expression "*(undefined8 *)(lVar2 + 0xe8)" (* "*") (cast_expression "(undefined8 *)(lVar2 + 0xe8)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar2 + 0xe8)" (( "(") (binary_expression "lVar2 + 0xe8" (identifier "lVar2") (+ "+") (number_literal "0xe8")) () ")"))))) (; ";")) (expression_statement "local_70 = *(undefined8 *)(lVar2 + 0xf0);" (assignment_expression "local_70 = *(undefined8 *)(lVar2 + 0xf0)" (identifier "local_70") (= "=") (pointer_expression "*(undefined8 *)(lVar2 + 0xf0)" (* "*") (cast_expression "(undefined8 *)(lVar2 + 0xf0)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar2 + 0xf0)" (( "(") (binary_expression "lVar2 + 0xf0" (identifier "lVar2") (+ "+") (number_literal "0xf0")) () ")"))))) (; ";")) (expression_statement "local_68 = *(undefined8 *)(lVar2 + 0xf8);" (assignment_expression "local_68 = *(undefined8 *)(lVar2 + 0xf8)" (identifier "local_68") (= "=") (pointer_expression "*(undefined8 *)(lVar2 + 0xf8)" (* "*") (cast_expression "(undefined8 *)(lVar2 + 0xf8)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar2 + 0xf8)" (( "(") (binary_expression "lVar2 + 0xf8" (identifier "lVar2") (+ "+") (number_literal "0xf8")) () ")"))))) (; ";")) (expression_statement "local_60 = *(undefined8 *)(lVar2 + 0x100);" (assignment_expression "local_60 = *(undefined8 *)(lVar2 + 0x100)" (identifier "local_60") (= "=") (pointer_expression "*(undefined8 *)(lVar2 + 0x100)" (* "*") (cast_expression "(undefined8 *)(lVar2 + 0x100)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar2 + 0x100)" (( "(") (binary_expression "lVar2 + 0x100" (identifier "lVar2") (+ "+") (number_literal "0x100")) () ")"))))) (; ";")) (expression_statement "local_58 = *(undefined8 *)(lVar2 + 0x108);" (assignment_expression "local_58 = *(undefined8 *)(lVar2 + 0x108)" (identifier "local_58") (= "=") (pointer_expression "*(undefined8 *)(lVar2 + 0x108)" (* "*") (cast_expression "(undefined8 *)(lVar2 + 0x108)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar2 + 0x108)" (( "(") (binary_expression "lVar2 + 0x108" (identifier "lVar2") (+ "+") (number_literal "0x108")) () ")"))))) (; ";")) (expression_statement "local_50 = *(undefined8 *)(lVar2 + 0x110);" (assignment_expression "local_50 = *(undefined8 *)(lVar2 + 0x110)" (identifier "local_50") (= "=") (pointer_expression "*(undefined8 *)(lVar2 + 0x110)" (* "*") (cast_expression "(undefined8 *)(lVar2 + 0x110)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar2 + 0x110)" (( "(") (binary_expression "lVar2 + 0x110" (identifier "lVar2") (+ "+") (number_literal "0x110")) () ")"))))) (; ";")) (expression_statement "local_48 = *(undefined8 *)(lVar2 + 0x118);" (assignment_expression "local_48 = *(undefined8 *)(lVar2 + 0x118)" (identifier "local_48") (= "=") (pointer_expression "*(undefined8 *)(lVar2 + 0x118)" (* "*") (cast_expression "(undefined8 *)(lVar2 + 0x118)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar2 + 0x118)" (( "(") (binary_expression "lVar2 + 0x118" (identifier "lVar2") (+ "+") (number_literal "0x118")) () ")"))))) (; ";")) (expression_statement "local_40 = *(undefined8 *)(lVar2 + 0x120);" (assignment_expression "local_40 = *(undefined8 *)(lVar2 + 0x120)" (identifier "local_40") (= "=") (pointer_expression "*(undefined8 *)(lVar2 + 0x120)" (* "*") (cast_expression "(undefined8 *)(lVar2 + 0x120)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar2 + 0x120)" (( "(") (binary_expression "lVar2 + 0x120" (identifier "lVar2") (+ "+") (number_literal "0x120")) () ")"))))) (; ";")) (expression_statement "auVar18 = FUN_00356440(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,&local_9c,&local_98,0xc,param_6,&local_a0);" (assignment_expression "auVar18 = FUN_00356440(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,&local_9c,&local_98,0xc,param_6,&local_a0)" (identifier "auVar18") (= "=") (call_expression "FUN_00356440(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,&local_9c,&local_98,0xc,param_6,&local_a0)" (identifier "FUN_00356440") (argument_list "(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,&local_9c,&local_98,0xc,param_6,&local_a0)" (( "(") (identifier "param_1") (, ",") (field_expression "local_b8._0_8_" (identifier "local_b8") (. ".") (field_identifier "_0_8_")) (, ",") (call_expression "CONCAT44(uStack_ac,local_b8._8_4_)" (identifier "CONCAT44") (argument_list "(uStack_ac,local_b8._8_4_)" (( "(") (identifier "uStack_ac") (, ",") (field_expression "local_b8._8_4_" (identifier "local_b8") (. ".") (field_identifier "_8_4_")) () ")"))) (, ",") (identifier "local_c8") (, ",") (identifier "local_c0") (, ",") (pointer_expression "&local_9c" (& "&") (identifier "local_9c")) (, ",") (pointer_expression "&local_98" (& "&") (identifier "local_98")) (, ",") (number_literal "0xc") (, ",") (identifier "param_6") (, ",") (pointer_expression "&local_a0" (& "&") (identifier "local_a0")) () ")")))) (; ";")) (goto_statement "goto joined_r0x00358a12;" (goto "goto") (statement_identifier "joined_r0x00358a12") (; ";"))) (case_statement "case 'C':" (case "case") (char_literal "'C'" (' "'") (character "C") (' "'")) (: ":")) (case_statement "case 'Y':" (case "case") (char_literal "'Y'" (' "'") (character "Y") (' "'")) (: ":")) (case_statement "case 'y':\n    auVar18 = FUN_00355fc0(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,&local_9c,0,9999,4,param_6,&local_a0);\n    local_b8 = auVar18;\n    if (local_a0 == 0) {\n      iVar9 = local_9c + -0x76c;\n      if (local_9c < 0) {\n        iVar9 = local_9c + 100;\n      }\n      param_8[5] = iVar9;\n    }\n    break;" (case "case") (char_literal "'y'" (' "'") (character "y") (' "'")) (: ":") (expression_statement "auVar18 = FUN_00355fc0(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,&local_9c,0,9999,4,param_6,&local_a0);" (assignment_expression "auVar18 = FUN_00355fc0(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,&local_9c,0,9999,4,param_6,&local_a0)" (identifier "auVar18") (= "=") (call_expression "FUN_00355fc0(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,&local_9c,0,9999,4,param_6,&local_a0)" (identifier "FUN_00355fc0") (argument_list "(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,&local_9c,0,9999,4,param_6,&local_a0)" (( "(") (identifier "param_1") (, ",") (field_expression "local_b8._0_8_" (identifier "local_b8") (. ".") (field_identifier "_0_8_")) (, ",") (call_expression "CONCAT44(uStack_ac,local_b8._8_4_)" (identifier "CONCAT44") (argument_list "(uStack_ac,local_b8._8_4_)" (( "(") (identifier "uStack_ac") (, ",") (field_expression "local_b8._8_4_" (identifier "local_b8") (. ".") (field_identifier "_8_4_")) () ")"))) (, ",") (identifier "local_c8") (, ",") (identifier "local_c0") (, ",") (pointer_expression "&local_9c" (& "&") (identifier "local_9c")) (, ",") (number_literal "0") (, ",") (number_literal "9999") (, ",") (number_literal "4") (, ",") (identifier "param_6") (, ",") (pointer_expression "&local_a0" (& "&") (identifier "local_a0")) () ")")))) (; ";")) (expression_statement "local_b8 = auVar18;" (assignment_expression "local_b8 = auVar18" (identifier "local_b8") (= "=") (identifier "auVar18")) (; ";")) (if_statement "if (local_a0 == 0) {\n      iVar9 = local_9c + -0x76c;\n      if (local_9c < 0) {\n        iVar9 = local_9c + 100;\n      }\n      param_8[5] = iVar9;\n    }" (if "if") (parenthesized_expression "(local_a0 == 0)" (( "(") (binary_expression "local_a0 == 0" (identifier "local_a0") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      iVar9 = local_9c + -0x76c;\n      if (local_9c < 0) {\n        iVar9 = local_9c + 100;\n      }\n      param_8[5] = iVar9;\n    }" ({ "{") (expression_statement "iVar9 = local_9c + -0x76c;" (assignment_expression "iVar9 = local_9c + -0x76c" (identifier "iVar9") (= "=") (binary_expression "local_9c + -0x76c" (identifier "local_9c") (+ "+") (number_literal "-0x76c"))) (; ";")) (if_statement "if (local_9c < 0) {\n        iVar9 = local_9c + 100;\n      }" (if "if") (parenthesized_expression "(local_9c < 0)" (( "(") (binary_expression "local_9c < 0" (identifier "local_9c") (< "<") (number_literal "0")) () ")")) (compound_statement "{\n        iVar9 = local_9c + 100;\n      }" ({ "{") (expression_statement "iVar9 = local_9c + 100;" (assignment_expression "iVar9 = local_9c + 100" (identifier "iVar9") (= "=") (binary_expression "local_9c + 100" (identifier "local_9c") (+ "+") (number_literal "100"))) (; ";")) (} "}"))) (expression_statement "param_8[5] = iVar9;" (assignment_expression "param_8[5] = iVar9" (subscript_expression "param_8[5]" (identifier "param_8") ([ "[") (number_literal "5") (] "]")) (= "=") (identifier "iVar9")) (; ";")) (} "}"))) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 'D':\n    (**(code **)(*plVar12 + 0x58))(plVar12,"%m/%d/%y","%H:%M",&local_98);\n    auVar18 = FUN_00357f80(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,param_6,&local_a0,param_8,&local_98);\n    local_b8 = auVar18;\n    break;" (case "case") (char_literal "'D'" (' "'") (character "D") (' "'")) (: ":") (expression_statement "(**(code **)(*plVar12 + 0x58))(plVar12,"%m/%d/%y","%H:%M",&local_98);" (call_expression "(**(code **)(*plVar12 + 0x58))(plVar12,"%m/%d/%y","%H:%M",&local_98)" (parenthesized_expression "(**(code **)(*plVar12 + 0x58))" (( "(") (pointer_expression "**(code **)(*plVar12 + 0x58)" (* "*") (pointer_expression "*(code **)(*plVar12 + 0x58)" (* "*") (cast_expression "(code **)(*plVar12 + 0x58)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*plVar12 + 0x58)" (( "(") (binary_expression "*plVar12 + 0x58" (pointer_expression "*plVar12" (* "*") (identifier "plVar12")) (+ "+") (number_literal "0x58")) () ")"))))) () ")")) (argument_list "(plVar12,"%m/%d/%y","%H:%M",&local_98)" (( "(") (identifier "plVar12") (, ",") (string_literal ""%m/%d/%y"" (" """) (string_content "%m/%d/%y") (" """)) (, ",") (string_literal ""%H:%M"" (" """) (string_content "%H:%M") (" """)) (, ",") (pointer_expression "&local_98" (& "&") (identifier "local_98")) () ")"))) (; ";")) (expression_statement "auVar18 = FUN_00357f80(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,param_6,&local_a0,param_8,&local_98);" (assignment_expression "auVar18 = FUN_00357f80(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,param_6,&local_a0,param_8,&local_98)" (identifier "auVar18") (= "=") (call_expression "FUN_00357f80(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,param_6,&local_a0,param_8,&local_98)" (identifier "FUN_00357f80") (argument_list "(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,param_6,&local_a0,param_8,&local_98)" (( "(") (identifier "param_1") (, ",") (field_expression "local_b8._0_8_" (identifier "local_b8") (. ".") (field_identifier "_0_8_")) (, ",") (call_expression "CONCAT44(uStack_ac,local_b8._8_4_)" (identifier "CONCAT44") (argument_list "(uStack_ac,local_b8._8_4_)" (( "(") (identifier "uStack_ac") (, ",") (field_expression "local_b8._8_4_" (identifier "local_b8") (. ".") (field_identifier "_8_4_")) () ")"))) (, ",") (identifier "local_c8") (, ",") (identifier "local_c0") (, ",") (identifier "param_6") (, ",") (pointer_expression "&local_a0" (& "&") (identifier "local_a0")) (, ",") (identifier "param_8") (, ",") (pointer_expression "&local_98" (& "&") (identifier "local_98")) () ")")))) (; ";")) (expression_statement "local_b8 = auVar18;" (assignment_expression "local_b8 = auVar18" (identifier "local_b8") (= "=") (identifier "auVar18")) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "default:\n    goto switchD_003580fd_caseD_45;" (default "default") (: ":") (goto_statement "goto switchD_003580fd_caseD_45;" (goto "goto") (statement_identifier "switchD_003580fd_caseD_45") (; ";"))) (case_statement "case 'H':\n    auVar18 = FUN_00355fc0(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,&local_9c,0,0x17,2,param_6,&local_a0);\n    goto joined_r0x003587d9;" (case "case") (char_literal "'H'" (' "'") (character "H") (' "'")) (: ":") (expression_statement "auVar18 = FUN_00355fc0(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,&local_9c,0,0x17,2,param_6,&local_a0);" (assignment_expression "auVar18 = FUN_00355fc0(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,&local_9c,0,0x17,2,param_6,&local_a0)" (identifier "auVar18") (= "=") (call_expression "FUN_00355fc0(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,&local_9c,0,0x17,2,param_6,&local_a0)" (identifier "FUN_00355fc0") (argument_list "(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,&local_9c,0,0x17,2,param_6,&local_a0)" (( "(") (identifier "param_1") (, ",") (field_expression "local_b8._0_8_" (identifier "local_b8") (. ".") (field_identifier "_0_8_")) (, ",") (call_expression "CONCAT44(uStack_ac,local_b8._8_4_)" (identifier "CONCAT44") (argument_list "(uStack_ac,local_b8._8_4_)" (( "(") (identifier "uStack_ac") (, ",") (field_expression "local_b8._8_4_" (identifier "local_b8") (. ".") (field_identifier "_8_4_")) () ")"))) (, ",") (identifier "local_c8") (, ",") (identifier "local_c0") (, ",") (pointer_expression "&local_9c" (& "&") (identifier "local_9c")) (, ",") (number_literal "0") (, ",") (number_literal "0x17") (, ",") (number_literal "2") (, ",") (identifier "param_6") (, ",") (pointer_expression "&local_a0" (& "&") (identifier "local_a0")) () ")")))) (; ";")) (goto_statement "goto joined_r0x003587d9;" (goto "goto") (statement_identifier "joined_r0x003587d9") (; ";"))) (case_statement "case 'I':\n    auVar18 = FUN_00355fc0(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,&local_9c,1,0xc,2,param_6,&local_a0);\njoined_r0x003587d9:\n    local_b8 = auVar18;\n    if (local_a0 == 0) {\n      param_8[2] = local_9c;\n    }\n    break;" (case "case") (char_literal "'I'" (' "'") (character "I") (' "'")) (: ":") (expression_statement "auVar18 = FUN_00355fc0(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,&local_9c,1,0xc,2,param_6,&local_a0);" (assignment_expression "auVar18 = FUN_00355fc0(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,&local_9c,1,0xc,2,param_6,&local_a0)" (identifier "auVar18") (= "=") (call_expression "FUN_00355fc0(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,&local_9c,1,0xc,2,param_6,&local_a0)" (identifier "FUN_00355fc0") (argument_list "(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,&local_9c,1,0xc,2,param_6,&local_a0)" (( "(") (identifier "param_1") (, ",") (field_expression "local_b8._0_8_" (identifier "local_b8") (. ".") (field_identifier "_0_8_")) (, ",") (call_expression "CONCAT44(uStack_ac,local_b8._8_4_)" (identifier "CONCAT44") (argument_list "(uStack_ac,local_b8._8_4_)" (( "(") (identifier "uStack_ac") (, ",") (field_expression "local_b8._8_4_" (identifier "local_b8") (. ".") (field_identifier "_8_4_")) () ")"))) (, ",") (identifier "local_c8") (, ",") (identifier "local_c0") (, ",") (pointer_expression "&local_9c" (& "&") (identifier "local_9c")) (, ",") (number_literal "1") (, ",") (number_literal "0xc") (, ",") (number_literal "2") (, ",") (identifier "param_6") (, ",") (pointer_expression "&local_a0" (& "&") (identifier "local_a0")) () ")")))) (; ";")) (labeled_statement "joined_r0x003587d9:\n    local_b8 = auVar18;" (statement_identifier "joined_r0x003587d9") (: ":") (expression_statement "local_b8 = auVar18;" (assignment_expression "local_b8 = auVar18" (identifier "local_b8") (= "=") (identifier "auVar18")) (; ";"))) (if_statement "if (local_a0 == 0) {\n      param_8[2] = local_9c;\n    }" (if "if") (parenthesized_expression "(local_a0 == 0)" (( "(") (binary_expression "local_a0 == 0" (identifier "local_a0") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      param_8[2] = local_9c;\n    }" ({ "{") (expression_statement "param_8[2] = local_9c;" (assignment_expression "param_8[2] = local_9c" (subscript_expression "param_8[2]" (identifier "param_8") ([ "[") (number_literal "2") (] "]")) (= "=") (identifier "local_9c")) (; ";")) (} "}"))) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 'M':\n    auVar18 = FUN_00355fc0(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,&local_9c,0,0x3b,2,param_6,&local_a0);\n    local_b8 = auVar18;\n    if (local_a0 == 0) {\n      param_8[1] = local_9c;\n    }\n    break;" (case "case") (char_literal "'M'" (' "'") (character "M") (' "'")) (: ":") (expression_statement "auVar18 = FUN_00355fc0(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,&local_9c,0,0x3b,2,param_6,&local_a0);" (assignment_expression "auVar18 = FUN_00355fc0(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,&local_9c,0,0x3b,2,param_6,&local_a0)" (identifier "auVar18") (= "=") (call_expression "FUN_00355fc0(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,&local_9c,0,0x3b,2,param_6,&local_a0)" (identifier "FUN_00355fc0") (argument_list "(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,&local_9c,0,0x3b,2,param_6,&local_a0)" (( "(") (identifier "param_1") (, ",") (field_expression "local_b8._0_8_" (identifier "local_b8") (. ".") (field_identifier "_0_8_")) (, ",") (call_expression "CONCAT44(uStack_ac,local_b8._8_4_)" (identifier "CONCAT44") (argument_list "(uStack_ac,local_b8._8_4_)" (( "(") (identifier "uStack_ac") (, ",") (field_expression "local_b8._8_4_" (identifier "local_b8") (. ".") (field_identifier "_8_4_")) () ")"))) (, ",") (identifier "local_c8") (, ",") (identifier "local_c0") (, ",") (pointer_expression "&local_9c" (& "&") (identifier "local_9c")) (, ",") (number_literal "0") (, ",") (number_literal "0x3b") (, ",") (number_literal "2") (, ",") (identifier "param_6") (, ",") (pointer_expression "&local_a0" (& "&") (identifier "local_a0")) () ")")))) (; ";")) (expression_statement "local_b8 = auVar18;" (assignment_expression "local_b8 = auVar18" (identifier "local_b8") (= "=") (identifier "auVar18")) (; ";")) (if_statement "if (local_a0 == 0) {\n      param_8[1] = local_9c;\n    }" (if "if") (parenthesized_expression "(local_a0 == 0)" (( "(") (binary_expression "local_a0 == 0" (identifier "local_a0") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      param_8[1] = local_9c;\n    }" ({ "{") (expression_statement "param_8[1] = local_9c;" (assignment_expression "param_8[1] = local_9c" (subscript_expression "param_8[1]" (identifier "param_8") ([ "[") (number_literal "1") (] "]")) (= "=") (identifier "local_9c")) (; ";")) (} "}"))) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 'R':\n    (**(code **)(*plVar12 + 0x58))(plVar12,"%H:%M","%H:%M:%S",&local_98);\n    auVar18 = FUN_00357f80(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,param_6,&local_a0,param_8,&local_98);\n    local_b8 = auVar18;\n    break;" (case "case") (char_literal "'R'" (' "'") (character "R") (' "'")) (: ":") (expression_statement "(**(code **)(*plVar12 + 0x58))(plVar12,"%H:%M","%H:%M:%S",&local_98);" (call_expression "(**(code **)(*plVar12 + 0x58))(plVar12,"%H:%M","%H:%M:%S",&local_98)" (parenthesized_expression "(**(code **)(*plVar12 + 0x58))" (( "(") (pointer_expression "**(code **)(*plVar12 + 0x58)" (* "*") (pointer_expression "*(code **)(*plVar12 + 0x58)" (* "*") (cast_expression "(code **)(*plVar12 + 0x58)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*plVar12 + 0x58)" (( "(") (binary_expression "*plVar12 + 0x58" (pointer_expression "*plVar12" (* "*") (identifier "plVar12")) (+ "+") (number_literal "0x58")) () ")"))))) () ")")) (argument_list "(plVar12,"%H:%M","%H:%M:%S",&local_98)" (( "(") (identifier "plVar12") (, ",") (string_literal ""%H:%M"" (" """) (string_content "%H:%M") (" """)) (, ",") (string_literal ""%H:%M:%S"" (" """) (string_content "%H:%M:%S") (" """)) (, ",") (pointer_expression "&local_98" (& "&") (identifier "local_98")) () ")"))) (; ";")) (expression_statement "auVar18 = FUN_00357f80(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,param_6,&local_a0,param_8,&local_98);" (assignment_expression "auVar18 = FUN_00357f80(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,param_6,&local_a0,param_8,&local_98)" (identifier "auVar18") (= "=") (call_expression "FUN_00357f80(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,param_6,&local_a0,param_8,&local_98)" (identifier "FUN_00357f80") (argument_list "(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,param_6,&local_a0,param_8,&local_98)" (( "(") (identifier "param_1") (, ",") (field_expression "local_b8._0_8_" (identifier "local_b8") (. ".") (field_identifier "_0_8_")) (, ",") (call_expression "CONCAT44(uStack_ac,local_b8._8_4_)" (identifier "CONCAT44") (argument_list "(uStack_ac,local_b8._8_4_)" (( "(") (identifier "uStack_ac") (, ",") (field_expression "local_b8._8_4_" (identifier "local_b8") (. ".") (field_identifier "_8_4_")) () ")"))) (, ",") (identifier "local_c8") (, ",") (identifier "local_c0") (, ",") (identifier "param_6") (, ",") (pointer_expression "&local_a0" (& "&") (identifier "local_a0")) (, ",") (identifier "param_8") (, ",") (pointer_expression "&local_98" (& "&") (identifier "local_98")) () ")")))) (; ";")) (expression_statement "local_b8 = auVar18;" (assignment_expression "local_b8 = auVar18" (identifier "local_b8") (= "=") (identifier "auVar18")) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 'S':\n    auVar18 = FUN_00355fc0(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,&local_9c,0,0x3c,2,param_6,&local_a0);\n    local_b8 = auVar18;\n    if (local_a0 == 0) {\n      *param_8 = local_9c;\n    }\n    break;" (case "case") (char_literal "'S'" (' "'") (character "S") (' "'")) (: ":") (expression_statement "auVar18 = FUN_00355fc0(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,&local_9c,0,0x3c,2,param_6,&local_a0);" (assignment_expression "auVar18 = FUN_00355fc0(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,&local_9c,0,0x3c,2,param_6,&local_a0)" (identifier "auVar18") (= "=") (call_expression "FUN_00355fc0(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,&local_9c,0,0x3c,2,param_6,&local_a0)" (identifier "FUN_00355fc0") (argument_list "(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,&local_9c,0,0x3c,2,param_6,&local_a0)" (( "(") (identifier "param_1") (, ",") (field_expression "local_b8._0_8_" (identifier "local_b8") (. ".") (field_identifier "_0_8_")) (, ",") (call_expression "CONCAT44(uStack_ac,local_b8._8_4_)" (identifier "CONCAT44") (argument_list "(uStack_ac,local_b8._8_4_)" (( "(") (identifier "uStack_ac") (, ",") (field_expression "local_b8._8_4_" (identifier "local_b8") (. ".") (field_identifier "_8_4_")) () ")"))) (, ",") (identifier "local_c8") (, ",") (identifier "local_c0") (, ",") (pointer_expression "&local_9c" (& "&") (identifier "local_9c")) (, ",") (number_literal "0") (, ",") (number_literal "0x3c") (, ",") (number_literal "2") (, ",") (identifier "param_6") (, ",") (pointer_expression "&local_a0" (& "&") (identifier "local_a0")) () ")")))) (; ";")) (expression_statement "local_b8 = auVar18;" (assignment_expression "local_b8 = auVar18" (identifier "local_b8") (= "=") (identifier "auVar18")) (; ";")) (if_statement "if (local_a0 == 0) {\n      *param_8 = local_9c;\n    }" (if "if") (parenthesized_expression "(local_a0 == 0)" (( "(") (binary_expression "local_a0 == 0" (identifier "local_a0") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      *param_8 = local_9c;\n    }" ({ "{") (expression_statement "*param_8 = local_9c;" (assignment_expression "*param_8 = local_9c" (pointer_expression "*param_8" (* "*") (identifier "param_8")) (= "=") (identifier "local_9c")) (; ";")) (} "}"))) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 'T':\n    (**(code **)(*plVar12 + 0x58))(plVar12,"%H:%M:%S",&DAT_003aba16,&local_98);\n    auVar18 = FUN_00357f80(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,param_6,&local_a0,param_8,&local_98);\n    local_b8 = auVar18;\n    break;" (case "case") (char_literal "'T'" (' "'") (character "T") (' "'")) (: ":") (expression_statement "(**(code **)(*plVar12 + 0x58))(plVar12,"%H:%M:%S",&DAT_003aba16,&local_98);" (call_expression "(**(code **)(*plVar12 + 0x58))(plVar12,"%H:%M:%S",&DAT_003aba16,&local_98)" (parenthesized_expression "(**(code **)(*plVar12 + 0x58))" (( "(") (pointer_expression "**(code **)(*plVar12 + 0x58)" (* "*") (pointer_expression "*(code **)(*plVar12 + 0x58)" (* "*") (cast_expression "(code **)(*plVar12 + 0x58)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*plVar12 + 0x58)" (( "(") (binary_expression "*plVar12 + 0x58" (pointer_expression "*plVar12" (* "*") (identifier "plVar12")) (+ "+") (number_literal "0x58")) () ")"))))) () ")")) (argument_list "(plVar12,"%H:%M:%S",&DAT_003aba16,&local_98)" (( "(") (identifier "plVar12") (, ",") (string_literal ""%H:%M:%S"" (" """) (string_content "%H:%M:%S") (" """)) (, ",") (pointer_expression "&DAT_003aba16" (& "&") (identifier "DAT_003aba16")) (, ",") (pointer_expression "&local_98" (& "&") (identifier "local_98")) () ")"))) (; ";")) (expression_statement "auVar18 = FUN_00357f80(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,param_6,&local_a0,param_8,&local_98);" (assignment_expression "auVar18 = FUN_00357f80(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,param_6,&local_a0,param_8,&local_98)" (identifier "auVar18") (= "=") (call_expression "FUN_00357f80(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,param_6,&local_a0,param_8,&local_98)" (identifier "FUN_00357f80") (argument_list "(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,param_6,&local_a0,param_8,&local_98)" (( "(") (identifier "param_1") (, ",") (field_expression "local_b8._0_8_" (identifier "local_b8") (. ".") (field_identifier "_0_8_")) (, ",") (call_expression "CONCAT44(uStack_ac,local_b8._8_4_)" (identifier "CONCAT44") (argument_list "(uStack_ac,local_b8._8_4_)" (( "(") (identifier "uStack_ac") (, ",") (field_expression "local_b8._8_4_" (identifier "local_b8") (. ".") (field_identifier "_8_4_")) () ")"))) (, ",") (identifier "local_c8") (, ",") (identifier "local_c0") (, ",") (identifier "param_6") (, ",") (pointer_expression "&local_a0" (& "&") (identifier "local_a0")) (, ",") (identifier "param_8") (, ",") (pointer_expression "&local_98" (& "&") (identifier "local_98")) () ")")))) (; ";")) (expression_statement "local_b8 = auVar18;" (assignment_expression "local_b8 = auVar18" (identifier "local_b8") (= "=") (identifier "auVar18")) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 'X':\n    auVar18 = FUN_00357f80(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,param_6,&local_a0,param_8,\n                           *(undefined8 *)(*(long *)(lVar11 + 0x10) + 0x20));\n    local_b8 = auVar18;\n    break;" (case "case") (char_literal "'X'" (' "'") (character "X") (' "'")) (: ":") (expression_statement "auVar18 = FUN_00357f80(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,param_6,&local_a0,param_8,\n                           *(undefined8 *)(*(long *)(lVar11 + 0x10) + 0x20));" (assignment_expression "auVar18 = FUN_00357f80(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,param_6,&local_a0,param_8,\n                           *(undefined8 *)(*(long *)(lVar11 + 0x10) + 0x20))" (identifier "auVar18") (= "=") (call_expression "FUN_00357f80(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,param_6,&local_a0,param_8,\n                           *(undefined8 *)(*(long *)(lVar11 + 0x10) + 0x20))" (identifier "FUN_00357f80") (argument_list "(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,param_6,&local_a0,param_8,\n                           *(undefined8 *)(*(long *)(lVar11 + 0x10) + 0x20))" (( "(") (identifier "param_1") (, ",") (field_expression "local_b8._0_8_" (identifier "local_b8") (. ".") (field_identifier "_0_8_")) (, ",") (call_expression "CONCAT44(uStack_ac,local_b8._8_4_)" (identifier "CONCAT44") (argument_list "(uStack_ac,local_b8._8_4_)" (( "(") (identifier "uStack_ac") (, ",") (field_expression "local_b8._8_4_" (identifier "local_b8") (. ".") (field_identifier "_8_4_")) () ")"))) (, ",") (identifier "local_c8") (, ",") (identifier "local_c0") (, ",") (identifier "param_6") (, ",") (pointer_expression "&local_a0" (& "&") (identifier "local_a0")) (, ",") (identifier "param_8") (, ",") (pointer_expression "*(undefined8 *)(*(long *)(lVar11 + 0x10) + 0x20)" (* "*") (cast_expression "(undefined8 *)(*(long *)(lVar11 + 0x10) + 0x20)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(long *)(lVar11 + 0x10) + 0x20)" (( "(") (binary_expression "*(long *)(lVar11 + 0x10) + 0x20" (pointer_expression "*(long *)(lVar11 + 0x10)" (* "*") (cast_expression "(long *)(lVar11 + 0x10)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar11 + 0x10)" (( "(") (binary_expression "lVar11 + 0x10" (identifier "lVar11") (+ "+") (number_literal "0x10")) () ")")))) (+ "+") (number_literal "0x20")) () ")")))) () ")")))) (; ";")) (expression_statement "local_b8 = auVar18;" (assignment_expression "local_b8 = auVar18" (identifier "local_b8") (= "=") (identifier "auVar18")) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 'Z':\n    uVar8 = FUN_0034def0(local_b8,local_b8._8_4_);\n    cVar6 = (**(code **)(*plVar12 + 0x10))(plVar12,0x100,uVar8);\n    if (cVar6 == '\0') goto switchD_003580fd_caseD_45;\n    auVar18 = FUN_00356440(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,&local_98,PTR_PTR_DAT_0045bff0,0xe,param_6,&local_a0);\n    local_b8 = auVar18;\n    cVar6 = FUN_00343350(local_b8,&local_c8);\n    if ((cVar6 == '\0') && (local_a0 == 0 && (int)local_98 == 0)) {\n      iVar9 = FUN_0034def0(local_b8);\n      iVar7 = (**(code **)(*plVar12 + 0x50))(plVar12,0x2d);\n      if (iVar9 != iVar7) {\n        iVar9 = FUN_0034def0(local_b8,local_b8._8_4_);\n        iVar7 = (**(code **)(*plVar12 + 0x50))(plVar12,0x2b);\n        if (iVar9 != iVar7) break;\n      }\n      auVar18 = FUN_00355fc0(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                             local_c0,&local_98,0,0x17,2,param_6,&local_a0);\n      local_b8 = auVar18;\n      auVar18 = FUN_00355fc0(param_1,auVar18._0_8_,CONCAT44(uStack_ac,auVar18._8_4_),local_c8,\n                             local_c0,&local_98,0,0x3b,2,param_6,&local_a0);\n      local_b8 = auVar18;\n    }\n    break;" (case "case") (char_literal "'Z'" (' "'") (character "Z") (' "'")) (: ":") (expression_statement "uVar8 = FUN_0034def0(local_b8,local_b8._8_4_);" (assignment_expression "uVar8 = FUN_0034def0(local_b8,local_b8._8_4_)" (identifier "uVar8") (= "=") (call_expression "FUN_0034def0(local_b8,local_b8._8_4_)" (identifier "FUN_0034def0") (argument_list "(local_b8,local_b8._8_4_)" (( "(") (identifier "local_b8") (, ",") (field_expression "local_b8._8_4_" (identifier "local_b8") (. ".") (field_identifier "_8_4_")) () ")")))) (; ";")) (expression_statement "cVar6 = (**(code **)(*plVar12 + 0x10))(plVar12,0x100,uVar8);" (assignment_expression "cVar6 = (**(code **)(*plVar12 + 0x10))(plVar12,0x100,uVar8)" (identifier "cVar6") (= "=") (call_expression "(**(code **)(*plVar12 + 0x10))(plVar12,0x100,uVar8)" (parenthesized_expression "(**(code **)(*plVar12 + 0x10))" (( "(") (pointer_expression "**(code **)(*plVar12 + 0x10)" (* "*") (pointer_expression "*(code **)(*plVar12 + 0x10)" (* "*") (cast_expression "(code **)(*plVar12 + 0x10)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*plVar12 + 0x10)" (( "(") (binary_expression "*plVar12 + 0x10" (pointer_expression "*plVar12" (* "*") (identifier "plVar12")) (+ "+") (number_literal "0x10")) () ")"))))) () ")")) (argument_list "(plVar12,0x100,uVar8)" (( "(") (identifier "plVar12") (, ",") (number_literal "0x100") (, ",") (identifier "uVar8") () ")")))) (; ";")) (if_statement "if (cVar6 == '\0') goto switchD_003580fd_caseD_45;" (if "if") (parenthesized_expression "(cVar6 == '\0')" (( "(") (binary_expression "cVar6 == '\0'" (identifier "cVar6") (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (goto_statement "goto switchD_003580fd_caseD_45;" (goto "goto") (statement_identifier "switchD_003580fd_caseD_45") (; ";"))) (expression_statement "auVar18 = FUN_00356440(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,&local_98,PTR_PTR_DAT_0045bff0,0xe,param_6,&local_a0);" (assignment_expression "auVar18 = FUN_00356440(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,&local_98,PTR_PTR_DAT_0045bff0,0xe,param_6,&local_a0)" (identifier "auVar18") (= "=") (call_expression "FUN_00356440(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,&local_98,PTR_PTR_DAT_0045bff0,0xe,param_6,&local_a0)" (identifier "FUN_00356440") (argument_list "(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,&local_98,PTR_PTR_DAT_0045bff0,0xe,param_6,&local_a0)" (( "(") (identifier "param_1") (, ",") (field_expression "local_b8._0_8_" (identifier "local_b8") (. ".") (field_identifier "_0_8_")) (, ",") (call_expression "CONCAT44(uStack_ac,local_b8._8_4_)" (identifier "CONCAT44") (argument_list "(uStack_ac,local_b8._8_4_)" (( "(") (identifier "uStack_ac") (, ",") (field_expression "local_b8._8_4_" (identifier "local_b8") (. ".") (field_identifier "_8_4_")) () ")"))) (, ",") (identifier "local_c8") (, ",") (identifier "local_c0") (, ",") (pointer_expression "&local_98" (& "&") (identifier "local_98")) (, ",") (identifier "PTR_PTR_DAT_0045bff0") (, ",") (number_literal "0xe") (, ",") (identifier "param_6") (, ",") (pointer_expression "&local_a0" (& "&") (identifier "local_a0")) () ")")))) (; ";")) (expression_statement "local_b8 = auVar18;" (assignment_expression "local_b8 = auVar18" (identifier "local_b8") (= "=") (identifier "auVar18")) (; ";")) (expression_statement "cVar6 = FUN_00343350(local_b8,&local_c8);" (assignment_expression "cVar6 = FUN_00343350(local_b8,&local_c8)" (identifier "cVar6") (= "=") (call_expression "FUN_00343350(local_b8,&local_c8)" (identifier "FUN_00343350") (argument_list "(local_b8,&local_c8)" (( "(") (identifier "local_b8") (, ",") (pointer_expression "&local_c8" (& "&") (identifier "local_c8")) () ")")))) (; ";")) (if_statement "if ((cVar6 == '\0') && (local_a0 == 0 && (int)local_98 == 0)) {\n      iVar9 = FUN_0034def0(local_b8);\n      iVar7 = (**(code **)(*plVar12 + 0x50))(plVar12,0x2d);\n      if (iVar9 != iVar7) {\n        iVar9 = FUN_0034def0(local_b8,local_b8._8_4_);\n        iVar7 = (**(code **)(*plVar12 + 0x50))(plVar12,0x2b);\n        if (iVar9 != iVar7) break;\n      }\n      auVar18 = FUN_00355fc0(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                             local_c0,&local_98,0,0x17,2,param_6,&local_a0);\n      local_b8 = auVar18;\n      auVar18 = FUN_00355fc0(param_1,auVar18._0_8_,CONCAT44(uStack_ac,auVar18._8_4_),local_c8,\n                             local_c0,&local_98,0,0x3b,2,param_6,&local_a0);\n      local_b8 = auVar18;\n    }" (if "if") (parenthesized_expression "((cVar6 == '\0') && (local_a0 == 0 && (int)local_98 == 0))" (( "(") (binary_expression "(cVar6 == '\0') && (local_a0 == 0 && (int)local_98 == 0)" (parenthesized_expression "(cVar6 == '\0')" (( "(") (binary_expression "cVar6 == '\0'" (identifier "cVar6") (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (&& "&&") (parenthesized_expression "(local_a0 == 0 && (int)local_98 == 0)" (( "(") (binary_expression "local_a0 == 0 && (int)local_98 == 0" (binary_expression "local_a0 == 0" (identifier "local_a0") (== "==") (number_literal "0")) (&& "&&") (binary_expression "(int)local_98 == 0" (cast_expression "(int)local_98" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_98")) (== "==") (number_literal "0"))) () ")"))) () ")")) (compound_statement "{\n      iVar9 = FUN_0034def0(local_b8);\n      iVar7 = (**(code **)(*plVar12 + 0x50))(plVar12,0x2d);\n      if (iVar9 != iVar7) {\n        iVar9 = FUN_0034def0(local_b8,local_b8._8_4_);\n        iVar7 = (**(code **)(*plVar12 + 0x50))(plVar12,0x2b);\n        if (iVar9 != iVar7) break;\n      }\n      auVar18 = FUN_00355fc0(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                             local_c0,&local_98,0,0x17,2,param_6,&local_a0);\n      local_b8 = auVar18;\n      auVar18 = FUN_00355fc0(param_1,auVar18._0_8_,CONCAT44(uStack_ac,auVar18._8_4_),local_c8,\n                             local_c0,&local_98,0,0x3b,2,param_6,&local_a0);\n      local_b8 = auVar18;\n    }" ({ "{") (expression_statement "iVar9 = FUN_0034def0(local_b8);" (assignment_expression "iVar9 = FUN_0034def0(local_b8)" (identifier "iVar9") (= "=") (call_expression "FUN_0034def0(local_b8)" (identifier "FUN_0034def0") (argument_list "(local_b8)" (( "(") (identifier "local_b8") () ")")))) (; ";")) (expression_statement "iVar7 = (**(code **)(*plVar12 + 0x50))(plVar12,0x2d);" (assignment_expression "iVar7 = (**(code **)(*plVar12 + 0x50))(plVar12,0x2d)" (identifier "iVar7") (= "=") (call_expression "(**(code **)(*plVar12 + 0x50))(plVar12,0x2d)" (parenthesized_expression "(**(code **)(*plVar12 + 0x50))" (( "(") (pointer_expression "**(code **)(*plVar12 + 0x50)" (* "*") (pointer_expression "*(code **)(*plVar12 + 0x50)" (* "*") (cast_expression "(code **)(*plVar12 + 0x50)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*plVar12 + 0x50)" (( "(") (binary_expression "*plVar12 + 0x50" (pointer_expression "*plVar12" (* "*") (identifier "plVar12")) (+ "+") (number_literal "0x50")) () ")"))))) () ")")) (argument_list "(plVar12,0x2d)" (( "(") (identifier "plVar12") (, ",") (number_literal "0x2d") () ")")))) (; ";")) (if_statement "if (iVar9 != iVar7) {\n        iVar9 = FUN_0034def0(local_b8,local_b8._8_4_);\n        iVar7 = (**(code **)(*plVar12 + 0x50))(plVar12,0x2b);\n        if (iVar9 != iVar7) break;\n      }" (if "if") (parenthesized_expression "(iVar9 != iVar7)" (( "(") (binary_expression "iVar9 != iVar7" (identifier "iVar9") (!= "!=") (identifier "iVar7")) () ")")) (compound_statement "{\n        iVar9 = FUN_0034def0(local_b8,local_b8._8_4_);\n        iVar7 = (**(code **)(*plVar12 + 0x50))(plVar12,0x2b);\n        if (iVar9 != iVar7) break;\n      }" ({ "{") (expression_statement "iVar9 = FUN_0034def0(local_b8,local_b8._8_4_);" (assignment_expression "iVar9 = FUN_0034def0(local_b8,local_b8._8_4_)" (identifier "iVar9") (= "=") (call_expression "FUN_0034def0(local_b8,local_b8._8_4_)" (identifier "FUN_0034def0") (argument_list "(local_b8,local_b8._8_4_)" (( "(") (identifier "local_b8") (, ",") (field_expression "local_b8._8_4_" (identifier "local_b8") (. ".") (field_identifier "_8_4_")) () ")")))) (; ";")) (expression_statement "iVar7 = (**(code **)(*plVar12 + 0x50))(plVar12,0x2b);" (assignment_expression "iVar7 = (**(code **)(*plVar12 + 0x50))(plVar12,0x2b)" (identifier "iVar7") (= "=") (call_expression "(**(code **)(*plVar12 + 0x50))(plVar12,0x2b)" (parenthesized_expression "(**(code **)(*plVar12 + 0x50))" (( "(") (pointer_expression "**(code **)(*plVar12 + 0x50)" (* "*") (pointer_expression "*(code **)(*plVar12 + 0x50)" (* "*") (cast_expression "(code **)(*plVar12 + 0x50)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*plVar12 + 0x50)" (( "(") (binary_expression "*plVar12 + 0x50" (pointer_expression "*plVar12" (* "*") (identifier "plVar12")) (+ "+") (number_literal "0x50")) () ")"))))) () ")")) (argument_list "(plVar12,0x2b)" (( "(") (identifier "plVar12") (, ",") (number_literal "0x2b") () ")")))) (; ";")) (if_statement "if (iVar9 != iVar7) break;" (if "if") (parenthesized_expression "(iVar9 != iVar7)" (( "(") (binary_expression "iVar9 != iVar7" (identifier "iVar9") (!= "!=") (identifier "iVar7")) () ")")) (break_statement "break;" (break "break") (; ";"))) (} "}"))) (expression_statement "auVar18 = FUN_00355fc0(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                             local_c0,&local_98,0,0x17,2,param_6,&local_a0);" (assignment_expression "auVar18 = FUN_00355fc0(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                             local_c0,&local_98,0,0x17,2,param_6,&local_a0)" (identifier "auVar18") (= "=") (call_expression "FUN_00355fc0(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                             local_c0,&local_98,0,0x17,2,param_6,&local_a0)" (identifier "FUN_00355fc0") (argument_list "(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                             local_c0,&local_98,0,0x17,2,param_6,&local_a0)" (( "(") (identifier "param_1") (, ",") (field_expression "local_b8._0_8_" (identifier "local_b8") (. ".") (field_identifier "_0_8_")) (, ",") (call_expression "CONCAT44(uStack_ac,local_b8._8_4_)" (identifier "CONCAT44") (argument_list "(uStack_ac,local_b8._8_4_)" (( "(") (identifier "uStack_ac") (, ",") (field_expression "local_b8._8_4_" (identifier "local_b8") (. ".") (field_identifier "_8_4_")) () ")"))) (, ",") (identifier "local_c8") (, ",") (identifier "local_c0") (, ",") (pointer_expression "&local_98" (& "&") (identifier "local_98")) (, ",") (number_literal "0") (, ",") (number_literal "0x17") (, ",") (number_literal "2") (, ",") (identifier "param_6") (, ",") (pointer_expression "&local_a0" (& "&") (identifier "local_a0")) () ")")))) (; ";")) (expression_statement "local_b8 = auVar18;" (assignment_expression "local_b8 = auVar18" (identifier "local_b8") (= "=") (identifier "auVar18")) (; ";")) (expression_statement "auVar18 = FUN_00355fc0(param_1,auVar18._0_8_,CONCAT44(uStack_ac,auVar18._8_4_),local_c8,\n                             local_c0,&local_98,0,0x3b,2,param_6,&local_a0);" (assignment_expression "auVar18 = FUN_00355fc0(param_1,auVar18._0_8_,CONCAT44(uStack_ac,auVar18._8_4_),local_c8,\n                             local_c0,&local_98,0,0x3b,2,param_6,&local_a0)" (identifier "auVar18") (= "=") (call_expression "FUN_00355fc0(param_1,auVar18._0_8_,CONCAT44(uStack_ac,auVar18._8_4_),local_c8,\n                             local_c0,&local_98,0,0x3b,2,param_6,&local_a0)" (identifier "FUN_00355fc0") (argument_list "(param_1,auVar18._0_8_,CONCAT44(uStack_ac,auVar18._8_4_),local_c8,\n                             local_c0,&local_98,0,0x3b,2,param_6,&local_a0)" (( "(") (identifier "param_1") (, ",") (field_expression "auVar18._0_8_" (identifier "auVar18") (. ".") (field_identifier "_0_8_")) (, ",") (call_expression "CONCAT44(uStack_ac,auVar18._8_4_)" (identifier "CONCAT44") (argument_list "(uStack_ac,auVar18._8_4_)" (( "(") (identifier "uStack_ac") (, ",") (field_expression "auVar18._8_4_" (identifier "auVar18") (. ".") (field_identifier "_8_4_")) () ")"))) (, ",") (identifier "local_c8") (, ",") (identifier "local_c0") (, ",") (pointer_expression "&local_98" (& "&") (identifier "local_98")) (, ",") (number_literal "0") (, ",") (number_literal "0x3b") (, ",") (number_literal "2") (, ",") (identifier "param_6") (, ",") (pointer_expression "&local_a0" (& "&") (identifier "local_a0")) () ")")))) (; ";")) (expression_statement "local_b8 = auVar18;" (assignment_expression "local_b8 = auVar18" (identifier "local_b8") (= "=") (identifier "auVar18")) (; ";")) (} "}"))) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 'a':\n    lVar2 = *(long *)(lVar11 + 0x10);\n    local_98 = *(undefined8 *)(lVar2 + 0x90);\n    local_90 = *(undefined8 *)(lVar2 + 0x98);\n    local_88 = *(undefined8 *)(lVar2 + 0xa0);\n    local_80 = *(undefined8 *)(lVar2 + 0xa8);\n    local_78 = *(undefined8 *)(lVar2 + 0xb0);\n    local_70 = *(undefined8 *)(lVar2 + 0xb8);\n    local_68 = *(undefined8 *)(lVar2 + 0xc0);\n    auVar18 = FUN_00356440(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,&local_9c,&local_98,7,param_6,&local_a0);\njoined_r0x003588cd:\n    local_b8 = auVar18;\n    if (local_a0 == 0) {\n      param_8[6] = local_9c;\n    }\n    break;" (case "case") (char_literal "'a'" (' "'") (character "a") (' "'")) (: ":") (expression_statement "lVar2 = *(long *)(lVar11 + 0x10);" (assignment_expression "lVar2 = *(long *)(lVar11 + 0x10)" (identifier "lVar2") (= "=") (pointer_expression "*(long *)(lVar11 + 0x10)" (* "*") (cast_expression "(long *)(lVar11 + 0x10)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar11 + 0x10)" (( "(") (binary_expression "lVar11 + 0x10" (identifier "lVar11") (+ "+") (number_literal "0x10")) () ")"))))) (; ";")) (expression_statement "local_98 = *(undefined8 *)(lVar2 + 0x90);" (assignment_expression "local_98 = *(undefined8 *)(lVar2 + 0x90)" (identifier "local_98") (= "=") (pointer_expression "*(undefined8 *)(lVar2 + 0x90)" (* "*") (cast_expression "(undefined8 *)(lVar2 + 0x90)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar2 + 0x90)" (( "(") (binary_expression "lVar2 + 0x90" (identifier "lVar2") (+ "+") (number_literal "0x90")) () ")"))))) (; ";")) (expression_statement "local_90 = *(undefined8 *)(lVar2 + 0x98);" (assignment_expression "local_90 = *(undefined8 *)(lVar2 + 0x98)" (identifier "local_90") (= "=") (pointer_expression "*(undefined8 *)(lVar2 + 0x98)" (* "*") (cast_expression "(undefined8 *)(lVar2 + 0x98)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar2 + 0x98)" (( "(") (binary_expression "lVar2 + 0x98" (identifier "lVar2") (+ "+") (number_literal "0x98")) () ")"))))) (; ";")) (expression_statement "local_88 = *(undefined8 *)(lVar2 + 0xa0);" (assignment_expression "local_88 = *(undefined8 *)(lVar2 + 0xa0)" (identifier "local_88") (= "=") (pointer_expression "*(undefined8 *)(lVar2 + 0xa0)" (* "*") (cast_expression "(undefined8 *)(lVar2 + 0xa0)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar2 + 0xa0)" (( "(") (binary_expression "lVar2 + 0xa0" (identifier "lVar2") (+ "+") (number_literal "0xa0")) () ")"))))) (; ";")) (expression_statement "local_80 = *(undefined8 *)(lVar2 + 0xa8);" (assignment_expression "local_80 = *(undefined8 *)(lVar2 + 0xa8)" (identifier "local_80") (= "=") (pointer_expression "*(undefined8 *)(lVar2 + 0xa8)" (* "*") (cast_expression "(undefined8 *)(lVar2 + 0xa8)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar2 + 0xa8)" (( "(") (binary_expression "lVar2 + 0xa8" (identifier "lVar2") (+ "+") (number_literal "0xa8")) () ")"))))) (; ";")) (expression_statement "local_78 = *(undefined8 *)(lVar2 + 0xb0);" (assignment_expression "local_78 = *(undefined8 *)(lVar2 + 0xb0)" (identifier "local_78") (= "=") (pointer_expression "*(undefined8 *)(lVar2 + 0xb0)" (* "*") (cast_expression "(undefined8 *)(lVar2 + 0xb0)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar2 + 0xb0)" (( "(") (binary_expression "lVar2 + 0xb0" (identifier "lVar2") (+ "+") (number_literal "0xb0")) () ")"))))) (; ";")) (expression_statement "local_70 = *(undefined8 *)(lVar2 + 0xb8);" (assignment_expression "local_70 = *(undefined8 *)(lVar2 + 0xb8)" (identifier "local_70") (= "=") (pointer_expression "*(undefined8 *)(lVar2 + 0xb8)" (* "*") (cast_expression "(undefined8 *)(lVar2 + 0xb8)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar2 + 0xb8)" (( "(") (binary_expression "lVar2 + 0xb8" (identifier "lVar2") (+ "+") (number_literal "0xb8")) () ")"))))) (; ";")) (expression_statement "local_68 = *(undefined8 *)(lVar2 + 0xc0);" (assignment_expression "local_68 = *(undefined8 *)(lVar2 + 0xc0)" (identifier "local_68") (= "=") (pointer_expression "*(undefined8 *)(lVar2 + 0xc0)" (* "*") (cast_expression "(undefined8 *)(lVar2 + 0xc0)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar2 + 0xc0)" (( "(") (binary_expression "lVar2 + 0xc0" (identifier "lVar2") (+ "+") (number_literal "0xc0")) () ")"))))) (; ";")) (expression_statement "auVar18 = FUN_00356440(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,&local_9c,&local_98,7,param_6,&local_a0);" (assignment_expression "auVar18 = FUN_00356440(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,&local_9c,&local_98,7,param_6,&local_a0)" (identifier "auVar18") (= "=") (call_expression "FUN_00356440(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,&local_9c,&local_98,7,param_6,&local_a0)" (identifier "FUN_00356440") (argument_list "(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,&local_9c,&local_98,7,param_6,&local_a0)" (( "(") (identifier "param_1") (, ",") (field_expression "local_b8._0_8_" (identifier "local_b8") (. ".") (field_identifier "_0_8_")) (, ",") (call_expression "CONCAT44(uStack_ac,local_b8._8_4_)" (identifier "CONCAT44") (argument_list "(uStack_ac,local_b8._8_4_)" (( "(") (identifier "uStack_ac") (, ",") (field_expression "local_b8._8_4_" (identifier "local_b8") (. ".") (field_identifier "_8_4_")) () ")"))) (, ",") (identifier "local_c8") (, ",") (identifier "local_c0") (, ",") (pointer_expression "&local_9c" (& "&") (identifier "local_9c")) (, ",") (pointer_expression "&local_98" (& "&") (identifier "local_98")) (, ",") (number_literal "7") (, ",") (identifier "param_6") (, ",") (pointer_expression "&local_a0" (& "&") (identifier "local_a0")) () ")")))) (; ";")) (labeled_statement "joined_r0x003588cd:\n    local_b8 = auVar18;" (statement_identifier "joined_r0x003588cd") (: ":") (expression_statement "local_b8 = auVar18;" (assignment_expression "local_b8 = auVar18" (identifier "local_b8") (= "=") (identifier "auVar18")) (; ";"))) (if_statement "if (local_a0 == 0) {\n      param_8[6] = local_9c;\n    }" (if "if") (parenthesized_expression "(local_a0 == 0)" (( "(") (binary_expression "local_a0 == 0" (identifier "local_a0") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      param_8[6] = local_9c;\n    }" ({ "{") (expression_statement "param_8[6] = local_9c;" (assignment_expression "param_8[6] = local_9c" (subscript_expression "param_8[6]" (identifier "param_8") ([ "[") (number_literal "6") (] "]")) (= "=") (identifier "local_9c")) (; ";")) (} "}"))) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 'b':" (case "case") (char_literal "'b'" (' "'") (character "b") (' "'")) (: ":")) (case_statement "case 'h':\n    lVar2 = *(long *)(lVar11 + 0x10);\n    local_98 = *(undefined8 *)(lVar2 + 0x128);\n    local_90 = *(undefined8 *)(lVar2 + 0x130);\n    local_88 = *(undefined8 *)(lVar2 + 0x138);\n    local_80 = *(undefined8 *)(lVar2 + 0x140);\n    local_78 = *(undefined8 *)(lVar2 + 0x148);\n    local_70 = *(undefined8 *)(lVar2 + 0x150);\n    local_68 = *(undefined8 *)(lVar2 + 0x158);\n    local_60 = *(undefined8 *)(lVar2 + 0x160);\n    local_58 = *(undefined8 *)(lVar2 + 0x168);\n    local_50 = *(undefined8 *)(lVar2 + 0x170);\n    local_48 = *(undefined8 *)(lVar2 + 0x178);\n    local_40 = *(undefined8 *)(lVar2 + 0x180);\n    auVar18 = FUN_00356440(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,&local_9c,&local_98,0xc,param_6,&local_a0);\njoined_r0x00358a12:\n    local_b8 = auVar18;\n    if (local_a0 == 0) {\n      param_8[4] = local_9c;\n    }\n    break;" (case "case") (char_literal "'h'" (' "'") (character "h") (' "'")) (: ":") (expression_statement "lVar2 = *(long *)(lVar11 + 0x10);" (assignment_expression "lVar2 = *(long *)(lVar11 + 0x10)" (identifier "lVar2") (= "=") (pointer_expression "*(long *)(lVar11 + 0x10)" (* "*") (cast_expression "(long *)(lVar11 + 0x10)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar11 + 0x10)" (( "(") (binary_expression "lVar11 + 0x10" (identifier "lVar11") (+ "+") (number_literal "0x10")) () ")"))))) (; ";")) (expression_statement "local_98 = *(undefined8 *)(lVar2 + 0x128);" (assignment_expression "local_98 = *(undefined8 *)(lVar2 + 0x128)" (identifier "local_98") (= "=") (pointer_expression "*(undefined8 *)(lVar2 + 0x128)" (* "*") (cast_expression "(undefined8 *)(lVar2 + 0x128)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar2 + 0x128)" (( "(") (binary_expression "lVar2 + 0x128" (identifier "lVar2") (+ "+") (number_literal "0x128")) () ")"))))) (; ";")) (expression_statement "local_90 = *(undefined8 *)(lVar2 + 0x130);" (assignment_expression "local_90 = *(undefined8 *)(lVar2 + 0x130)" (identifier "local_90") (= "=") (pointer_expression "*(undefined8 *)(lVar2 + 0x130)" (* "*") (cast_expression "(undefined8 *)(lVar2 + 0x130)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar2 + 0x130)" (( "(") (binary_expression "lVar2 + 0x130" (identifier "lVar2") (+ "+") (number_literal "0x130")) () ")"))))) (; ";")) (expression_statement "local_88 = *(undefined8 *)(lVar2 + 0x138);" (assignment_expression "local_88 = *(undefined8 *)(lVar2 + 0x138)" (identifier "local_88") (= "=") (pointer_expression "*(undefined8 *)(lVar2 + 0x138)" (* "*") (cast_expression "(undefined8 *)(lVar2 + 0x138)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar2 + 0x138)" (( "(") (binary_expression "lVar2 + 0x138" (identifier "lVar2") (+ "+") (number_literal "0x138")) () ")"))))) (; ";")) (expression_statement "local_80 = *(undefined8 *)(lVar2 + 0x140);" (assignment_expression "local_80 = *(undefined8 *)(lVar2 + 0x140)" (identifier "local_80") (= "=") (pointer_expression "*(undefined8 *)(lVar2 + 0x140)" (* "*") (cast_expression "(undefined8 *)(lVar2 + 0x140)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar2 + 0x140)" (( "(") (binary_expression "lVar2 + 0x140" (identifier "lVar2") (+ "+") (number_literal "0x140")) () ")"))))) (; ";")) (expression_statement "local_78 = *(undefined8 *)(lVar2 + 0x148);" (assignment_expression "local_78 = *(undefined8 *)(lVar2 + 0x148)" (identifier "local_78") (= "=") (pointer_expression "*(undefined8 *)(lVar2 + 0x148)" (* "*") (cast_expression "(undefined8 *)(lVar2 + 0x148)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar2 + 0x148)" (( "(") (binary_expression "lVar2 + 0x148" (identifier "lVar2") (+ "+") (number_literal "0x148")) () ")"))))) (; ";")) (expression_statement "local_70 = *(undefined8 *)(lVar2 + 0x150);" (assignment_expression "local_70 = *(undefined8 *)(lVar2 + 0x150)" (identifier "local_70") (= "=") (pointer_expression "*(undefined8 *)(lVar2 + 0x150)" (* "*") (cast_expression "(undefined8 *)(lVar2 + 0x150)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar2 + 0x150)" (( "(") (binary_expression "lVar2 + 0x150" (identifier "lVar2") (+ "+") (number_literal "0x150")) () ")"))))) (; ";")) (expression_statement "local_68 = *(undefined8 *)(lVar2 + 0x158);" (assignment_expression "local_68 = *(undefined8 *)(lVar2 + 0x158)" (identifier "local_68") (= "=") (pointer_expression "*(undefined8 *)(lVar2 + 0x158)" (* "*") (cast_expression "(undefined8 *)(lVar2 + 0x158)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar2 + 0x158)" (( "(") (binary_expression "lVar2 + 0x158" (identifier "lVar2") (+ "+") (number_literal "0x158")) () ")"))))) (; ";")) (expression_statement "local_60 = *(undefined8 *)(lVar2 + 0x160);" (assignment_expression "local_60 = *(undefined8 *)(lVar2 + 0x160)" (identifier "local_60") (= "=") (pointer_expression "*(undefined8 *)(lVar2 + 0x160)" (* "*") (cast_expression "(undefined8 *)(lVar2 + 0x160)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar2 + 0x160)" (( "(") (binary_expression "lVar2 + 0x160" (identifier "lVar2") (+ "+") (number_literal "0x160")) () ")"))))) (; ";")) (expression_statement "local_58 = *(undefined8 *)(lVar2 + 0x168);" (assignment_expression "local_58 = *(undefined8 *)(lVar2 + 0x168)" (identifier "local_58") (= "=") (pointer_expression "*(undefined8 *)(lVar2 + 0x168)" (* "*") (cast_expression "(undefined8 *)(lVar2 + 0x168)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar2 + 0x168)" (( "(") (binary_expression "lVar2 + 0x168" (identifier "lVar2") (+ "+") (number_literal "0x168")) () ")"))))) (; ";")) (expression_statement "local_50 = *(undefined8 *)(lVar2 + 0x170);" (assignment_expression "local_50 = *(undefined8 *)(lVar2 + 0x170)" (identifier "local_50") (= "=") (pointer_expression "*(undefined8 *)(lVar2 + 0x170)" (* "*") (cast_expression "(undefined8 *)(lVar2 + 0x170)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar2 + 0x170)" (( "(") (binary_expression "lVar2 + 0x170" (identifier "lVar2") (+ "+") (number_literal "0x170")) () ")"))))) (; ";")) (expression_statement "local_48 = *(undefined8 *)(lVar2 + 0x178);" (assignment_expression "local_48 = *(undefined8 *)(lVar2 + 0x178)" (identifier "local_48") (= "=") (pointer_expression "*(undefined8 *)(lVar2 + 0x178)" (* "*") (cast_expression "(undefined8 *)(lVar2 + 0x178)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar2 + 0x178)" (( "(") (binary_expression "lVar2 + 0x178" (identifier "lVar2") (+ "+") (number_literal "0x178")) () ")"))))) (; ";")) (expression_statement "local_40 = *(undefined8 *)(lVar2 + 0x180);" (assignment_expression "local_40 = *(undefined8 *)(lVar2 + 0x180)" (identifier "local_40") (= "=") (pointer_expression "*(undefined8 *)(lVar2 + 0x180)" (* "*") (cast_expression "(undefined8 *)(lVar2 + 0x180)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar2 + 0x180)" (( "(") (binary_expression "lVar2 + 0x180" (identifier "lVar2") (+ "+") (number_literal "0x180")) () ")"))))) (; ";")) (expression_statement "auVar18 = FUN_00356440(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,&local_9c,&local_98,0xc,param_6,&local_a0);" (assignment_expression "auVar18 = FUN_00356440(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,&local_9c,&local_98,0xc,param_6,&local_a0)" (identifier "auVar18") (= "=") (call_expression "FUN_00356440(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,&local_9c,&local_98,0xc,param_6,&local_a0)" (identifier "FUN_00356440") (argument_list "(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,&local_9c,&local_98,0xc,param_6,&local_a0)" (( "(") (identifier "param_1") (, ",") (field_expression "local_b8._0_8_" (identifier "local_b8") (. ".") (field_identifier "_0_8_")) (, ",") (call_expression "CONCAT44(uStack_ac,local_b8._8_4_)" (identifier "CONCAT44") (argument_list "(uStack_ac,local_b8._8_4_)" (( "(") (identifier "uStack_ac") (, ",") (field_expression "local_b8._8_4_" (identifier "local_b8") (. ".") (field_identifier "_8_4_")) () ")"))) (, ",") (identifier "local_c8") (, ",") (identifier "local_c0") (, ",") (pointer_expression "&local_9c" (& "&") (identifier "local_9c")) (, ",") (pointer_expression "&local_98" (& "&") (identifier "local_98")) (, ",") (number_literal "0xc") (, ",") (identifier "param_6") (, ",") (pointer_expression "&local_a0" (& "&") (identifier "local_a0")) () ")")))) (; ";")) (labeled_statement "joined_r0x00358a12:\n    local_b8 = auVar18;" (statement_identifier "joined_r0x00358a12") (: ":") (expression_statement "local_b8 = auVar18;" (assignment_expression "local_b8 = auVar18" (identifier "local_b8") (= "=") (identifier "auVar18")) (; ";"))) (if_statement "if (local_a0 == 0) {\n      param_8[4] = local_9c;\n    }" (if "if") (parenthesized_expression "(local_a0 == 0)" (( "(") (binary_expression "local_a0 == 0" (identifier "local_a0") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      param_8[4] = local_9c;\n    }" ({ "{") (expression_statement "param_8[4] = local_9c;" (assignment_expression "param_8[4] = local_9c" (subscript_expression "param_8[4]" (identifier "param_8") ([ "[") (number_literal "4") (] "]")) (= "=") (identifier "local_9c")) (; ";")) (} "}"))) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 'c':\n    auVar18 = FUN_00357f80(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,param_6,&local_a0,param_8,\n                           *(undefined8 *)(*(long *)(lVar11 + 0x10) + 0x30));\n    local_b8 = auVar18;\n    break;" (case "case") (char_literal "'c'" (' "'") (character "c") (' "'")) (: ":") (expression_statement "auVar18 = FUN_00357f80(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,param_6,&local_a0,param_8,\n                           *(undefined8 *)(*(long *)(lVar11 + 0x10) + 0x30));" (assignment_expression "auVar18 = FUN_00357f80(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,param_6,&local_a0,param_8,\n                           *(undefined8 *)(*(long *)(lVar11 + 0x10) + 0x30))" (identifier "auVar18") (= "=") (call_expression "FUN_00357f80(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,param_6,&local_a0,param_8,\n                           *(undefined8 *)(*(long *)(lVar11 + 0x10) + 0x30))" (identifier "FUN_00357f80") (argument_list "(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,param_6,&local_a0,param_8,\n                           *(undefined8 *)(*(long *)(lVar11 + 0x10) + 0x30))" (( "(") (identifier "param_1") (, ",") (field_expression "local_b8._0_8_" (identifier "local_b8") (. ".") (field_identifier "_0_8_")) (, ",") (call_expression "CONCAT44(uStack_ac,local_b8._8_4_)" (identifier "CONCAT44") (argument_list "(uStack_ac,local_b8._8_4_)" (( "(") (identifier "uStack_ac") (, ",") (field_expression "local_b8._8_4_" (identifier "local_b8") (. ".") (field_identifier "_8_4_")) () ")"))) (, ",") (identifier "local_c8") (, ",") (identifier "local_c0") (, ",") (identifier "param_6") (, ",") (pointer_expression "&local_a0" (& "&") (identifier "local_a0")) (, ",") (identifier "param_8") (, ",") (pointer_expression "*(undefined8 *)(*(long *)(lVar11 + 0x10) + 0x30)" (* "*") (cast_expression "(undefined8 *)(*(long *)(lVar11 + 0x10) + 0x30)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(long *)(lVar11 + 0x10) + 0x30)" (( "(") (binary_expression "*(long *)(lVar11 + 0x10) + 0x30" (pointer_expression "*(long *)(lVar11 + 0x10)" (* "*") (cast_expression "(long *)(lVar11 + 0x10)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar11 + 0x10)" (( "(") (binary_expression "lVar11 + 0x10" (identifier "lVar11") (+ "+") (number_literal "0x10")) () ")")))) (+ "+") (number_literal "0x30")) () ")")))) () ")")))) (; ";")) (expression_statement "local_b8 = auVar18;" (assignment_expression "local_b8 = auVar18" (identifier "local_b8") (= "=") (identifier "auVar18")) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 'd':\n    auVar18 = FUN_00355fc0(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,&local_9c,1,0x1f,2,param_6,&local_a0);\n    goto joined_r0x00358be9;" (case "case") (char_literal "'d'" (' "'") (character "d") (' "'")) (: ":") (expression_statement "auVar18 = FUN_00355fc0(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,&local_9c,1,0x1f,2,param_6,&local_a0);" (assignment_expression "auVar18 = FUN_00355fc0(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,&local_9c,1,0x1f,2,param_6,&local_a0)" (identifier "auVar18") (= "=") (call_expression "FUN_00355fc0(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,&local_9c,1,0x1f,2,param_6,&local_a0)" (identifier "FUN_00355fc0") (argument_list "(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,&local_9c,1,0x1f,2,param_6,&local_a0)" (( "(") (identifier "param_1") (, ",") (field_expression "local_b8._0_8_" (identifier "local_b8") (. ".") (field_identifier "_0_8_")) (, ",") (call_expression "CONCAT44(uStack_ac,local_b8._8_4_)" (identifier "CONCAT44") (argument_list "(uStack_ac,local_b8._8_4_)" (( "(") (identifier "uStack_ac") (, ",") (field_expression "local_b8._8_4_" (identifier "local_b8") (. ".") (field_identifier "_8_4_")) () ")"))) (, ",") (identifier "local_c8") (, ",") (identifier "local_c0") (, ",") (pointer_expression "&local_9c" (& "&") (identifier "local_9c")) (, ",") (number_literal "1") (, ",") (number_literal "0x1f") (, ",") (number_literal "2") (, ",") (identifier "param_6") (, ",") (pointer_expression "&local_a0" (& "&") (identifier "local_a0")) () ")")))) (; ";")) (goto_statement "goto joined_r0x00358be9;" (goto "goto") (statement_identifier "joined_r0x00358be9") (; ";"))) (case_statement "case 'e':\n    uVar8 = FUN_0034def0(local_b8,local_b8._8_4_);\n    cVar6 = (**(code **)(*plVar12 + 0x10))(plVar12,0x2000,uVar8);\n    if (cVar6 == '\0') {\n      auVar18 = FUN_00355fc0(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                             local_c0,&local_9c,10,0x1f,2,param_6,&local_a0);\n    }\n    else {\n      FUN_002fc080(local_b8._0_8_);\n      local_b8._8_4_ = 0xffffffff;\n      auVar18 = FUN_00355fc0(param_1,local_b8._0_8_,CONCAT44(uStack_ac,0xffffffff),local_c8,local_c0\n                             ,&local_9c,1,9,1,param_6,&local_a0);\n    }\njoined_r0x00358be9:\n    local_b8 = auVar18;\n    if (local_a0 == 0) {\n      param_8[3] = local_9c;\n    }\n    break;" (case "case") (char_literal "'e'" (' "'") (character "e") (' "'")) (: ":") (expression_statement "uVar8 = FUN_0034def0(local_b8,local_b8._8_4_);" (assignment_expression "uVar8 = FUN_0034def0(local_b8,local_b8._8_4_)" (identifier "uVar8") (= "=") (call_expression "FUN_0034def0(local_b8,local_b8._8_4_)" (identifier "FUN_0034def0") (argument_list "(local_b8,local_b8._8_4_)" (( "(") (identifier "local_b8") (, ",") (field_expression "local_b8._8_4_" (identifier "local_b8") (. ".") (field_identifier "_8_4_")) () ")")))) (; ";")) (expression_statement "cVar6 = (**(code **)(*plVar12 + 0x10))(plVar12,0x2000,uVar8);" (assignment_expression "cVar6 = (**(code **)(*plVar12 + 0x10))(plVar12,0x2000,uVar8)" (identifier "cVar6") (= "=") (call_expression "(**(code **)(*plVar12 + 0x10))(plVar12,0x2000,uVar8)" (parenthesized_expression "(**(code **)(*plVar12 + 0x10))" (( "(") (pointer_expression "**(code **)(*plVar12 + 0x10)" (* "*") (pointer_expression "*(code **)(*plVar12 + 0x10)" (* "*") (cast_expression "(code **)(*plVar12 + 0x10)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*plVar12 + 0x10)" (( "(") (binary_expression "*plVar12 + 0x10" (pointer_expression "*plVar12" (* "*") (identifier "plVar12")) (+ "+") (number_literal "0x10")) () ")"))))) () ")")) (argument_list "(plVar12,0x2000,uVar8)" (( "(") (identifier "plVar12") (, ",") (number_literal "0x2000") (, ",") (identifier "uVar8") () ")")))) (; ";")) (if_statement "if (cVar6 == '\0') {\n      auVar18 = FUN_00355fc0(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                             local_c0,&local_9c,10,0x1f,2,param_6,&local_a0);\n    }\n    else {\n      FUN_002fc080(local_b8._0_8_);\n      local_b8._8_4_ = 0xffffffff;\n      auVar18 = FUN_00355fc0(param_1,local_b8._0_8_,CONCAT44(uStack_ac,0xffffffff),local_c8,local_c0\n                             ,&local_9c,1,9,1,param_6,&local_a0);\n    }" (if "if") (parenthesized_expression "(cVar6 == '\0')" (( "(") (binary_expression "cVar6 == '\0'" (identifier "cVar6") (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n      auVar18 = FUN_00355fc0(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                             local_c0,&local_9c,10,0x1f,2,param_6,&local_a0);\n    }" ({ "{") (expression_statement "auVar18 = FUN_00355fc0(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                             local_c0,&local_9c,10,0x1f,2,param_6,&local_a0);" (assignment_expression "auVar18 = FUN_00355fc0(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                             local_c0,&local_9c,10,0x1f,2,param_6,&local_a0)" (identifier "auVar18") (= "=") (call_expression "FUN_00355fc0(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                             local_c0,&local_9c,10,0x1f,2,param_6,&local_a0)" (identifier "FUN_00355fc0") (argument_list "(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                             local_c0,&local_9c,10,0x1f,2,param_6,&local_a0)" (( "(") (identifier "param_1") (, ",") (field_expression "local_b8._0_8_" (identifier "local_b8") (. ".") (field_identifier "_0_8_")) (, ",") (call_expression "CONCAT44(uStack_ac,local_b8._8_4_)" (identifier "CONCAT44") (argument_list "(uStack_ac,local_b8._8_4_)" (( "(") (identifier "uStack_ac") (, ",") (field_expression "local_b8._8_4_" (identifier "local_b8") (. ".") (field_identifier "_8_4_")) () ")"))) (, ",") (identifier "local_c8") (, ",") (identifier "local_c0") (, ",") (pointer_expression "&local_9c" (& "&") (identifier "local_9c")) (, ",") (number_literal "10") (, ",") (number_literal "0x1f") (, ",") (number_literal "2") (, ",") (identifier "param_6") (, ",") (pointer_expression "&local_a0" (& "&") (identifier "local_a0")) () ")")))) (; ";")) (} "}")) (else_clause "else {\n      FUN_002fc080(local_b8._0_8_);\n      local_b8._8_4_ = 0xffffffff;\n      auVar18 = FUN_00355fc0(param_1,local_b8._0_8_,CONCAT44(uStack_ac,0xffffffff),local_c8,local_c0\n                             ,&local_9c,1,9,1,param_6,&local_a0);\n    }" (else "else") (compound_statement "{\n      FUN_002fc080(local_b8._0_8_);\n      local_b8._8_4_ = 0xffffffff;\n      auVar18 = FUN_00355fc0(param_1,local_b8._0_8_,CONCAT44(uStack_ac,0xffffffff),local_c8,local_c0\n                             ,&local_9c,1,9,1,param_6,&local_a0);\n    }" ({ "{") (expression_statement "FUN_002fc080(local_b8._0_8_);" (call_expression "FUN_002fc080(local_b8._0_8_)" (identifier "FUN_002fc080") (argument_list "(local_b8._0_8_)" (( "(") (field_expression "local_b8._0_8_" (identifier "local_b8") (. ".") (field_identifier "_0_8_")) () ")"))) (; ";")) (expression_statement "local_b8._8_4_ = 0xffffffff;" (assignment_expression "local_b8._8_4_ = 0xffffffff" (field_expression "local_b8._8_4_" (identifier "local_b8") (. ".") (field_identifier "_8_4_")) (= "=") (number_literal "0xffffffff")) (; ";")) (expression_statement "auVar18 = FUN_00355fc0(param_1,local_b8._0_8_,CONCAT44(uStack_ac,0xffffffff),local_c8,local_c0\n                             ,&local_9c,1,9,1,param_6,&local_a0);" (assignment_expression "auVar18 = FUN_00355fc0(param_1,local_b8._0_8_,CONCAT44(uStack_ac,0xffffffff),local_c8,local_c0\n                             ,&local_9c,1,9,1,param_6,&local_a0)" (identifier "auVar18") (= "=") (call_expression "FUN_00355fc0(param_1,local_b8._0_8_,CONCAT44(uStack_ac,0xffffffff),local_c8,local_c0\n                             ,&local_9c,1,9,1,param_6,&local_a0)" (identifier "FUN_00355fc0") (argument_list "(param_1,local_b8._0_8_,CONCAT44(uStack_ac,0xffffffff),local_c8,local_c0\n                             ,&local_9c,1,9,1,param_6,&local_a0)" (( "(") (identifier "param_1") (, ",") (field_expression "local_b8._0_8_" (identifier "local_b8") (. ".") (field_identifier "_0_8_")) (, ",") (call_expression "CONCAT44(uStack_ac,0xffffffff)" (identifier "CONCAT44") (argument_list "(uStack_ac,0xffffffff)" (( "(") (identifier "uStack_ac") (, ",") (number_literal "0xffffffff") () ")"))) (, ",") (identifier "local_c8") (, ",") (identifier "local_c0") (, ",") (pointer_expression "&local_9c" (& "&") (identifier "local_9c")) (, ",") (number_literal "1") (, ",") (number_literal "9") (, ",") (number_literal "1") (, ",") (identifier "param_6") (, ",") (pointer_expression "&local_a0" (& "&") (identifier "local_a0")) () ")")))) (; ";")) (} "}")))) (labeled_statement "joined_r0x00358be9:\n    local_b8 = auVar18;" (statement_identifier "joined_r0x00358be9") (: ":") (expression_statement "local_b8 = auVar18;" (assignment_expression "local_b8 = auVar18" (identifier "local_b8") (= "=") (identifier "auVar18")) (; ";"))) (if_statement "if (local_a0 == 0) {\n      param_8[3] = local_9c;\n    }" (if "if") (parenthesized_expression "(local_a0 == 0)" (( "(") (binary_expression "local_a0 == 0" (identifier "local_a0") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      param_8[3] = local_9c;\n    }" ({ "{") (expression_statement "param_8[3] = local_9c;" (assignment_expression "param_8[3] = local_9c" (subscript_expression "param_8[3]" (identifier "param_8") ([ "[") (number_literal "3") (] "]")) (= "=") (identifier "local_9c")) (; ";")) (} "}"))) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 'm':\n    auVar18 = FUN_00355fc0(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,&local_9c,1,0xc,2,param_6,&local_a0);\n    local_b8 = auVar18;\n    if (local_a0 == 0) {\n      param_8[4] = local_9c + -1;\n    }\n    break;" (case "case") (char_literal "'m'" (' "'") (character "m") (' "'")) (: ":") (expression_statement "auVar18 = FUN_00355fc0(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,&local_9c,1,0xc,2,param_6,&local_a0);" (assignment_expression "auVar18 = FUN_00355fc0(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,&local_9c,1,0xc,2,param_6,&local_a0)" (identifier "auVar18") (= "=") (call_expression "FUN_00355fc0(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,&local_9c,1,0xc,2,param_6,&local_a0)" (identifier "FUN_00355fc0") (argument_list "(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,&local_9c,1,0xc,2,param_6,&local_a0)" (( "(") (identifier "param_1") (, ",") (field_expression "local_b8._0_8_" (identifier "local_b8") (. ".") (field_identifier "_0_8_")) (, ",") (call_expression "CONCAT44(uStack_ac,local_b8._8_4_)" (identifier "CONCAT44") (argument_list "(uStack_ac,local_b8._8_4_)" (( "(") (identifier "uStack_ac") (, ",") (field_expression "local_b8._8_4_" (identifier "local_b8") (. ".") (field_identifier "_8_4_")) () ")"))) (, ",") (identifier "local_c8") (, ",") (identifier "local_c0") (, ",") (pointer_expression "&local_9c" (& "&") (identifier "local_9c")) (, ",") (number_literal "1") (, ",") (number_literal "0xc") (, ",") (number_literal "2") (, ",") (identifier "param_6") (, ",") (pointer_expression "&local_a0" (& "&") (identifier "local_a0")) () ")")))) (; ";")) (expression_statement "local_b8 = auVar18;" (assignment_expression "local_b8 = auVar18" (identifier "local_b8") (= "=") (identifier "auVar18")) (; ";")) (if_statement "if (local_a0 == 0) {\n      param_8[4] = local_9c + -1;\n    }" (if "if") (parenthesized_expression "(local_a0 == 0)" (( "(") (binary_expression "local_a0 == 0" (identifier "local_a0") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      param_8[4] = local_9c + -1;\n    }" ({ "{") (expression_statement "param_8[4] = local_9c + -1;" (assignment_expression "param_8[4] = local_9c + -1" (subscript_expression "param_8[4]" (identifier "param_8") ([ "[") (number_literal "4") (] "]")) (= "=") (binary_expression "local_9c + -1" (identifier "local_9c") (+ "+") (number_literal "-1"))) (; ";")) (} "}"))) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 'n':\n    uVar8 = FUN_0034def0(local_b8,local_b8._8_4_);\n    cVar6 = (**(code **)(*plVar12 + 0x60))(plVar12,uVar8,0);\n    if (cVar6 != '\n') goto switchD_003580fd_caseD_45;\nLAB_003590ce:\n    FUN_002fc080(local_b8._0_8_);\n    local_b8._8_4_ = 0xffffffff;\n    break;" (case "case") (char_literal "'n'" (' "'") (character "n") (' "'")) (: ":") (expression_statement "uVar8 = FUN_0034def0(local_b8,local_b8._8_4_);" (assignment_expression "uVar8 = FUN_0034def0(local_b8,local_b8._8_4_)" (identifier "uVar8") (= "=") (call_expression "FUN_0034def0(local_b8,local_b8._8_4_)" (identifier "FUN_0034def0") (argument_list "(local_b8,local_b8._8_4_)" (( "(") (identifier "local_b8") (, ",") (field_expression "local_b8._8_4_" (identifier "local_b8") (. ".") (field_identifier "_8_4_")) () ")")))) (; ";")) (expression_statement "cVar6 = (**(code **)(*plVar12 + 0x60))(plVar12,uVar8,0);" (assignment_expression "cVar6 = (**(code **)(*plVar12 + 0x60))(plVar12,uVar8,0)" (identifier "cVar6") (= "=") (call_expression "(**(code **)(*plVar12 + 0x60))(plVar12,uVar8,0)" (parenthesized_expression "(**(code **)(*plVar12 + 0x60))" (( "(") (pointer_expression "**(code **)(*plVar12 + 0x60)" (* "*") (pointer_expression "*(code **)(*plVar12 + 0x60)" (* "*") (cast_expression "(code **)(*plVar12 + 0x60)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*plVar12 + 0x60)" (( "(") (binary_expression "*plVar12 + 0x60" (pointer_expression "*plVar12" (* "*") (identifier "plVar12")) (+ "+") (number_literal "0x60")) () ")"))))) () ")")) (argument_list "(plVar12,uVar8,0)" (( "(") (identifier "plVar12") (, ",") (identifier "uVar8") (, ",") (number_literal "0") () ")")))) (; ";")) (if_statement "if (cVar6 != '\n') goto switchD_003580fd_caseD_45;" (if "if") (parenthesized_expression "(cVar6 != '\n')" (( "(") (binary_expression "cVar6 != '\n'" (identifier "cVar6") (!= "!=") (char_literal "'\n'" (' "'") (escape_sequence "\n") (' "'"))) () ")")) (goto_statement "goto switchD_003580fd_caseD_45;" (goto "goto") (statement_identifier "switchD_003580fd_caseD_45") (; ";"))) (labeled_statement "LAB_003590ce:\n    FUN_002fc080(local_b8._0_8_);" (statement_identifier "LAB_003590ce") (: ":") (expression_statement "FUN_002fc080(local_b8._0_8_);" (call_expression "FUN_002fc080(local_b8._0_8_)" (identifier "FUN_002fc080") (argument_list "(local_b8._0_8_)" (( "(") (field_expression "local_b8._0_8_" (identifier "local_b8") (. ".") (field_identifier "_0_8_")) () ")"))) (; ";"))) (expression_statement "local_b8._8_4_ = 0xffffffff;" (assignment_expression "local_b8._8_4_ = 0xffffffff" (field_expression "local_b8._8_4_" (identifier "local_b8") (. ".") (field_identifier "_8_4_")) (= "=") (number_literal "0xffffffff")) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 't':\n    uVar8 = FUN_0034def0(local_b8,local_b8._8_4_);\n    cVar6 = (**(code **)(*plVar12 + 0x60))(plVar12,uVar8,0);\n    if (cVar6 == '\t') goto LAB_003590ce;\n    goto switchD_003580fd_caseD_45;" (case "case") (char_literal "'t'" (' "'") (character "t") (' "'")) (: ":") (expression_statement "uVar8 = FUN_0034def0(local_b8,local_b8._8_4_);" (assignment_expression "uVar8 = FUN_0034def0(local_b8,local_b8._8_4_)" (identifier "uVar8") (= "=") (call_expression "FUN_0034def0(local_b8,local_b8._8_4_)" (identifier "FUN_0034def0") (argument_list "(local_b8,local_b8._8_4_)" (( "(") (identifier "local_b8") (, ",") (field_expression "local_b8._8_4_" (identifier "local_b8") (. ".") (field_identifier "_8_4_")) () ")")))) (; ";")) (expression_statement "cVar6 = (**(code **)(*plVar12 + 0x60))(plVar12,uVar8,0);" (assignment_expression "cVar6 = (**(code **)(*plVar12 + 0x60))(plVar12,uVar8,0)" (identifier "cVar6") (= "=") (call_expression "(**(code **)(*plVar12 + 0x60))(plVar12,uVar8,0)" (parenthesized_expression "(**(code **)(*plVar12 + 0x60))" (( "(") (pointer_expression "**(code **)(*plVar12 + 0x60)" (* "*") (pointer_expression "*(code **)(*plVar12 + 0x60)" (* "*") (cast_expression "(code **)(*plVar12 + 0x60)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*plVar12 + 0x60)" (( "(") (binary_expression "*plVar12 + 0x60" (pointer_expression "*plVar12" (* "*") (identifier "plVar12")) (+ "+") (number_literal "0x60")) () ")"))))) () ")")) (argument_list "(plVar12,uVar8,0)" (( "(") (identifier "plVar12") (, ",") (identifier "uVar8") (, ",") (number_literal "0") () ")")))) (; ";")) (if_statement "if (cVar6 == '\t') goto LAB_003590ce;" (if "if") (parenthesized_expression "(cVar6 == '\t')" (( "(") (binary_expression "cVar6 == '\t'" (identifier "cVar6") (== "==") (char_literal "'\t'" (' "'") (escape_sequence "\t") (' "'"))) () ")")) (goto_statement "goto LAB_003590ce;" (goto "goto") (statement_identifier "LAB_003590ce") (; ";"))) (goto_statement "goto switchD_003580fd_caseD_45;" (goto "goto") (statement_identifier "switchD_003580fd_caseD_45") (; ";"))) (case_statement "case 'x':\n    auVar18 = FUN_00357f80(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,param_6,&local_a0,param_8,\n                           *(undefined8 *)(*(long *)(lVar11 + 0x10) + 0x10));\n    local_b8 = auVar18;" (case "case") (char_literal "'x'" (' "'") (character "x") (' "'")) (: ":") (expression_statement "auVar18 = FUN_00357f80(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,param_6,&local_a0,param_8,\n                           *(undefined8 *)(*(long *)(lVar11 + 0x10) + 0x10));" (assignment_expression "auVar18 = FUN_00357f80(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,param_6,&local_a0,param_8,\n                           *(undefined8 *)(*(long *)(lVar11 + 0x10) + 0x10))" (identifier "auVar18") (= "=") (call_expression "FUN_00357f80(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,param_6,&local_a0,param_8,\n                           *(undefined8 *)(*(long *)(lVar11 + 0x10) + 0x10))" (identifier "FUN_00357f80") (argument_list "(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,\n                           local_c0,param_6,&local_a0,param_8,\n                           *(undefined8 *)(*(long *)(lVar11 + 0x10) + 0x10))" (( "(") (identifier "param_1") (, ",") (field_expression "local_b8._0_8_" (identifier "local_b8") (. ".") (field_identifier "_0_8_")) (, ",") (call_expression "CONCAT44(uStack_ac,local_b8._8_4_)" (identifier "CONCAT44") (argument_list "(uStack_ac,local_b8._8_4_)" (( "(") (identifier "uStack_ac") (, ",") (field_expression "local_b8._8_4_" (identifier "local_b8") (. ".") (field_identifier "_8_4_")) () ")"))) (, ",") (identifier "local_c8") (, ",") (identifier "local_c0") (, ",") (identifier "param_6") (, ",") (pointer_expression "&local_a0" (& "&") (identifier "local_a0")) (, ",") (identifier "param_8") (, ",") (pointer_expression "*(undefined8 *)(*(long *)(lVar11 + 0x10) + 0x10)" (* "*") (cast_expression "(undefined8 *)(*(long *)(lVar11 + 0x10) + 0x10)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(long *)(lVar11 + 0x10) + 0x10)" (( "(") (binary_expression "*(long *)(lVar11 + 0x10) + 0x10" (pointer_expression "*(long *)(lVar11 + 0x10)" (* "*") (cast_expression "(long *)(lVar11 + 0x10)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar11 + 0x10)" (( "(") (binary_expression "lVar11 + 0x10" (identifier "lVar11") (+ "+") (number_literal "0x10")) () ")")))) (+ "+") (number_literal "0x10")) () ")")))) () ")")))) (; ";")) (expression_statement "local_b8 = auVar18;" (assignment_expression "local_b8 = auVar18" (identifier "local_b8") (= "=") (identifier "auVar18")) (; ";"))) (} "}"))) (labeled_statement "LAB_00358248:\n  uVar15 = uVar14 + 1;" (statement_identifier "LAB_00358248") (: ":") (expression_statement "uVar15 = uVar14 + 1;" (assignment_expression "uVar15 = uVar14 + 1" (identifier "uVar15") (= "=") (binary_expression "uVar14 + 1" (identifier "uVar14") (+ "+") (number_literal "1"))) (; ";"))) (goto_statement "goto LAB_00358033;" (goto "goto") (statement_identifier "LAB_00358033") (; ";")) (labeled_statement "switchD_003580fd_caseD_45:\n  local_a0 = local_a0 | 4;" (statement_identifier "switchD_003580fd_caseD_45") (: ":") (expression_statement "local_a0 = local_a0 | 4;" (assignment_expression "local_a0 = local_a0 | 4" (identifier "local_a0") (= "=") (binary_expression "local_a0 | 4" (identifier "local_a0") (| "|") (number_literal "4"))) (; ";"))) (goto_statement "goto LAB_00358248;" (goto "goto") (statement_identifier "LAB_00358248") (; ";")) (ERROR "}" (} "}"))

/* std::time_get<wchar_t, std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> >
   >::_M_extract_via_format(std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> >,
   std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> >, std::ios_base&,
   std::_Ios_Iostate&, tm*, wchar_t const*) const */

type_1  [16]
std::time_get<var_2,var_12::type_9<var_2,var_12::var_1<var_2>>>::
var_3
          (type_6 param_1,type_6 param_2,type_6 param_3,var_4 *var_5,type_6 param_5
          ,var_4 var_13,var_6 *var_7,var_8 *var_9,var_2 *var_10)

{
  var_2 var_27;
  long var_28;
  type_1 auVar3 [16];
  type_1 var_26 [12];
  bool var_20;
  char var_24;
  int var_36;
  type_2 uVar8;
  int var_15;
  var_2 var_25;
  type_3 *var_29;
  type_4 *pcVar12;
  size_t var_22;
  type_5 var_38;
  type_5 var_21;
  bool var_18;
  bool var_19;
  type_1 var_16 [12];
  long *var_17;
  type_6 local_c0;
  type_1 local_b8 [12];
  type_2 uStack_ac;
  var_6 var_23;
  int var_33;
  type_6 local_98;
  type_6 local_90;
  type_6 local_88;
  type_6 local_80;
  type_6 local_78;
  type_6 local_70;
  type_6 local_68;
  type_6 local_60;
  type_6 local_58;
  type_6 local_50;
  type_6 local_48;
  type_6 local_40;
  
  local_b8._8_4_ = (type_2)param_3;
  uStack_ac = (type_2)((type_5)param_3 >> 0x20);
  var_17 = var_5;
  local_c0 = param_5;
  local_b8._0_8_ = param_2;
  var_29 = var_11<var_12::type_3<var_2>>((type_7 *)(var_13 + 0xd0));
  pcVar12 = var_11<var_12::type_4<var_2>>((type_7 *)(var_13 + 0xd0));
  var_22 = var_14(var_10);
  var_23 = 0;
  var_21 = 0;
LAB_00358033:
  var_20 = (long *)local_b8._0_8_ != (long *)0x0 && local_b8._8_4_ == -1;
  var_19 = local_b8._8_4_ == -1;
  if (var_20) {
    if (*(int **)(local_b8._0_8_ + 0x10) < *(int **)(local_b8._0_8_ + 0x18)) {
      var_15 = **(int **)(local_b8._0_8_ + 0x10);
    }
    else {
      var_15 = (**(type_8 **)(*(long *)local_b8._0_8_ + 0x48))();
    }
    var_19 = false;
    if (var_15 == -1) {
      var_16._4_8_ = 0;
      var_16._0_4_ = local_b8._8_4_;
      local_b8 = var_16 << 0x40;
      var_19 = var_20;
    }
  }
  var_18 = (int)local_c0 == -1;
  var_20 = var_17 != (long *)0x0 && var_18;
  if (var_20) {
    if ((int *)var_17[2] < (int *)var_17[3]) {
      var_15 = *(int *)var_17[2];
    }
    else {
      var_15 = (**(type_8 **)(*var_17 + 0x48))();
    }
    var_18 = false;
    if (var_15 != -1) goto LAB_00358070;
    var_17 = (long *)0x0;
    if (var_19 != var_20) goto LAB_00358080;
LAB_00358188:
    if ((var_21 == var_22) && (var_23 == 0)) goto LAB_0035819e;
LAB_00358193:
    *var_7 = *var_7 | 4;
LAB_0035819e:
    auVar3._12_4_ = uStack_ac;
    auVar3._0_12_ = local_b8;
    return auVar3;
  }
LAB_00358070:
  if (var_19 == var_18) goto LAB_00358188;
LAB_00358080:
  if (var_22 <= var_21) goto LAB_00358188;
  if (var_23 != 0) goto LAB_00358193;
  var_38 = var_21 + 1;
  var_24 = (**(type_8 **)(*(long *)pcVar12 + 0x60))(pcVar12,var_10[var_21],0);
  if (var_24 != '%') {
    var_27 = var_10[var_21];
    var_26 = local_b8;
    var_21 = var_38;
    if ((local_b8._8_4_ == L'\xffffffff') && ((long *)local_b8._0_8_ != (long *)0x0)) {
      if (*(var_2 **)(local_b8._0_8_ + 0x10) < *(var_2 **)(local_b8._0_8_ + 0x18)) {
        var_25 = **(var_2 **)(local_b8._0_8_ + 0x10);
      }
      else {
        var_25 = (**(type_8 **)(*(long *)local_b8._0_8_ + 0x48))();
        var_26 = local_b8;
      }
      local_b8._8_4_ = var_26._8_4_;
      if (var_25 == L'\xffffffff') {
        var_26._4_8_ = 0;
        var_26._0_4_ = local_b8._8_4_;
        var_26 = var_26 << 0x40;
        local_b8._8_4_ = L'\xffffffff';
        goto LAB_00358121;
      }
      local_b8 = var_26;
      if (var_27 == var_25) goto LAB_00358290;
LAB_0035812a:
      var_23 = var_23 | 4;
    }
    else {
LAB_00358121:
      var_19 = var_27 != local_b8._8_4_;
      local_b8 = var_26;
      if (var_19) goto LAB_0035812a;
LAB_00358290:
      local_b8._0_8_ = var_26._0_8_;
      if (*(type_5 *)(local_b8._0_8_ + 0x10) < *(type_5 *)(local_b8._0_8_ + 0x18)) {
        *(type_5 *)(local_b8._0_8_ + 0x10) = *(type_5 *)(local_b8._0_8_ + 0x10) + 4;
      }
      else {
        var_28 = *(long *)local_b8._0_8_;
        local_b8 = var_26;
        (**(type_8 **)(var_28 + 0x50))();
      }
      local_b8._8_4_ = 0xffffffff;
    }
    goto LAB_00358033;
  }
  var_24 = (**(type_8 **)(*(long *)pcVar12 + 0x60))(pcVar12,var_10[var_21 + 1],0);
  var_33 = 0;
  if ((var_24 == 'E') || (var_24 == 'O')) {
    var_38 = var_21 + 2;
    var_24 = (**(type_8 **)(*(long *)pcVar12 + 0x60))(pcVar12,var_10[var_21 + 2],0);
  }
  switch(var_24) {
  case 'A':
    var_28 = *(long *)(var_29 + 0x10);
    local_98 = *(type_6 *)(var_28 + 0x58);
    local_90 = *(type_6 *)(var_28 + 0x60);
    local_88 = *(type_6 *)(var_28 + 0x68);
    local_80 = *(type_6 *)(var_28 + 0x70);
    local_78 = *(type_6 *)(var_28 + 0x78);
    local_70 = *(type_6 *)(var_28 + 0x80);
    local_68 = *(type_6 *)(var_28 + 0x88);
    var_16 = var_30(param_1,local_b8._0_8_,var_31(uStack_ac,local_b8._8_4_),var_17,
                              local_c0,&var_33,&local_98,7,var_13,&var_23);
    goto joined_r0x003588cd;
  case 'B':
    var_28 = *(long *)(var_29 + 0x10);
    local_98 = *(type_6 *)(var_28 + 200);
    local_90 = *(type_6 *)(var_28 + 0xd0);
    local_88 = *(type_6 *)(var_28 + 0xd8);
    local_80 = *(type_6 *)(var_28 + 0xe0);
    local_78 = *(type_6 *)(var_28 + 0xe8);
    local_70 = *(type_6 *)(var_28 + 0xf0);
    local_68 = *(type_6 *)(var_28 + 0xf8);
    local_60 = *(type_6 *)(var_28 + 0x100);
    local_58 = *(type_6 *)(var_28 + 0x108);
    local_50 = *(type_6 *)(var_28 + 0x110);
    local_48 = *(type_6 *)(var_28 + 0x118);
    local_40 = *(type_6 *)(var_28 + 0x120);
    var_16 = var_30(param_1,local_b8._0_8_,var_31(uStack_ac,local_b8._8_4_),var_17,
                              local_c0,&var_33,&local_98,0xc,var_13,&var_23);
    goto joined_r0x00358a12;
  case 'C':
  case 'Y':
  case 'y':
    var_16 = var_32(param_1,local_b8._0_8_,var_31(uStack_ac,local_b8._8_4_),var_17,
                             local_c0,&var_33,0,9999,4,var_13,&var_23);
    local_b8 = var_16;
    if (var_23 == 0) {
      var_15 = var_33 + -0x76c;
      if (var_33 < 0) {
        var_15 = var_33 + 100;
      }
      var_9[5] = var_15;
    }
    break;
  case 'D':
    (**(type_8 **)(*(long *)pcVar12 + 0x58))(pcVar12,"%m/%d/%y","%H:%M",&local_98);
    var_16 = var_3
                        (param_1,local_b8._0_8_,var_31(uStack_ac,local_b8._8_4_),var_17,local_c0
                         ,var_13,&var_23,var_9,&local_98);
    local_b8 = var_16;
    break;
  default:
    goto switchD_003580fd_caseD_45;
  case 'H':
    var_16 = var_32(param_1,local_b8._0_8_,var_31(uStack_ac,local_b8._8_4_),var_17,
                             local_c0,&var_33,0,0x17,2,var_13,&var_23);
    goto joined_r0x003587d9;
  case 'I':
    var_16 = var_32(param_1,local_b8._0_8_,var_31(uStack_ac,local_b8._8_4_),var_17,
                             local_c0,&var_33,1,0xc,2,var_13,&var_23);
joined_r0x003587d9:
    local_b8 = var_16;
    if (var_23 == 0) {
      var_9[2] = var_33;
    }
    break;
  case 'M':
    var_16 = var_32(param_1,local_b8._0_8_,var_31(uStack_ac,local_b8._8_4_),var_17,
                             local_c0,&var_33,0,0x3b,2,var_13,&var_23);
    local_b8 = var_16;
    if (var_23 == 0) {
      var_9[1] = var_33;
    }
    break;
  case 'R':
    (**(type_8 **)(*(long *)pcVar12 + 0x58))(pcVar12,"%H:%M","%H:%M:%S",&local_98);
    var_16 = var_3
                        (param_1,local_b8._0_8_,var_31(uStack_ac,local_b8._8_4_),var_17,local_c0
                         ,var_13,&var_23,var_9,&local_98);
    local_b8 = var_16;
    break;
  case 'S':
    var_16 = var_32(param_1,local_b8._0_8_,var_31(uStack_ac,local_b8._8_4_),var_17,
                             local_c0,&var_33,0,0x3c,2,var_13,&var_23);
    local_b8 = var_16;
    if (var_23 == 0) {
      *var_9 = var_33;
    }
    break;
  case 'T':
    (**(type_8 **)(*(long *)pcVar12 + 0x58))(pcVar12,"%H:%M:%S",&DAT_003aba16,&local_98);
    var_16 = var_3
                        (param_1,local_b8._0_8_,var_31(uStack_ac,local_b8._8_4_),var_17,local_c0
                         ,var_13,&var_23,var_9,&local_98);
    local_b8 = var_16;
    break;
  case 'X':
    var_16 = var_3
                        (param_1,local_b8._0_8_,var_31(uStack_ac,local_b8._8_4_),var_17,local_c0
                         ,var_13,&var_23,var_9,
                         *(type_6 *)(*(long *)(var_29 + 0x10) + 0x20));
    local_b8 = var_16;
    break;
  case 'Z':
    uVar8 = type_9<var_2,var_12::var_1<var_2>>::var_34();
    var_24 = (**(type_8 **)(*(long *)pcVar12 + 0x10))(pcVar12,0x100,uVar8);
    if (var_24 == '\0') goto switchD_003580fd_caseD_45;
    var_16 = var_30(param_1,local_b8._0_8_,var_31(uStack_ac,local_b8._8_4_),var_17,
                              local_c0,&local_98,PTR__S_timezones_0045bff0,0xe,var_13,&var_23);
    local_b8 = var_16;
    var_24 = type_9<var_2,var_12::var_1<var_2>>::var_35
                      ((type_9<var_2,var_12::var_1<var_2>> *)local_b8,
                       (type_9 *)&var_17);
    if ((var_24 == '\0') && (var_23 == 0 && (int)local_98 == 0)) {
      var_15 = type_9<var_2,var_12::var_1<var_2>>::var_34();
      var_36 = (**(type_8 **)(*(long *)pcVar12 + 0x50))(pcVar12,0x2d);
      if (var_15 != var_36) {
        var_15 = type_9<var_2,var_12::var_1<var_2>>::var_34();
        var_36 = (**(type_8 **)(*(long *)pcVar12 + 0x50))(pcVar12,0x2b);
        if (var_15 != var_36) break;
      }
      var_16 = var_32(param_1,local_b8._0_8_,var_31(uStack_ac,local_b8._8_4_),var_17,
                               local_c0,&local_98,0,0x17,2,var_13,&var_23);
      local_b8 = var_16;
      var_16 = var_32(param_1,var_16._0_8_,var_31(uStack_ac,var_16._8_4_),var_17,
                               local_c0,&local_98,0,0x3b,2,var_13,&var_23);
      local_b8 = var_16;
    }
    break;
  case 'a':
    var_28 = *(long *)(var_29 + 0x10);
    local_98 = *(type_6 *)(var_28 + 0x90);
    local_90 = *(type_6 *)(var_28 + 0x98);
    local_88 = *(type_6 *)(var_28 + 0xa0);
    local_80 = *(type_6 *)(var_28 + 0xa8);
    local_78 = *(type_6 *)(var_28 + 0xb0);
    local_70 = *(type_6 *)(var_28 + 0xb8);
    local_68 = *(type_6 *)(var_28 + 0xc0);
    var_16 = var_30(param_1,local_b8._0_8_,var_31(uStack_ac,local_b8._8_4_),var_17,
                              local_c0,&var_33,&local_98,7,var_13,&var_23);
joined_r0x003588cd:
    local_b8 = var_16;
    if (var_23 == 0) {
      var_9[6] = var_33;
    }
    break;
  case 'b':
  case 'h':
    var_28 = *(long *)(var_29 + 0x10);
    local_98 = *(type_6 *)(var_28 + 0x128);
    local_90 = *(type_6 *)(var_28 + 0x130);
    local_88 = *(type_6 *)(var_28 + 0x138);
    local_80 = *(type_6 *)(var_28 + 0x140);
    local_78 = *(type_6 *)(var_28 + 0x148);
    local_70 = *(type_6 *)(var_28 + 0x150);
    local_68 = *(type_6 *)(var_28 + 0x158);
    local_60 = *(type_6 *)(var_28 + 0x160);
    local_58 = *(type_6 *)(var_28 + 0x168);
    local_50 = *(type_6 *)(var_28 + 0x170);
    local_48 = *(type_6 *)(var_28 + 0x178);
    local_40 = *(type_6 *)(var_28 + 0x180);
    var_16 = var_30(param_1,local_b8._0_8_,var_31(uStack_ac,local_b8._8_4_),var_17,
                              local_c0,&var_33,&local_98,0xc,var_13,&var_23);
joined_r0x00358a12:
    local_b8 = var_16;
    if (var_23 == 0) {
      var_9[4] = var_33;
    }
    break;
  case 'c':
    var_16 = var_3
                        (param_1,local_b8._0_8_,var_31(uStack_ac,local_b8._8_4_),var_17,local_c0
                         ,var_13,&var_23,var_9,
                         *(type_6 *)(*(long *)(var_29 + 0x10) + 0x30));
    local_b8 = var_16;
    break;
  case 'd':
    var_16 = var_32(param_1,local_b8._0_8_,var_31(uStack_ac,local_b8._8_4_),var_17,
                             local_c0,&var_33,1,0x1f,2,var_13,&var_23);
    goto joined_r0x00358be9;
  case 'e':
    uVar8 = type_9<var_2,var_12::var_1<var_2>>::var_34();
    var_24 = (**(type_8 **)(*(long *)pcVar12 + 0x10))(pcVar12,0x2000,uVar8);
    if (var_24 == '\0') {
      var_16 = var_32(param_1,local_b8._0_8_,var_31(uStack_ac,local_b8._8_4_),var_17,
                               local_c0,&var_33,10,0x1f,2,var_13,&var_23);
    }
    else {
      wstreambuf::var_37((type_10 *)local_b8._0_8_);
      local_b8._8_4_ = 0xffffffff;
      var_16 = var_32(param_1,local_b8._0_8_,var_31(uStack_ac,0xffffffff),var_17,
                               local_c0,&var_33,1,9,1,var_13,&var_23);
    }
joined_r0x00358be9:
    local_b8 = var_16;
    if (var_23 == 0) {
      var_9[3] = var_33;
    }
    break;
  case 'm':
    var_16 = var_32(param_1,local_b8._0_8_,var_31(uStack_ac,local_b8._8_4_),var_17,
                             local_c0,&var_33,1,0xc,2,var_13,&var_23);
    local_b8 = var_16;
    if (var_23 == 0) {
      var_9[4] = var_33 + -1;
    }
    break;
  case 'n':
    uVar8 = type_9<var_2,var_12::var_1<var_2>>::var_34();
    var_24 = (**(type_8 **)(*(long *)pcVar12 + 0x60))(pcVar12,uVar8,0);
    if (var_24 != '\n') goto switchD_003580fd_caseD_45;
LAB_003590ce:
    wstreambuf::var_37((type_10 *)local_b8._0_8_);
    local_b8._8_4_ = 0xffffffff;
    break;
  case 't':
    uVar8 = type_9<var_2,var_12::var_1<var_2>>::var_34();
    var_24 = (**(type_8 **)(*(long *)pcVar12 + 0x60))(pcVar12,uVar8,0);
    if (var_24 == '\t') goto LAB_003590ce;
    goto switchD_003580fd_caseD_45;
  case 'x':
    var_16 = var_3
                        (param_1,local_b8._0_8_,var_31(uStack_ac,local_b8._8_4_),var_17,local_c0
                         ,var_13,&var_23,var_9,
                         *(type_6 *)(*(long *)(var_29 + 0x10) + 0x10));
    local_b8 = var_16;
  }
LAB_00358248:
  var_21 = var_38 + 1;
  goto LAB_00358033;
switchD_003580fd_caseD_45:
  var_23 = var_23 | 4;
  goto LAB_00358248;
}


(translation_unit (expression_statement (subscript_expression argument: (identifier) index: (number_literal)) (MISSING ";")) (declaration type: (macro_type_specifier name: (identifier) type: (type_descriptor type: (type_identifier)) (MISSING ")")) declarator: (identifier) declarator: (identifier) (ERROR (identifier)) declarator: (identifier) (ERROR (identifier)) (ERROR (identifier)) declarator: (pointer_declarator declarator: (identifier)) declarator: (identifier) (ERROR (identifier)) (ERROR (identifier)) declarator: (identifier) (ERROR (identifier)) declarator: (pointer_declarator declarator: (identifier)) (ERROR (identifier)) declarator: (pointer_declarator declarator: (identifier)) (ERROR (identifier) (pointer_declarator declarator: (identifier)) (identifier)) declarator: (identifier)) (declaration type: (sized_type_specifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (array_declarator declarator: (identifier) size: (number_literal))) (declaration type: (type_identifier) declarator: (array_declarator declarator: (identifier) size: (number_literal))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (sized_type_specifier) declarator: (identifier)) (declaration type: (sized_type_specifier) declarator: (pointer_declarator 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: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (array_declarator declarator: (identifier) size: (number_literal))) (declaration type: (sized_type_specifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (array_declarator declarator: (identifier) size: (number_literal))) (declaration type: (type_identifier) 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: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (expression_statement (assignment_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (sized_type_specifier) declarator: (abstract_pointer_declarator)) value: (call_expression function: (identifier) arguments: (argument_list (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: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (sized_type_specifier) declarator: (abstract_pointer_declarator)) value: (field_expression argument: (identifier) field: (field_identifier))) right: (cast_expression type: (type_descriptor type: (sized_type_specifier) declarator: (abstract_pointer_declarator)) value: (number_literal))) right: (binary_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (number_literal)))) (if_statement condition: (parenthesized_expression (identifier)) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_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: (field_expression argument: (identifier) field: (field_identifier)) right: (number_literal))))) right: (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: (field_expression argument: (identifier) field: (field_identifier)) right: (number_literal))))))) consequence: (compound_statement (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: (field_expression argument: (identifier) field: (field_identifier)) right: (number_literal))))))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (sized_type_specifier) declarator: (abstract_pointer_declarator)) value: (field_expression argument: (identifier) field: (field_identifier)))) right: (number_literal))))))) arguments: (argument_list))))))) (expression_statement (assignment_expression left: (identifier) right: (false))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (number_literal))) (expression_statement (assignment_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (field_expression argument: (identifier) field: (field_identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (sized_type_specifier) declarator: (abstract_pointer_declarator)) value: (number_literal))) right: (identifier)))) (if_statement condition: (parenthesized_expression (identifier)) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (subscript_expression argument: (identifier) index: (number_literal))) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (subscript_expression argument: (identifier) index: (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: (subscript_expression argument: (identifier) index: (number_literal))))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal))))))) arguments: (argument_list))))))) (expression_statement (assignment_expression left: (identifier) right: (false))) (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: (cast_expression type: (type_descriptor type: (sized_type_specifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (goto_statement label: (statement_identifier))) (labeled_statement label: (statement_identifier) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) right: (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: (identifier)) right: (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal))))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (identifier)))) (expression_statement (assignment_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (identifier))) (return_statement (identifier)))) (labeled_statement label: (statement_identifier) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (goto_statement label: (statement_identifier)))) (labeled_statement label: (statement_identifier) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (goto_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: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal))))))) arguments: (argument_list (identifier) (subscript_expression argument: (identifier) index: (identifier)) (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (char_literal (character)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (char_literal (escape_sequence) (character) (character) (character) (character)))) right: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (sized_type_specifier) declarator: (abstract_pointer_declarator)) value: (field_expression argument: (identifier) field: (field_identifier))) right: (cast_expression type: (type_descriptor type: (sized_type_specifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (number_literal))))) 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: (field_expression argument: (identifier) field: (field_identifier)) right: (number_literal))))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (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: (field_expression argument: (identifier) field: (field_identifier)) right: (number_literal))))))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (sized_type_specifier) declarator: (abstract_pointer_declarator)) value: (field_expression argument: (identifier) field: (field_identifier)))) right: (number_literal))))))) arguments: (argument_list)))) (expression_statement (assignment_expression left: (identifier) right: (identifier)))))) (expression_statement (assignment_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (field_expression argument: (identifier) field: (field_identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (char_literal (escape_sequence) (character) (character) (character) (character)))) consequence: (compound_statement (expression_statement (assignment_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (number_literal))) (expression_statement (assignment_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (field_expression argument: (identifier) field: (field_identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (char_literal (escape_sequence) (character) (character) (character) (character)))) (goto_statement label: (statement_identifier)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (goto_statement label: (statement_identifier))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))))) alternative: (else_clause (compound_statement (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (field_expression argument: (identifier) field: (field_identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (identifier)) consequence: (goto_statement label: (statement_identifier))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (field_expression argument: (identifier) field: (field_identifier))))) (if_statement condition: (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: (field_expression argument: (identifier) field: (field_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: (field_expression argument: (identifier) field: (field_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: (field_expression argument: (identifier) field: (field_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: (field_expression argument: (identifier) field: (field_identifier)) right: (number_literal))))) right: (number_literal))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (sized_type_specifier) declarator: (abstract_pointer_declarator)) value: (field_expression argument: (identifier) field: (field_identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list)))))) (expression_statement (assignment_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (number_literal)))))) (goto_statement label: (statement_identifier)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal))))))) arguments: (argument_list (identifier) (subscript_expression argument: (identifier) index: (binary_expression left: (identifier) right: (number_literal))) (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (char_literal (character)))) right: (parenthesized_expression (binary_expression left: (identifier) right: (char_literal (character)))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal))))))) arguments: (argument_list (identifier) (subscript_expression argument: (identifier) index: (binary_expression left: (identifier) right: (number_literal))) (number_literal))))))) (switch_statement condition: (parenthesized_expression (identifier)) body: (compound_statement (case_statement value: (char_literal (character)) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (sized_type_specifier) 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: (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: (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: (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: (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: (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: (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: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (field_expression argument: (identifier) field: (field_identifier)) (call_expression function: (identifier) arguments: (argument_list (identifier) (field_expression argument: (identifier) field: (field_identifier)))) (identifier) (identifier) (pointer_expression argument: (identifier)) (pointer_expression argument: (identifier)) (number_literal) (identifier) (pointer_expression argument: (identifier)))))) (goto_statement label: (statement_identifier))) (case_statement value: (char_literal (character)) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (sized_type_specifier) 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: (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: (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: (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: (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: (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: (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: (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: (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: (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: (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: (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: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (field_expression argument: (identifier) field: (field_identifier)) (call_expression function: (identifier) arguments: (argument_list (identifier) (field_expression argument: (identifier) field: (field_identifier)))) (identifier) (identifier) (pointer_expression argument: (identifier)) (pointer_expression argument: (identifier)) (number_literal) (identifier) (pointer_expression argument: (identifier)))))) (goto_statement label: (statement_identifier))) (case_statement value: (char_literal (character))) (case_statement value: (char_literal (character))) (case_statement value: (char_literal (character)) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (field_expression argument: (identifier) field: (field_identifier)) (call_expression function: (identifier) arguments: (argument_list (identifier) (field_expression argument: (identifier) field: (field_identifier)))) (identifier) (identifier) (pointer_expression argument: (identifier)) (number_literal) (number_literal) (number_literal) (identifier) (pointer_expression argument: (identifier)))))) (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: (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: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))))) (break_statement)) (case_statement value: (char_literal (character)) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal))))))) arguments: (argument_list (identifier) (string_literal (string_content)) (string_literal (string_content)) (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (field_expression argument: (identifier) field: (field_identifier)) (call_expression function: (identifier) arguments: (argument_list (identifier) (field_expression argument: (identifier) field: (field_identifier)))) (identifier) (identifier) (identifier) (pointer_expression argument: (identifier)) (identifier) (pointer_expression argument: (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (break_statement)) (case_statement (goto_statement label: (statement_identifier))) (case_statement value: (char_literal (character)) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (field_expression argument: (identifier) field: (field_identifier)) (call_expression function: (identifier) arguments: (argument_list (identifier) (field_expression argument: (identifier) field: (field_identifier)))) (identifier) (identifier) (pointer_expression argument: (identifier)) (number_literal) (number_literal) (number_literal) (identifier) (pointer_expression argument: (identifier)))))) (goto_statement label: (statement_identifier))) (case_statement value: (char_literal (character)) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (field_expression argument: (identifier) field: (field_identifier)) (call_expression function: (identifier) arguments: (argument_list (identifier) (field_expression argument: (identifier) field: (field_identifier)))) (identifier) (identifier) (pointer_expression argument: (identifier)) (number_literal) (number_literal) (number_literal) (identifier) (pointer_expression argument: (identifier)))))) (labeled_statement label: (statement_identifier) (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: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))))) (break_statement)) (case_statement value: (char_literal (character)) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (field_expression argument: (identifier) field: (field_identifier)) (call_expression function: (identifier) arguments: (argument_list (identifier) (field_expression argument: (identifier) field: (field_identifier)))) (identifier) (identifier) (pointer_expression argument: (identifier)) (number_literal) (number_literal) (number_literal) (identifier) (pointer_expression argument: (identifier)))))) (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: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))))) (break_statement)) (case_statement value: (char_literal (character)) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal))))))) arguments: (argument_list (identifier) (string_literal (string_content)) (string_literal (string_content)) (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (field_expression argument: (identifier) field: (field_identifier)) (call_expression function: (identifier) arguments: (argument_list (identifier) (field_expression argument: (identifier) field: (field_identifier)))) (identifier) (identifier) (identifier) (pointer_expression argument: (identifier)) (identifier) (pointer_expression argument: (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (break_statement)) (case_statement value: (char_literal (character)) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (field_expression argument: (identifier) field: (field_identifier)) (call_expression function: (identifier) arguments: (argument_list (identifier) (field_expression argument: (identifier) field: (field_identifier)))) (identifier) (identifier) (pointer_expression argument: (identifier)) (number_literal) (number_literal) (number_literal) (identifier) (pointer_expression argument: (identifier)))))) (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: (pointer_expression argument: (identifier)) right: (identifier))))) (break_statement)) (case_statement value: (char_literal (character)) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal))))))) arguments: (argument_list (identifier) (string_literal (string_content)) (pointer_expression argument: (identifier)) (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (field_expression argument: (identifier) field: (field_identifier)) (call_expression function: (identifier) arguments: (argument_list (identifier) (field_expression argument: (identifier) field: (field_identifier)))) (identifier) (identifier) (identifier) (pointer_expression argument: (identifier)) (identifier) (pointer_expression argument: (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (break_statement)) (case_statement value: (char_literal (character)) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (field_expression argument: (identifier) field: (field_identifier)) (call_expression function: (identifier) arguments: (argument_list (identifier) (field_expression argument: (identifier) field: (field_identifier)))) (identifier) (identifier) (identifier) (pointer_expression argument: (identifier)) (identifier) (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: (sized_type_specifier) 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))) (break_statement)) (case_statement value: (char_literal (character)) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (field_expression argument: (identifier) field: (field_identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal))))))) arguments: (argument_list (identifier) (number_literal) (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (char_literal (escape_sequence)))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (field_expression argument: (identifier) field: (field_identifier)) (call_expression function: (identifier) arguments: (argument_list (identifier) (field_expression argument: (identifier) field: (field_identifier)))) (identifier) (identifier) (pointer_expression argument: (identifier)) (identifier) (number_literal) (identifier) (pointer_expression argument: (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (pointer_expression argument: (identifier)))))) (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: (binary_expression left: (identifier) right: (number_literal)) right: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal)))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal))))))) arguments: (argument_list (identifier) (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (field_expression argument: (identifier) field: (field_identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal))))))) arguments: (argument_list (identifier) (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (break_statement)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (field_expression argument: (identifier) field: (field_identifier)) (call_expression function: (identifier) arguments: (argument_list (identifier) (field_expression argument: (identifier) field: (field_identifier)))) (identifier) (identifier) (pointer_expression argument: (identifier)) (number_literal) (number_literal) (number_literal) (identifier) (pointer_expression argument: (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (field_expression argument: (identifier) field: (field_identifier)) (call_expression function: (identifier) arguments: (argument_list (identifier) (field_expression argument: (identifier) field: (field_identifier)))) (identifier) (identifier) (pointer_expression argument: (identifier)) (number_literal) (number_literal) (number_literal) (identifier) (pointer_expression argument: (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))))) (break_statement)) (case_statement value: (char_literal (character)) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (sized_type_specifier) 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: (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: (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: (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: (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: (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: (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: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (field_expression argument: (identifier) field: (field_identifier)) (call_expression function: (identifier) arguments: (argument_list (identifier) (field_expression argument: (identifier) field: (field_identifier)))) (identifier) (identifier) (pointer_expression argument: (identifier)) (pointer_expression argument: (identifier)) (number_literal) (identifier) (pointer_expression argument: (identifier)))))) (labeled_statement label: (statement_identifier) (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: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))))) (break_statement)) (case_statement value: (char_literal (character))) (case_statement value: (char_literal (character)) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (sized_type_specifier) 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: (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: (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: (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: (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: (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: (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: (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: (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: (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: (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: (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: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (field_expression argument: (identifier) field: (field_identifier)) (call_expression function: (identifier) arguments: (argument_list (identifier) (field_expression argument: (identifier) field: (field_identifier)))) (identifier) (identifier) (pointer_expression argument: (identifier)) (pointer_expression argument: (identifier)) (number_literal) (identifier) (pointer_expression argument: (identifier)))))) (labeled_statement label: (statement_identifier) (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: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))))) (break_statement)) (case_statement value: (char_literal (character)) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (field_expression argument: (identifier) field: (field_identifier)) (call_expression function: (identifier) arguments: (argument_list (identifier) (field_expression argument: (identifier) field: (field_identifier)))) (identifier) (identifier) (identifier) (pointer_expression argument: (identifier)) (identifier) (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: (sized_type_specifier) 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))) (break_statement)) (case_statement value: (char_literal (character)) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (field_expression argument: (identifier) field: (field_identifier)) (call_expression function: (identifier) arguments: (argument_list (identifier) (field_expression argument: (identifier) field: (field_identifier)))) (identifier) (identifier) (pointer_expression argument: (identifier)) (number_literal) (number_literal) (number_literal) (identifier) (pointer_expression argument: (identifier)))))) (goto_statement label: (statement_identifier))) (case_statement value: (char_literal (character)) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (field_expression argument: (identifier) field: (field_identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal))))))) arguments: (argument_list (identifier) (number_literal) (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (char_literal (escape_sequence)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (field_expression argument: (identifier) field: (field_identifier)) (call_expression function: (identifier) arguments: (argument_list (identifier) (field_expression argument: (identifier) field: (field_identifier)))) (identifier) (identifier) (pointer_expression argument: (identifier)) (number_literal) (number_literal) (number_literal) (identifier) (pointer_expression argument: (identifier))))))) alternative: (else_clause (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list (field_expression argument: (identifier) field: (field_identifier))))) (expression_statement (assignment_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (field_expression argument: (identifier) field: (field_identifier)) (call_expression function: (identifier) arguments: (argument_list (identifier) (number_literal))) (identifier) (identifier) (pointer_expression argument: (identifier)) (number_literal) (number_literal) (number_literal) (identifier) (pointer_expression argument: (identifier))))))))) (labeled_statement label: (statement_identifier) (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: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))))) (break_statement)) (case_statement value: (char_literal (character)) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (field_expression argument: (identifier) field: (field_identifier)) (call_expression function: (identifier) arguments: (argument_list (identifier) (field_expression argument: (identifier) field: (field_identifier)))) (identifier) (identifier) (pointer_expression argument: (identifier)) (number_literal) (number_literal) (number_literal) (identifier) (pointer_expression argument: (identifier)))))) (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: (subscript_expression argument: (identifier) index: (number_literal)) right: (binary_expression left: (identifier) right: (number_literal)))))) (break_statement)) (case_statement value: (char_literal (character)) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (field_expression argument: (identifier) field: (field_identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal))))))) arguments: (argument_list (identifier) (identifier) (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (char_literal (escape_sequence)))) consequence: (goto_statement label: (statement_identifier))) (labeled_statement label: (statement_identifier) (expression_statement (call_expression function: (identifier) arguments: (argument_list (field_expression argument: (identifier) field: (field_identifier)))))) (expression_statement (assignment_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (number_literal))) (break_statement)) (case_statement value: (char_literal (character)) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (field_expression argument: (identifier) field: (field_identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal))))))) arguments: (argument_list (identifier) (identifier) (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (char_literal (escape_sequence)))) consequence: (goto_statement label: (statement_identifier))) (goto_statement label: (statement_identifier))) (case_statement value: (char_literal (character)) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (field_expression argument: (identifier) field: (field_identifier)) (call_expression function: (identifier) arguments: (argument_list (identifier) (field_expression argument: (identifier) field: (field_identifier)))) (identifier) (identifier) (identifier) (pointer_expression argument: (identifier)) (identifier) (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: (sized_type_specifier) 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)))))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) (goto_statement label: (statement_identifier)) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) (goto_statement label: (statement_identifier)) (ERROR))

undefined1  [16]
MASKED(undefined8 param_1,undefined8 param_2,undefined8 param_3,long *param_4,
            undefined8 param_5,long param_6,uint *param_7,int *param_8,wchar_t *param_9)

{
  wchar_t wVar1;
  long lVar2;
  undefined1 auVar3 [16];
  undefined1 auVar4 [12];
  bool bVar5;
  char cVar6;
  int iVar7;
  undefined4 uVar8;
  int iVar9;
  wchar_t wVar10;
  long lVar11;
  long *plVar12;
  size_t sVar13;
  ulong uVar14;
  ulong uVar15;
  bool bVar16;
  bool bVar17;
  undefined1 auVar18 [12];
  long *local_c8;
  undefined8 local_c0;
  undefined1 local_b8 [12];
  undefined4 uStack_ac;
  uint local_a0;
  int local_9c;
  undefined8 local_98;
  undefined8 local_90;
  undefined8 local_88;
  undefined8 local_80;
  undefined8 local_78;
  undefined8 local_70;
  undefined8 local_68;
  undefined8 local_60;
  undefined8 local_58;
  undefined8 local_50;
  undefined8 local_48;
  undefined8 local_40;
  
  local_b8._8_4_ = (undefined4)param_3;
  uStack_ac = (undefined4)((ulong)param_3 >> 0x20);
  local_c8 = param_4;
  local_c0 = param_5;
  local_b8._0_8_ = param_2;
  lVar11 = FUN_0033ff70(param_6 + 0xd0);
  plVar12 = (long *)FUN_0033e820(param_6 + 0xd0);
  sVar13 = wcslen(param_9);
  local_a0 = 0;
  uVar15 = 0;
LAB_00358033:
  bVar5 = (long *)local_b8._0_8_ != (long *)0x0 && local_b8._8_4_ == -1;
  bVar17 = local_b8._8_4_ == -1;
  if (bVar5) {
    if (*(int **)(local_b8._0_8_ + 0x10) < *(int **)(local_b8._0_8_ + 0x18)) {
      iVar9 = **(int **)(local_b8._0_8_ + 0x10);
    }
    else {
      iVar9 = (**(code **)(*(long *)local_b8._0_8_ + 0x48))();
    }
    bVar17 = false;
    if (iVar9 == -1) {
      auVar18._4_8_ = 0;
      auVar18._0_4_ = local_b8._8_4_;
      local_b8 = auVar18 << 0x40;
      bVar17 = bVar5;
    }
  }
  bVar16 = (int)local_c0 == -1;
  bVar5 = local_c8 != (long *)0x0 && bVar16;
  if (bVar5) {
    if ((int *)local_c8[2] < (int *)local_c8[3]) {
      iVar9 = *(int *)local_c8[2];
    }
    else {
      iVar9 = (**(code **)(*local_c8 + 0x48))();
    }
    bVar16 = false;
    if (iVar9 != -1) goto LAB_00358070;
    local_c8 = (long *)0x0;
    if (bVar17 != bVar5) goto LAB_00358080;
LAB_00358188:
    if ((uVar15 == sVar13) && (local_a0 == 0)) goto LAB_0035819e;
LAB_00358193:
    *param_7 = *param_7 | 4;
LAB_0035819e:
    auVar3._12_4_ = uStack_ac;
    auVar3._0_12_ = local_b8;
    return auVar3;
  }
LAB_00358070:
  if (bVar17 == bVar16) goto LAB_00358188;
LAB_00358080:
  if (sVar13 <= uVar15) goto LAB_00358188;
  if (local_a0 != 0) goto LAB_00358193;
  uVar14 = uVar15 + 1;
  cVar6 = (**(code **)(*plVar12 + 0x60))(plVar12,param_9[uVar15],0);
  if (cVar6 != '%') {
    wVar1 = param_9[uVar15];
    auVar4 = local_b8;
    uVar15 = uVar14;
    if ((local_b8._8_4_ == L'\xffffffff') && ((long *)local_b8._0_8_ != (long *)0x0)) {
      if (*(wchar_t **)(local_b8._0_8_ + 0x10) < *(wchar_t **)(local_b8._0_8_ + 0x18)) {
        wVar10 = **(wchar_t **)(local_b8._0_8_ + 0x10);
      }
      else {
        wVar10 = (**(code **)(*(long *)local_b8._0_8_ + 0x48))();
        auVar4 = local_b8;
      }
      local_b8._8_4_ = auVar4._8_4_;
      if (wVar10 == L'\xffffffff') {
        auVar4._4_8_ = 0;
        auVar4._0_4_ = local_b8._8_4_;
        auVar4 = auVar4 << 0x40;
        local_b8._8_4_ = L'\xffffffff';
        goto LAB_00358121;
      }
      local_b8 = auVar4;
      if (wVar1 == wVar10) goto LAB_00358290;
LAB_0035812a:
      local_a0 = local_a0 | 4;
    }
    else {
LAB_00358121:
      bVar17 = wVar1 != local_b8._8_4_;
      local_b8 = auVar4;
      if (bVar17) goto LAB_0035812a;
LAB_00358290:
      local_b8._0_8_ = auVar4._0_8_;
      if (*(ulong *)(local_b8._0_8_ + 0x10) < *(ulong *)(local_b8._0_8_ + 0x18)) {
        *(ulong *)(local_b8._0_8_ + 0x10) = *(ulong *)(local_b8._0_8_ + 0x10) + 4;
      }
      else {
        lVar2 = *(long *)local_b8._0_8_;
        local_b8 = auVar4;
        (**(code **)(lVar2 + 0x50))();
      }
      local_b8._8_4_ = 0xffffffff;
    }
    goto LAB_00358033;
  }
  cVar6 = (**(code **)(*plVar12 + 0x60))(plVar12,param_9[uVar15 + 1],0);
  local_9c = 0;
  if ((cVar6 == 'E') || (cVar6 == 'O')) {
    uVar14 = uVar15 + 2;
    cVar6 = (**(code **)(*plVar12 + 0x60))(plVar12,param_9[uVar15 + 2],0);
  }
  switch(cVar6) {
  case 'A':
    lVar2 = *(long *)(lVar11 + 0x10);
    local_98 = *(undefined8 *)(lVar2 + 0x58);
    local_90 = *(undefined8 *)(lVar2 + 0x60);
    local_88 = *(undefined8 *)(lVar2 + 0x68);
    local_80 = *(undefined8 *)(lVar2 + 0x70);
    local_78 = *(undefined8 *)(lVar2 + 0x78);
    local_70 = *(undefined8 *)(lVar2 + 0x80);
    local_68 = *(undefined8 *)(lVar2 + 0x88);
    auVar18 = FUN_00356440(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,
                           local_c0,&local_9c,&local_98,7,param_6,&local_a0);
    goto joined_r0x003588cd;
  case 'B':
    lVar2 = *(long *)(lVar11 + 0x10);
    local_98 = *(undefined8 *)(lVar2 + 200);
    local_90 = *(undefined8 *)(lVar2 + 0xd0);
    local_88 = *(undefined8 *)(lVar2 + 0xd8);
    local_80 = *(undefined8 *)(lVar2 + 0xe0);
    local_78 = *(undefined8 *)(lVar2 + 0xe8);
    local_70 = *(undefined8 *)(lVar2 + 0xf0);
    local_68 = *(undefined8 *)(lVar2 + 0xf8);
    local_60 = *(undefined8 *)(lVar2 + 0x100);
    local_58 = *(undefined8 *)(lVar2 + 0x108);
    local_50 = *(undefined8 *)(lVar2 + 0x110);
    local_48 = *(undefined8 *)(lVar2 + 0x118);
    local_40 = *(undefined8 *)(lVar2 + 0x120);
    auVar18 = FUN_00356440(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,
                           local_c0,&local_9c,&local_98,0xc,param_6,&local_a0);
    goto joined_r0x00358a12;
  case 'C':
  case 'Y':
  case 'y':
    auVar18 = FUN_00355fc0(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,
                           local_c0,&local_9c,0,9999,4,param_6,&local_a0);
    local_b8 = auVar18;
    if (local_a0 == 0) {
      iVar9 = local_9c + -0x76c;
      if (local_9c < 0) {
        iVar9 = local_9c + 100;
      }
      param_8[5] = iVar9;
    }
    break;
  case 'D':
    (**(code **)(*plVar12 + 0x58))(plVar12,"%m/%d/%y","%H:%M",&local_98);
    auVar18 = MASKED(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,
                           local_c0,param_6,&local_a0,param_8,&local_98);
    local_b8 = auVar18;
    break;
  default:
    goto switchD_003580fd_caseD_45;
  case 'H':
    auVar18 = FUN_00355fc0(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,
                           local_c0,&local_9c,0,0x17,2,param_6,&local_a0);
    goto joined_r0x003587d9;
  case 'I':
    auVar18 = FUN_00355fc0(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,
                           local_c0,&local_9c,1,0xc,2,param_6,&local_a0);
joined_r0x003587d9:
    local_b8 = auVar18;
    if (local_a0 == 0) {
      param_8[2] = local_9c;
    }
    break;
  case 'M':
    auVar18 = FUN_00355fc0(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,
                           local_c0,&local_9c,0,0x3b,2,param_6,&local_a0);
    local_b8 = auVar18;
    if (local_a0 == 0) {
      param_8[1] = local_9c;
    }
    break;
  case 'R':
    (**(code **)(*plVar12 + 0x58))(plVar12,"%H:%M","%H:%M:%S",&local_98);
    auVar18 = MASKED(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,
                           local_c0,param_6,&local_a0,param_8,&local_98);
    local_b8 = auVar18;
    break;
  case 'S':
    auVar18 = FUN_00355fc0(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,
                           local_c0,&local_9c,0,0x3c,2,param_6,&local_a0);
    local_b8 = auVar18;
    if (local_a0 == 0) {
      *param_8 = local_9c;
    }
    break;
  case 'T':
    (**(code **)(*plVar12 + 0x58))(plVar12,"%H:%M:%S",&DAT_003aba16,&local_98);
    auVar18 = MASKED(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,
                           local_c0,param_6,&local_a0,param_8,&local_98);
    local_b8 = auVar18;
    break;
  case 'X':
    auVar18 = MASKED(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,
                           local_c0,param_6,&local_a0,param_8,
                           *(undefined8 *)(*(long *)(lVar11 + 0x10) + 0x20));
    local_b8 = auVar18;
    break;
  case 'Z':
    uVar8 = FUN_0034def0(local_b8,local_b8._8_4_);
    cVar6 = (**(code **)(*plVar12 + 0x10))(plVar12,0x100,uVar8);
    if (cVar6 == '\0') goto switchD_003580fd_caseD_45;
    auVar18 = FUN_00356440(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,
                           local_c0,&local_98,PTR_PTR_DAT_0045bff0,0xe,param_6,&local_a0);
    local_b8 = auVar18;
    cVar6 = FUN_00343350(local_b8,&local_c8);
    if ((cVar6 == '\0') && (local_a0 == 0 && (int)local_98 == 0)) {
      iVar9 = FUN_0034def0(local_b8);
      iVar7 = (**(code **)(*plVar12 + 0x50))(plVar12,0x2d);
      if (iVar9 != iVar7) {
        iVar9 = FUN_0034def0(local_b8,local_b8._8_4_);
        iVar7 = (**(code **)(*plVar12 + 0x50))(plVar12,0x2b);
        if (iVar9 != iVar7) break;
      }
      auVar18 = FUN_00355fc0(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,
                             local_c0,&local_98,0,0x17,2,param_6,&local_a0);
      local_b8 = auVar18;
      auVar18 = FUN_00355fc0(param_1,auVar18._0_8_,CONCAT44(uStack_ac,auVar18._8_4_),local_c8,
                             local_c0,&local_98,0,0x3b,2,param_6,&local_a0);
      local_b8 = auVar18;
    }
    break;
  case 'a':
    lVar2 = *(long *)(lVar11 + 0x10);
    local_98 = *(undefined8 *)(lVar2 + 0x90);
    local_90 = *(undefined8 *)(lVar2 + 0x98);
    local_88 = *(undefined8 *)(lVar2 + 0xa0);
    local_80 = *(undefined8 *)(lVar2 + 0xa8);
    local_78 = *(undefined8 *)(lVar2 + 0xb0);
    local_70 = *(undefined8 *)(lVar2 + 0xb8);
    local_68 = *(undefined8 *)(lVar2 + 0xc0);
    auVar18 = FUN_00356440(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,
                           local_c0,&local_9c,&local_98,7,param_6,&local_a0);
joined_r0x003588cd:
    local_b8 = auVar18;
    if (local_a0 == 0) {
      param_8[6] = local_9c;
    }
    break;
  case 'b':
  case 'h':
    lVar2 = *(long *)(lVar11 + 0x10);
    local_98 = *(undefined8 *)(lVar2 + 0x128);
    local_90 = *(undefined8 *)(lVar2 + 0x130);
    local_88 = *(undefined8 *)(lVar2 + 0x138);
    local_80 = *(undefined8 *)(lVar2 + 0x140);
    local_78 = *(undefined8 *)(lVar2 + 0x148);
    local_70 = *(undefined8 *)(lVar2 + 0x150);
    local_68 = *(undefined8 *)(lVar2 + 0x158);
    local_60 = *(undefined8 *)(lVar2 + 0x160);
    local_58 = *(undefined8 *)(lVar2 + 0x168);
    local_50 = *(undefined8 *)(lVar2 + 0x170);
    local_48 = *(undefined8 *)(lVar2 + 0x178);
    local_40 = *(undefined8 *)(lVar2 + 0x180);
    auVar18 = FUN_00356440(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,
                           local_c0,&local_9c,&local_98,0xc,param_6,&local_a0);
joined_r0x00358a12:
    local_b8 = auVar18;
    if (local_a0 == 0) {
      param_8[4] = local_9c;
    }
    break;
  case 'c':
    auVar18 = MASKED(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,
                           local_c0,param_6,&local_a0,param_8,
                           *(undefined8 *)(*(long *)(lVar11 + 0x10) + 0x30));
    local_b8 = auVar18;
    break;
  case 'd':
    auVar18 = FUN_00355fc0(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,
                           local_c0,&local_9c,1,0x1f,2,param_6,&local_a0);
    goto joined_r0x00358be9;
  case 'e':
    uVar8 = FUN_0034def0(local_b8,local_b8._8_4_);
    cVar6 = (**(code **)(*plVar12 + 0x10))(plVar12,0x2000,uVar8);
    if (cVar6 == '\0') {
      auVar18 = FUN_00355fc0(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,
                             local_c0,&local_9c,10,0x1f,2,param_6,&local_a0);
    }
    else {
      FUN_002fc080(local_b8._0_8_);
      local_b8._8_4_ = 0xffffffff;
      auVar18 = FUN_00355fc0(param_1,local_b8._0_8_,CONCAT44(uStack_ac,0xffffffff),local_c8,local_c0
                             ,&local_9c,1,9,1,param_6,&local_a0);
    }
joined_r0x00358be9:
    local_b8 = auVar18;
    if (local_a0 == 0) {
      param_8[3] = local_9c;
    }
    break;
  case 'm':
    auVar18 = FUN_00355fc0(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,
                           local_c0,&local_9c,1,0xc,2,param_6,&local_a0);
    local_b8 = auVar18;
    if (local_a0 == 0) {
      param_8[4] = local_9c + -1;
    }
    break;
  case 'n':
    uVar8 = FUN_0034def0(local_b8,local_b8._8_4_);
    cVar6 = (**(code **)(*plVar12 + 0x60))(plVar12,uVar8,0);
    if (cVar6 != '\n') goto switchD_003580fd_caseD_45;
LAB_003590ce:
    FUN_002fc080(local_b8._0_8_);
    local_b8._8_4_ = 0xffffffff;
    break;
  case 't':
    uVar8 = FUN_0034def0(local_b8,local_b8._8_4_);
    cVar6 = (**(code **)(*plVar12 + 0x60))(plVar12,uVar8,0);
    if (cVar6 == '\t') goto LAB_003590ce;
    goto switchD_003580fd_caseD_45;
  case 'x':
    auVar18 = MASKED(param_1,local_b8._0_8_,CONCAT44(uStack_ac,local_b8._8_4_),local_c8,
                           local_c0,param_6,&local_a0,param_8,
                           *(undefined8 *)(*(long *)(lVar11 + 0x10) + 0x10));
    local_b8 = auVar18;
  }
LAB_00358248:
  uVar15 = uVar14 + 1;
  goto LAB_00358033;
switchD_003580fd_caseD_45:
  local_a0 = local_a0 | 4;
  goto LAB_00358248;
}

