
void d_print_mod_list(int param_1)

{
  char *pcVar1;
  char cVar2;
  undefined4 uVar3;
  int *piVar4;
  undefined4 uVar5;
  int iVar6;
  int iVar7;
  uint uVar8;
  size_t sVar9;
  int *extraout_ECX;
  code cVar10;
  int iVar11;
  undefined1 uVar12;
  code *pcVar13;
  undefined1 *puVar14;
  char *__s;
  int unaff_EDI;
  ulonglong uVar15;
  uint *local_44;
  char local_35 [37];
  
  uVar15 = __x86_get_pc_thunk_di();
  iVar6 = (int)uVar15;
  if (extraout_ECX != (int *)0x0) {
    iVar7 = *(int *)(iVar6 + 0x118);
    piVar4 = extraout_ECX;
    while (iVar7 == 0) {
      if (piVar4[2] == 0) {
        uVar8 = *(uint *)piVar4[1];
        if (param_1 != 0) goto LAB_00212668;
        if (uVar8 != 0x4c) {
          if (uVar8 < 0x4d) {
            if (4 < uVar8 - 0x1c) goto LAB_00212668;
          }
          else if (1 < uVar8 - 0x4e) {
LAB_00212668:
            uVar3 = *(undefined4 *)(iVar6 + 0x110);
            piVar4[2] = 1;
            *(int *)(iVar6 + 0x110) = piVar4[3];
            if (uVar8 == 0x29) {
              d_print_function_type_isra_14(*piVar4);
              *(undefined4 *)(iVar6 + 0x110) = uVar3;
              return;
            }
            if (uVar8 == 0x2a) {
              d_print_array_type_isra_13(*piVar4);
              *(undefined4 *)(iVar6 + 0x110) = uVar3;
              return;
            }
            if (uVar8 == 2) {
              uVar5 = *(undefined4 *)(iVar6 + 0x114);
              *(undefined4 *)(iVar6 + 0x114) = 0;
              d_print_comp();
              *(undefined4 *)(iVar6 + 0x114) = uVar5;
              iVar7 = *(int *)(iVar6 + 0x100);
              if ((uVar15 & 0x400000000) == 0) {
                puVar14 = (undefined1 *)(unaff_EDI + 0x264d2);
                uVar12 = 0x3a;
                while( true ) {
                  if (iVar7 == 0xff) {
                    *(undefined1 *)(iVar6 + 0xff) = 0;
                    (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));
                    *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;
                    iVar11 = 1;
                    iVar7 = 0;
                  }
                  else {
                    iVar11 = iVar7 + 1;
                  }
                  puVar14 = puVar14 + 1;
                  *(int *)(iVar6 + 0x100) = iVar11;
                  *(undefined1 *)(iVar6 + iVar7) = uVar12;
                  *(undefined1 *)(iVar6 + 0x104) = uVar12;
                  if (puVar14 == (undefined1 *)(unaff_EDI + 0x264d4)) break;
                  uVar12 = *puVar14;
                  iVar7 = iVar11;
                }
              }
              else {
                iVar11 = iVar7 + 1;
                if (iVar7 == 0xff) {
                  *(undefined1 *)(iVar6 + 0xff) = 0;
                  (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));
                  *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;
                  iVar11 = 1;
                  iVar7 = 0;
                }
                *(int *)(iVar6 + 0x100) = iVar11;
                *(undefined1 *)(iVar6 + iVar7) = 0x2e;
                *(undefined1 *)(iVar6 + 0x104) = 0x2e;
              }
              local_44 = *(uint **)(piVar4[1] + 0xc);
              uVar8 = *local_44;
              if (uVar8 == 0x46) {
                cVar10 = (code)0x7b;
                pcVar13 = ioctl + unaff_EDI + 4;
                iVar7 = *(int *)(iVar6 + 0x100);
                while( true ) {
                  if (iVar7 == 0xff) {
                    *(undefined1 *)(iVar6 + 0xff) = 0;
                    (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));
                    *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;
                    iVar11 = 1;
                    iVar7 = 0;
                  }
                  else {
                    iVar11 = iVar7 + 1;
                  }
                  *(int *)(iVar6 + 0x100) = iVar11;
                  *(code *)(iVar6 + iVar7) = cVar10;
                  *(code *)(iVar6 + 0x104) = cVar10;
                  if (pcVar13 == wcrtomb + unaff_EDI) break;
                  cVar10 = *pcVar13;
                  pcVar13 = pcVar13 + 1;
                  iVar7 = iVar11;
                }
                __s = local_35;
                sprintf(__s,(char *)((int)&__DT_REL[0x263a].r_offset + unaff_EDI + 2),
                        local_44[3] + 1);
                sVar9 = strlen(__s);
                iVar7 = *(int *)(iVar6 + 0x100);
                if (sVar9 != 0) {
                  pcVar1 = __s + sVar9;
                  iVar11 = iVar7;
                  do {
                    cVar2 = *__s;
                    if (iVar11 == 0xff) {
                      *(undefined1 *)(iVar6 + 0xff) = 0;
                      (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));
                      *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;
                      iVar7 = 1;
                      iVar11 = 0;
                    }
                    else {
                      iVar7 = iVar11 + 1;
                    }
                    __s = __s + 1;
                    *(int *)(iVar6 + 0x100) = iVar7;
                    *(char *)(iVar6 + iVar11) = cVar2;
                    *(char *)(iVar6 + 0x104) = cVar2;
                    iVar11 = iVar7;
                  } while (pcVar1 != __s);
                }
                puVar14 = (undefined1 *)(unaff_EDI + 0x264d1);
                uVar12 = 0x7d;
                do {
                  if (iVar7 == 0xff) {
                    *(undefined1 *)(iVar6 + 0xff) = 0;
                    (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));
                    *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;
                    iVar11 = 1;
                    iVar7 = 0;
                  }
                  else {
                    iVar11 = iVar7 + 1;
                  }
                  puVar14 = puVar14 + 1;
                  *(int *)(iVar6 + 0x100) = iVar11;
                  *(undefined1 *)(iVar6 + iVar7) = uVar12;
                  *(undefined1 *)(iVar6 + 0x104) = uVar12;
                  if ((undefined1 *)(unaff_EDI + 0x264d4) == puVar14) goto LAB_002127e9;
                  uVar12 = *puVar14;
                  iVar7 = iVar11;
                } while( true );
              }
              do {
                if (uVar8 != 0x4c) {
                  if (uVar8 < 0x4d) {
                    if (4 < uVar8 - 0x1c) {
LAB_0021277d:
                      d_print_comp();
                      *(undefined4 *)(iVar6 + 0x110) = uVar3;
                      return;
                    }
                  }
                  else if (1 < uVar8 - 0x4e) goto LAB_0021277d;
                }
LAB_002127e9:
                local_44 = (uint *)local_44[2];
                uVar8 = *local_44;
              } while( true );
            }
            d_print_mod();
            *(undefined4 *)(iVar6 + 0x110) = uVar3;
          }
        }
      }
      piVar4 = (int *)*piVar4;
      if (piVar4 == (int *)0x0) {
        return;
      }
      iVar7 = *(int *)(iVar6 + 0x118);
    }
  }
  return;
}



void FUN_00212620(int param_1)

{
  char *pcVar1;
  char cVar2;
  undefined4 uVar3;
  int *piVar4;
  undefined4 uVar5;
  int iVar6;
  int iVar7;
  uint uVar8;
  size_t sVar9;
  int *extraout_ECX;
  code cVar10;
  int iVar11;
  undefined1 uVar12;
  code *pcVar13;
  undefined1 *puVar14;
  char *__s;
  int unaff_EDI;
  ulonglong uVar15;
  uint *local_44;
  char local_35 [37];
  
  uVar15 = FUN_0004fb7e();
  iVar6 = (int)uVar15;
  if (extraout_ECX != (int *)0x0) {
    iVar7 = *(int *)(iVar6 + 0x118);
    piVar4 = extraout_ECX;
    while (iVar7 == 0) {
      if (piVar4[2] == 0) {
        uVar8 = *(uint *)piVar4[1];
        if (param_1 != 0) goto LAB_00212668;
        if (uVar8 != 0x4c) {
          if (uVar8 < 0x4d) {
            if (4 < uVar8 - 0x1c) goto LAB_00212668;
          }
          else if (1 < uVar8 - 0x4e) {
LAB_00212668:
            uVar3 = *(undefined4 *)(iVar6 + 0x110);
            piVar4[2] = 1;
            *(int *)(iVar6 + 0x110) = piVar4[3];
            if (uVar8 == 0x29) {
              FUN_00212300(*piVar4);
              *(undefined4 *)(iVar6 + 0x110) = uVar3;
              return;
            }
            if (uVar8 == 0x2a) {
              FUN_00212a20(*piVar4);
              *(undefined4 *)(iVar6 + 0x110) = uVar3;
              return;
            }
            if (uVar8 == 2) {
              uVar5 = *(undefined4 *)(iVar6 + 0x114);
              *(undefined4 *)(iVar6 + 0x114) = 0;
              FUN_0020ca20();
              *(undefined4 *)(iVar6 + 0x114) = uVar5;
              iVar7 = *(int *)(iVar6 + 0x100);
              if ((uVar15 & 0x400000000) == 0) {
                puVar14 = (undefined1 *)(unaff_EDI + 0x264d2);
                uVar12 = 0x3a;
                while( true ) {
                  if (iVar7 == 0xff) {
                    *(undefined1 *)(iVar6 + 0xff) = 0;
                    (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));
                    *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;
                    iVar11 = 1;
                    iVar7 = 0;
                  }
                  else {
                    iVar11 = iVar7 + 1;
                  }
                  puVar14 = puVar14 + 1;
                  *(int *)(iVar6 + 0x100) = iVar11;
                  *(undefined1 *)(iVar6 + iVar7) = uVar12;
                  *(undefined1 *)(iVar6 + 0x104) = uVar12;
                  if (puVar14 == (undefined1 *)(unaff_EDI + 0x264d4)) break;
                  uVar12 = *puVar14;
                  iVar7 = iVar11;
                }
              }
              else {
                iVar11 = iVar7 + 1;
                if (iVar7 == 0xff) {
                  *(undefined1 *)(iVar6 + 0xff) = 0;
                  (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));
                  *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;
                  iVar11 = 1;
                  iVar7 = 0;
                }
                *(int *)(iVar6 + 0x100) = iVar11;
                *(undefined1 *)(iVar6 + iVar7) = 0x2e;
                *(undefined1 *)(iVar6 + 0x104) = 0x2e;
              }
              local_44 = *(uint **)(piVar4[1] + 0xc);
              uVar8 = *local_44;
              if (uVar8 == 0x46) {
                cVar10 = (code)0x7b;
                pcVar13 = ioctl + unaff_EDI + 4;
                iVar7 = *(int *)(iVar6 + 0x100);
                while( true ) {
                  if (iVar7 == 0xff) {
                    *(undefined1 *)(iVar6 + 0xff) = 0;
                    (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));
                    *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;
                    iVar11 = 1;
                    iVar7 = 0;
                  }
                  else {
                    iVar11 = iVar7 + 1;
                  }
                  *(int *)(iVar6 + 0x100) = iVar11;
                  *(code *)(iVar6 + iVar7) = cVar10;
                  *(code *)(iVar6 + 0x104) = cVar10;
                  if (pcVar13 == wcrtomb + unaff_EDI) break;
                  cVar10 = *pcVar13;
                  pcVar13 = pcVar13 + 1;
                  iVar7 = iVar11;
                }
                __s = local_35;
                sprintf(__s,(char *)((int)&__DT_REL[0x263a].r_offset + unaff_EDI + 2),
                        local_44[3] + 1);
                sVar9 = strlen(__s);
                iVar7 = *(int *)(iVar6 + 0x100);
                if (sVar9 != 0) {
                  pcVar1 = __s + sVar9;
                  iVar11 = iVar7;
                  do {
                    cVar2 = *__s;
                    if (iVar11 == 0xff) {
                      *(undefined1 *)(iVar6 + 0xff) = 0;
                      (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));
                      *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;
                      iVar7 = 1;
                      iVar11 = 0;
                    }
                    else {
                      iVar7 = iVar11 + 1;
                    }
                    __s = __s + 1;
                    *(int *)(iVar6 + 0x100) = iVar7;
                    *(char *)(iVar6 + iVar11) = cVar2;
                    *(char *)(iVar6 + 0x104) = cVar2;
                    iVar11 = iVar7;
                  } while (pcVar1 != __s);
                }
                puVar14 = (undefined1 *)(unaff_EDI + 0x264d1);
                uVar12 = 0x7d;
                do {
                  if (iVar7 == 0xff) {
                    *(undefined1 *)(iVar6 + 0xff) = 0;
                    (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));
                    *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;
                    iVar11 = 1;
                    iVar7 = 0;
                  }
                  else {
                    iVar11 = iVar7 + 1;
                  }
                  puVar14 = puVar14 + 1;
                  *(int *)(iVar6 + 0x100) = iVar11;
                  *(undefined1 *)(iVar6 + iVar7) = uVar12;
                  *(undefined1 *)(iVar6 + 0x104) = uVar12;
                  if ((undefined1 *)(unaff_EDI + 0x264d4) == puVar14) goto LAB_002127e9;
                  uVar12 = *puVar14;
                  iVar7 = iVar11;
                } while( true );
              }
              do {
                if (uVar8 != 0x4c) {
                  if (uVar8 < 0x4d) {
                    if (4 < uVar8 - 0x1c) {
LAB_0021277d:
                      FUN_0020ca20();
                      *(undefined4 *)(iVar6 + 0x110) = uVar3;
                      return;
                    }
                  }
                  else if (1 < uVar8 - 0x4e) goto LAB_0021277d;
                }
LAB_002127e9:
                local_44 = (uint *)local_44[2];
                uVar8 = *local_44;
              } while( true );
            }
            FUN_00211980();
            *(undefined4 *)(iVar6 + 0x110) = uVar3;
          }
        }
      }
      piVar4 = (int *)*piVar4;
      if (piVar4 == (int *)0x0) {
        return;
      }
      iVar7 = *(int *)(iVar6 + 0x118);
    }
  }
  return;
}


PUSH EBP
PUSH EDI
CALL 0x0004fb7e
ADD EDI,0xef9d9
PUSH ESI
PUSH EBX
SUB ESP,0x3c
MOV dword ptr [ESP],EDX
MOV EBP,dword ptr [ESP + 0x50]
MOV dword ptr [ESP + 0x4],EDI
TEST ECX,ECX
JZ 0x00212791
MOV EBX,ECX
MOV ECX,dword ptr [EAX + 0x118]
MOV ESI,EAX
TEST ECX,ECX
JZ 0x002126bd
JMP 0x00212791
LEA EDX,[EAX + -0x1c]
CMP EDX,0x4
JBE 0x002126a5
MOV EDX,dword ptr [EBX + 0xc]
MOV EDI,dword ptr [ESI + 0x110]
MOV dword ptr [EBX + 0x8],0x1
MOV dword ptr [ESI + 0x110],EDX
CMP EAX,0x29
JZ 0x00212799
CMP EAX,0x2a
JZ 0x002127bd
CMP EAX,0x2
JZ 0x002126de
MOV EDX,dword ptr [ESP]
MOV EAX,ESI
CALL 0x00211980
MOV dword ptr [ESI + 0x110],EDI
MOV EBX,dword ptr [EBX]
TEST EBX,EBX
JZ 0x00212791
MOV EDX,dword ptr [ESI + 0x118]
TEST EDX,EDX
JNZ 0x00212791
MOV EAX,dword ptr [EBX + 0x8]
TEST EAX,EAX
JNZ 0x002126a5
MOV ECX,dword ptr [EBX + 0x4]
MOV EAX,dword ptr [ECX]
TEST EBP,EBP
JNZ 0x00212668
CMP EAX,0x4c
JZ 0x002126a5
JBE 0x00212660
LEA EDX,[EAX + -0x4e]
CMP EDX,0x1
JA 0x00212668
JMP 0x002126a5
MOV EBP,dword ptr [ESI + 0x114]
MOV ECX,dword ptr [ECX + 0x8]
MOV EAX,ESI
MOV dword ptr [ESI + 0x114],0x0
MOV EDX,dword ptr [ESP]
CALL 0x0020ca20
MOV dword ptr [ESI + 0x114],EBP
MOV EAX,dword ptr [ESI + 0x100]
TEST byte ptr [ESP],0x4
JZ 0x002127fb
LEA EDX,[EAX + 0x1]
CMP EAX,0xff
JNZ 0x00212748
SUB ESP,0x4
MOV byte ptr [ESI + 0xff],0x0
PUSH dword ptr [ESI + 0x10c]
PUSH 0xff
PUSH ESI
CALL dword ptr [ESI + 0x108]
ADD dword ptr [ESI + 0x128],0x1
MOV EDX,0x1
XOR EAX,EAX
ADD ESP,0x10
MOV dword ptr [ESI + 0x100],EDX
MOV byte ptr [ESI + EAX*0x1],0x2e
MOV byte ptr [ESI + 0x104],0x2e
MOV EAX,dword ptr [EBX + 0x4]
MOV EAX,dword ptr [EAX + 0xc]
MOV dword ptr [ESP + 0x8],EAX
MOV EAX,dword ptr [EAX]
CMP EAX,0x46
JZ 0x00212882
CMP EAX,0x4c
JZ 0x002127e9
JA 0x002127e1
SUB EAX,0x1c
CMP EAX,0x4
JBE 0x002127e9
MOV ECX,dword ptr [ESP + 0x8]
MOV EDX,dword ptr [ESP]
MOV EAX,ESI
CALL 0x0020ca20
MOV dword ptr [ESI + 0x110],EDI
ADD ESP,0x3c
POP EBX
POP ESI
POP EDI
POP EBP
RET
SUB ESP,0xc
PUSH dword ptr [EBX]
MOV EAX,ESI
ADD ECX,0xc
MOV EDX,dword ptr [ESP + 0x10]
CALL 0x00212300
ADD ESP,0x10
MOV dword ptr [ESI + 0x110],EDI
ADD ESP,0x3c
POP EBX
POP ESI
POP EDI
POP EBP
RET
SUB ESP,0xc
PUSH dword ptr [EBX]
MOV EAX,ESI
ADD ECX,0x8
MOV EDX,dword ptr [ESP + 0x10]
CALL 0x00212a20
ADD ESP,0x10
MOV dword ptr [ESI + 0x110],EDI
ADD ESP,0x3c
POP EBX
POP ESI
POP EDI
POP EBP
RET
SUB EAX,0x4e
CMP EAX,0x1
JA 0x0021277d
MOV EAX,dword ptr [ESP + 0x8]
MOV EAX,dword ptr [EAX + 0x8]
MOV dword ptr [ESP + 0x8],EAX
MOV EAX,dword ptr [EAX]
JMP 0x0021276e
MOV ECX,dword ptr [ESP + 0x4]
MOV dword ptr [ESP + 0x8],EDI
MOV dword ptr [ESP + 0xc],EBX
LEA EBP,[ECX + 0xfff36af9]
MOV ECX,0x3a
LEA EDX,[EBP + 0x2]
MOV EBX,ECX
MOV EDI,EDX
JMP 0x0021283f
MOV EDX,EAX
ADD EAX,0x1
ADD EBP,0x1
MOV dword ptr [ESI + 0x100],EAX
MOV byte ptr [ESI + EDX*0x1],BL
MOV byte ptr [ESI + 0x104],BL
CMP EBP,EDI
JZ 0x00212875
MOVZX EBX,byte ptr [EBP]
CMP EAX,0xff
JNZ 0x00212820
SUB ESP,0x4
MOV byte ptr [ESI + 0xff],0x0
PUSH dword ptr [ESI + 0x10c]
PUSH 0xff
PUSH ESI
CALL dword ptr [ESI + 0x108]
ADD dword ptr [ESI + 0x128],0x1
MOV EAX,0x1
XOR EDX,EDX
ADD ESP,0x10
JMP 0x00212825
MOV EDI,dword ptr [ESP + 0x8]
MOV EBX,dword ptr [ESP + 0xc]
JMP 0x00212759
MOV ECX,dword ptr [ESP + 0x4]
MOV EAX,dword ptr [ESI + 0x100]
MOV EDX,0x7b
LEA EBX,[ECX + 0xfff36aeb]
LEA EBP,[ECX + 0xfff36af7]
JMP 0x002128bd
MOV ECX,EAX
ADD EAX,0x1
MOV dword ptr [ESI + 0x100],EAX
MOV byte ptr [ESI + ECX*0x1],DL
MOV byte ptr [ESI + 0x104],DL
CMP EBX,EBP
JZ 0x002128fc
MOVZX EDX,byte ptr [EBX]
ADD EBX,0x1
CMP EAX,0xff
JNZ 0x0021289f
MOV byte ptr [ESP + 0xc],DL
SUB ESP,0x4
MOV byte ptr [ESI + 0xff],0x0
PUSH dword ptr [ESI + 0x10c]
PUSH 0xff
PUSH ESI
CALL dword ptr [ESI + 0x108]
ADD dword ptr [ESI + 0x128],0x1
MOV EAX,0x1
XOR ECX,ECX
MOVZX EDX,byte ptr [ESP + 0x1c]
ADD ESP,0x10
JMP 0x002128a4
SUB ESP,0x4
MOV EAX,dword ptr [ESP + 0xc]
MOV EAX,dword ptr [EAX + 0xc]
MOV dword ptr [ESP + 0x10],EAX
ADD EAX,0x1
PUSH EAX
MOV ECX,dword ptr [ESP + 0xc]
LEA EAX,[ECX + 0xfff3507d]
MOV EBX,ECX
PUSH EAX
LEA EBP,[ESP + 0x23]
PUSH EBP
MOV dword ptr [ESP + 0x14],ECX
CALL 0x000260c0
MOV EBX,dword ptr [ESP + 0x14]
MOV dword ptr [ESP],EBP
CALL 0x000265f0
ADD ESP,0x10
MOV EDX,dword ptr [ESI + 0x100]
TEST EAX,EAX
JZ 0x002129a8
LEA ECX,[EBP + EAX*0x1]
MOV dword ptr [ESP + 0xc],EDI
MOV EDI,ECX
JMP 0x00212969
MOV EAX,EDX
ADD EDX,0x1
ADD EBP,0x1
MOV dword ptr [ESI + 0x100],EDX
MOV byte ptr [ESI + EAX*0x1],BL
MOV byte ptr [ESI + 0x104],BL
CMP EDI,EBP
JZ 0x002129a4
MOVZX EBX,byte ptr [EBP]
CMP EDX,0xff
JNZ 0x0021294e
SUB ESP,0x4
MOV byte ptr [ESI + 0xff],0x0
PUSH dword ptr [ESI + 0x10c]
PUSH 0xff
PUSH ESI
CALL dword ptr [ESI + 0x108]
ADD dword ptr [ESI + 0x128],0x1
MOV EDX,0x1
XOR EAX,EAX
ADD ESP,0x10
JMP 0x00212953
MOV EDI,dword ptr [ESP + 0xc]
MOV EAX,dword ptr [ESP + 0x4]
LEA EBX,[EAX + 0xfff36af8]
MOV EAX,0x7d
LEA EBP,[EBX + 0x3]
JMP 0x002129de
MOV ECX,EDX
ADD EDX,0x1
ADD EBX,0x1
MOV dword ptr [ESI + 0x100],EDX
MOV byte ptr [ESI + ECX*0x1],AL
MOV byte ptr [ESI + 0x104],AL
CMP EBP,EBX
JZ 0x002127e9
MOVZX EAX,byte ptr [EBX]
CMP EDX,0xff
JNZ 0x002129bc
MOV byte ptr [ESP + 0x4],AL
SUB ESP,0x4
MOV byte ptr [ESI + 0xff],0x0
PUSH dword ptr [ESI + 0x10c]
PUSH 0xff
PUSH ESI
CALL dword ptr [ESI + 0x108]
ADD dword ptr [ESI + 0x128],0x1
MOV EDX,0x1
XOR ECX,ECX
MOVZX EAX,byte ptr [ESP + 0x14]
ADD ESP,0x10
JMP 0x002129c1
(translation_unit "void FUN_00212620(int param_1)\n\n{\n  char *pcVar1;\n  char cVar2;\n  undefined4 uVar3;\n  int *piVar4;\n  undefined4 uVar5;\n  int iVar6;\n  int iVar7;\n  uint uVar8;\n  size_t sVar9;\n  int *extraout_ECX;\n  code cVar10;\n  int iVar11;\n  undefined1 uVar12;\n  code *pcVar13;\n  undefined1 *puVar14;\n  char *__s;\n  int unaff_EDI;\n  ulonglong uVar15;\n  uint *local_44;\n  char local_35 [37];\n  \n  uVar15 = FUN_0004fb7e();\n  iVar6 = (int)uVar15;\n  if (extraout_ECX != (int *)0x0) {\n    iVar7 = *(int *)(iVar6 + 0x118);\n    piVar4 = extraout_ECX;\n    while (iVar7 == 0) {\n      if (piVar4[2] == 0) {\n        uVar8 = *(uint *)piVar4[1];\n        if (param_1 != 0) goto LAB_00212668;\n        if (uVar8 != 0x4c) {\n          if (uVar8 < 0x4d) {\n            if (4 < uVar8 - 0x1c) goto LAB_00212668;\n          }\n          else if (1 < uVar8 - 0x4e) {\nLAB_00212668:\n            uVar3 = *(undefined4 *)(iVar6 + 0x110);\n            piVar4[2] = 1;\n            *(int *)(iVar6 + 0x110) = piVar4[3];\n            if (uVar8 == 0x29) {\n              FUN_00212300(*piVar4);\n              *(undefined4 *)(iVar6 + 0x110) = uVar3;\n              return;\n            }\n            if (uVar8 == 0x2a) {\n              FUN_00212a20(*piVar4);\n              *(undefined4 *)(iVar6 + 0x110) = uVar3;\n              return;\n            }\n            if (uVar8 == 2) {\n              uVar5 = *(undefined4 *)(iVar6 + 0x114);\n              *(undefined4 *)(iVar6 + 0x114) = 0;\n              FUN_0020ca20();\n              *(undefined4 *)(iVar6 + 0x114) = uVar5;\n              iVar7 = *(int *)(iVar6 + 0x100);\n              if ((uVar15 & 0x400000000) == 0) {\n                puVar14 = (undefined1 *)(unaff_EDI + 0x264d2);\n                uVar12 = 0x3a;\n                while( true ) {\n                  if (iVar7 == 0xff) {\n                    *(undefined1 *)(iVar6 + 0xff) = 0;\n                    (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                    *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                    iVar11 = 1;\n                    iVar7 = 0;\n                  }\n                  else {\n                    iVar11 = iVar7 + 1;\n                  }\n                  puVar14 = puVar14 + 1;\n                  *(int *)(iVar6 + 0x100) = iVar11;\n                  *(undefined1 *)(iVar6 + iVar7) = uVar12;\n                  *(undefined1 *)(iVar6 + 0x104) = uVar12;\n                  if (puVar14 == (undefined1 *)(unaff_EDI + 0x264d4)) break;\n                  uVar12 = *puVar14;\n                  iVar7 = iVar11;\n                }\n              }\n              else {\n                iVar11 = iVar7 + 1;\n                if (iVar7 == 0xff) {\n                  *(undefined1 *)(iVar6 + 0xff) = 0;\n                  (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                  *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                  iVar11 = 1;\n                  iVar7 = 0;\n                }\n                *(int *)(iVar6 + 0x100) = iVar11;\n                *(undefined1 *)(iVar6 + iVar7) = 0x2e;\n                *(undefined1 *)(iVar6 + 0x104) = 0x2e;\n              }\n              local_44 = *(uint **)(piVar4[1] + 0xc);\n              uVar8 = *local_44;\n              if (uVar8 == 0x46) {\n                cVar10 = (code)0x7b;\n                pcVar13 = ioctl + unaff_EDI + 4;\n                iVar7 = *(int *)(iVar6 + 0x100);\n                while( true ) {\n                  if (iVar7 == 0xff) {\n                    *(undefined1 *)(iVar6 + 0xff) = 0;\n                    (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                    *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                    iVar11 = 1;\n                    iVar7 = 0;\n                  }\n                  else {\n                    iVar11 = iVar7 + 1;\n                  }\n                  *(int *)(iVar6 + 0x100) = iVar11;\n                  *(code *)(iVar6 + iVar7) = cVar10;\n                  *(code *)(iVar6 + 0x104) = cVar10;\n                  if (pcVar13 == wcrtomb + unaff_EDI) break;\n                  cVar10 = *pcVar13;\n                  pcVar13 = pcVar13 + 1;\n                  iVar7 = iVar11;\n                }\n                __s = local_35;\n                sprintf(__s,(char *)((int)&__DT_REL[0x263a].r_offset + unaff_EDI + 2),\n                        local_44[3] + 1);\n                sVar9 = strlen(__s);\n                iVar7 = *(int *)(iVar6 + 0x100);\n                if (sVar9 != 0) {\n                  pcVar1 = __s + sVar9;\n                  iVar11 = iVar7;\n                  do {\n                    cVar2 = *__s;\n                    if (iVar11 == 0xff) {\n                      *(undefined1 *)(iVar6 + 0xff) = 0;\n                      (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                      *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                      iVar7 = 1;\n                      iVar11 = 0;\n                    }\n                    else {\n                      iVar7 = iVar11 + 1;\n                    }\n                    __s = __s + 1;\n                    *(int *)(iVar6 + 0x100) = iVar7;\n                    *(char *)(iVar6 + iVar11) = cVar2;\n                    *(char *)(iVar6 + 0x104) = cVar2;\n                    iVar11 = iVar7;\n                  } while (pcVar1 != __s);\n                }\n                puVar14 = (undefined1 *)(unaff_EDI + 0x264d1);\n                uVar12 = 0x7d;\n                do {\n                  if (iVar7 == 0xff) {\n                    *(undefined1 *)(iVar6 + 0xff) = 0;\n                    (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                    *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                    iVar11 = 1;\n                    iVar7 = 0;\n                  }\n                  else {\n                    iVar11 = iVar7 + 1;\n                  }\n                  puVar14 = puVar14 + 1;\n                  *(int *)(iVar6 + 0x100) = iVar11;\n                  *(undefined1 *)(iVar6 + iVar7) = uVar12;\n                  *(undefined1 *)(iVar6 + 0x104) = uVar12;\n                  if ((undefined1 *)(unaff_EDI + 0x264d4) == puVar14) goto LAB_002127e9;\n                  uVar12 = *puVar14;\n                  iVar7 = iVar11;\n                } while( true );\n              }\n              do {\n                if (uVar8 != 0x4c) {\n                  if (uVar8 < 0x4d) {\n                    if (4 < uVar8 - 0x1c) {\nLAB_0021277d:\n                      FUN_0020ca20();\n                      *(undefined4 *)(iVar6 + 0x110) = uVar3;\n                      return;\n                    }\n                  }\n                  else if (1 < uVar8 - 0x4e) goto LAB_0021277d;\n                }\nLAB_002127e9:\n                local_44 = (uint *)local_44[2];\n                uVar8 = *local_44;\n              } while( true );\n            }\n            FUN_00211980();\n            *(undefined4 *)(iVar6 + 0x110) = uVar3;\n          }\n        }\n      }\n      piVar4 = (int *)*piVar4;\n      if (piVar4 == (int *)0x0) {\n        return;\n      }\n      iVar7 = *(int *)(iVar6 + 0x118);\n    }\n  }\n  return;\n}\n\n" (function_definition "void FUN_00212620(int param_1)\n\n{\n  char *pcVar1;\n  char cVar2;\n  undefined4 uVar3;\n  int *piVar4;\n  undefined4 uVar5;\n  int iVar6;\n  int iVar7;\n  uint uVar8;\n  size_t sVar9;\n  int *extraout_ECX;\n  code cVar10;\n  int iVar11;\n  undefined1 uVar12;\n  code *pcVar13;\n  undefined1 *puVar14;\n  char *__s;\n  int unaff_EDI;\n  ulonglong uVar15;\n  uint *local_44;\n  char local_35 [37];\n  \n  uVar15 = FUN_0004fb7e();\n  iVar6 = (int)uVar15;\n  if (extraout_ECX != (int *)0x0) {\n    iVar7 = *(int *)(iVar6 + 0x118);\n    piVar4 = extraout_ECX;\n    while (iVar7 == 0) {\n      if (piVar4[2] == 0) {\n        uVar8 = *(uint *)piVar4[1];\n        if (param_1 != 0) goto LAB_00212668;\n        if (uVar8 != 0x4c) {\n          if (uVar8 < 0x4d) {\n            if (4 < uVar8 - 0x1c) goto LAB_00212668;\n          }\n          else if (1 < uVar8 - 0x4e) {\nLAB_00212668:\n            uVar3 = *(undefined4 *)(iVar6 + 0x110);\n            piVar4[2] = 1;\n            *(int *)(iVar6 + 0x110) = piVar4[3];\n            if (uVar8 == 0x29) {\n              FUN_00212300(*piVar4);\n              *(undefined4 *)(iVar6 + 0x110) = uVar3;\n              return;\n            }\n            if (uVar8 == 0x2a) {\n              FUN_00212a20(*piVar4);\n              *(undefined4 *)(iVar6 + 0x110) = uVar3;\n              return;\n            }\n            if (uVar8 == 2) {\n              uVar5 = *(undefined4 *)(iVar6 + 0x114);\n              *(undefined4 *)(iVar6 + 0x114) = 0;\n              FUN_0020ca20();\n              *(undefined4 *)(iVar6 + 0x114) = uVar5;\n              iVar7 = *(int *)(iVar6 + 0x100);\n              if ((uVar15 & 0x400000000) == 0) {\n                puVar14 = (undefined1 *)(unaff_EDI + 0x264d2);\n                uVar12 = 0x3a;\n                while( true ) {\n                  if (iVar7 == 0xff) {\n                    *(undefined1 *)(iVar6 + 0xff) = 0;\n                    (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                    *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                    iVar11 = 1;\n                    iVar7 = 0;\n                  }\n                  else {\n                    iVar11 = iVar7 + 1;\n                  }\n                  puVar14 = puVar14 + 1;\n                  *(int *)(iVar6 + 0x100) = iVar11;\n                  *(undefined1 *)(iVar6 + iVar7) = uVar12;\n                  *(undefined1 *)(iVar6 + 0x104) = uVar12;\n                  if (puVar14 == (undefined1 *)(unaff_EDI + 0x264d4)) break;\n                  uVar12 = *puVar14;\n                  iVar7 = iVar11;\n                }\n              }\n              else {\n                iVar11 = iVar7 + 1;\n                if (iVar7 == 0xff) {\n                  *(undefined1 *)(iVar6 + 0xff) = 0;\n                  (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                  *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                  iVar11 = 1;\n                  iVar7 = 0;\n                }\n                *(int *)(iVar6 + 0x100) = iVar11;\n                *(undefined1 *)(iVar6 + iVar7) = 0x2e;\n                *(undefined1 *)(iVar6 + 0x104) = 0x2e;\n              }\n              local_44 = *(uint **)(piVar4[1] + 0xc);\n              uVar8 = *local_44;\n              if (uVar8 == 0x46) {\n                cVar10 = (code)0x7b;\n                pcVar13 = ioctl + unaff_EDI + 4;\n                iVar7 = *(int *)(iVar6 + 0x100);\n                while( true ) {\n                  if (iVar7 == 0xff) {\n                    *(undefined1 *)(iVar6 + 0xff) = 0;\n                    (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                    *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                    iVar11 = 1;\n                    iVar7 = 0;\n                  }\n                  else {\n                    iVar11 = iVar7 + 1;\n                  }\n                  *(int *)(iVar6 + 0x100) = iVar11;\n                  *(code *)(iVar6 + iVar7) = cVar10;\n                  *(code *)(iVar6 + 0x104) = cVar10;\n                  if (pcVar13 == wcrtomb + unaff_EDI) break;\n                  cVar10 = *pcVar13;\n                  pcVar13 = pcVar13 + 1;\n                  iVar7 = iVar11;\n                }\n                __s = local_35;\n                sprintf(__s,(char *)((int)&__DT_REL[0x263a].r_offset + unaff_EDI + 2),\n                        local_44[3] + 1);\n                sVar9 = strlen(__s);\n                iVar7 = *(int *)(iVar6 + 0x100);\n                if (sVar9 != 0) {\n                  pcVar1 = __s + sVar9;\n                  iVar11 = iVar7;\n                  do {\n                    cVar2 = *__s;\n                    if (iVar11 == 0xff) {\n                      *(undefined1 *)(iVar6 + 0xff) = 0;\n                      (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                      *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                      iVar7 = 1;\n                      iVar11 = 0;\n                    }\n                    else {\n                      iVar7 = iVar11 + 1;\n                    }\n                    __s = __s + 1;\n                    *(int *)(iVar6 + 0x100) = iVar7;\n                    *(char *)(iVar6 + iVar11) = cVar2;\n                    *(char *)(iVar6 + 0x104) = cVar2;\n                    iVar11 = iVar7;\n                  } while (pcVar1 != __s);\n                }\n                puVar14 = (undefined1 *)(unaff_EDI + 0x264d1);\n                uVar12 = 0x7d;\n                do {\n                  if (iVar7 == 0xff) {\n                    *(undefined1 *)(iVar6 + 0xff) = 0;\n                    (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                    *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                    iVar11 = 1;\n                    iVar7 = 0;\n                  }\n                  else {\n                    iVar11 = iVar7 + 1;\n                  }\n                  puVar14 = puVar14 + 1;\n                  *(int *)(iVar6 + 0x100) = iVar11;\n                  *(undefined1 *)(iVar6 + iVar7) = uVar12;\n                  *(undefined1 *)(iVar6 + 0x104) = uVar12;\n                  if ((undefined1 *)(unaff_EDI + 0x264d4) == puVar14) goto LAB_002127e9;\n                  uVar12 = *puVar14;\n                  iVar7 = iVar11;\n                } while( true );\n              }\n              do {\n                if (uVar8 != 0x4c) {\n                  if (uVar8 < 0x4d) {\n                    if (4 < uVar8 - 0x1c) {\nLAB_0021277d:\n                      FUN_0020ca20();\n                      *(undefined4 *)(iVar6 + 0x110) = uVar3;\n                      return;\n                    }\n                  }\n                  else if (1 < uVar8 - 0x4e) goto LAB_0021277d;\n                }\nLAB_002127e9:\n                local_44 = (uint *)local_44[2];\n                uVar8 = *local_44;\n              } while( true );\n            }\n            FUN_00211980();\n            *(undefined4 *)(iVar6 + 0x110) = uVar3;\n          }\n        }\n      }\n      piVar4 = (int *)*piVar4;\n      if (piVar4 == (int *)0x0) {\n        return;\n      }\n      iVar7 = *(int *)(iVar6 + 0x118);\n    }\n  }\n  return;\n}" primitive_type (function_declarator "FUN_00212620(int param_1)" identifier (parameter_list "(int param_1)" ( (parameter_declaration "int param_1" primitive_type identifier) ))) (compound_statement "{\n  char *pcVar1;\n  char cVar2;\n  undefined4 uVar3;\n  int *piVar4;\n  undefined4 uVar5;\n  int iVar6;\n  int iVar7;\n  uint uVar8;\n  size_t sVar9;\n  int *extraout_ECX;\n  code cVar10;\n  int iVar11;\n  undefined1 uVar12;\n  code *pcVar13;\n  undefined1 *puVar14;\n  char *__s;\n  int unaff_EDI;\n  ulonglong uVar15;\n  uint *local_44;\n  char local_35 [37];\n  \n  uVar15 = FUN_0004fb7e();\n  iVar6 = (int)uVar15;\n  if (extraout_ECX != (int *)0x0) {\n    iVar7 = *(int *)(iVar6 + 0x118);\n    piVar4 = extraout_ECX;\n    while (iVar7 == 0) {\n      if (piVar4[2] == 0) {\n        uVar8 = *(uint *)piVar4[1];\n        if (param_1 != 0) goto LAB_00212668;\n        if (uVar8 != 0x4c) {\n          if (uVar8 < 0x4d) {\n            if (4 < uVar8 - 0x1c) goto LAB_00212668;\n          }\n          else if (1 < uVar8 - 0x4e) {\nLAB_00212668:\n            uVar3 = *(undefined4 *)(iVar6 + 0x110);\n            piVar4[2] = 1;\n            *(int *)(iVar6 + 0x110) = piVar4[3];\n            if (uVar8 == 0x29) {\n              FUN_00212300(*piVar4);\n              *(undefined4 *)(iVar6 + 0x110) = uVar3;\n              return;\n            }\n            if (uVar8 == 0x2a) {\n              FUN_00212a20(*piVar4);\n              *(undefined4 *)(iVar6 + 0x110) = uVar3;\n              return;\n            }\n            if (uVar8 == 2) {\n              uVar5 = *(undefined4 *)(iVar6 + 0x114);\n              *(undefined4 *)(iVar6 + 0x114) = 0;\n              FUN_0020ca20();\n              *(undefined4 *)(iVar6 + 0x114) = uVar5;\n              iVar7 = *(int *)(iVar6 + 0x100);\n              if ((uVar15 & 0x400000000) == 0) {\n                puVar14 = (undefined1 *)(unaff_EDI + 0x264d2);\n                uVar12 = 0x3a;\n                while( true ) {\n                  if (iVar7 == 0xff) {\n                    *(undefined1 *)(iVar6 + 0xff) = 0;\n                    (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                    *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                    iVar11 = 1;\n                    iVar7 = 0;\n                  }\n                  else {\n                    iVar11 = iVar7 + 1;\n                  }\n                  puVar14 = puVar14 + 1;\n                  *(int *)(iVar6 + 0x100) = iVar11;\n                  *(undefined1 *)(iVar6 + iVar7) = uVar12;\n                  *(undefined1 *)(iVar6 + 0x104) = uVar12;\n                  if (puVar14 == (undefined1 *)(unaff_EDI + 0x264d4)) break;\n                  uVar12 = *puVar14;\n                  iVar7 = iVar11;\n                }\n              }\n              else {\n                iVar11 = iVar7 + 1;\n                if (iVar7 == 0xff) {\n                  *(undefined1 *)(iVar6 + 0xff) = 0;\n                  (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                  *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                  iVar11 = 1;\n                  iVar7 = 0;\n                }\n                *(int *)(iVar6 + 0x100) = iVar11;\n                *(undefined1 *)(iVar6 + iVar7) = 0x2e;\n                *(undefined1 *)(iVar6 + 0x104) = 0x2e;\n              }\n              local_44 = *(uint **)(piVar4[1] + 0xc);\n              uVar8 = *local_44;\n              if (uVar8 == 0x46) {\n                cVar10 = (code)0x7b;\n                pcVar13 = ioctl + unaff_EDI + 4;\n                iVar7 = *(int *)(iVar6 + 0x100);\n                while( true ) {\n                  if (iVar7 == 0xff) {\n                    *(undefined1 *)(iVar6 + 0xff) = 0;\n                    (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                    *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                    iVar11 = 1;\n                    iVar7 = 0;\n                  }\n                  else {\n                    iVar11 = iVar7 + 1;\n                  }\n                  *(int *)(iVar6 + 0x100) = iVar11;\n                  *(code *)(iVar6 + iVar7) = cVar10;\n                  *(code *)(iVar6 + 0x104) = cVar10;\n                  if (pcVar13 == wcrtomb + unaff_EDI) break;\n                  cVar10 = *pcVar13;\n                  pcVar13 = pcVar13 + 1;\n                  iVar7 = iVar11;\n                }\n                __s = local_35;\n                sprintf(__s,(char *)((int)&__DT_REL[0x263a].r_offset + unaff_EDI + 2),\n                        local_44[3] + 1);\n                sVar9 = strlen(__s);\n                iVar7 = *(int *)(iVar6 + 0x100);\n                if (sVar9 != 0) {\n                  pcVar1 = __s + sVar9;\n                  iVar11 = iVar7;\n                  do {\n                    cVar2 = *__s;\n                    if (iVar11 == 0xff) {\n                      *(undefined1 *)(iVar6 + 0xff) = 0;\n                      (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                      *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                      iVar7 = 1;\n                      iVar11 = 0;\n                    }\n                    else {\n                      iVar7 = iVar11 + 1;\n                    }\n                    __s = __s + 1;\n                    *(int *)(iVar6 + 0x100) = iVar7;\n                    *(char *)(iVar6 + iVar11) = cVar2;\n                    *(char *)(iVar6 + 0x104) = cVar2;\n                    iVar11 = iVar7;\n                  } while (pcVar1 != __s);\n                }\n                puVar14 = (undefined1 *)(unaff_EDI + 0x264d1);\n                uVar12 = 0x7d;\n                do {\n                  if (iVar7 == 0xff) {\n                    *(undefined1 *)(iVar6 + 0xff) = 0;\n                    (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                    *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                    iVar11 = 1;\n                    iVar7 = 0;\n                  }\n                  else {\n                    iVar11 = iVar7 + 1;\n                  }\n                  puVar14 = puVar14 + 1;\n                  *(int *)(iVar6 + 0x100) = iVar11;\n                  *(undefined1 *)(iVar6 + iVar7) = uVar12;\n                  *(undefined1 *)(iVar6 + 0x104) = uVar12;\n                  if ((undefined1 *)(unaff_EDI + 0x264d4) == puVar14) goto LAB_002127e9;\n                  uVar12 = *puVar14;\n                  iVar7 = iVar11;\n                } while( true );\n              }\n              do {\n                if (uVar8 != 0x4c) {\n                  if (uVar8 < 0x4d) {\n                    if (4 < uVar8 - 0x1c) {\nLAB_0021277d:\n                      FUN_0020ca20();\n                      *(undefined4 *)(iVar6 + 0x110) = uVar3;\n                      return;\n                    }\n                  }\n                  else if (1 < uVar8 - 0x4e) goto LAB_0021277d;\n                }\nLAB_002127e9:\n                local_44 = (uint *)local_44[2];\n                uVar8 = *local_44;\n              } while( true );\n            }\n            FUN_00211980();\n            *(undefined4 *)(iVar6 + 0x110) = uVar3;\n          }\n        }\n      }\n      piVar4 = (int *)*piVar4;\n      if (piVar4 == (int *)0x0) {\n        return;\n      }\n      iVar7 = *(int *)(iVar6 + 0x118);\n    }\n  }\n  return;\n}" { (declaration "char *pcVar1;" primitive_type (pointer_declarator "*pcVar1" * identifier) ;) (declaration "char cVar2;" primitive_type identifier ;) (declaration "undefined4 uVar3;" type_identifier identifier ;) (declaration "int *piVar4;" primitive_type (pointer_declarator "*piVar4" * identifier) ;) (declaration "undefined4 uVar5;" type_identifier identifier ;) (declaration "int iVar6;" primitive_type identifier ;) (declaration "int iVar7;" primitive_type identifier ;) (declaration "uint uVar8;" type_identifier identifier ;) (declaration "size_t sVar9;" primitive_type identifier ;) (declaration "int *extraout_ECX;" primitive_type (pointer_declarator "*extraout_ECX" * identifier) ;) (declaration "code cVar10;" type_identifier identifier ;) (declaration "int iVar11;" primitive_type identifier ;) (declaration "undefined1 uVar12;" type_identifier identifier ;) (declaration "code *pcVar13;" type_identifier (pointer_declarator "*pcVar13" * identifier) ;) (declaration "undefined1 *puVar14;" type_identifier (pointer_declarator "*puVar14" * identifier) ;) (declaration "char *__s;" primitive_type (pointer_declarator "*__s" * identifier) ;) (declaration "int unaff_EDI;" primitive_type identifier ;) (declaration "ulonglong uVar15;" type_identifier identifier ;) (declaration "uint *local_44;" type_identifier (pointer_declarator "*local_44" * identifier) ;) (declaration "char local_35 [37];" primitive_type (array_declarator "local_35 [37]" identifier [ number_literal ]) ;) (expression_statement "uVar15 = FUN_0004fb7e();" (assignment_expression "uVar15 = FUN_0004fb7e()" identifier = (call_expression "FUN_0004fb7e()" identifier (argument_list "()" ( )))) ;) (expression_statement "iVar6 = (int)uVar15;" (assignment_expression "iVar6 = (int)uVar15" identifier = (cast_expression "(int)uVar15" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (if_statement "if (extraout_ECX != (int *)0x0) {\n    iVar7 = *(int *)(iVar6 + 0x118);\n    piVar4 = extraout_ECX;\n    while (iVar7 == 0) {\n      if (piVar4[2] == 0) {\n        uVar8 = *(uint *)piVar4[1];\n        if (param_1 != 0) goto LAB_00212668;\n        if (uVar8 != 0x4c) {\n          if (uVar8 < 0x4d) {\n            if (4 < uVar8 - 0x1c) goto LAB_00212668;\n          }\n          else if (1 < uVar8 - 0x4e) {\nLAB_00212668:\n            uVar3 = *(undefined4 *)(iVar6 + 0x110);\n            piVar4[2] = 1;\n            *(int *)(iVar6 + 0x110) = piVar4[3];\n            if (uVar8 == 0x29) {\n              FUN_00212300(*piVar4);\n              *(undefined4 *)(iVar6 + 0x110) = uVar3;\n              return;\n            }\n            if (uVar8 == 0x2a) {\n              FUN_00212a20(*piVar4);\n              *(undefined4 *)(iVar6 + 0x110) = uVar3;\n              return;\n            }\n            if (uVar8 == 2) {\n              uVar5 = *(undefined4 *)(iVar6 + 0x114);\n              *(undefined4 *)(iVar6 + 0x114) = 0;\n              FUN_0020ca20();\n              *(undefined4 *)(iVar6 + 0x114) = uVar5;\n              iVar7 = *(int *)(iVar6 + 0x100);\n              if ((uVar15 & 0x400000000) == 0) {\n                puVar14 = (undefined1 *)(unaff_EDI + 0x264d2);\n                uVar12 = 0x3a;\n                while( true ) {\n                  if (iVar7 == 0xff) {\n                    *(undefined1 *)(iVar6 + 0xff) = 0;\n                    (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                    *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                    iVar11 = 1;\n                    iVar7 = 0;\n                  }\n                  else {\n                    iVar11 = iVar7 + 1;\n                  }\n                  puVar14 = puVar14 + 1;\n                  *(int *)(iVar6 + 0x100) = iVar11;\n                  *(undefined1 *)(iVar6 + iVar7) = uVar12;\n                  *(undefined1 *)(iVar6 + 0x104) = uVar12;\n                  if (puVar14 == (undefined1 *)(unaff_EDI + 0x264d4)) break;\n                  uVar12 = *puVar14;\n                  iVar7 = iVar11;\n                }\n              }\n              else {\n                iVar11 = iVar7 + 1;\n                if (iVar7 == 0xff) {\n                  *(undefined1 *)(iVar6 + 0xff) = 0;\n                  (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                  *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                  iVar11 = 1;\n                  iVar7 = 0;\n                }\n                *(int *)(iVar6 + 0x100) = iVar11;\n                *(undefined1 *)(iVar6 + iVar7) = 0x2e;\n                *(undefined1 *)(iVar6 + 0x104) = 0x2e;\n              }\n              local_44 = *(uint **)(piVar4[1] + 0xc);\n              uVar8 = *local_44;\n              if (uVar8 == 0x46) {\n                cVar10 = (code)0x7b;\n                pcVar13 = ioctl + unaff_EDI + 4;\n                iVar7 = *(int *)(iVar6 + 0x100);\n                while( true ) {\n                  if (iVar7 == 0xff) {\n                    *(undefined1 *)(iVar6 + 0xff) = 0;\n                    (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                    *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                    iVar11 = 1;\n                    iVar7 = 0;\n                  }\n                  else {\n                    iVar11 = iVar7 + 1;\n                  }\n                  *(int *)(iVar6 + 0x100) = iVar11;\n                  *(code *)(iVar6 + iVar7) = cVar10;\n                  *(code *)(iVar6 + 0x104) = cVar10;\n                  if (pcVar13 == wcrtomb + unaff_EDI) break;\n                  cVar10 = *pcVar13;\n                  pcVar13 = pcVar13 + 1;\n                  iVar7 = iVar11;\n                }\n                __s = local_35;\n                sprintf(__s,(char *)((int)&__DT_REL[0x263a].r_offset + unaff_EDI + 2),\n                        local_44[3] + 1);\n                sVar9 = strlen(__s);\n                iVar7 = *(int *)(iVar6 + 0x100);\n                if (sVar9 != 0) {\n                  pcVar1 = __s + sVar9;\n                  iVar11 = iVar7;\n                  do {\n                    cVar2 = *__s;\n                    if (iVar11 == 0xff) {\n                      *(undefined1 *)(iVar6 + 0xff) = 0;\n                      (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                      *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                      iVar7 = 1;\n                      iVar11 = 0;\n                    }\n                    else {\n                      iVar7 = iVar11 + 1;\n                    }\n                    __s = __s + 1;\n                    *(int *)(iVar6 + 0x100) = iVar7;\n                    *(char *)(iVar6 + iVar11) = cVar2;\n                    *(char *)(iVar6 + 0x104) = cVar2;\n                    iVar11 = iVar7;\n                  } while (pcVar1 != __s);\n                }\n                puVar14 = (undefined1 *)(unaff_EDI + 0x264d1);\n                uVar12 = 0x7d;\n                do {\n                  if (iVar7 == 0xff) {\n                    *(undefined1 *)(iVar6 + 0xff) = 0;\n                    (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                    *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                    iVar11 = 1;\n                    iVar7 = 0;\n                  }\n                  else {\n                    iVar11 = iVar7 + 1;\n                  }\n                  puVar14 = puVar14 + 1;\n                  *(int *)(iVar6 + 0x100) = iVar11;\n                  *(undefined1 *)(iVar6 + iVar7) = uVar12;\n                  *(undefined1 *)(iVar6 + 0x104) = uVar12;\n                  if ((undefined1 *)(unaff_EDI + 0x264d4) == puVar14) goto LAB_002127e9;\n                  uVar12 = *puVar14;\n                  iVar7 = iVar11;\n                } while( true );\n              }\n              do {\n                if (uVar8 != 0x4c) {\n                  if (uVar8 < 0x4d) {\n                    if (4 < uVar8 - 0x1c) {\nLAB_0021277d:\n                      FUN_0020ca20();\n                      *(undefined4 *)(iVar6 + 0x110) = uVar3;\n                      return;\n                    }\n                  }\n                  else if (1 < uVar8 - 0x4e) goto LAB_0021277d;\n                }\nLAB_002127e9:\n                local_44 = (uint *)local_44[2];\n                uVar8 = *local_44;\n              } while( true );\n            }\n            FUN_00211980();\n            *(undefined4 *)(iVar6 + 0x110) = uVar3;\n          }\n        }\n      }\n      piVar4 = (int *)*piVar4;\n      if (piVar4 == (int *)0x0) {\n        return;\n      }\n      iVar7 = *(int *)(iVar6 + 0x118);\n    }\n  }" if (parenthesized_expression "(extraout_ECX != (int *)0x0)" ( (binary_expression "extraout_ECX != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    iVar7 = *(int *)(iVar6 + 0x118);\n    piVar4 = extraout_ECX;\n    while (iVar7 == 0) {\n      if (piVar4[2] == 0) {\n        uVar8 = *(uint *)piVar4[1];\n        if (param_1 != 0) goto LAB_00212668;\n        if (uVar8 != 0x4c) {\n          if (uVar8 < 0x4d) {\n            if (4 < uVar8 - 0x1c) goto LAB_00212668;\n          }\n          else if (1 < uVar8 - 0x4e) {\nLAB_00212668:\n            uVar3 = *(undefined4 *)(iVar6 + 0x110);\n            piVar4[2] = 1;\n            *(int *)(iVar6 + 0x110) = piVar4[3];\n            if (uVar8 == 0x29) {\n              FUN_00212300(*piVar4);\n              *(undefined4 *)(iVar6 + 0x110) = uVar3;\n              return;\n            }\n            if (uVar8 == 0x2a) {\n              FUN_00212a20(*piVar4);\n              *(undefined4 *)(iVar6 + 0x110) = uVar3;\n              return;\n            }\n            if (uVar8 == 2) {\n              uVar5 = *(undefined4 *)(iVar6 + 0x114);\n              *(undefined4 *)(iVar6 + 0x114) = 0;\n              FUN_0020ca20();\n              *(undefined4 *)(iVar6 + 0x114) = uVar5;\n              iVar7 = *(int *)(iVar6 + 0x100);\n              if ((uVar15 & 0x400000000) == 0) {\n                puVar14 = (undefined1 *)(unaff_EDI + 0x264d2);\n                uVar12 = 0x3a;\n                while( true ) {\n                  if (iVar7 == 0xff) {\n                    *(undefined1 *)(iVar6 + 0xff) = 0;\n                    (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                    *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                    iVar11 = 1;\n                    iVar7 = 0;\n                  }\n                  else {\n                    iVar11 = iVar7 + 1;\n                  }\n                  puVar14 = puVar14 + 1;\n                  *(int *)(iVar6 + 0x100) = iVar11;\n                  *(undefined1 *)(iVar6 + iVar7) = uVar12;\n                  *(undefined1 *)(iVar6 + 0x104) = uVar12;\n                  if (puVar14 == (undefined1 *)(unaff_EDI + 0x264d4)) break;\n                  uVar12 = *puVar14;\n                  iVar7 = iVar11;\n                }\n              }\n              else {\n                iVar11 = iVar7 + 1;\n                if (iVar7 == 0xff) {\n                  *(undefined1 *)(iVar6 + 0xff) = 0;\n                  (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                  *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                  iVar11 = 1;\n                  iVar7 = 0;\n                }\n                *(int *)(iVar6 + 0x100) = iVar11;\n                *(undefined1 *)(iVar6 + iVar7) = 0x2e;\n                *(undefined1 *)(iVar6 + 0x104) = 0x2e;\n              }\n              local_44 = *(uint **)(piVar4[1] + 0xc);\n              uVar8 = *local_44;\n              if (uVar8 == 0x46) {\n                cVar10 = (code)0x7b;\n                pcVar13 = ioctl + unaff_EDI + 4;\n                iVar7 = *(int *)(iVar6 + 0x100);\n                while( true ) {\n                  if (iVar7 == 0xff) {\n                    *(undefined1 *)(iVar6 + 0xff) = 0;\n                    (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                    *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                    iVar11 = 1;\n                    iVar7 = 0;\n                  }\n                  else {\n                    iVar11 = iVar7 + 1;\n                  }\n                  *(int *)(iVar6 + 0x100) = iVar11;\n                  *(code *)(iVar6 + iVar7) = cVar10;\n                  *(code *)(iVar6 + 0x104) = cVar10;\n                  if (pcVar13 == wcrtomb + unaff_EDI) break;\n                  cVar10 = *pcVar13;\n                  pcVar13 = pcVar13 + 1;\n                  iVar7 = iVar11;\n                }\n                __s = local_35;\n                sprintf(__s,(char *)((int)&__DT_REL[0x263a].r_offset + unaff_EDI + 2),\n                        local_44[3] + 1);\n                sVar9 = strlen(__s);\n                iVar7 = *(int *)(iVar6 + 0x100);\n                if (sVar9 != 0) {\n                  pcVar1 = __s + sVar9;\n                  iVar11 = iVar7;\n                  do {\n                    cVar2 = *__s;\n                    if (iVar11 == 0xff) {\n                      *(undefined1 *)(iVar6 + 0xff) = 0;\n                      (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                      *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                      iVar7 = 1;\n                      iVar11 = 0;\n                    }\n                    else {\n                      iVar7 = iVar11 + 1;\n                    }\n                    __s = __s + 1;\n                    *(int *)(iVar6 + 0x100) = iVar7;\n                    *(char *)(iVar6 + iVar11) = cVar2;\n                    *(char *)(iVar6 + 0x104) = cVar2;\n                    iVar11 = iVar7;\n                  } while (pcVar1 != __s);\n                }\n                puVar14 = (undefined1 *)(unaff_EDI + 0x264d1);\n                uVar12 = 0x7d;\n                do {\n                  if (iVar7 == 0xff) {\n                    *(undefined1 *)(iVar6 + 0xff) = 0;\n                    (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                    *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                    iVar11 = 1;\n                    iVar7 = 0;\n                  }\n                  else {\n                    iVar11 = iVar7 + 1;\n                  }\n                  puVar14 = puVar14 + 1;\n                  *(int *)(iVar6 + 0x100) = iVar11;\n                  *(undefined1 *)(iVar6 + iVar7) = uVar12;\n                  *(undefined1 *)(iVar6 + 0x104) = uVar12;\n                  if ((undefined1 *)(unaff_EDI + 0x264d4) == puVar14) goto LAB_002127e9;\n                  uVar12 = *puVar14;\n                  iVar7 = iVar11;\n                } while( true );\n              }\n              do {\n                if (uVar8 != 0x4c) {\n                  if (uVar8 < 0x4d) {\n                    if (4 < uVar8 - 0x1c) {\nLAB_0021277d:\n                      FUN_0020ca20();\n                      *(undefined4 *)(iVar6 + 0x110) = uVar3;\n                      return;\n                    }\n                  }\n                  else if (1 < uVar8 - 0x4e) goto LAB_0021277d;\n                }\nLAB_002127e9:\n                local_44 = (uint *)local_44[2];\n                uVar8 = *local_44;\n              } while( true );\n            }\n            FUN_00211980();\n            *(undefined4 *)(iVar6 + 0x110) = uVar3;\n          }\n        }\n      }\n      piVar4 = (int *)*piVar4;\n      if (piVar4 == (int *)0x0) {\n        return;\n      }\n      iVar7 = *(int *)(iVar6 + 0x118);\n    }\n  }" { (expression_statement "iVar7 = *(int *)(iVar6 + 0x118);" (assignment_expression "iVar7 = *(int *)(iVar6 + 0x118)" identifier = (pointer_expression "*(int *)(iVar6 + 0x118)" * (cast_expression "(int *)(iVar6 + 0x118)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x118)" ( (binary_expression "iVar6 + 0x118" identifier + number_literal) ))))) ;) (expression_statement "piVar4 = extraout_ECX;" (assignment_expression "piVar4 = extraout_ECX" identifier = identifier) ;) (while_statement "while (iVar7 == 0) {\n      if (piVar4[2] == 0) {\n        uVar8 = *(uint *)piVar4[1];\n        if (param_1 != 0) goto LAB_00212668;\n        if (uVar8 != 0x4c) {\n          if (uVar8 < 0x4d) {\n            if (4 < uVar8 - 0x1c) goto LAB_00212668;\n          }\n          else if (1 < uVar8 - 0x4e) {\nLAB_00212668:\n            uVar3 = *(undefined4 *)(iVar6 + 0x110);\n            piVar4[2] = 1;\n            *(int *)(iVar6 + 0x110) = piVar4[3];\n            if (uVar8 == 0x29) {\n              FUN_00212300(*piVar4);\n              *(undefined4 *)(iVar6 + 0x110) = uVar3;\n              return;\n            }\n            if (uVar8 == 0x2a) {\n              FUN_00212a20(*piVar4);\n              *(undefined4 *)(iVar6 + 0x110) = uVar3;\n              return;\n            }\n            if (uVar8 == 2) {\n              uVar5 = *(undefined4 *)(iVar6 + 0x114);\n              *(undefined4 *)(iVar6 + 0x114) = 0;\n              FUN_0020ca20();\n              *(undefined4 *)(iVar6 + 0x114) = uVar5;\n              iVar7 = *(int *)(iVar6 + 0x100);\n              if ((uVar15 & 0x400000000) == 0) {\n                puVar14 = (undefined1 *)(unaff_EDI + 0x264d2);\n                uVar12 = 0x3a;\n                while( true ) {\n                  if (iVar7 == 0xff) {\n                    *(undefined1 *)(iVar6 + 0xff) = 0;\n                    (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                    *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                    iVar11 = 1;\n                    iVar7 = 0;\n                  }\n                  else {\n                    iVar11 = iVar7 + 1;\n                  }\n                  puVar14 = puVar14 + 1;\n                  *(int *)(iVar6 + 0x100) = iVar11;\n                  *(undefined1 *)(iVar6 + iVar7) = uVar12;\n                  *(undefined1 *)(iVar6 + 0x104) = uVar12;\n                  if (puVar14 == (undefined1 *)(unaff_EDI + 0x264d4)) break;\n                  uVar12 = *puVar14;\n                  iVar7 = iVar11;\n                }\n              }\n              else {\n                iVar11 = iVar7 + 1;\n                if (iVar7 == 0xff) {\n                  *(undefined1 *)(iVar6 + 0xff) = 0;\n                  (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                  *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                  iVar11 = 1;\n                  iVar7 = 0;\n                }\n                *(int *)(iVar6 + 0x100) = iVar11;\n                *(undefined1 *)(iVar6 + iVar7) = 0x2e;\n                *(undefined1 *)(iVar6 + 0x104) = 0x2e;\n              }\n              local_44 = *(uint **)(piVar4[1] + 0xc);\n              uVar8 = *local_44;\n              if (uVar8 == 0x46) {\n                cVar10 = (code)0x7b;\n                pcVar13 = ioctl + unaff_EDI + 4;\n                iVar7 = *(int *)(iVar6 + 0x100);\n                while( true ) {\n                  if (iVar7 == 0xff) {\n                    *(undefined1 *)(iVar6 + 0xff) = 0;\n                    (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                    *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                    iVar11 = 1;\n                    iVar7 = 0;\n                  }\n                  else {\n                    iVar11 = iVar7 + 1;\n                  }\n                  *(int *)(iVar6 + 0x100) = iVar11;\n                  *(code *)(iVar6 + iVar7) = cVar10;\n                  *(code *)(iVar6 + 0x104) = cVar10;\n                  if (pcVar13 == wcrtomb + unaff_EDI) break;\n                  cVar10 = *pcVar13;\n                  pcVar13 = pcVar13 + 1;\n                  iVar7 = iVar11;\n                }\n                __s = local_35;\n                sprintf(__s,(char *)((int)&__DT_REL[0x263a].r_offset + unaff_EDI + 2),\n                        local_44[3] + 1);\n                sVar9 = strlen(__s);\n                iVar7 = *(int *)(iVar6 + 0x100);\n                if (sVar9 != 0) {\n                  pcVar1 = __s + sVar9;\n                  iVar11 = iVar7;\n                  do {\n                    cVar2 = *__s;\n                    if (iVar11 == 0xff) {\n                      *(undefined1 *)(iVar6 + 0xff) = 0;\n                      (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                      *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                      iVar7 = 1;\n                      iVar11 = 0;\n                    }\n                    else {\n                      iVar7 = iVar11 + 1;\n                    }\n                    __s = __s + 1;\n                    *(int *)(iVar6 + 0x100) = iVar7;\n                    *(char *)(iVar6 + iVar11) = cVar2;\n                    *(char *)(iVar6 + 0x104) = cVar2;\n                    iVar11 = iVar7;\n                  } while (pcVar1 != __s);\n                }\n                puVar14 = (undefined1 *)(unaff_EDI + 0x264d1);\n                uVar12 = 0x7d;\n                do {\n                  if (iVar7 == 0xff) {\n                    *(undefined1 *)(iVar6 + 0xff) = 0;\n                    (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                    *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                    iVar11 = 1;\n                    iVar7 = 0;\n                  }\n                  else {\n                    iVar11 = iVar7 + 1;\n                  }\n                  puVar14 = puVar14 + 1;\n                  *(int *)(iVar6 + 0x100) = iVar11;\n                  *(undefined1 *)(iVar6 + iVar7) = uVar12;\n                  *(undefined1 *)(iVar6 + 0x104) = uVar12;\n                  if ((undefined1 *)(unaff_EDI + 0x264d4) == puVar14) goto LAB_002127e9;\n                  uVar12 = *puVar14;\n                  iVar7 = iVar11;\n                } while( true );\n              }\n              do {\n                if (uVar8 != 0x4c) {\n                  if (uVar8 < 0x4d) {\n                    if (4 < uVar8 - 0x1c) {\nLAB_0021277d:\n                      FUN_0020ca20();\n                      *(undefined4 *)(iVar6 + 0x110) = uVar3;\n                      return;\n                    }\n                  }\n                  else if (1 < uVar8 - 0x4e) goto LAB_0021277d;\n                }\nLAB_002127e9:\n                local_44 = (uint *)local_44[2];\n                uVar8 = *local_44;\n              } while( true );\n            }\n            FUN_00211980();\n            *(undefined4 *)(iVar6 + 0x110) = uVar3;\n          }\n        }\n      }\n      piVar4 = (int *)*piVar4;\n      if (piVar4 == (int *)0x0) {\n        return;\n      }\n      iVar7 = *(int *)(iVar6 + 0x118);\n    }" while (parenthesized_expression "(iVar7 == 0)" ( (binary_expression "iVar7 == 0" identifier == number_literal) )) (compound_statement "{\n      if (piVar4[2] == 0) {\n        uVar8 = *(uint *)piVar4[1];\n        if (param_1 != 0) goto LAB_00212668;\n        if (uVar8 != 0x4c) {\n          if (uVar8 < 0x4d) {\n            if (4 < uVar8 - 0x1c) goto LAB_00212668;\n          }\n          else if (1 < uVar8 - 0x4e) {\nLAB_00212668:\n            uVar3 = *(undefined4 *)(iVar6 + 0x110);\n            piVar4[2] = 1;\n            *(int *)(iVar6 + 0x110) = piVar4[3];\n            if (uVar8 == 0x29) {\n              FUN_00212300(*piVar4);\n              *(undefined4 *)(iVar6 + 0x110) = uVar3;\n              return;\n            }\n            if (uVar8 == 0x2a) {\n              FUN_00212a20(*piVar4);\n              *(undefined4 *)(iVar6 + 0x110) = uVar3;\n              return;\n            }\n            if (uVar8 == 2) {\n              uVar5 = *(undefined4 *)(iVar6 + 0x114);\n              *(undefined4 *)(iVar6 + 0x114) = 0;\n              FUN_0020ca20();\n              *(undefined4 *)(iVar6 + 0x114) = uVar5;\n              iVar7 = *(int *)(iVar6 + 0x100);\n              if ((uVar15 & 0x400000000) == 0) {\n                puVar14 = (undefined1 *)(unaff_EDI + 0x264d2);\n                uVar12 = 0x3a;\n                while( true ) {\n                  if (iVar7 == 0xff) {\n                    *(undefined1 *)(iVar6 + 0xff) = 0;\n                    (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                    *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                    iVar11 = 1;\n                    iVar7 = 0;\n                  }\n                  else {\n                    iVar11 = iVar7 + 1;\n                  }\n                  puVar14 = puVar14 + 1;\n                  *(int *)(iVar6 + 0x100) = iVar11;\n                  *(undefined1 *)(iVar6 + iVar7) = uVar12;\n                  *(undefined1 *)(iVar6 + 0x104) = uVar12;\n                  if (puVar14 == (undefined1 *)(unaff_EDI + 0x264d4)) break;\n                  uVar12 = *puVar14;\n                  iVar7 = iVar11;\n                }\n              }\n              else {\n                iVar11 = iVar7 + 1;\n                if (iVar7 == 0xff) {\n                  *(undefined1 *)(iVar6 + 0xff) = 0;\n                  (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                  *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                  iVar11 = 1;\n                  iVar7 = 0;\n                }\n                *(int *)(iVar6 + 0x100) = iVar11;\n                *(undefined1 *)(iVar6 + iVar7) = 0x2e;\n                *(undefined1 *)(iVar6 + 0x104) = 0x2e;\n              }\n              local_44 = *(uint **)(piVar4[1] + 0xc);\n              uVar8 = *local_44;\n              if (uVar8 == 0x46) {\n                cVar10 = (code)0x7b;\n                pcVar13 = ioctl + unaff_EDI + 4;\n                iVar7 = *(int *)(iVar6 + 0x100);\n                while( true ) {\n                  if (iVar7 == 0xff) {\n                    *(undefined1 *)(iVar6 + 0xff) = 0;\n                    (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                    *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                    iVar11 = 1;\n                    iVar7 = 0;\n                  }\n                  else {\n                    iVar11 = iVar7 + 1;\n                  }\n                  *(int *)(iVar6 + 0x100) = iVar11;\n                  *(code *)(iVar6 + iVar7) = cVar10;\n                  *(code *)(iVar6 + 0x104) = cVar10;\n                  if (pcVar13 == wcrtomb + unaff_EDI) break;\n                  cVar10 = *pcVar13;\n                  pcVar13 = pcVar13 + 1;\n                  iVar7 = iVar11;\n                }\n                __s = local_35;\n                sprintf(__s,(char *)((int)&__DT_REL[0x263a].r_offset + unaff_EDI + 2),\n                        local_44[3] + 1);\n                sVar9 = strlen(__s);\n                iVar7 = *(int *)(iVar6 + 0x100);\n                if (sVar9 != 0) {\n                  pcVar1 = __s + sVar9;\n                  iVar11 = iVar7;\n                  do {\n                    cVar2 = *__s;\n                    if (iVar11 == 0xff) {\n                      *(undefined1 *)(iVar6 + 0xff) = 0;\n                      (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                      *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                      iVar7 = 1;\n                      iVar11 = 0;\n                    }\n                    else {\n                      iVar7 = iVar11 + 1;\n                    }\n                    __s = __s + 1;\n                    *(int *)(iVar6 + 0x100) = iVar7;\n                    *(char *)(iVar6 + iVar11) = cVar2;\n                    *(char *)(iVar6 + 0x104) = cVar2;\n                    iVar11 = iVar7;\n                  } while (pcVar1 != __s);\n                }\n                puVar14 = (undefined1 *)(unaff_EDI + 0x264d1);\n                uVar12 = 0x7d;\n                do {\n                  if (iVar7 == 0xff) {\n                    *(undefined1 *)(iVar6 + 0xff) = 0;\n                    (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                    *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                    iVar11 = 1;\n                    iVar7 = 0;\n                  }\n                  else {\n                    iVar11 = iVar7 + 1;\n                  }\n                  puVar14 = puVar14 + 1;\n                  *(int *)(iVar6 + 0x100) = iVar11;\n                  *(undefined1 *)(iVar6 + iVar7) = uVar12;\n                  *(undefined1 *)(iVar6 + 0x104) = uVar12;\n                  if ((undefined1 *)(unaff_EDI + 0x264d4) == puVar14) goto LAB_002127e9;\n                  uVar12 = *puVar14;\n                  iVar7 = iVar11;\n                } while( true );\n              }\n              do {\n                if (uVar8 != 0x4c) {\n                  if (uVar8 < 0x4d) {\n                    if (4 < uVar8 - 0x1c) {\nLAB_0021277d:\n                      FUN_0020ca20();\n                      *(undefined4 *)(iVar6 + 0x110) = uVar3;\n                      return;\n                    }\n                  }\n                  else if (1 < uVar8 - 0x4e) goto LAB_0021277d;\n                }\nLAB_002127e9:\n                local_44 = (uint *)local_44[2];\n                uVar8 = *local_44;\n              } while( true );\n            }\n            FUN_00211980();\n            *(undefined4 *)(iVar6 + 0x110) = uVar3;\n          }\n        }\n      }\n      piVar4 = (int *)*piVar4;\n      if (piVar4 == (int *)0x0) {\n        return;\n      }\n      iVar7 = *(int *)(iVar6 + 0x118);\n    }" { (if_statement "if (piVar4[2] == 0) {\n        uVar8 = *(uint *)piVar4[1];\n        if (param_1 != 0) goto LAB_00212668;\n        if (uVar8 != 0x4c) {\n          if (uVar8 < 0x4d) {\n            if (4 < uVar8 - 0x1c) goto LAB_00212668;\n          }\n          else if (1 < uVar8 - 0x4e) {\nLAB_00212668:\n            uVar3 = *(undefined4 *)(iVar6 + 0x110);\n            piVar4[2] = 1;\n            *(int *)(iVar6 + 0x110) = piVar4[3];\n            if (uVar8 == 0x29) {\n              FUN_00212300(*piVar4);\n              *(undefined4 *)(iVar6 + 0x110) = uVar3;\n              return;\n            }\n            if (uVar8 == 0x2a) {\n              FUN_00212a20(*piVar4);\n              *(undefined4 *)(iVar6 + 0x110) = uVar3;\n              return;\n            }\n            if (uVar8 == 2) {\n              uVar5 = *(undefined4 *)(iVar6 + 0x114);\n              *(undefined4 *)(iVar6 + 0x114) = 0;\n              FUN_0020ca20();\n              *(undefined4 *)(iVar6 + 0x114) = uVar5;\n              iVar7 = *(int *)(iVar6 + 0x100);\n              if ((uVar15 & 0x400000000) == 0) {\n                puVar14 = (undefined1 *)(unaff_EDI + 0x264d2);\n                uVar12 = 0x3a;\n                while( true ) {\n                  if (iVar7 == 0xff) {\n                    *(undefined1 *)(iVar6 + 0xff) = 0;\n                    (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                    *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                    iVar11 = 1;\n                    iVar7 = 0;\n                  }\n                  else {\n                    iVar11 = iVar7 + 1;\n                  }\n                  puVar14 = puVar14 + 1;\n                  *(int *)(iVar6 + 0x100) = iVar11;\n                  *(undefined1 *)(iVar6 + iVar7) = uVar12;\n                  *(undefined1 *)(iVar6 + 0x104) = uVar12;\n                  if (puVar14 == (undefined1 *)(unaff_EDI + 0x264d4)) break;\n                  uVar12 = *puVar14;\n                  iVar7 = iVar11;\n                }\n              }\n              else {\n                iVar11 = iVar7 + 1;\n                if (iVar7 == 0xff) {\n                  *(undefined1 *)(iVar6 + 0xff) = 0;\n                  (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                  *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                  iVar11 = 1;\n                  iVar7 = 0;\n                }\n                *(int *)(iVar6 + 0x100) = iVar11;\n                *(undefined1 *)(iVar6 + iVar7) = 0x2e;\n                *(undefined1 *)(iVar6 + 0x104) = 0x2e;\n              }\n              local_44 = *(uint **)(piVar4[1] + 0xc);\n              uVar8 = *local_44;\n              if (uVar8 == 0x46) {\n                cVar10 = (code)0x7b;\n                pcVar13 = ioctl + unaff_EDI + 4;\n                iVar7 = *(int *)(iVar6 + 0x100);\n                while( true ) {\n                  if (iVar7 == 0xff) {\n                    *(undefined1 *)(iVar6 + 0xff) = 0;\n                    (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                    *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                    iVar11 = 1;\n                    iVar7 = 0;\n                  }\n                  else {\n                    iVar11 = iVar7 + 1;\n                  }\n                  *(int *)(iVar6 + 0x100) = iVar11;\n                  *(code *)(iVar6 + iVar7) = cVar10;\n                  *(code *)(iVar6 + 0x104) = cVar10;\n                  if (pcVar13 == wcrtomb + unaff_EDI) break;\n                  cVar10 = *pcVar13;\n                  pcVar13 = pcVar13 + 1;\n                  iVar7 = iVar11;\n                }\n                __s = local_35;\n                sprintf(__s,(char *)((int)&__DT_REL[0x263a].r_offset + unaff_EDI + 2),\n                        local_44[3] + 1);\n                sVar9 = strlen(__s);\n                iVar7 = *(int *)(iVar6 + 0x100);\n                if (sVar9 != 0) {\n                  pcVar1 = __s + sVar9;\n                  iVar11 = iVar7;\n                  do {\n                    cVar2 = *__s;\n                    if (iVar11 == 0xff) {\n                      *(undefined1 *)(iVar6 + 0xff) = 0;\n                      (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                      *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                      iVar7 = 1;\n                      iVar11 = 0;\n                    }\n                    else {\n                      iVar7 = iVar11 + 1;\n                    }\n                    __s = __s + 1;\n                    *(int *)(iVar6 + 0x100) = iVar7;\n                    *(char *)(iVar6 + iVar11) = cVar2;\n                    *(char *)(iVar6 + 0x104) = cVar2;\n                    iVar11 = iVar7;\n                  } while (pcVar1 != __s);\n                }\n                puVar14 = (undefined1 *)(unaff_EDI + 0x264d1);\n                uVar12 = 0x7d;\n                do {\n                  if (iVar7 == 0xff) {\n                    *(undefined1 *)(iVar6 + 0xff) = 0;\n                    (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                    *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                    iVar11 = 1;\n                    iVar7 = 0;\n                  }\n                  else {\n                    iVar11 = iVar7 + 1;\n                  }\n                  puVar14 = puVar14 + 1;\n                  *(int *)(iVar6 + 0x100) = iVar11;\n                  *(undefined1 *)(iVar6 + iVar7) = uVar12;\n                  *(undefined1 *)(iVar6 + 0x104) = uVar12;\n                  if ((undefined1 *)(unaff_EDI + 0x264d4) == puVar14) goto LAB_002127e9;\n                  uVar12 = *puVar14;\n                  iVar7 = iVar11;\n                } while( true );\n              }\n              do {\n                if (uVar8 != 0x4c) {\n                  if (uVar8 < 0x4d) {\n                    if (4 < uVar8 - 0x1c) {\nLAB_0021277d:\n                      FUN_0020ca20();\n                      *(undefined4 *)(iVar6 + 0x110) = uVar3;\n                      return;\n                    }\n                  }\n                  else if (1 < uVar8 - 0x4e) goto LAB_0021277d;\n                }\nLAB_002127e9:\n                local_44 = (uint *)local_44[2];\n                uVar8 = *local_44;\n              } while( true );\n            }\n            FUN_00211980();\n            *(undefined4 *)(iVar6 + 0x110) = uVar3;\n          }\n        }\n      }" if (parenthesized_expression "(piVar4[2] == 0)" ( (binary_expression "piVar4[2] == 0" (subscript_expression "piVar4[2]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n        uVar8 = *(uint *)piVar4[1];\n        if (param_1 != 0) goto LAB_00212668;\n        if (uVar8 != 0x4c) {\n          if (uVar8 < 0x4d) {\n            if (4 < uVar8 - 0x1c) goto LAB_00212668;\n          }\n          else if (1 < uVar8 - 0x4e) {\nLAB_00212668:\n            uVar3 = *(undefined4 *)(iVar6 + 0x110);\n            piVar4[2] = 1;\n            *(int *)(iVar6 + 0x110) = piVar4[3];\n            if (uVar8 == 0x29) {\n              FUN_00212300(*piVar4);\n              *(undefined4 *)(iVar6 + 0x110) = uVar3;\n              return;\n            }\n            if (uVar8 == 0x2a) {\n              FUN_00212a20(*piVar4);\n              *(undefined4 *)(iVar6 + 0x110) = uVar3;\n              return;\n            }\n            if (uVar8 == 2) {\n              uVar5 = *(undefined4 *)(iVar6 + 0x114);\n              *(undefined4 *)(iVar6 + 0x114) = 0;\n              FUN_0020ca20();\n              *(undefined4 *)(iVar6 + 0x114) = uVar5;\n              iVar7 = *(int *)(iVar6 + 0x100);\n              if ((uVar15 & 0x400000000) == 0) {\n                puVar14 = (undefined1 *)(unaff_EDI + 0x264d2);\n                uVar12 = 0x3a;\n                while( true ) {\n                  if (iVar7 == 0xff) {\n                    *(undefined1 *)(iVar6 + 0xff) = 0;\n                    (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                    *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                    iVar11 = 1;\n                    iVar7 = 0;\n                  }\n                  else {\n                    iVar11 = iVar7 + 1;\n                  }\n                  puVar14 = puVar14 + 1;\n                  *(int *)(iVar6 + 0x100) = iVar11;\n                  *(undefined1 *)(iVar6 + iVar7) = uVar12;\n                  *(undefined1 *)(iVar6 + 0x104) = uVar12;\n                  if (puVar14 == (undefined1 *)(unaff_EDI + 0x264d4)) break;\n                  uVar12 = *puVar14;\n                  iVar7 = iVar11;\n                }\n              }\n              else {\n                iVar11 = iVar7 + 1;\n                if (iVar7 == 0xff) {\n                  *(undefined1 *)(iVar6 + 0xff) = 0;\n                  (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                  *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                  iVar11 = 1;\n                  iVar7 = 0;\n                }\n                *(int *)(iVar6 + 0x100) = iVar11;\n                *(undefined1 *)(iVar6 + iVar7) = 0x2e;\n                *(undefined1 *)(iVar6 + 0x104) = 0x2e;\n              }\n              local_44 = *(uint **)(piVar4[1] + 0xc);\n              uVar8 = *local_44;\n              if (uVar8 == 0x46) {\n                cVar10 = (code)0x7b;\n                pcVar13 = ioctl + unaff_EDI + 4;\n                iVar7 = *(int *)(iVar6 + 0x100);\n                while( true ) {\n                  if (iVar7 == 0xff) {\n                    *(undefined1 *)(iVar6 + 0xff) = 0;\n                    (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                    *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                    iVar11 = 1;\n                    iVar7 = 0;\n                  }\n                  else {\n                    iVar11 = iVar7 + 1;\n                  }\n                  *(int *)(iVar6 + 0x100) = iVar11;\n                  *(code *)(iVar6 + iVar7) = cVar10;\n                  *(code *)(iVar6 + 0x104) = cVar10;\n                  if (pcVar13 == wcrtomb + unaff_EDI) break;\n                  cVar10 = *pcVar13;\n                  pcVar13 = pcVar13 + 1;\n                  iVar7 = iVar11;\n                }\n                __s = local_35;\n                sprintf(__s,(char *)((int)&__DT_REL[0x263a].r_offset + unaff_EDI + 2),\n                        local_44[3] + 1);\n                sVar9 = strlen(__s);\n                iVar7 = *(int *)(iVar6 + 0x100);\n                if (sVar9 != 0) {\n                  pcVar1 = __s + sVar9;\n                  iVar11 = iVar7;\n                  do {\n                    cVar2 = *__s;\n                    if (iVar11 == 0xff) {\n                      *(undefined1 *)(iVar6 + 0xff) = 0;\n                      (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                      *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                      iVar7 = 1;\n                      iVar11 = 0;\n                    }\n                    else {\n                      iVar7 = iVar11 + 1;\n                    }\n                    __s = __s + 1;\n                    *(int *)(iVar6 + 0x100) = iVar7;\n                    *(char *)(iVar6 + iVar11) = cVar2;\n                    *(char *)(iVar6 + 0x104) = cVar2;\n                    iVar11 = iVar7;\n                  } while (pcVar1 != __s);\n                }\n                puVar14 = (undefined1 *)(unaff_EDI + 0x264d1);\n                uVar12 = 0x7d;\n                do {\n                  if (iVar7 == 0xff) {\n                    *(undefined1 *)(iVar6 + 0xff) = 0;\n                    (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                    *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                    iVar11 = 1;\n                    iVar7 = 0;\n                  }\n                  else {\n                    iVar11 = iVar7 + 1;\n                  }\n                  puVar14 = puVar14 + 1;\n                  *(int *)(iVar6 + 0x100) = iVar11;\n                  *(undefined1 *)(iVar6 + iVar7) = uVar12;\n                  *(undefined1 *)(iVar6 + 0x104) = uVar12;\n                  if ((undefined1 *)(unaff_EDI + 0x264d4) == puVar14) goto LAB_002127e9;\n                  uVar12 = *puVar14;\n                  iVar7 = iVar11;\n                } while( true );\n              }\n              do {\n                if (uVar8 != 0x4c) {\n                  if (uVar8 < 0x4d) {\n                    if (4 < uVar8 - 0x1c) {\nLAB_0021277d:\n                      FUN_0020ca20();\n                      *(undefined4 *)(iVar6 + 0x110) = uVar3;\n                      return;\n                    }\n                  }\n                  else if (1 < uVar8 - 0x4e) goto LAB_0021277d;\n                }\nLAB_002127e9:\n                local_44 = (uint *)local_44[2];\n                uVar8 = *local_44;\n              } while( true );\n            }\n            FUN_00211980();\n            *(undefined4 *)(iVar6 + 0x110) = uVar3;\n          }\n        }\n      }" { (expression_statement "uVar8 = *(uint *)piVar4[1];" (assignment_expression "uVar8 = *(uint *)piVar4[1]" identifier = (pointer_expression "*(uint *)piVar4[1]" * (cast_expression "(uint *)piVar4[1]" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar4[1]" identifier [ number_literal ])))) ;) (if_statement "if (param_1 != 0) goto LAB_00212668;" if (parenthesized_expression "(param_1 != 0)" ( (binary_expression "param_1 != 0" identifier != number_literal) )) (goto_statement "goto LAB_00212668;" goto statement_identifier ;)) (if_statement "if (uVar8 != 0x4c) {\n          if (uVar8 < 0x4d) {\n            if (4 < uVar8 - 0x1c) goto LAB_00212668;\n          }\n          else if (1 < uVar8 - 0x4e) {\nLAB_00212668:\n            uVar3 = *(undefined4 *)(iVar6 + 0x110);\n            piVar4[2] = 1;\n            *(int *)(iVar6 + 0x110) = piVar4[3];\n            if (uVar8 == 0x29) {\n              FUN_00212300(*piVar4);\n              *(undefined4 *)(iVar6 + 0x110) = uVar3;\n              return;\n            }\n            if (uVar8 == 0x2a) {\n              FUN_00212a20(*piVar4);\n              *(undefined4 *)(iVar6 + 0x110) = uVar3;\n              return;\n            }\n            if (uVar8 == 2) {\n              uVar5 = *(undefined4 *)(iVar6 + 0x114);\n              *(undefined4 *)(iVar6 + 0x114) = 0;\n              FUN_0020ca20();\n              *(undefined4 *)(iVar6 + 0x114) = uVar5;\n              iVar7 = *(int *)(iVar6 + 0x100);\n              if ((uVar15 & 0x400000000) == 0) {\n                puVar14 = (undefined1 *)(unaff_EDI + 0x264d2);\n                uVar12 = 0x3a;\n                while( true ) {\n                  if (iVar7 == 0xff) {\n                    *(undefined1 *)(iVar6 + 0xff) = 0;\n                    (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                    *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                    iVar11 = 1;\n                    iVar7 = 0;\n                  }\n                  else {\n                    iVar11 = iVar7 + 1;\n                  }\n                  puVar14 = puVar14 + 1;\n                  *(int *)(iVar6 + 0x100) = iVar11;\n                  *(undefined1 *)(iVar6 + iVar7) = uVar12;\n                  *(undefined1 *)(iVar6 + 0x104) = uVar12;\n                  if (puVar14 == (undefined1 *)(unaff_EDI + 0x264d4)) break;\n                  uVar12 = *puVar14;\n                  iVar7 = iVar11;\n                }\n              }\n              else {\n                iVar11 = iVar7 + 1;\n                if (iVar7 == 0xff) {\n                  *(undefined1 *)(iVar6 + 0xff) = 0;\n                  (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                  *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                  iVar11 = 1;\n                  iVar7 = 0;\n                }\n                *(int *)(iVar6 + 0x100) = iVar11;\n                *(undefined1 *)(iVar6 + iVar7) = 0x2e;\n                *(undefined1 *)(iVar6 + 0x104) = 0x2e;\n              }\n              local_44 = *(uint **)(piVar4[1] + 0xc);\n              uVar8 = *local_44;\n              if (uVar8 == 0x46) {\n                cVar10 = (code)0x7b;\n                pcVar13 = ioctl + unaff_EDI + 4;\n                iVar7 = *(int *)(iVar6 + 0x100);\n                while( true ) {\n                  if (iVar7 == 0xff) {\n                    *(undefined1 *)(iVar6 + 0xff) = 0;\n                    (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                    *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                    iVar11 = 1;\n                    iVar7 = 0;\n                  }\n                  else {\n                    iVar11 = iVar7 + 1;\n                  }\n                  *(int *)(iVar6 + 0x100) = iVar11;\n                  *(code *)(iVar6 + iVar7) = cVar10;\n                  *(code *)(iVar6 + 0x104) = cVar10;\n                  if (pcVar13 == wcrtomb + unaff_EDI) break;\n                  cVar10 = *pcVar13;\n                  pcVar13 = pcVar13 + 1;\n                  iVar7 = iVar11;\n                }\n                __s = local_35;\n                sprintf(__s,(char *)((int)&__DT_REL[0x263a].r_offset + unaff_EDI + 2),\n                        local_44[3] + 1);\n                sVar9 = strlen(__s);\n                iVar7 = *(int *)(iVar6 + 0x100);\n                if (sVar9 != 0) {\n                  pcVar1 = __s + sVar9;\n                  iVar11 = iVar7;\n                  do {\n                    cVar2 = *__s;\n                    if (iVar11 == 0xff) {\n                      *(undefined1 *)(iVar6 + 0xff) = 0;\n                      (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                      *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                      iVar7 = 1;\n                      iVar11 = 0;\n                    }\n                    else {\n                      iVar7 = iVar11 + 1;\n                    }\n                    __s = __s + 1;\n                    *(int *)(iVar6 + 0x100) = iVar7;\n                    *(char *)(iVar6 + iVar11) = cVar2;\n                    *(char *)(iVar6 + 0x104) = cVar2;\n                    iVar11 = iVar7;\n                  } while (pcVar1 != __s);\n                }\n                puVar14 = (undefined1 *)(unaff_EDI + 0x264d1);\n                uVar12 = 0x7d;\n                do {\n                  if (iVar7 == 0xff) {\n                    *(undefined1 *)(iVar6 + 0xff) = 0;\n                    (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                    *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                    iVar11 = 1;\n                    iVar7 = 0;\n                  }\n                  else {\n                    iVar11 = iVar7 + 1;\n                  }\n                  puVar14 = puVar14 + 1;\n                  *(int *)(iVar6 + 0x100) = iVar11;\n                  *(undefined1 *)(iVar6 + iVar7) = uVar12;\n                  *(undefined1 *)(iVar6 + 0x104) = uVar12;\n                  if ((undefined1 *)(unaff_EDI + 0x264d4) == puVar14) goto LAB_002127e9;\n                  uVar12 = *puVar14;\n                  iVar7 = iVar11;\n                } while( true );\n              }\n              do {\n                if (uVar8 != 0x4c) {\n                  if (uVar8 < 0x4d) {\n                    if (4 < uVar8 - 0x1c) {\nLAB_0021277d:\n                      FUN_0020ca20();\n                      *(undefined4 *)(iVar6 + 0x110) = uVar3;\n                      return;\n                    }\n                  }\n                  else if (1 < uVar8 - 0x4e) goto LAB_0021277d;\n                }\nLAB_002127e9:\n                local_44 = (uint *)local_44[2];\n                uVar8 = *local_44;\n              } while( true );\n            }\n            FUN_00211980();\n            *(undefined4 *)(iVar6 + 0x110) = uVar3;\n          }\n        }" if (parenthesized_expression "(uVar8 != 0x4c)" ( (binary_expression "uVar8 != 0x4c" identifier != number_literal) )) (compound_statement "{\n          if (uVar8 < 0x4d) {\n            if (4 < uVar8 - 0x1c) goto LAB_00212668;\n          }\n          else if (1 < uVar8 - 0x4e) {\nLAB_00212668:\n            uVar3 = *(undefined4 *)(iVar6 + 0x110);\n            piVar4[2] = 1;\n            *(int *)(iVar6 + 0x110) = piVar4[3];\n            if (uVar8 == 0x29) {\n              FUN_00212300(*piVar4);\n              *(undefined4 *)(iVar6 + 0x110) = uVar3;\n              return;\n            }\n            if (uVar8 == 0x2a) {\n              FUN_00212a20(*piVar4);\n              *(undefined4 *)(iVar6 + 0x110) = uVar3;\n              return;\n            }\n            if (uVar8 == 2) {\n              uVar5 = *(undefined4 *)(iVar6 + 0x114);\n              *(undefined4 *)(iVar6 + 0x114) = 0;\n              FUN_0020ca20();\n              *(undefined4 *)(iVar6 + 0x114) = uVar5;\n              iVar7 = *(int *)(iVar6 + 0x100);\n              if ((uVar15 & 0x400000000) == 0) {\n                puVar14 = (undefined1 *)(unaff_EDI + 0x264d2);\n                uVar12 = 0x3a;\n                while( true ) {\n                  if (iVar7 == 0xff) {\n                    *(undefined1 *)(iVar6 + 0xff) = 0;\n                    (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                    *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                    iVar11 = 1;\n                    iVar7 = 0;\n                  }\n                  else {\n                    iVar11 = iVar7 + 1;\n                  }\n                  puVar14 = puVar14 + 1;\n                  *(int *)(iVar6 + 0x100) = iVar11;\n                  *(undefined1 *)(iVar6 + iVar7) = uVar12;\n                  *(undefined1 *)(iVar6 + 0x104) = uVar12;\n                  if (puVar14 == (undefined1 *)(unaff_EDI + 0x264d4)) break;\n                  uVar12 = *puVar14;\n                  iVar7 = iVar11;\n                }\n              }\n              else {\n                iVar11 = iVar7 + 1;\n                if (iVar7 == 0xff) {\n                  *(undefined1 *)(iVar6 + 0xff) = 0;\n                  (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                  *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                  iVar11 = 1;\n                  iVar7 = 0;\n                }\n                *(int *)(iVar6 + 0x100) = iVar11;\n                *(undefined1 *)(iVar6 + iVar7) = 0x2e;\n                *(undefined1 *)(iVar6 + 0x104) = 0x2e;\n              }\n              local_44 = *(uint **)(piVar4[1] + 0xc);\n              uVar8 = *local_44;\n              if (uVar8 == 0x46) {\n                cVar10 = (code)0x7b;\n                pcVar13 = ioctl + unaff_EDI + 4;\n                iVar7 = *(int *)(iVar6 + 0x100);\n                while( true ) {\n                  if (iVar7 == 0xff) {\n                    *(undefined1 *)(iVar6 + 0xff) = 0;\n                    (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                    *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                    iVar11 = 1;\n                    iVar7 = 0;\n                  }\n                  else {\n                    iVar11 = iVar7 + 1;\n                  }\n                  *(int *)(iVar6 + 0x100) = iVar11;\n                  *(code *)(iVar6 + iVar7) = cVar10;\n                  *(code *)(iVar6 + 0x104) = cVar10;\n                  if (pcVar13 == wcrtomb + unaff_EDI) break;\n                  cVar10 = *pcVar13;\n                  pcVar13 = pcVar13 + 1;\n                  iVar7 = iVar11;\n                }\n                __s = local_35;\n                sprintf(__s,(char *)((int)&__DT_REL[0x263a].r_offset + unaff_EDI + 2),\n                        local_44[3] + 1);\n                sVar9 = strlen(__s);\n                iVar7 = *(int *)(iVar6 + 0x100);\n                if (sVar9 != 0) {\n                  pcVar1 = __s + sVar9;\n                  iVar11 = iVar7;\n                  do {\n                    cVar2 = *__s;\n                    if (iVar11 == 0xff) {\n                      *(undefined1 *)(iVar6 + 0xff) = 0;\n                      (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                      *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                      iVar7 = 1;\n                      iVar11 = 0;\n                    }\n                    else {\n                      iVar7 = iVar11 + 1;\n                    }\n                    __s = __s + 1;\n                    *(int *)(iVar6 + 0x100) = iVar7;\n                    *(char *)(iVar6 + iVar11) = cVar2;\n                    *(char *)(iVar6 + 0x104) = cVar2;\n                    iVar11 = iVar7;\n                  } while (pcVar1 != __s);\n                }\n                puVar14 = (undefined1 *)(unaff_EDI + 0x264d1);\n                uVar12 = 0x7d;\n                do {\n                  if (iVar7 == 0xff) {\n                    *(undefined1 *)(iVar6 + 0xff) = 0;\n                    (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                    *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                    iVar11 = 1;\n                    iVar7 = 0;\n                  }\n                  else {\n                    iVar11 = iVar7 + 1;\n                  }\n                  puVar14 = puVar14 + 1;\n                  *(int *)(iVar6 + 0x100) = iVar11;\n                  *(undefined1 *)(iVar6 + iVar7) = uVar12;\n                  *(undefined1 *)(iVar6 + 0x104) = uVar12;\n                  if ((undefined1 *)(unaff_EDI + 0x264d4) == puVar14) goto LAB_002127e9;\n                  uVar12 = *puVar14;\n                  iVar7 = iVar11;\n                } while( true );\n              }\n              do {\n                if (uVar8 != 0x4c) {\n                  if (uVar8 < 0x4d) {\n                    if (4 < uVar8 - 0x1c) {\nLAB_0021277d:\n                      FUN_0020ca20();\n                      *(undefined4 *)(iVar6 + 0x110) = uVar3;\n                      return;\n                    }\n                  }\n                  else if (1 < uVar8 - 0x4e) goto LAB_0021277d;\n                }\nLAB_002127e9:\n                local_44 = (uint *)local_44[2];\n                uVar8 = *local_44;\n              } while( true );\n            }\n            FUN_00211980();\n            *(undefined4 *)(iVar6 + 0x110) = uVar3;\n          }\n        }" { (if_statement "if (uVar8 < 0x4d) {\n            if (4 < uVar8 - 0x1c) goto LAB_00212668;\n          }\n          else if (1 < uVar8 - 0x4e) {\nLAB_00212668:\n            uVar3 = *(undefined4 *)(iVar6 + 0x110);\n            piVar4[2] = 1;\n            *(int *)(iVar6 + 0x110) = piVar4[3];\n            if (uVar8 == 0x29) {\n              FUN_00212300(*piVar4);\n              *(undefined4 *)(iVar6 + 0x110) = uVar3;\n              return;\n            }\n            if (uVar8 == 0x2a) {\n              FUN_00212a20(*piVar4);\n              *(undefined4 *)(iVar6 + 0x110) = uVar3;\n              return;\n            }\n            if (uVar8 == 2) {\n              uVar5 = *(undefined4 *)(iVar6 + 0x114);\n              *(undefined4 *)(iVar6 + 0x114) = 0;\n              FUN_0020ca20();\n              *(undefined4 *)(iVar6 + 0x114) = uVar5;\n              iVar7 = *(int *)(iVar6 + 0x100);\n              if ((uVar15 & 0x400000000) == 0) {\n                puVar14 = (undefined1 *)(unaff_EDI + 0x264d2);\n                uVar12 = 0x3a;\n                while( true ) {\n                  if (iVar7 == 0xff) {\n                    *(undefined1 *)(iVar6 + 0xff) = 0;\n                    (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                    *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                    iVar11 = 1;\n                    iVar7 = 0;\n                  }\n                  else {\n                    iVar11 = iVar7 + 1;\n                  }\n                  puVar14 = puVar14 + 1;\n                  *(int *)(iVar6 + 0x100) = iVar11;\n                  *(undefined1 *)(iVar6 + iVar7) = uVar12;\n                  *(undefined1 *)(iVar6 + 0x104) = uVar12;\n                  if (puVar14 == (undefined1 *)(unaff_EDI + 0x264d4)) break;\n                  uVar12 = *puVar14;\n                  iVar7 = iVar11;\n                }\n              }\n              else {\n                iVar11 = iVar7 + 1;\n                if (iVar7 == 0xff) {\n                  *(undefined1 *)(iVar6 + 0xff) = 0;\n                  (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                  *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                  iVar11 = 1;\n                  iVar7 = 0;\n                }\n                *(int *)(iVar6 + 0x100) = iVar11;\n                *(undefined1 *)(iVar6 + iVar7) = 0x2e;\n                *(undefined1 *)(iVar6 + 0x104) = 0x2e;\n              }\n              local_44 = *(uint **)(piVar4[1] + 0xc);\n              uVar8 = *local_44;\n              if (uVar8 == 0x46) {\n                cVar10 = (code)0x7b;\n                pcVar13 = ioctl + unaff_EDI + 4;\n                iVar7 = *(int *)(iVar6 + 0x100);\n                while( true ) {\n                  if (iVar7 == 0xff) {\n                    *(undefined1 *)(iVar6 + 0xff) = 0;\n                    (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                    *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                    iVar11 = 1;\n                    iVar7 = 0;\n                  }\n                  else {\n                    iVar11 = iVar7 + 1;\n                  }\n                  *(int *)(iVar6 + 0x100) = iVar11;\n                  *(code *)(iVar6 + iVar7) = cVar10;\n                  *(code *)(iVar6 + 0x104) = cVar10;\n                  if (pcVar13 == wcrtomb + unaff_EDI) break;\n                  cVar10 = *pcVar13;\n                  pcVar13 = pcVar13 + 1;\n                  iVar7 = iVar11;\n                }\n                __s = local_35;\n                sprintf(__s,(char *)((int)&__DT_REL[0x263a].r_offset + unaff_EDI + 2),\n                        local_44[3] + 1);\n                sVar9 = strlen(__s);\n                iVar7 = *(int *)(iVar6 + 0x100);\n                if (sVar9 != 0) {\n                  pcVar1 = __s + sVar9;\n                  iVar11 = iVar7;\n                  do {\n                    cVar2 = *__s;\n                    if (iVar11 == 0xff) {\n                      *(undefined1 *)(iVar6 + 0xff) = 0;\n                      (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                      *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                      iVar7 = 1;\n                      iVar11 = 0;\n                    }\n                    else {\n                      iVar7 = iVar11 + 1;\n                    }\n                    __s = __s + 1;\n                    *(int *)(iVar6 + 0x100) = iVar7;\n                    *(char *)(iVar6 + iVar11) = cVar2;\n                    *(char *)(iVar6 + 0x104) = cVar2;\n                    iVar11 = iVar7;\n                  } while (pcVar1 != __s);\n                }\n                puVar14 = (undefined1 *)(unaff_EDI + 0x264d1);\n                uVar12 = 0x7d;\n                do {\n                  if (iVar7 == 0xff) {\n                    *(undefined1 *)(iVar6 + 0xff) = 0;\n                    (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                    *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                    iVar11 = 1;\n                    iVar7 = 0;\n                  }\n                  else {\n                    iVar11 = iVar7 + 1;\n                  }\n                  puVar14 = puVar14 + 1;\n                  *(int *)(iVar6 + 0x100) = iVar11;\n                  *(undefined1 *)(iVar6 + iVar7) = uVar12;\n                  *(undefined1 *)(iVar6 + 0x104) = uVar12;\n                  if ((undefined1 *)(unaff_EDI + 0x264d4) == puVar14) goto LAB_002127e9;\n                  uVar12 = *puVar14;\n                  iVar7 = iVar11;\n                } while( true );\n              }\n              do {\n                if (uVar8 != 0x4c) {\n                  if (uVar8 < 0x4d) {\n                    if (4 < uVar8 - 0x1c) {\nLAB_0021277d:\n                      FUN_0020ca20();\n                      *(undefined4 *)(iVar6 + 0x110) = uVar3;\n                      return;\n                    }\n                  }\n                  else if (1 < uVar8 - 0x4e) goto LAB_0021277d;\n                }\nLAB_002127e9:\n                local_44 = (uint *)local_44[2];\n                uVar8 = *local_44;\n              } while( true );\n            }\n            FUN_00211980();\n            *(undefined4 *)(iVar6 + 0x110) = uVar3;\n          }" if (parenthesized_expression "(uVar8 < 0x4d)" ( (binary_expression "uVar8 < 0x4d" identifier < number_literal) )) (compound_statement "{\n            if (4 < uVar8 - 0x1c) goto LAB_00212668;\n          }" { (if_statement "if (4 < uVar8 - 0x1c) goto LAB_00212668;" if (parenthesized_expression "(4 < uVar8 - 0x1c)" ( (binary_expression "4 < uVar8 - 0x1c" number_literal < (binary_expression "uVar8 - 0x1c" identifier - number_literal)) )) (goto_statement "goto LAB_00212668;" goto statement_identifier ;)) }) (else_clause "else if (1 < uVar8 - 0x4e) {\nLAB_00212668:\n            uVar3 = *(undefined4 *)(iVar6 + 0x110);\n            piVar4[2] = 1;\n            *(int *)(iVar6 + 0x110) = piVar4[3];\n            if (uVar8 == 0x29) {\n              FUN_00212300(*piVar4);\n              *(undefined4 *)(iVar6 + 0x110) = uVar3;\n              return;\n            }\n            if (uVar8 == 0x2a) {\n              FUN_00212a20(*piVar4);\n              *(undefined4 *)(iVar6 + 0x110) = uVar3;\n              return;\n            }\n            if (uVar8 == 2) {\n              uVar5 = *(undefined4 *)(iVar6 + 0x114);\n              *(undefined4 *)(iVar6 + 0x114) = 0;\n              FUN_0020ca20();\n              *(undefined4 *)(iVar6 + 0x114) = uVar5;\n              iVar7 = *(int *)(iVar6 + 0x100);\n              if ((uVar15 & 0x400000000) == 0) {\n                puVar14 = (undefined1 *)(unaff_EDI + 0x264d2);\n                uVar12 = 0x3a;\n                while( true ) {\n                  if (iVar7 == 0xff) {\n                    *(undefined1 *)(iVar6 + 0xff) = 0;\n                    (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                    *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                    iVar11 = 1;\n                    iVar7 = 0;\n                  }\n                  else {\n                    iVar11 = iVar7 + 1;\n                  }\n                  puVar14 = puVar14 + 1;\n                  *(int *)(iVar6 + 0x100) = iVar11;\n                  *(undefined1 *)(iVar6 + iVar7) = uVar12;\n                  *(undefined1 *)(iVar6 + 0x104) = uVar12;\n                  if (puVar14 == (undefined1 *)(unaff_EDI + 0x264d4)) break;\n                  uVar12 = *puVar14;\n                  iVar7 = iVar11;\n                }\n              }\n              else {\n                iVar11 = iVar7 + 1;\n                if (iVar7 == 0xff) {\n                  *(undefined1 *)(iVar6 + 0xff) = 0;\n                  (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                  *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                  iVar11 = 1;\n                  iVar7 = 0;\n                }\n                *(int *)(iVar6 + 0x100) = iVar11;\n                *(undefined1 *)(iVar6 + iVar7) = 0x2e;\n                *(undefined1 *)(iVar6 + 0x104) = 0x2e;\n              }\n              local_44 = *(uint **)(piVar4[1] + 0xc);\n              uVar8 = *local_44;\n              if (uVar8 == 0x46) {\n                cVar10 = (code)0x7b;\n                pcVar13 = ioctl + unaff_EDI + 4;\n                iVar7 = *(int *)(iVar6 + 0x100);\n                while( true ) {\n                  if (iVar7 == 0xff) {\n                    *(undefined1 *)(iVar6 + 0xff) = 0;\n                    (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                    *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                    iVar11 = 1;\n                    iVar7 = 0;\n                  }\n                  else {\n                    iVar11 = iVar7 + 1;\n                  }\n                  *(int *)(iVar6 + 0x100) = iVar11;\n                  *(code *)(iVar6 + iVar7) = cVar10;\n                  *(code *)(iVar6 + 0x104) = cVar10;\n                  if (pcVar13 == wcrtomb + unaff_EDI) break;\n                  cVar10 = *pcVar13;\n                  pcVar13 = pcVar13 + 1;\n                  iVar7 = iVar11;\n                }\n                __s = local_35;\n                sprintf(__s,(char *)((int)&__DT_REL[0x263a].r_offset + unaff_EDI + 2),\n                        local_44[3] + 1);\n                sVar9 = strlen(__s);\n                iVar7 = *(int *)(iVar6 + 0x100);\n                if (sVar9 != 0) {\n                  pcVar1 = __s + sVar9;\n                  iVar11 = iVar7;\n                  do {\n                    cVar2 = *__s;\n                    if (iVar11 == 0xff) {\n                      *(undefined1 *)(iVar6 + 0xff) = 0;\n                      (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                      *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                      iVar7 = 1;\n                      iVar11 = 0;\n                    }\n                    else {\n                      iVar7 = iVar11 + 1;\n                    }\n                    __s = __s + 1;\n                    *(int *)(iVar6 + 0x100) = iVar7;\n                    *(char *)(iVar6 + iVar11) = cVar2;\n                    *(char *)(iVar6 + 0x104) = cVar2;\n                    iVar11 = iVar7;\n                  } while (pcVar1 != __s);\n                }\n                puVar14 = (undefined1 *)(unaff_EDI + 0x264d1);\n                uVar12 = 0x7d;\n                do {\n                  if (iVar7 == 0xff) {\n                    *(undefined1 *)(iVar6 + 0xff) = 0;\n                    (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                    *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                    iVar11 = 1;\n                    iVar7 = 0;\n                  }\n                  else {\n                    iVar11 = iVar7 + 1;\n                  }\n                  puVar14 = puVar14 + 1;\n                  *(int *)(iVar6 + 0x100) = iVar11;\n                  *(undefined1 *)(iVar6 + iVar7) = uVar12;\n                  *(undefined1 *)(iVar6 + 0x104) = uVar12;\n                  if ((undefined1 *)(unaff_EDI + 0x264d4) == puVar14) goto LAB_002127e9;\n                  uVar12 = *puVar14;\n                  iVar7 = iVar11;\n                } while( true );\n              }\n              do {\n                if (uVar8 != 0x4c) {\n                  if (uVar8 < 0x4d) {\n                    if (4 < uVar8 - 0x1c) {\nLAB_0021277d:\n                      FUN_0020ca20();\n                      *(undefined4 *)(iVar6 + 0x110) = uVar3;\n                      return;\n                    }\n                  }\n                  else if (1 < uVar8 - 0x4e) goto LAB_0021277d;\n                }\nLAB_002127e9:\n                local_44 = (uint *)local_44[2];\n                uVar8 = *local_44;\n              } while( true );\n            }\n            FUN_00211980();\n            *(undefined4 *)(iVar6 + 0x110) = uVar3;\n          }" else (if_statement "if (1 < uVar8 - 0x4e) {\nLAB_00212668:\n            uVar3 = *(undefined4 *)(iVar6 + 0x110);\n            piVar4[2] = 1;\n            *(int *)(iVar6 + 0x110) = piVar4[3];\n            if (uVar8 == 0x29) {\n              FUN_00212300(*piVar4);\n              *(undefined4 *)(iVar6 + 0x110) = uVar3;\n              return;\n            }\n            if (uVar8 == 0x2a) {\n              FUN_00212a20(*piVar4);\n              *(undefined4 *)(iVar6 + 0x110) = uVar3;\n              return;\n            }\n            if (uVar8 == 2) {\n              uVar5 = *(undefined4 *)(iVar6 + 0x114);\n              *(undefined4 *)(iVar6 + 0x114) = 0;\n              FUN_0020ca20();\n              *(undefined4 *)(iVar6 + 0x114) = uVar5;\n              iVar7 = *(int *)(iVar6 + 0x100);\n              if ((uVar15 & 0x400000000) == 0) {\n                puVar14 = (undefined1 *)(unaff_EDI + 0x264d2);\n                uVar12 = 0x3a;\n                while( true ) {\n                  if (iVar7 == 0xff) {\n                    *(undefined1 *)(iVar6 + 0xff) = 0;\n                    (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                    *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                    iVar11 = 1;\n                    iVar7 = 0;\n                  }\n                  else {\n                    iVar11 = iVar7 + 1;\n                  }\n                  puVar14 = puVar14 + 1;\n                  *(int *)(iVar6 + 0x100) = iVar11;\n                  *(undefined1 *)(iVar6 + iVar7) = uVar12;\n                  *(undefined1 *)(iVar6 + 0x104) = uVar12;\n                  if (puVar14 == (undefined1 *)(unaff_EDI + 0x264d4)) break;\n                  uVar12 = *puVar14;\n                  iVar7 = iVar11;\n                }\n              }\n              else {\n                iVar11 = iVar7 + 1;\n                if (iVar7 == 0xff) {\n                  *(undefined1 *)(iVar6 + 0xff) = 0;\n                  (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                  *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                  iVar11 = 1;\n                  iVar7 = 0;\n                }\n                *(int *)(iVar6 + 0x100) = iVar11;\n                *(undefined1 *)(iVar6 + iVar7) = 0x2e;\n                *(undefined1 *)(iVar6 + 0x104) = 0x2e;\n              }\n              local_44 = *(uint **)(piVar4[1] + 0xc);\n              uVar8 = *local_44;\n              if (uVar8 == 0x46) {\n                cVar10 = (code)0x7b;\n                pcVar13 = ioctl + unaff_EDI + 4;\n                iVar7 = *(int *)(iVar6 + 0x100);\n                while( true ) {\n                  if (iVar7 == 0xff) {\n                    *(undefined1 *)(iVar6 + 0xff) = 0;\n                    (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                    *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                    iVar11 = 1;\n                    iVar7 = 0;\n                  }\n                  else {\n                    iVar11 = iVar7 + 1;\n                  }\n                  *(int *)(iVar6 + 0x100) = iVar11;\n                  *(code *)(iVar6 + iVar7) = cVar10;\n                  *(code *)(iVar6 + 0x104) = cVar10;\n                  if (pcVar13 == wcrtomb + unaff_EDI) break;\n                  cVar10 = *pcVar13;\n                  pcVar13 = pcVar13 + 1;\n                  iVar7 = iVar11;\n                }\n                __s = local_35;\n                sprintf(__s,(char *)((int)&__DT_REL[0x263a].r_offset + unaff_EDI + 2),\n                        local_44[3] + 1);\n                sVar9 = strlen(__s);\n                iVar7 = *(int *)(iVar6 + 0x100);\n                if (sVar9 != 0) {\n                  pcVar1 = __s + sVar9;\n                  iVar11 = iVar7;\n                  do {\n                    cVar2 = *__s;\n                    if (iVar11 == 0xff) {\n                      *(undefined1 *)(iVar6 + 0xff) = 0;\n                      (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                      *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                      iVar7 = 1;\n                      iVar11 = 0;\n                    }\n                    else {\n                      iVar7 = iVar11 + 1;\n                    }\n                    __s = __s + 1;\n                    *(int *)(iVar6 + 0x100) = iVar7;\n                    *(char *)(iVar6 + iVar11) = cVar2;\n                    *(char *)(iVar6 + 0x104) = cVar2;\n                    iVar11 = iVar7;\n                  } while (pcVar1 != __s);\n                }\n                puVar14 = (undefined1 *)(unaff_EDI + 0x264d1);\n                uVar12 = 0x7d;\n                do {\n                  if (iVar7 == 0xff) {\n                    *(undefined1 *)(iVar6 + 0xff) = 0;\n                    (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                    *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                    iVar11 = 1;\n                    iVar7 = 0;\n                  }\n                  else {\n                    iVar11 = iVar7 + 1;\n                  }\n                  puVar14 = puVar14 + 1;\n                  *(int *)(iVar6 + 0x100) = iVar11;\n                  *(undefined1 *)(iVar6 + iVar7) = uVar12;\n                  *(undefined1 *)(iVar6 + 0x104) = uVar12;\n                  if ((undefined1 *)(unaff_EDI + 0x264d4) == puVar14) goto LAB_002127e9;\n                  uVar12 = *puVar14;\n                  iVar7 = iVar11;\n                } while( true );\n              }\n              do {\n                if (uVar8 != 0x4c) {\n                  if (uVar8 < 0x4d) {\n                    if (4 < uVar8 - 0x1c) {\nLAB_0021277d:\n                      FUN_0020ca20();\n                      *(undefined4 *)(iVar6 + 0x110) = uVar3;\n                      return;\n                    }\n                  }\n                  else if (1 < uVar8 - 0x4e) goto LAB_0021277d;\n                }\nLAB_002127e9:\n                local_44 = (uint *)local_44[2];\n                uVar8 = *local_44;\n              } while( true );\n            }\n            FUN_00211980();\n            *(undefined4 *)(iVar6 + 0x110) = uVar3;\n          }" if (parenthesized_expression "(1 < uVar8 - 0x4e)" ( (binary_expression "1 < uVar8 - 0x4e" number_literal < (binary_expression "uVar8 - 0x4e" identifier - number_literal)) )) (compound_statement "{\nLAB_00212668:\n            uVar3 = *(undefined4 *)(iVar6 + 0x110);\n            piVar4[2] = 1;\n            *(int *)(iVar6 + 0x110) = piVar4[3];\n            if (uVar8 == 0x29) {\n              FUN_00212300(*piVar4);\n              *(undefined4 *)(iVar6 + 0x110) = uVar3;\n              return;\n            }\n            if (uVar8 == 0x2a) {\n              FUN_00212a20(*piVar4);\n              *(undefined4 *)(iVar6 + 0x110) = uVar3;\n              return;\n            }\n            if (uVar8 == 2) {\n              uVar5 = *(undefined4 *)(iVar6 + 0x114);\n              *(undefined4 *)(iVar6 + 0x114) = 0;\n              FUN_0020ca20();\n              *(undefined4 *)(iVar6 + 0x114) = uVar5;\n              iVar7 = *(int *)(iVar6 + 0x100);\n              if ((uVar15 & 0x400000000) == 0) {\n                puVar14 = (undefined1 *)(unaff_EDI + 0x264d2);\n                uVar12 = 0x3a;\n                while( true ) {\n                  if (iVar7 == 0xff) {\n                    *(undefined1 *)(iVar6 + 0xff) = 0;\n                    (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                    *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                    iVar11 = 1;\n                    iVar7 = 0;\n                  }\n                  else {\n                    iVar11 = iVar7 + 1;\n                  }\n                  puVar14 = puVar14 + 1;\n                  *(int *)(iVar6 + 0x100) = iVar11;\n                  *(undefined1 *)(iVar6 + iVar7) = uVar12;\n                  *(undefined1 *)(iVar6 + 0x104) = uVar12;\n                  if (puVar14 == (undefined1 *)(unaff_EDI + 0x264d4)) break;\n                  uVar12 = *puVar14;\n                  iVar7 = iVar11;\n                }\n              }\n              else {\n                iVar11 = iVar7 + 1;\n                if (iVar7 == 0xff) {\n                  *(undefined1 *)(iVar6 + 0xff) = 0;\n                  (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                  *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                  iVar11 = 1;\n                  iVar7 = 0;\n                }\n                *(int *)(iVar6 + 0x100) = iVar11;\n                *(undefined1 *)(iVar6 + iVar7) = 0x2e;\n                *(undefined1 *)(iVar6 + 0x104) = 0x2e;\n              }\n              local_44 = *(uint **)(piVar4[1] + 0xc);\n              uVar8 = *local_44;\n              if (uVar8 == 0x46) {\n                cVar10 = (code)0x7b;\n                pcVar13 = ioctl + unaff_EDI + 4;\n                iVar7 = *(int *)(iVar6 + 0x100);\n                while( true ) {\n                  if (iVar7 == 0xff) {\n                    *(undefined1 *)(iVar6 + 0xff) = 0;\n                    (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                    *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                    iVar11 = 1;\n                    iVar7 = 0;\n                  }\n                  else {\n                    iVar11 = iVar7 + 1;\n                  }\n                  *(int *)(iVar6 + 0x100) = iVar11;\n                  *(code *)(iVar6 + iVar7) = cVar10;\n                  *(code *)(iVar6 + 0x104) = cVar10;\n                  if (pcVar13 == wcrtomb + unaff_EDI) break;\n                  cVar10 = *pcVar13;\n                  pcVar13 = pcVar13 + 1;\n                  iVar7 = iVar11;\n                }\n                __s = local_35;\n                sprintf(__s,(char *)((int)&__DT_REL[0x263a].r_offset + unaff_EDI + 2),\n                        local_44[3] + 1);\n                sVar9 = strlen(__s);\n                iVar7 = *(int *)(iVar6 + 0x100);\n                if (sVar9 != 0) {\n                  pcVar1 = __s + sVar9;\n                  iVar11 = iVar7;\n                  do {\n                    cVar2 = *__s;\n                    if (iVar11 == 0xff) {\n                      *(undefined1 *)(iVar6 + 0xff) = 0;\n                      (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                      *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                      iVar7 = 1;\n                      iVar11 = 0;\n                    }\n                    else {\n                      iVar7 = iVar11 + 1;\n                    }\n                    __s = __s + 1;\n                    *(int *)(iVar6 + 0x100) = iVar7;\n                    *(char *)(iVar6 + iVar11) = cVar2;\n                    *(char *)(iVar6 + 0x104) = cVar2;\n                    iVar11 = iVar7;\n                  } while (pcVar1 != __s);\n                }\n                puVar14 = (undefined1 *)(unaff_EDI + 0x264d1);\n                uVar12 = 0x7d;\n                do {\n                  if (iVar7 == 0xff) {\n                    *(undefined1 *)(iVar6 + 0xff) = 0;\n                    (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                    *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                    iVar11 = 1;\n                    iVar7 = 0;\n                  }\n                  else {\n                    iVar11 = iVar7 + 1;\n                  }\n                  puVar14 = puVar14 + 1;\n                  *(int *)(iVar6 + 0x100) = iVar11;\n                  *(undefined1 *)(iVar6 + iVar7) = uVar12;\n                  *(undefined1 *)(iVar6 + 0x104) = uVar12;\n                  if ((undefined1 *)(unaff_EDI + 0x264d4) == puVar14) goto LAB_002127e9;\n                  uVar12 = *puVar14;\n                  iVar7 = iVar11;\n                } while( true );\n              }\n              do {\n                if (uVar8 != 0x4c) {\n                  if (uVar8 < 0x4d) {\n                    if (4 < uVar8 - 0x1c) {\nLAB_0021277d:\n                      FUN_0020ca20();\n                      *(undefined4 *)(iVar6 + 0x110) = uVar3;\n                      return;\n                    }\n                  }\n                  else if (1 < uVar8 - 0x4e) goto LAB_0021277d;\n                }\nLAB_002127e9:\n                local_44 = (uint *)local_44[2];\n                uVar8 = *local_44;\n              } while( true );\n            }\n            FUN_00211980();\n            *(undefined4 *)(iVar6 + 0x110) = uVar3;\n          }" { (labeled_statement "LAB_00212668:\n            uVar3 = *(undefined4 *)(iVar6 + 0x110);" statement_identifier : (expression_statement "uVar3 = *(undefined4 *)(iVar6 + 0x110);" (assignment_expression "uVar3 = *(undefined4 *)(iVar6 + 0x110)" identifier = (pointer_expression "*(undefined4 *)(iVar6 + 0x110)" * (cast_expression "(undefined4 *)(iVar6 + 0x110)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x110)" ( (binary_expression "iVar6 + 0x110" identifier + number_literal) ))))) ;)) (expression_statement "piVar4[2] = 1;" (assignment_expression "piVar4[2] = 1" (subscript_expression "piVar4[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*(int *)(iVar6 + 0x110) = piVar4[3];" (assignment_expression "*(int *)(iVar6 + 0x110) = piVar4[3]" (pointer_expression "*(int *)(iVar6 + 0x110)" * (cast_expression "(int *)(iVar6 + 0x110)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x110)" ( (binary_expression "iVar6 + 0x110" identifier + number_literal) )))) = (subscript_expression "piVar4[3]" identifier [ number_literal ])) ;) (if_statement "if (uVar8 == 0x29) {\n              FUN_00212300(*piVar4);\n              *(undefined4 *)(iVar6 + 0x110) = uVar3;\n              return;\n            }" if (parenthesized_expression "(uVar8 == 0x29)" ( (binary_expression "uVar8 == 0x29" identifier == number_literal) )) (compound_statement "{\n              FUN_00212300(*piVar4);\n              *(undefined4 *)(iVar6 + 0x110) = uVar3;\n              return;\n            }" { (expression_statement "FUN_00212300(*piVar4);" (call_expression "FUN_00212300(*piVar4)" identifier (argument_list "(*piVar4)" ( (pointer_expression "*piVar4" * identifier) ))) ;) (expression_statement "*(undefined4 *)(iVar6 + 0x110) = uVar3;" (assignment_expression "*(undefined4 *)(iVar6 + 0x110) = uVar3" (pointer_expression "*(undefined4 *)(iVar6 + 0x110)" * (cast_expression "(undefined4 *)(iVar6 + 0x110)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x110)" ( (binary_expression "iVar6 + 0x110" identifier + number_literal) )))) = identifier) ;) (return_statement "return;" return ;) })) (if_statement "if (uVar8 == 0x2a) {\n              FUN_00212a20(*piVar4);\n              *(undefined4 *)(iVar6 + 0x110) = uVar3;\n              return;\n            }" if (parenthesized_expression "(uVar8 == 0x2a)" ( (binary_expression "uVar8 == 0x2a" identifier == number_literal) )) (compound_statement "{\n              FUN_00212a20(*piVar4);\n              *(undefined4 *)(iVar6 + 0x110) = uVar3;\n              return;\n            }" { (expression_statement "FUN_00212a20(*piVar4);" (call_expression "FUN_00212a20(*piVar4)" identifier (argument_list "(*piVar4)" ( (pointer_expression "*piVar4" * identifier) ))) ;) (expression_statement "*(undefined4 *)(iVar6 + 0x110) = uVar3;" (assignment_expression "*(undefined4 *)(iVar6 + 0x110) = uVar3" (pointer_expression "*(undefined4 *)(iVar6 + 0x110)" * (cast_expression "(undefined4 *)(iVar6 + 0x110)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x110)" ( (binary_expression "iVar6 + 0x110" identifier + number_literal) )))) = identifier) ;) (return_statement "return;" return ;) })) (if_statement "if (uVar8 == 2) {\n              uVar5 = *(undefined4 *)(iVar6 + 0x114);\n              *(undefined4 *)(iVar6 + 0x114) = 0;\n              FUN_0020ca20();\n              *(undefined4 *)(iVar6 + 0x114) = uVar5;\n              iVar7 = *(int *)(iVar6 + 0x100);\n              if ((uVar15 & 0x400000000) == 0) {\n                puVar14 = (undefined1 *)(unaff_EDI + 0x264d2);\n                uVar12 = 0x3a;\n                while( true ) {\n                  if (iVar7 == 0xff) {\n                    *(undefined1 *)(iVar6 + 0xff) = 0;\n                    (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                    *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                    iVar11 = 1;\n                    iVar7 = 0;\n                  }\n                  else {\n                    iVar11 = iVar7 + 1;\n                  }\n                  puVar14 = puVar14 + 1;\n                  *(int *)(iVar6 + 0x100) = iVar11;\n                  *(undefined1 *)(iVar6 + iVar7) = uVar12;\n                  *(undefined1 *)(iVar6 + 0x104) = uVar12;\n                  if (puVar14 == (undefined1 *)(unaff_EDI + 0x264d4)) break;\n                  uVar12 = *puVar14;\n                  iVar7 = iVar11;\n                }\n              }\n              else {\n                iVar11 = iVar7 + 1;\n                if (iVar7 == 0xff) {\n                  *(undefined1 *)(iVar6 + 0xff) = 0;\n                  (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                  *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                  iVar11 = 1;\n                  iVar7 = 0;\n                }\n                *(int *)(iVar6 + 0x100) = iVar11;\n                *(undefined1 *)(iVar6 + iVar7) = 0x2e;\n                *(undefined1 *)(iVar6 + 0x104) = 0x2e;\n              }\n              local_44 = *(uint **)(piVar4[1] + 0xc);\n              uVar8 = *local_44;\n              if (uVar8 == 0x46) {\n                cVar10 = (code)0x7b;\n                pcVar13 = ioctl + unaff_EDI + 4;\n                iVar7 = *(int *)(iVar6 + 0x100);\n                while( true ) {\n                  if (iVar7 == 0xff) {\n                    *(undefined1 *)(iVar6 + 0xff) = 0;\n                    (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                    *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                    iVar11 = 1;\n                    iVar7 = 0;\n                  }\n                  else {\n                    iVar11 = iVar7 + 1;\n                  }\n                  *(int *)(iVar6 + 0x100) = iVar11;\n                  *(code *)(iVar6 + iVar7) = cVar10;\n                  *(code *)(iVar6 + 0x104) = cVar10;\n                  if (pcVar13 == wcrtomb + unaff_EDI) break;\n                  cVar10 = *pcVar13;\n                  pcVar13 = pcVar13 + 1;\n                  iVar7 = iVar11;\n                }\n                __s = local_35;\n                sprintf(__s,(char *)((int)&__DT_REL[0x263a].r_offset + unaff_EDI + 2),\n                        local_44[3] + 1);\n                sVar9 = strlen(__s);\n                iVar7 = *(int *)(iVar6 + 0x100);\n                if (sVar9 != 0) {\n                  pcVar1 = __s + sVar9;\n                  iVar11 = iVar7;\n                  do {\n                    cVar2 = *__s;\n                    if (iVar11 == 0xff) {\n                      *(undefined1 *)(iVar6 + 0xff) = 0;\n                      (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                      *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                      iVar7 = 1;\n                      iVar11 = 0;\n                    }\n                    else {\n                      iVar7 = iVar11 + 1;\n                    }\n                    __s = __s + 1;\n                    *(int *)(iVar6 + 0x100) = iVar7;\n                    *(char *)(iVar6 + iVar11) = cVar2;\n                    *(char *)(iVar6 + 0x104) = cVar2;\n                    iVar11 = iVar7;\n                  } while (pcVar1 != __s);\n                }\n                puVar14 = (undefined1 *)(unaff_EDI + 0x264d1);\n                uVar12 = 0x7d;\n                do {\n                  if (iVar7 == 0xff) {\n                    *(undefined1 *)(iVar6 + 0xff) = 0;\n                    (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                    *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                    iVar11 = 1;\n                    iVar7 = 0;\n                  }\n                  else {\n                    iVar11 = iVar7 + 1;\n                  }\n                  puVar14 = puVar14 + 1;\n                  *(int *)(iVar6 + 0x100) = iVar11;\n                  *(undefined1 *)(iVar6 + iVar7) = uVar12;\n                  *(undefined1 *)(iVar6 + 0x104) = uVar12;\n                  if ((undefined1 *)(unaff_EDI + 0x264d4) == puVar14) goto LAB_002127e9;\n                  uVar12 = *puVar14;\n                  iVar7 = iVar11;\n                } while( true );\n              }\n              do {\n                if (uVar8 != 0x4c) {\n                  if (uVar8 < 0x4d) {\n                    if (4 < uVar8 - 0x1c) {\nLAB_0021277d:\n                      FUN_0020ca20();\n                      *(undefined4 *)(iVar6 + 0x110) = uVar3;\n                      return;\n                    }\n                  }\n                  else if (1 < uVar8 - 0x4e) goto LAB_0021277d;\n                }\nLAB_002127e9:\n                local_44 = (uint *)local_44[2];\n                uVar8 = *local_44;\n              } while( true );\n            }" if (parenthesized_expression "(uVar8 == 2)" ( (binary_expression "uVar8 == 2" identifier == number_literal) )) (compound_statement "{\n              uVar5 = *(undefined4 *)(iVar6 + 0x114);\n              *(undefined4 *)(iVar6 + 0x114) = 0;\n              FUN_0020ca20();\n              *(undefined4 *)(iVar6 + 0x114) = uVar5;\n              iVar7 = *(int *)(iVar6 + 0x100);\n              if ((uVar15 & 0x400000000) == 0) {\n                puVar14 = (undefined1 *)(unaff_EDI + 0x264d2);\n                uVar12 = 0x3a;\n                while( true ) {\n                  if (iVar7 == 0xff) {\n                    *(undefined1 *)(iVar6 + 0xff) = 0;\n                    (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                    *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                    iVar11 = 1;\n                    iVar7 = 0;\n                  }\n                  else {\n                    iVar11 = iVar7 + 1;\n                  }\n                  puVar14 = puVar14 + 1;\n                  *(int *)(iVar6 + 0x100) = iVar11;\n                  *(undefined1 *)(iVar6 + iVar7) = uVar12;\n                  *(undefined1 *)(iVar6 + 0x104) = uVar12;\n                  if (puVar14 == (undefined1 *)(unaff_EDI + 0x264d4)) break;\n                  uVar12 = *puVar14;\n                  iVar7 = iVar11;\n                }\n              }\n              else {\n                iVar11 = iVar7 + 1;\n                if (iVar7 == 0xff) {\n                  *(undefined1 *)(iVar6 + 0xff) = 0;\n                  (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                  *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                  iVar11 = 1;\n                  iVar7 = 0;\n                }\n                *(int *)(iVar6 + 0x100) = iVar11;\n                *(undefined1 *)(iVar6 + iVar7) = 0x2e;\n                *(undefined1 *)(iVar6 + 0x104) = 0x2e;\n              }\n              local_44 = *(uint **)(piVar4[1] + 0xc);\n              uVar8 = *local_44;\n              if (uVar8 == 0x46) {\n                cVar10 = (code)0x7b;\n                pcVar13 = ioctl + unaff_EDI + 4;\n                iVar7 = *(int *)(iVar6 + 0x100);\n                while( true ) {\n                  if (iVar7 == 0xff) {\n                    *(undefined1 *)(iVar6 + 0xff) = 0;\n                    (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                    *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                    iVar11 = 1;\n                    iVar7 = 0;\n                  }\n                  else {\n                    iVar11 = iVar7 + 1;\n                  }\n                  *(int *)(iVar6 + 0x100) = iVar11;\n                  *(code *)(iVar6 + iVar7) = cVar10;\n                  *(code *)(iVar6 + 0x104) = cVar10;\n                  if (pcVar13 == wcrtomb + unaff_EDI) break;\n                  cVar10 = *pcVar13;\n                  pcVar13 = pcVar13 + 1;\n                  iVar7 = iVar11;\n                }\n                __s = local_35;\n                sprintf(__s,(char *)((int)&__DT_REL[0x263a].r_offset + unaff_EDI + 2),\n                        local_44[3] + 1);\n                sVar9 = strlen(__s);\n                iVar7 = *(int *)(iVar6 + 0x100);\n                if (sVar9 != 0) {\n                  pcVar1 = __s + sVar9;\n                  iVar11 = iVar7;\n                  do {\n                    cVar2 = *__s;\n                    if (iVar11 == 0xff) {\n                      *(undefined1 *)(iVar6 + 0xff) = 0;\n                      (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                      *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                      iVar7 = 1;\n                      iVar11 = 0;\n                    }\n                    else {\n                      iVar7 = iVar11 + 1;\n                    }\n                    __s = __s + 1;\n                    *(int *)(iVar6 + 0x100) = iVar7;\n                    *(char *)(iVar6 + iVar11) = cVar2;\n                    *(char *)(iVar6 + 0x104) = cVar2;\n                    iVar11 = iVar7;\n                  } while (pcVar1 != __s);\n                }\n                puVar14 = (undefined1 *)(unaff_EDI + 0x264d1);\n                uVar12 = 0x7d;\n                do {\n                  if (iVar7 == 0xff) {\n                    *(undefined1 *)(iVar6 + 0xff) = 0;\n                    (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                    *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                    iVar11 = 1;\n                    iVar7 = 0;\n                  }\n                  else {\n                    iVar11 = iVar7 + 1;\n                  }\n                  puVar14 = puVar14 + 1;\n                  *(int *)(iVar6 + 0x100) = iVar11;\n                  *(undefined1 *)(iVar6 + iVar7) = uVar12;\n                  *(undefined1 *)(iVar6 + 0x104) = uVar12;\n                  if ((undefined1 *)(unaff_EDI + 0x264d4) == puVar14) goto LAB_002127e9;\n                  uVar12 = *puVar14;\n                  iVar7 = iVar11;\n                } while( true );\n              }\n              do {\n                if (uVar8 != 0x4c) {\n                  if (uVar8 < 0x4d) {\n                    if (4 < uVar8 - 0x1c) {\nLAB_0021277d:\n                      FUN_0020ca20();\n                      *(undefined4 *)(iVar6 + 0x110) = uVar3;\n                      return;\n                    }\n                  }\n                  else if (1 < uVar8 - 0x4e) goto LAB_0021277d;\n                }\nLAB_002127e9:\n                local_44 = (uint *)local_44[2];\n                uVar8 = *local_44;\n              } while( true );\n            }" { (expression_statement "uVar5 = *(undefined4 *)(iVar6 + 0x114);" (assignment_expression "uVar5 = *(undefined4 *)(iVar6 + 0x114)" identifier = (pointer_expression "*(undefined4 *)(iVar6 + 0x114)" * (cast_expression "(undefined4 *)(iVar6 + 0x114)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x114)" ( (binary_expression "iVar6 + 0x114" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(iVar6 + 0x114) = 0;" (assignment_expression "*(undefined4 *)(iVar6 + 0x114) = 0" (pointer_expression "*(undefined4 *)(iVar6 + 0x114)" * (cast_expression "(undefined4 *)(iVar6 + 0x114)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x114)" ( (binary_expression "iVar6 + 0x114" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_0020ca20();" (call_expression "FUN_0020ca20()" identifier (argument_list "()" ( ))) ;) (expression_statement "*(undefined4 *)(iVar6 + 0x114) = uVar5;" (assignment_expression "*(undefined4 *)(iVar6 + 0x114) = uVar5" (pointer_expression "*(undefined4 *)(iVar6 + 0x114)" * (cast_expression "(undefined4 *)(iVar6 + 0x114)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x114)" ( (binary_expression "iVar6 + 0x114" identifier + number_literal) )))) = identifier) ;) (expression_statement "iVar7 = *(int *)(iVar6 + 0x100);" (assignment_expression "iVar7 = *(int *)(iVar6 + 0x100)" identifier = (pointer_expression "*(int *)(iVar6 + 0x100)" * (cast_expression "(int *)(iVar6 + 0x100)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x100)" ( (binary_expression "iVar6 + 0x100" identifier + number_literal) ))))) ;) (if_statement "if ((uVar15 & 0x400000000) == 0) {\n                puVar14 = (undefined1 *)(unaff_EDI + 0x264d2);\n                uVar12 = 0x3a;\n                while( true ) {\n                  if (iVar7 == 0xff) {\n                    *(undefined1 *)(iVar6 + 0xff) = 0;\n                    (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                    *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                    iVar11 = 1;\n                    iVar7 = 0;\n                  }\n                  else {\n                    iVar11 = iVar7 + 1;\n                  }\n                  puVar14 = puVar14 + 1;\n                  *(int *)(iVar6 + 0x100) = iVar11;\n                  *(undefined1 *)(iVar6 + iVar7) = uVar12;\n                  *(undefined1 *)(iVar6 + 0x104) = uVar12;\n                  if (puVar14 == (undefined1 *)(unaff_EDI + 0x264d4)) break;\n                  uVar12 = *puVar14;\n                  iVar7 = iVar11;\n                }\n              }\n              else {\n                iVar11 = iVar7 + 1;\n                if (iVar7 == 0xff) {\n                  *(undefined1 *)(iVar6 + 0xff) = 0;\n                  (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                  *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                  iVar11 = 1;\n                  iVar7 = 0;\n                }\n                *(int *)(iVar6 + 0x100) = iVar11;\n                *(undefined1 *)(iVar6 + iVar7) = 0x2e;\n                *(undefined1 *)(iVar6 + 0x104) = 0x2e;\n              }" if (parenthesized_expression "((uVar15 & 0x400000000) == 0)" ( (binary_expression "(uVar15 & 0x400000000) == 0" (parenthesized_expression "(uVar15 & 0x400000000)" ( (binary_expression "uVar15 & 0x400000000" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n                puVar14 = (undefined1 *)(unaff_EDI + 0x264d2);\n                uVar12 = 0x3a;\n                while( true ) {\n                  if (iVar7 == 0xff) {\n                    *(undefined1 *)(iVar6 + 0xff) = 0;\n                    (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                    *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                    iVar11 = 1;\n                    iVar7 = 0;\n                  }\n                  else {\n                    iVar11 = iVar7 + 1;\n                  }\n                  puVar14 = puVar14 + 1;\n                  *(int *)(iVar6 + 0x100) = iVar11;\n                  *(undefined1 *)(iVar6 + iVar7) = uVar12;\n                  *(undefined1 *)(iVar6 + 0x104) = uVar12;\n                  if (puVar14 == (undefined1 *)(unaff_EDI + 0x264d4)) break;\n                  uVar12 = *puVar14;\n                  iVar7 = iVar11;\n                }\n              }" { (expression_statement "puVar14 = (undefined1 *)(unaff_EDI + 0x264d2);" (assignment_expression "puVar14 = (undefined1 *)(unaff_EDI + 0x264d2)" identifier = (cast_expression "(undefined1 *)(unaff_EDI + 0x264d2)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EDI + 0x264d2)" ( (binary_expression "unaff_EDI + 0x264d2" identifier + number_literal) )))) ;) (expression_statement "uVar12 = 0x3a;" (assignment_expression "uVar12 = 0x3a" identifier = number_literal) ;) (while_statement "while( true ) {\n                  if (iVar7 == 0xff) {\n                    *(undefined1 *)(iVar6 + 0xff) = 0;\n                    (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                    *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                    iVar11 = 1;\n                    iVar7 = 0;\n                  }\n                  else {\n                    iVar11 = iVar7 + 1;\n                  }\n                  puVar14 = puVar14 + 1;\n                  *(int *)(iVar6 + 0x100) = iVar11;\n                  *(undefined1 *)(iVar6 + iVar7) = uVar12;\n                  *(undefined1 *)(iVar6 + 0x104) = uVar12;\n                  if (puVar14 == (undefined1 *)(unaff_EDI + 0x264d4)) break;\n                  uVar12 = *puVar14;\n                  iVar7 = iVar11;\n                }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n                  if (iVar7 == 0xff) {\n                    *(undefined1 *)(iVar6 + 0xff) = 0;\n                    (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                    *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                    iVar11 = 1;\n                    iVar7 = 0;\n                  }\n                  else {\n                    iVar11 = iVar7 + 1;\n                  }\n                  puVar14 = puVar14 + 1;\n                  *(int *)(iVar6 + 0x100) = iVar11;\n                  *(undefined1 *)(iVar6 + iVar7) = uVar12;\n                  *(undefined1 *)(iVar6 + 0x104) = uVar12;\n                  if (puVar14 == (undefined1 *)(unaff_EDI + 0x264d4)) break;\n                  uVar12 = *puVar14;\n                  iVar7 = iVar11;\n                }" { (if_statement "if (iVar7 == 0xff) {\n                    *(undefined1 *)(iVar6 + 0xff) = 0;\n                    (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                    *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                    iVar11 = 1;\n                    iVar7 = 0;\n                  }\n                  else {\n                    iVar11 = iVar7 + 1;\n                  }" if (parenthesized_expression "(iVar7 == 0xff)" ( (binary_expression "iVar7 == 0xff" identifier == number_literal) )) (compound_statement "{\n                    *(undefined1 *)(iVar6 + 0xff) = 0;\n                    (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                    *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                    iVar11 = 1;\n                    iVar7 = 0;\n                  }" { (expression_statement "*(undefined1 *)(iVar6 + 0xff) = 0;" (assignment_expression "*(undefined1 *)(iVar6 + 0xff) = 0" (pointer_expression "*(undefined1 *)(iVar6 + 0xff)" * (cast_expression "(undefined1 *)(iVar6 + 0xff)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0xff)" ( (binary_expression "iVar6 + 0xff" identifier + number_literal) )))) = number_literal) ;) (expression_statement "(**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));" (call_expression "(**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c))" (parenthesized_expression "(**(code **)(iVar6 + 0x108))" ( (pointer_expression "**(code **)(iVar6 + 0x108)" * (pointer_expression "*(code **)(iVar6 + 0x108)" * (cast_expression "(code **)(iVar6 + 0x108)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar6 + 0x108)" ( (binary_expression "iVar6 + 0x108" identifier + number_literal) ))))) )) (argument_list "(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c))" ( identifier , number_literal , (pointer_expression "*(undefined4 *)(iVar6 + 0x10c)" * (cast_expression "(undefined4 *)(iVar6 + 0x10c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x10c)" ( (binary_expression "iVar6 + 0x10c" identifier + number_literal) )))) ))) ;) (expression_statement "*(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;" (assignment_expression "*(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1" (pointer_expression "*(int *)(iVar6 + 0x128)" * (cast_expression "(int *)(iVar6 + 0x128)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x128)" ( (binary_expression "iVar6 + 0x128" identifier + number_literal) )))) = (binary_expression "*(int *)(iVar6 + 0x128) + 1" (pointer_expression "*(int *)(iVar6 + 0x128)" * (cast_expression "(int *)(iVar6 + 0x128)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x128)" ( (binary_expression "iVar6 + 0x128" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "iVar11 = 1;" (assignment_expression "iVar11 = 1" identifier = number_literal) ;) (expression_statement "iVar7 = 0;" (assignment_expression "iVar7 = 0" identifier = number_literal) ;) }) (else_clause "else {\n                    iVar11 = iVar7 + 1;\n                  }" else (compound_statement "{\n                    iVar11 = iVar7 + 1;\n                  }" { (expression_statement "iVar11 = iVar7 + 1;" (assignment_expression "iVar11 = iVar7 + 1" identifier = (binary_expression "iVar7 + 1" identifier + number_literal)) ;) }))) (expression_statement "puVar14 = puVar14 + 1;" (assignment_expression "puVar14 = puVar14 + 1" identifier = (binary_expression "puVar14 + 1" identifier + number_literal)) ;) (expression_statement "*(int *)(iVar6 + 0x100) = iVar11;" (assignment_expression "*(int *)(iVar6 + 0x100) = iVar11" (pointer_expression "*(int *)(iVar6 + 0x100)" * (cast_expression "(int *)(iVar6 + 0x100)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x100)" ( (binary_expression "iVar6 + 0x100" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined1 *)(iVar6 + iVar7) = uVar12;" (assignment_expression "*(undefined1 *)(iVar6 + iVar7) = uVar12" (pointer_expression "*(undefined1 *)(iVar6 + iVar7)" * (cast_expression "(undefined1 *)(iVar6 + iVar7)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + iVar7)" ( (binary_expression "iVar6 + iVar7" identifier + identifier) )))) = identifier) ;) (expression_statement "*(undefined1 *)(iVar6 + 0x104) = uVar12;" (assignment_expression "*(undefined1 *)(iVar6 + 0x104) = uVar12" (pointer_expression "*(undefined1 *)(iVar6 + 0x104)" * (cast_expression "(undefined1 *)(iVar6 + 0x104)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x104)" ( (binary_expression "iVar6 + 0x104" identifier + number_literal) )))) = identifier) ;) (if_statement "if (puVar14 == (undefined1 *)(unaff_EDI + 0x264d4)) break;" if (parenthesized_expression "(puVar14 == (undefined1 *)(unaff_EDI + 0x264d4))" ( (binary_expression "puVar14 == (undefined1 *)(unaff_EDI + 0x264d4)" identifier == (cast_expression "(undefined1 *)(unaff_EDI + 0x264d4)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EDI + 0x264d4)" ( (binary_expression "unaff_EDI + 0x264d4" identifier + number_literal) )))) )) (break_statement "break;" break ;)) (expression_statement "uVar12 = *puVar14;" (assignment_expression "uVar12 = *puVar14" identifier = (pointer_expression "*puVar14" * identifier)) ;) (expression_statement "iVar7 = iVar11;" (assignment_expression "iVar7 = iVar11" identifier = identifier) ;) })) }) (else_clause "else {\n                iVar11 = iVar7 + 1;\n                if (iVar7 == 0xff) {\n                  *(undefined1 *)(iVar6 + 0xff) = 0;\n                  (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                  *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                  iVar11 = 1;\n                  iVar7 = 0;\n                }\n                *(int *)(iVar6 + 0x100) = iVar11;\n                *(undefined1 *)(iVar6 + iVar7) = 0x2e;\n                *(undefined1 *)(iVar6 + 0x104) = 0x2e;\n              }" else (compound_statement "{\n                iVar11 = iVar7 + 1;\n                if (iVar7 == 0xff) {\n                  *(undefined1 *)(iVar6 + 0xff) = 0;\n                  (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                  *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                  iVar11 = 1;\n                  iVar7 = 0;\n                }\n                *(int *)(iVar6 + 0x100) = iVar11;\n                *(undefined1 *)(iVar6 + iVar7) = 0x2e;\n                *(undefined1 *)(iVar6 + 0x104) = 0x2e;\n              }" { (expression_statement "iVar11 = iVar7 + 1;" (assignment_expression "iVar11 = iVar7 + 1" identifier = (binary_expression "iVar7 + 1" identifier + number_literal)) ;) (if_statement "if (iVar7 == 0xff) {\n                  *(undefined1 *)(iVar6 + 0xff) = 0;\n                  (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                  *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                  iVar11 = 1;\n                  iVar7 = 0;\n                }" if (parenthesized_expression "(iVar7 == 0xff)" ( (binary_expression "iVar7 == 0xff" identifier == number_literal) )) (compound_statement "{\n                  *(undefined1 *)(iVar6 + 0xff) = 0;\n                  (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                  *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                  iVar11 = 1;\n                  iVar7 = 0;\n                }" { (expression_statement "*(undefined1 *)(iVar6 + 0xff) = 0;" (assignment_expression "*(undefined1 *)(iVar6 + 0xff) = 0" (pointer_expression "*(undefined1 *)(iVar6 + 0xff)" * (cast_expression "(undefined1 *)(iVar6 + 0xff)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0xff)" ( (binary_expression "iVar6 + 0xff" identifier + number_literal) )))) = number_literal) ;) (expression_statement "(**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));" (call_expression "(**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c))" (parenthesized_expression "(**(code **)(iVar6 + 0x108))" ( (pointer_expression "**(code **)(iVar6 + 0x108)" * (pointer_expression "*(code **)(iVar6 + 0x108)" * (cast_expression "(code **)(iVar6 + 0x108)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar6 + 0x108)" ( (binary_expression "iVar6 + 0x108" identifier + number_literal) ))))) )) (argument_list "(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c))" ( identifier , number_literal , (pointer_expression "*(undefined4 *)(iVar6 + 0x10c)" * (cast_expression "(undefined4 *)(iVar6 + 0x10c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x10c)" ( (binary_expression "iVar6 + 0x10c" identifier + number_literal) )))) ))) ;) (expression_statement "*(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;" (assignment_expression "*(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1" (pointer_expression "*(int *)(iVar6 + 0x128)" * (cast_expression "(int *)(iVar6 + 0x128)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x128)" ( (binary_expression "iVar6 + 0x128" identifier + number_literal) )))) = (binary_expression "*(int *)(iVar6 + 0x128) + 1" (pointer_expression "*(int *)(iVar6 + 0x128)" * (cast_expression "(int *)(iVar6 + 0x128)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x128)" ( (binary_expression "iVar6 + 0x128" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "iVar11 = 1;" (assignment_expression "iVar11 = 1" identifier = number_literal) ;) (expression_statement "iVar7 = 0;" (assignment_expression "iVar7 = 0" identifier = number_literal) ;) })) (expression_statement "*(int *)(iVar6 + 0x100) = iVar11;" (assignment_expression "*(int *)(iVar6 + 0x100) = iVar11" (pointer_expression "*(int *)(iVar6 + 0x100)" * (cast_expression "(int *)(iVar6 + 0x100)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x100)" ( (binary_expression "iVar6 + 0x100" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined1 *)(iVar6 + iVar7) = 0x2e;" (assignment_expression "*(undefined1 *)(iVar6 + iVar7) = 0x2e" (pointer_expression "*(undefined1 *)(iVar6 + iVar7)" * (cast_expression "(undefined1 *)(iVar6 + iVar7)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + iVar7)" ( (binary_expression "iVar6 + iVar7" identifier + identifier) )))) = number_literal) ;) (expression_statement "*(undefined1 *)(iVar6 + 0x104) = 0x2e;" (assignment_expression "*(undefined1 *)(iVar6 + 0x104) = 0x2e" (pointer_expression "*(undefined1 *)(iVar6 + 0x104)" * (cast_expression "(undefined1 *)(iVar6 + 0x104)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x104)" ( (binary_expression "iVar6 + 0x104" identifier + number_literal) )))) = number_literal) ;) }))) (expression_statement "local_44 = *(uint **)(piVar4[1] + 0xc);" (assignment_expression "local_44 = *(uint **)(piVar4[1] + 0xc)" identifier = (pointer_expression "*(uint **)(piVar4[1] + 0xc)" * (cast_expression "(uint **)(piVar4[1] + 0xc)" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(piVar4[1] + 0xc)" ( (binary_expression "piVar4[1] + 0xc" (subscript_expression "piVar4[1]" identifier [ number_literal ]) + number_literal) ))))) ;) (expression_statement "uVar8 = *local_44;" (assignment_expression "uVar8 = *local_44" identifier = (pointer_expression "*local_44" * identifier)) ;) (if_statement "if (uVar8 == 0x46) {\n                cVar10 = (code)0x7b;\n                pcVar13 = ioctl + unaff_EDI + 4;\n                iVar7 = *(int *)(iVar6 + 0x100);\n                while( true ) {\n                  if (iVar7 == 0xff) {\n                    *(undefined1 *)(iVar6 + 0xff) = 0;\n                    (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                    *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                    iVar11 = 1;\n                    iVar7 = 0;\n                  }\n                  else {\n                    iVar11 = iVar7 + 1;\n                  }\n                  *(int *)(iVar6 + 0x100) = iVar11;\n                  *(code *)(iVar6 + iVar7) = cVar10;\n                  *(code *)(iVar6 + 0x104) = cVar10;\n                  if (pcVar13 == wcrtomb + unaff_EDI) break;\n                  cVar10 = *pcVar13;\n                  pcVar13 = pcVar13 + 1;\n                  iVar7 = iVar11;\n                }\n                __s = local_35;\n                sprintf(__s,(char *)((int)&__DT_REL[0x263a].r_offset + unaff_EDI + 2),\n                        local_44[3] + 1);\n                sVar9 = strlen(__s);\n                iVar7 = *(int *)(iVar6 + 0x100);\n                if (sVar9 != 0) {\n                  pcVar1 = __s + sVar9;\n                  iVar11 = iVar7;\n                  do {\n                    cVar2 = *__s;\n                    if (iVar11 == 0xff) {\n                      *(undefined1 *)(iVar6 + 0xff) = 0;\n                      (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                      *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                      iVar7 = 1;\n                      iVar11 = 0;\n                    }\n                    else {\n                      iVar7 = iVar11 + 1;\n                    }\n                    __s = __s + 1;\n                    *(int *)(iVar6 + 0x100) = iVar7;\n                    *(char *)(iVar6 + iVar11) = cVar2;\n                    *(char *)(iVar6 + 0x104) = cVar2;\n                    iVar11 = iVar7;\n                  } while (pcVar1 != __s);\n                }\n                puVar14 = (undefined1 *)(unaff_EDI + 0x264d1);\n                uVar12 = 0x7d;\n                do {\n                  if (iVar7 == 0xff) {\n                    *(undefined1 *)(iVar6 + 0xff) = 0;\n                    (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                    *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                    iVar11 = 1;\n                    iVar7 = 0;\n                  }\n                  else {\n                    iVar11 = iVar7 + 1;\n                  }\n                  puVar14 = puVar14 + 1;\n                  *(int *)(iVar6 + 0x100) = iVar11;\n                  *(undefined1 *)(iVar6 + iVar7) = uVar12;\n                  *(undefined1 *)(iVar6 + 0x104) = uVar12;\n                  if ((undefined1 *)(unaff_EDI + 0x264d4) == puVar14) goto LAB_002127e9;\n                  uVar12 = *puVar14;\n                  iVar7 = iVar11;\n                } while( true );\n              }" if (parenthesized_expression "(uVar8 == 0x46)" ( (binary_expression "uVar8 == 0x46" identifier == number_literal) )) (compound_statement "{\n                cVar10 = (code)0x7b;\n                pcVar13 = ioctl + unaff_EDI + 4;\n                iVar7 = *(int *)(iVar6 + 0x100);\n                while( true ) {\n                  if (iVar7 == 0xff) {\n                    *(undefined1 *)(iVar6 + 0xff) = 0;\n                    (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                    *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                    iVar11 = 1;\n                    iVar7 = 0;\n                  }\n                  else {\n                    iVar11 = iVar7 + 1;\n                  }\n                  *(int *)(iVar6 + 0x100) = iVar11;\n                  *(code *)(iVar6 + iVar7) = cVar10;\n                  *(code *)(iVar6 + 0x104) = cVar10;\n                  if (pcVar13 == wcrtomb + unaff_EDI) break;\n                  cVar10 = *pcVar13;\n                  pcVar13 = pcVar13 + 1;\n                  iVar7 = iVar11;\n                }\n                __s = local_35;\n                sprintf(__s,(char *)((int)&__DT_REL[0x263a].r_offset + unaff_EDI + 2),\n                        local_44[3] + 1);\n                sVar9 = strlen(__s);\n                iVar7 = *(int *)(iVar6 + 0x100);\n                if (sVar9 != 0) {\n                  pcVar1 = __s + sVar9;\n                  iVar11 = iVar7;\n                  do {\n                    cVar2 = *__s;\n                    if (iVar11 == 0xff) {\n                      *(undefined1 *)(iVar6 + 0xff) = 0;\n                      (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                      *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                      iVar7 = 1;\n                      iVar11 = 0;\n                    }\n                    else {\n                      iVar7 = iVar11 + 1;\n                    }\n                    __s = __s + 1;\n                    *(int *)(iVar6 + 0x100) = iVar7;\n                    *(char *)(iVar6 + iVar11) = cVar2;\n                    *(char *)(iVar6 + 0x104) = cVar2;\n                    iVar11 = iVar7;\n                  } while (pcVar1 != __s);\n                }\n                puVar14 = (undefined1 *)(unaff_EDI + 0x264d1);\n                uVar12 = 0x7d;\n                do {\n                  if (iVar7 == 0xff) {\n                    *(undefined1 *)(iVar6 + 0xff) = 0;\n                    (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                    *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                    iVar11 = 1;\n                    iVar7 = 0;\n                  }\n                  else {\n                    iVar11 = iVar7 + 1;\n                  }\n                  puVar14 = puVar14 + 1;\n                  *(int *)(iVar6 + 0x100) = iVar11;\n                  *(undefined1 *)(iVar6 + iVar7) = uVar12;\n                  *(undefined1 *)(iVar6 + 0x104) = uVar12;\n                  if ((undefined1 *)(unaff_EDI + 0x264d4) == puVar14) goto LAB_002127e9;\n                  uVar12 = *puVar14;\n                  iVar7 = iVar11;\n                } while( true );\n              }" { (expression_statement "cVar10 = (code)0x7b;" (assignment_expression "cVar10 = (code)0x7b" identifier = (cast_expression "(code)0x7b" ( (type_descriptor "code" type_identifier) ) number_literal)) ;) (expression_statement "pcVar13 = ioctl + unaff_EDI + 4;" (assignment_expression "pcVar13 = ioctl + unaff_EDI + 4" identifier = (binary_expression "ioctl + unaff_EDI + 4" (binary_expression "ioctl + unaff_EDI" identifier + identifier) + number_literal)) ;) (expression_statement "iVar7 = *(int *)(iVar6 + 0x100);" (assignment_expression "iVar7 = *(int *)(iVar6 + 0x100)" identifier = (pointer_expression "*(int *)(iVar6 + 0x100)" * (cast_expression "(int *)(iVar6 + 0x100)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x100)" ( (binary_expression "iVar6 + 0x100" identifier + number_literal) ))))) ;) (while_statement "while( true ) {\n                  if (iVar7 == 0xff) {\n                    *(undefined1 *)(iVar6 + 0xff) = 0;\n                    (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                    *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                    iVar11 = 1;\n                    iVar7 = 0;\n                  }\n                  else {\n                    iVar11 = iVar7 + 1;\n                  }\n                  *(int *)(iVar6 + 0x100) = iVar11;\n                  *(code *)(iVar6 + iVar7) = cVar10;\n                  *(code *)(iVar6 + 0x104) = cVar10;\n                  if (pcVar13 == wcrtomb + unaff_EDI) break;\n                  cVar10 = *pcVar13;\n                  pcVar13 = pcVar13 + 1;\n                  iVar7 = iVar11;\n                }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n                  if (iVar7 == 0xff) {\n                    *(undefined1 *)(iVar6 + 0xff) = 0;\n                    (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                    *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                    iVar11 = 1;\n                    iVar7 = 0;\n                  }\n                  else {\n                    iVar11 = iVar7 + 1;\n                  }\n                  *(int *)(iVar6 + 0x100) = iVar11;\n                  *(code *)(iVar6 + iVar7) = cVar10;\n                  *(code *)(iVar6 + 0x104) = cVar10;\n                  if (pcVar13 == wcrtomb + unaff_EDI) break;\n                  cVar10 = *pcVar13;\n                  pcVar13 = pcVar13 + 1;\n                  iVar7 = iVar11;\n                }" { (if_statement "if (iVar7 == 0xff) {\n                    *(undefined1 *)(iVar6 + 0xff) = 0;\n                    (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                    *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                    iVar11 = 1;\n                    iVar7 = 0;\n                  }\n                  else {\n                    iVar11 = iVar7 + 1;\n                  }" if (parenthesized_expression "(iVar7 == 0xff)" ( (binary_expression "iVar7 == 0xff" identifier == number_literal) )) (compound_statement "{\n                    *(undefined1 *)(iVar6 + 0xff) = 0;\n                    (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                    *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                    iVar11 = 1;\n                    iVar7 = 0;\n                  }" { (expression_statement "*(undefined1 *)(iVar6 + 0xff) = 0;" (assignment_expression "*(undefined1 *)(iVar6 + 0xff) = 0" (pointer_expression "*(undefined1 *)(iVar6 + 0xff)" * (cast_expression "(undefined1 *)(iVar6 + 0xff)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0xff)" ( (binary_expression "iVar6 + 0xff" identifier + number_literal) )))) = number_literal) ;) (expression_statement "(**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));" (call_expression "(**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c))" (parenthesized_expression "(**(code **)(iVar6 + 0x108))" ( (pointer_expression "**(code **)(iVar6 + 0x108)" * (pointer_expression "*(code **)(iVar6 + 0x108)" * (cast_expression "(code **)(iVar6 + 0x108)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar6 + 0x108)" ( (binary_expression "iVar6 + 0x108" identifier + number_literal) ))))) )) (argument_list "(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c))" ( identifier , number_literal , (pointer_expression "*(undefined4 *)(iVar6 + 0x10c)" * (cast_expression "(undefined4 *)(iVar6 + 0x10c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x10c)" ( (binary_expression "iVar6 + 0x10c" identifier + number_literal) )))) ))) ;) (expression_statement "*(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;" (assignment_expression "*(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1" (pointer_expression "*(int *)(iVar6 + 0x128)" * (cast_expression "(int *)(iVar6 + 0x128)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x128)" ( (binary_expression "iVar6 + 0x128" identifier + number_literal) )))) = (binary_expression "*(int *)(iVar6 + 0x128) + 1" (pointer_expression "*(int *)(iVar6 + 0x128)" * (cast_expression "(int *)(iVar6 + 0x128)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x128)" ( (binary_expression "iVar6 + 0x128" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "iVar11 = 1;" (assignment_expression "iVar11 = 1" identifier = number_literal) ;) (expression_statement "iVar7 = 0;" (assignment_expression "iVar7 = 0" identifier = number_literal) ;) }) (else_clause "else {\n                    iVar11 = iVar7 + 1;\n                  }" else (compound_statement "{\n                    iVar11 = iVar7 + 1;\n                  }" { (expression_statement "iVar11 = iVar7 + 1;" (assignment_expression "iVar11 = iVar7 + 1" identifier = (binary_expression "iVar7 + 1" identifier + number_literal)) ;) }))) (expression_statement "*(int *)(iVar6 + 0x100) = iVar11;" (assignment_expression "*(int *)(iVar6 + 0x100) = iVar11" (pointer_expression "*(int *)(iVar6 + 0x100)" * (cast_expression "(int *)(iVar6 + 0x100)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x100)" ( (binary_expression "iVar6 + 0x100" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(code *)(iVar6 + iVar7) = cVar10;" (assignment_expression "*(code *)(iVar6 + iVar7) = cVar10" (pointer_expression "*(code *)(iVar6 + iVar7)" * (cast_expression "(code *)(iVar6 + iVar7)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + iVar7)" ( (binary_expression "iVar6 + iVar7" identifier + identifier) )))) = identifier) ;) (expression_statement "*(code *)(iVar6 + 0x104) = cVar10;" (assignment_expression "*(code *)(iVar6 + 0x104) = cVar10" (pointer_expression "*(code *)(iVar6 + 0x104)" * (cast_expression "(code *)(iVar6 + 0x104)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x104)" ( (binary_expression "iVar6 + 0x104" identifier + number_literal) )))) = identifier) ;) (if_statement "if (pcVar13 == wcrtomb + unaff_EDI) break;" if (parenthesized_expression "(pcVar13 == wcrtomb + unaff_EDI)" ( (binary_expression "pcVar13 == wcrtomb + unaff_EDI" identifier == (binary_expression "wcrtomb + unaff_EDI" identifier + identifier)) )) (break_statement "break;" break ;)) (expression_statement "cVar10 = *pcVar13;" (assignment_expression "cVar10 = *pcVar13" identifier = (pointer_expression "*pcVar13" * identifier)) ;) (expression_statement "pcVar13 = pcVar13 + 1;" (assignment_expression "pcVar13 = pcVar13 + 1" identifier = (binary_expression "pcVar13 + 1" identifier + number_literal)) ;) (expression_statement "iVar7 = iVar11;" (assignment_expression "iVar7 = iVar11" identifier = identifier) ;) })) (expression_statement "__s = local_35;" (assignment_expression "__s = local_35" identifier = identifier) ;) (expression_statement "sprintf(__s,(char *)((int)&__DT_REL[0x263a].r_offset + unaff_EDI + 2),\n                        local_44[3] + 1);" (call_expression "sprintf(__s,(char *)((int)&__DT_REL[0x263a].r_offset + unaff_EDI + 2),\n                        local_44[3] + 1)" identifier (argument_list "(__s,(char *)((int)&__DT_REL[0x263a].r_offset + unaff_EDI + 2),\n                        local_44[3] + 1)" ( identifier , (cast_expression "(char *)((int)&__DT_REL[0x263a].r_offset + unaff_EDI + 2)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&__DT_REL[0x263a].r_offset + unaff_EDI + 2)" ( (binary_expression "(int)&__DT_REL[0x263a].r_offset + unaff_EDI + 2" (binary_expression "(int)&__DT_REL[0x263a].r_offset + unaff_EDI" (cast_expression "(int)&__DT_REL[0x263a].r_offset" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&__DT_REL[0x263a].r_offset" & (field_expression "__DT_REL[0x263a].r_offset" (subscript_expression "__DT_REL[0x263a]" identifier [ number_literal ]) . field_identifier))) + identifier) + number_literal) ))) , (binary_expression "local_44[3] + 1" (subscript_expression "local_44[3]" identifier [ number_literal ]) + number_literal) ))) ;) (expression_statement "sVar9 = strlen(__s);" (assignment_expression "sVar9 = strlen(__s)" identifier = (call_expression "strlen(__s)" identifier (argument_list "(__s)" ( identifier )))) ;) (expression_statement "iVar7 = *(int *)(iVar6 + 0x100);" (assignment_expression "iVar7 = *(int *)(iVar6 + 0x100)" identifier = (pointer_expression "*(int *)(iVar6 + 0x100)" * (cast_expression "(int *)(iVar6 + 0x100)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x100)" ( (binary_expression "iVar6 + 0x100" identifier + number_literal) ))))) ;) (if_statement "if (sVar9 != 0) {\n                  pcVar1 = __s + sVar9;\n                  iVar11 = iVar7;\n                  do {\n                    cVar2 = *__s;\n                    if (iVar11 == 0xff) {\n                      *(undefined1 *)(iVar6 + 0xff) = 0;\n                      (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                      *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                      iVar7 = 1;\n                      iVar11 = 0;\n                    }\n                    else {\n                      iVar7 = iVar11 + 1;\n                    }\n                    __s = __s + 1;\n                    *(int *)(iVar6 + 0x100) = iVar7;\n                    *(char *)(iVar6 + iVar11) = cVar2;\n                    *(char *)(iVar6 + 0x104) = cVar2;\n                    iVar11 = iVar7;\n                  } while (pcVar1 != __s);\n                }" if (parenthesized_expression "(sVar9 != 0)" ( (binary_expression "sVar9 != 0" identifier != number_literal) )) (compound_statement "{\n                  pcVar1 = __s + sVar9;\n                  iVar11 = iVar7;\n                  do {\n                    cVar2 = *__s;\n                    if (iVar11 == 0xff) {\n                      *(undefined1 *)(iVar6 + 0xff) = 0;\n                      (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                      *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                      iVar7 = 1;\n                      iVar11 = 0;\n                    }\n                    else {\n                      iVar7 = iVar11 + 1;\n                    }\n                    __s = __s + 1;\n                    *(int *)(iVar6 + 0x100) = iVar7;\n                    *(char *)(iVar6 + iVar11) = cVar2;\n                    *(char *)(iVar6 + 0x104) = cVar2;\n                    iVar11 = iVar7;\n                  } while (pcVar1 != __s);\n                }" { (expression_statement "pcVar1 = __s + sVar9;" (assignment_expression "pcVar1 = __s + sVar9" identifier = (binary_expression "__s + sVar9" identifier + identifier)) ;) (expression_statement "iVar11 = iVar7;" (assignment_expression "iVar11 = iVar7" identifier = identifier) ;) (do_statement "do {\n                    cVar2 = *__s;\n                    if (iVar11 == 0xff) {\n                      *(undefined1 *)(iVar6 + 0xff) = 0;\n                      (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                      *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                      iVar7 = 1;\n                      iVar11 = 0;\n                    }\n                    else {\n                      iVar7 = iVar11 + 1;\n                    }\n                    __s = __s + 1;\n                    *(int *)(iVar6 + 0x100) = iVar7;\n                    *(char *)(iVar6 + iVar11) = cVar2;\n                    *(char *)(iVar6 + 0x104) = cVar2;\n                    iVar11 = iVar7;\n                  } while (pcVar1 != __s);" do (compound_statement "{\n                    cVar2 = *__s;\n                    if (iVar11 == 0xff) {\n                      *(undefined1 *)(iVar6 + 0xff) = 0;\n                      (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                      *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                      iVar7 = 1;\n                      iVar11 = 0;\n                    }\n                    else {\n                      iVar7 = iVar11 + 1;\n                    }\n                    __s = __s + 1;\n                    *(int *)(iVar6 + 0x100) = iVar7;\n                    *(char *)(iVar6 + iVar11) = cVar2;\n                    *(char *)(iVar6 + 0x104) = cVar2;\n                    iVar11 = iVar7;\n                  }" { (expression_statement "cVar2 = *__s;" (assignment_expression "cVar2 = *__s" identifier = (pointer_expression "*__s" * identifier)) ;) (if_statement "if (iVar11 == 0xff) {\n                      *(undefined1 *)(iVar6 + 0xff) = 0;\n                      (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                      *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                      iVar7 = 1;\n                      iVar11 = 0;\n                    }\n                    else {\n                      iVar7 = iVar11 + 1;\n                    }" if (parenthesized_expression "(iVar11 == 0xff)" ( (binary_expression "iVar11 == 0xff" identifier == number_literal) )) (compound_statement "{\n                      *(undefined1 *)(iVar6 + 0xff) = 0;\n                      (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                      *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                      iVar7 = 1;\n                      iVar11 = 0;\n                    }" { (expression_statement "*(undefined1 *)(iVar6 + 0xff) = 0;" (assignment_expression "*(undefined1 *)(iVar6 + 0xff) = 0" (pointer_expression "*(undefined1 *)(iVar6 + 0xff)" * (cast_expression "(undefined1 *)(iVar6 + 0xff)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0xff)" ( (binary_expression "iVar6 + 0xff" identifier + number_literal) )))) = number_literal) ;) (expression_statement "(**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));" (call_expression "(**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c))" (parenthesized_expression "(**(code **)(iVar6 + 0x108))" ( (pointer_expression "**(code **)(iVar6 + 0x108)" * (pointer_expression "*(code **)(iVar6 + 0x108)" * (cast_expression "(code **)(iVar6 + 0x108)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar6 + 0x108)" ( (binary_expression "iVar6 + 0x108" identifier + number_literal) ))))) )) (argument_list "(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c))" ( identifier , number_literal , (pointer_expression "*(undefined4 *)(iVar6 + 0x10c)" * (cast_expression "(undefined4 *)(iVar6 + 0x10c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x10c)" ( (binary_expression "iVar6 + 0x10c" identifier + number_literal) )))) ))) ;) (expression_statement "*(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;" (assignment_expression "*(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1" (pointer_expression "*(int *)(iVar6 + 0x128)" * (cast_expression "(int *)(iVar6 + 0x128)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x128)" ( (binary_expression "iVar6 + 0x128" identifier + number_literal) )))) = (binary_expression "*(int *)(iVar6 + 0x128) + 1" (pointer_expression "*(int *)(iVar6 + 0x128)" * (cast_expression "(int *)(iVar6 + 0x128)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x128)" ( (binary_expression "iVar6 + 0x128" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "iVar7 = 1;" (assignment_expression "iVar7 = 1" identifier = number_literal) ;) (expression_statement "iVar11 = 0;" (assignment_expression "iVar11 = 0" identifier = number_literal) ;) }) (else_clause "else {\n                      iVar7 = iVar11 + 1;\n                    }" else (compound_statement "{\n                      iVar7 = iVar11 + 1;\n                    }" { (expression_statement "iVar7 = iVar11 + 1;" (assignment_expression "iVar7 = iVar11 + 1" identifier = (binary_expression "iVar11 + 1" identifier + number_literal)) ;) }))) (expression_statement "__s = __s + 1;" (assignment_expression "__s = __s + 1" identifier = (binary_expression "__s + 1" identifier + number_literal)) ;) (expression_statement "*(int *)(iVar6 + 0x100) = iVar7;" (assignment_expression "*(int *)(iVar6 + 0x100) = iVar7" (pointer_expression "*(int *)(iVar6 + 0x100)" * (cast_expression "(int *)(iVar6 + 0x100)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x100)" ( (binary_expression "iVar6 + 0x100" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(char *)(iVar6 + iVar11) = cVar2;" (assignment_expression "*(char *)(iVar6 + iVar11) = cVar2" (pointer_expression "*(char *)(iVar6 + iVar11)" * (cast_expression "(char *)(iVar6 + iVar11)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + iVar11)" ( (binary_expression "iVar6 + iVar11" identifier + identifier) )))) = identifier) ;) (expression_statement "*(char *)(iVar6 + 0x104) = cVar2;" (assignment_expression "*(char *)(iVar6 + 0x104) = cVar2" (pointer_expression "*(char *)(iVar6 + 0x104)" * (cast_expression "(char *)(iVar6 + 0x104)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x104)" ( (binary_expression "iVar6 + 0x104" identifier + number_literal) )))) = identifier) ;) (expression_statement "iVar11 = iVar7;" (assignment_expression "iVar11 = iVar7" identifier = identifier) ;) }) while (parenthesized_expression "(pcVar1 != __s)" ( (binary_expression "pcVar1 != __s" identifier != identifier) )) ;) })) (expression_statement "puVar14 = (undefined1 *)(unaff_EDI + 0x264d1);" (assignment_expression "puVar14 = (undefined1 *)(unaff_EDI + 0x264d1)" identifier = (cast_expression "(undefined1 *)(unaff_EDI + 0x264d1)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EDI + 0x264d1)" ( (binary_expression "unaff_EDI + 0x264d1" identifier + number_literal) )))) ;) (expression_statement "uVar12 = 0x7d;" (assignment_expression "uVar12 = 0x7d" identifier = number_literal) ;) (do_statement "do {\n                  if (iVar7 == 0xff) {\n                    *(undefined1 *)(iVar6 + 0xff) = 0;\n                    (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                    *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                    iVar11 = 1;\n                    iVar7 = 0;\n                  }\n                  else {\n                    iVar11 = iVar7 + 1;\n                  }\n                  puVar14 = puVar14 + 1;\n                  *(int *)(iVar6 + 0x100) = iVar11;\n                  *(undefined1 *)(iVar6 + iVar7) = uVar12;\n                  *(undefined1 *)(iVar6 + 0x104) = uVar12;\n                  if ((undefined1 *)(unaff_EDI + 0x264d4) == puVar14) goto LAB_002127e9;\n                  uVar12 = *puVar14;\n                  iVar7 = iVar11;\n                } while( true );" do (compound_statement "{\n                  if (iVar7 == 0xff) {\n                    *(undefined1 *)(iVar6 + 0xff) = 0;\n                    (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                    *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                    iVar11 = 1;\n                    iVar7 = 0;\n                  }\n                  else {\n                    iVar11 = iVar7 + 1;\n                  }\n                  puVar14 = puVar14 + 1;\n                  *(int *)(iVar6 + 0x100) = iVar11;\n                  *(undefined1 *)(iVar6 + iVar7) = uVar12;\n                  *(undefined1 *)(iVar6 + 0x104) = uVar12;\n                  if ((undefined1 *)(unaff_EDI + 0x264d4) == puVar14) goto LAB_002127e9;\n                  uVar12 = *puVar14;\n                  iVar7 = iVar11;\n                }" { (if_statement "if (iVar7 == 0xff) {\n                    *(undefined1 *)(iVar6 + 0xff) = 0;\n                    (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                    *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                    iVar11 = 1;\n                    iVar7 = 0;\n                  }\n                  else {\n                    iVar11 = iVar7 + 1;\n                  }" if (parenthesized_expression "(iVar7 == 0xff)" ( (binary_expression "iVar7 == 0xff" identifier == number_literal) )) (compound_statement "{\n                    *(undefined1 *)(iVar6 + 0xff) = 0;\n                    (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                    *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                    iVar11 = 1;\n                    iVar7 = 0;\n                  }" { (expression_statement "*(undefined1 *)(iVar6 + 0xff) = 0;" (assignment_expression "*(undefined1 *)(iVar6 + 0xff) = 0" (pointer_expression "*(undefined1 *)(iVar6 + 0xff)" * (cast_expression "(undefined1 *)(iVar6 + 0xff)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0xff)" ( (binary_expression "iVar6 + 0xff" identifier + number_literal) )))) = number_literal) ;) (expression_statement "(**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));" (call_expression "(**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c))" (parenthesized_expression "(**(code **)(iVar6 + 0x108))" ( (pointer_expression "**(code **)(iVar6 + 0x108)" * (pointer_expression "*(code **)(iVar6 + 0x108)" * (cast_expression "(code **)(iVar6 + 0x108)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar6 + 0x108)" ( (binary_expression "iVar6 + 0x108" identifier + number_literal) ))))) )) (argument_list "(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c))" ( identifier , number_literal , (pointer_expression "*(undefined4 *)(iVar6 + 0x10c)" * (cast_expression "(undefined4 *)(iVar6 + 0x10c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x10c)" ( (binary_expression "iVar6 + 0x10c" identifier + number_literal) )))) ))) ;) (expression_statement "*(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;" (assignment_expression "*(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1" (pointer_expression "*(int *)(iVar6 + 0x128)" * (cast_expression "(int *)(iVar6 + 0x128)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x128)" ( (binary_expression "iVar6 + 0x128" identifier + number_literal) )))) = (binary_expression "*(int *)(iVar6 + 0x128) + 1" (pointer_expression "*(int *)(iVar6 + 0x128)" * (cast_expression "(int *)(iVar6 + 0x128)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x128)" ( (binary_expression "iVar6 + 0x128" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "iVar11 = 1;" (assignment_expression "iVar11 = 1" identifier = number_literal) ;) (expression_statement "iVar7 = 0;" (assignment_expression "iVar7 = 0" identifier = number_literal) ;) }) (else_clause "else {\n                    iVar11 = iVar7 + 1;\n                  }" else (compound_statement "{\n                    iVar11 = iVar7 + 1;\n                  }" { (expression_statement "iVar11 = iVar7 + 1;" (assignment_expression "iVar11 = iVar7 + 1" identifier = (binary_expression "iVar7 + 1" identifier + number_literal)) ;) }))) (expression_statement "puVar14 = puVar14 + 1;" (assignment_expression "puVar14 = puVar14 + 1" identifier = (binary_expression "puVar14 + 1" identifier + number_literal)) ;) (expression_statement "*(int *)(iVar6 + 0x100) = iVar11;" (assignment_expression "*(int *)(iVar6 + 0x100) = iVar11" (pointer_expression "*(int *)(iVar6 + 0x100)" * (cast_expression "(int *)(iVar6 + 0x100)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x100)" ( (binary_expression "iVar6 + 0x100" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined1 *)(iVar6 + iVar7) = uVar12;" (assignment_expression "*(undefined1 *)(iVar6 + iVar7) = uVar12" (pointer_expression "*(undefined1 *)(iVar6 + iVar7)" * (cast_expression "(undefined1 *)(iVar6 + iVar7)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + iVar7)" ( (binary_expression "iVar6 + iVar7" identifier + identifier) )))) = identifier) ;) (expression_statement "*(undefined1 *)(iVar6 + 0x104) = uVar12;" (assignment_expression "*(undefined1 *)(iVar6 + 0x104) = uVar12" (pointer_expression "*(undefined1 *)(iVar6 + 0x104)" * (cast_expression "(undefined1 *)(iVar6 + 0x104)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x104)" ( (binary_expression "iVar6 + 0x104" identifier + number_literal) )))) = identifier) ;) (if_statement "if ((undefined1 *)(unaff_EDI + 0x264d4) == puVar14) goto LAB_002127e9;" if (parenthesized_expression "((undefined1 *)(unaff_EDI + 0x264d4) == puVar14)" ( (binary_expression "(undefined1 *)(unaff_EDI + 0x264d4) == puVar14" (cast_expression "(undefined1 *)(unaff_EDI + 0x264d4)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EDI + 0x264d4)" ( (binary_expression "unaff_EDI + 0x264d4" identifier + number_literal) ))) == identifier) )) (goto_statement "goto LAB_002127e9;" goto statement_identifier ;)) (expression_statement "uVar12 = *puVar14;" (assignment_expression "uVar12 = *puVar14" identifier = (pointer_expression "*puVar14" * identifier)) ;) (expression_statement "iVar7 = iVar11;" (assignment_expression "iVar7 = iVar11" identifier = identifier) ;) }) while (parenthesized_expression "( true )" ( true )) ;) })) (do_statement "do {\n                if (uVar8 != 0x4c) {\n                  if (uVar8 < 0x4d) {\n                    if (4 < uVar8 - 0x1c) {\nLAB_0021277d:\n                      FUN_0020ca20();\n                      *(undefined4 *)(iVar6 + 0x110) = uVar3;\n                      return;\n                    }\n                  }\n                  else if (1 < uVar8 - 0x4e) goto LAB_0021277d;\n                }\nLAB_002127e9:\n                local_44 = (uint *)local_44[2];\n                uVar8 = *local_44;\n              } while( true );" do (compound_statement "{\n                if (uVar8 != 0x4c) {\n                  if (uVar8 < 0x4d) {\n                    if (4 < uVar8 - 0x1c) {\nLAB_0021277d:\n                      FUN_0020ca20();\n                      *(undefined4 *)(iVar6 + 0x110) = uVar3;\n                      return;\n                    }\n                  }\n                  else if (1 < uVar8 - 0x4e) goto LAB_0021277d;\n                }\nLAB_002127e9:\n                local_44 = (uint *)local_44[2];\n                uVar8 = *local_44;\n              }" { (if_statement "if (uVar8 != 0x4c) {\n                  if (uVar8 < 0x4d) {\n                    if (4 < uVar8 - 0x1c) {\nLAB_0021277d:\n                      FUN_0020ca20();\n                      *(undefined4 *)(iVar6 + 0x110) = uVar3;\n                      return;\n                    }\n                  }\n                  else if (1 < uVar8 - 0x4e) goto LAB_0021277d;\n                }" if (parenthesized_expression "(uVar8 != 0x4c)" ( (binary_expression "uVar8 != 0x4c" identifier != number_literal) )) (compound_statement "{\n                  if (uVar8 < 0x4d) {\n                    if (4 < uVar8 - 0x1c) {\nLAB_0021277d:\n                      FUN_0020ca20();\n                      *(undefined4 *)(iVar6 + 0x110) = uVar3;\n                      return;\n                    }\n                  }\n                  else if (1 < uVar8 - 0x4e) goto LAB_0021277d;\n                }" { (if_statement "if (uVar8 < 0x4d) {\n                    if (4 < uVar8 - 0x1c) {\nLAB_0021277d:\n                      FUN_0020ca20();\n                      *(undefined4 *)(iVar6 + 0x110) = uVar3;\n                      return;\n                    }\n                  }\n                  else if (1 < uVar8 - 0x4e) goto LAB_0021277d;" if (parenthesized_expression "(uVar8 < 0x4d)" ( (binary_expression "uVar8 < 0x4d" identifier < number_literal) )) (compound_statement "{\n                    if (4 < uVar8 - 0x1c) {\nLAB_0021277d:\n                      FUN_0020ca20();\n                      *(undefined4 *)(iVar6 + 0x110) = uVar3;\n                      return;\n                    }\n                  }" { (if_statement "if (4 < uVar8 - 0x1c) {\nLAB_0021277d:\n                      FUN_0020ca20();\n                      *(undefined4 *)(iVar6 + 0x110) = uVar3;\n                      return;\n                    }" if (parenthesized_expression "(4 < uVar8 - 0x1c)" ( (binary_expression "4 < uVar8 - 0x1c" number_literal < (binary_expression "uVar8 - 0x1c" identifier - number_literal)) )) (compound_statement "{\nLAB_0021277d:\n                      FUN_0020ca20();\n                      *(undefined4 *)(iVar6 + 0x110) = uVar3;\n                      return;\n                    }" { (labeled_statement "LAB_0021277d:\n                      FUN_0020ca20();" statement_identifier : (expression_statement "FUN_0020ca20();" (call_expression "FUN_0020ca20()" identifier (argument_list "()" ( ))) ;)) (expression_statement "*(undefined4 *)(iVar6 + 0x110) = uVar3;" (assignment_expression "*(undefined4 *)(iVar6 + 0x110) = uVar3" (pointer_expression "*(undefined4 *)(iVar6 + 0x110)" * (cast_expression "(undefined4 *)(iVar6 + 0x110)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x110)" ( (binary_expression "iVar6 + 0x110" identifier + number_literal) )))) = identifier) ;) (return_statement "return;" return ;) })) }) (else_clause "else if (1 < uVar8 - 0x4e) goto LAB_0021277d;" else (if_statement "if (1 < uVar8 - 0x4e) goto LAB_0021277d;" if (parenthesized_expression "(1 < uVar8 - 0x4e)" ( (binary_expression "1 < uVar8 - 0x4e" number_literal < (binary_expression "uVar8 - 0x4e" identifier - number_literal)) )) (goto_statement "goto LAB_0021277d;" goto statement_identifier ;)))) })) (labeled_statement "LAB_002127e9:\n                local_44 = (uint *)local_44[2];" statement_identifier : (expression_statement "local_44 = (uint *)local_44[2];" (assignment_expression "local_44 = (uint *)local_44[2]" identifier = (cast_expression "(uint *)local_44[2]" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "local_44[2]" identifier [ number_literal ]))) ;)) (expression_statement "uVar8 = *local_44;" (assignment_expression "uVar8 = *local_44" identifier = (pointer_expression "*local_44" * identifier)) ;) }) while (parenthesized_expression "( true )" ( true )) ;) })) (expression_statement "FUN_00211980();" (call_expression "FUN_00211980()" identifier (argument_list "()" ( ))) ;) (expression_statement "*(undefined4 *)(iVar6 + 0x110) = uVar3;" (assignment_expression "*(undefined4 *)(iVar6 + 0x110) = uVar3" (pointer_expression "*(undefined4 *)(iVar6 + 0x110)" * (cast_expression "(undefined4 *)(iVar6 + 0x110)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x110)" ( (binary_expression "iVar6 + 0x110" identifier + number_literal) )))) = identifier) ;) })))) })) })) (expression_statement "piVar4 = (int *)*piVar4;" (assignment_expression "piVar4 = (int *)*piVar4" identifier = (cast_expression "(int *)*piVar4" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar4" * identifier))) ;) (if_statement "if (piVar4 == (int *)0x0) {\n        return;\n      }" if (parenthesized_expression "(piVar4 == (int *)0x0)" ( (binary_expression "piVar4 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        return;\n      }" { (return_statement "return;" return ;) })) (expression_statement "iVar7 = *(int *)(iVar6 + 0x118);" (assignment_expression "iVar7 = *(int *)(iVar6 + 0x118)" identifier = (pointer_expression "*(int *)(iVar6 + 0x118)" * (cast_expression "(int *)(iVar6 + 0x118)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x118)" ( (binary_expression "iVar6 + 0x118" identifier + number_literal) ))))) ;) })) })) (return_statement "return;" return ;) })))
(translation_unit "void d_print_mod_list(int param_1)\n\n{\n  char *pcVar1;\n  char cVar2;\n  undefined4 uVar3;\n  int *piVar4;\n  undefined4 uVar5;\n  int iVar6;\n  int iVar7;\n  uint uVar8;\n  size_t sVar9;\n  int *extraout_ECX;\n  code cVar10;\n  int iVar11;\n  undefined1 uVar12;\n  code *pcVar13;\n  undefined1 *puVar14;\n  char *__s;\n  int unaff_EDI;\n  ulonglong uVar15;\n  uint *local_44;\n  char local_35 [37];\n  \n  uVar15 = __x86_get_pc_thunk_di();\n  iVar6 = (int)uVar15;\n  if (extraout_ECX != (int *)0x0) {\n    iVar7 = *(int *)(iVar6 + 0x118);\n    piVar4 = extraout_ECX;\n    while (iVar7 == 0) {\n      if (piVar4[2] == 0) {\n        uVar8 = *(uint *)piVar4[1];\n        if (param_1 != 0) goto LAB_00212668;\n        if (uVar8 != 0x4c) {\n          if (uVar8 < 0x4d) {\n            if (4 < uVar8 - 0x1c) goto LAB_00212668;\n          }\n          else if (1 < uVar8 - 0x4e) {\nLAB_00212668:\n            uVar3 = *(undefined4 *)(iVar6 + 0x110);\n            piVar4[2] = 1;\n            *(int *)(iVar6 + 0x110) = piVar4[3];\n            if (uVar8 == 0x29) {\n              d_print_function_type_isra_14(*piVar4);\n              *(undefined4 *)(iVar6 + 0x110) = uVar3;\n              return;\n            }\n            if (uVar8 == 0x2a) {\n              d_print_array_type_isra_13(*piVar4);\n              *(undefined4 *)(iVar6 + 0x110) = uVar3;\n              return;\n            }\n            if (uVar8 == 2) {\n              uVar5 = *(undefined4 *)(iVar6 + 0x114);\n              *(undefined4 *)(iVar6 + 0x114) = 0;\n              d_print_comp();\n              *(undefined4 *)(iVar6 + 0x114) = uVar5;\n              iVar7 = *(int *)(iVar6 + 0x100);\n              if ((uVar15 & 0x400000000) == 0) {\n                puVar14 = (undefined1 *)(unaff_EDI + 0x264d2);\n                uVar12 = 0x3a;\n                while( true ) {\n                  if (iVar7 == 0xff) {\n                    *(undefined1 *)(iVar6 + 0xff) = 0;\n                    (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                    *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                    iVar11 = 1;\n                    iVar7 = 0;\n                  }\n                  else {\n                    iVar11 = iVar7 + 1;\n                  }\n                  puVar14 = puVar14 + 1;\n                  *(int *)(iVar6 + 0x100) = iVar11;\n                  *(undefined1 *)(iVar6 + iVar7) = uVar12;\n                  *(undefined1 *)(iVar6 + 0x104) = uVar12;\n                  if (puVar14 == (undefined1 *)(unaff_EDI + 0x264d4)) break;\n                  uVar12 = *puVar14;\n                  iVar7 = iVar11;\n                }\n              }\n              else {\n                iVar11 = iVar7 + 1;\n                if (iVar7 == 0xff) {\n                  *(undefined1 *)(iVar6 + 0xff) = 0;\n                  (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                  *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                  iVar11 = 1;\n                  iVar7 = 0;\n                }\n                *(int *)(iVar6 + 0x100) = iVar11;\n                *(undefined1 *)(iVar6 + iVar7) = 0x2e;\n                *(undefined1 *)(iVar6 + 0x104) = 0x2e;\n              }\n              local_44 = *(uint **)(piVar4[1] + 0xc);\n              uVar8 = *local_44;\n              if (uVar8 == 0x46) {\n                cVar10 = (code)0x7b;\n                pcVar13 = ioctl + unaff_EDI + 4;\n                iVar7 = *(int *)(iVar6 + 0x100);\n                while( true ) {\n                  if (iVar7 == 0xff) {\n                    *(undefined1 *)(iVar6 + 0xff) = 0;\n                    (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                    *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                    iVar11 = 1;\n                    iVar7 = 0;\n                  }\n                  else {\n                    iVar11 = iVar7 + 1;\n                  }\n                  *(int *)(iVar6 + 0x100) = iVar11;\n                  *(code *)(iVar6 + iVar7) = cVar10;\n                  *(code *)(iVar6 + 0x104) = cVar10;\n                  if (pcVar13 == wcrtomb + unaff_EDI) break;\n                  cVar10 = *pcVar13;\n                  pcVar13 = pcVar13 + 1;\n                  iVar7 = iVar11;\n                }\n                __s = local_35;\n                sprintf(__s,(char *)((int)&__DT_REL[0x263a].r_offset + unaff_EDI + 2),\n                        local_44[3] + 1);\n                sVar9 = strlen(__s);\n                iVar7 = *(int *)(iVar6 + 0x100);\n                if (sVar9 != 0) {\n                  pcVar1 = __s + sVar9;\n                  iVar11 = iVar7;\n                  do {\n                    cVar2 = *__s;\n                    if (iVar11 == 0xff) {\n                      *(undefined1 *)(iVar6 + 0xff) = 0;\n                      (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                      *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                      iVar7 = 1;\n                      iVar11 = 0;\n                    }\n                    else {\n                      iVar7 = iVar11 + 1;\n                    }\n                    __s = __s + 1;\n                    *(int *)(iVar6 + 0x100) = iVar7;\n                    *(char *)(iVar6 + iVar11) = cVar2;\n                    *(char *)(iVar6 + 0x104) = cVar2;\n                    iVar11 = iVar7;\n                  } while (pcVar1 != __s);\n                }\n                puVar14 = (undefined1 *)(unaff_EDI + 0x264d1);\n                uVar12 = 0x7d;\n                do {\n                  if (iVar7 == 0xff) {\n                    *(undefined1 *)(iVar6 + 0xff) = 0;\n                    (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                    *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                    iVar11 = 1;\n                    iVar7 = 0;\n                  }\n                  else {\n                    iVar11 = iVar7 + 1;\n                  }\n                  puVar14 = puVar14 + 1;\n                  *(int *)(iVar6 + 0x100) = iVar11;\n                  *(undefined1 *)(iVar6 + iVar7) = uVar12;\n                  *(undefined1 *)(iVar6 + 0x104) = uVar12;\n                  if ((undefined1 *)(unaff_EDI + 0x264d4) == puVar14) goto LAB_002127e9;\n                  uVar12 = *puVar14;\n                  iVar7 = iVar11;\n                } while( true );\n              }\n              do {\n                if (uVar8 != 0x4c) {\n                  if (uVar8 < 0x4d) {\n                    if (4 < uVar8 - 0x1c) {\nLAB_0021277d:\n                      d_print_comp();\n                      *(undefined4 *)(iVar6 + 0x110) = uVar3;\n                      return;\n                    }\n                  }\n                  else if (1 < uVar8 - 0x4e) goto LAB_0021277d;\n                }\nLAB_002127e9:\n                local_44 = (uint *)local_44[2];\n                uVar8 = *local_44;\n              } while( true );\n            }\n            d_print_mod();\n            *(undefined4 *)(iVar6 + 0x110) = uVar3;\n          }\n        }\n      }\n      piVar4 = (int *)*piVar4;\n      if (piVar4 == (int *)0x0) {\n        return;\n      }\n      iVar7 = *(int *)(iVar6 + 0x118);\n    }\n  }\n  return;\n}\n\n" (function_definition "void d_print_mod_list(int param_1)\n\n{\n  char *pcVar1;\n  char cVar2;\n  undefined4 uVar3;\n  int *piVar4;\n  undefined4 uVar5;\n  int iVar6;\n  int iVar7;\n  uint uVar8;\n  size_t sVar9;\n  int *extraout_ECX;\n  code cVar10;\n  int iVar11;\n  undefined1 uVar12;\n  code *pcVar13;\n  undefined1 *puVar14;\n  char *__s;\n  int unaff_EDI;\n  ulonglong uVar15;\n  uint *local_44;\n  char local_35 [37];\n  \n  uVar15 = __x86_get_pc_thunk_di();\n  iVar6 = (int)uVar15;\n  if (extraout_ECX != (int *)0x0) {\n    iVar7 = *(int *)(iVar6 + 0x118);\n    piVar4 = extraout_ECX;\n    while (iVar7 == 0) {\n      if (piVar4[2] == 0) {\n        uVar8 = *(uint *)piVar4[1];\n        if (param_1 != 0) goto LAB_00212668;\n        if (uVar8 != 0x4c) {\n          if (uVar8 < 0x4d) {\n            if (4 < uVar8 - 0x1c) goto LAB_00212668;\n          }\n          else if (1 < uVar8 - 0x4e) {\nLAB_00212668:\n            uVar3 = *(undefined4 *)(iVar6 + 0x110);\n            piVar4[2] = 1;\n            *(int *)(iVar6 + 0x110) = piVar4[3];\n            if (uVar8 == 0x29) {\n              d_print_function_type_isra_14(*piVar4);\n              *(undefined4 *)(iVar6 + 0x110) = uVar3;\n              return;\n            }\n            if (uVar8 == 0x2a) {\n              d_print_array_type_isra_13(*piVar4);\n              *(undefined4 *)(iVar6 + 0x110) = uVar3;\n              return;\n            }\n            if (uVar8 == 2) {\n              uVar5 = *(undefined4 *)(iVar6 + 0x114);\n              *(undefined4 *)(iVar6 + 0x114) = 0;\n              d_print_comp();\n              *(undefined4 *)(iVar6 + 0x114) = uVar5;\n              iVar7 = *(int *)(iVar6 + 0x100);\n              if ((uVar15 & 0x400000000) == 0) {\n                puVar14 = (undefined1 *)(unaff_EDI + 0x264d2);\n                uVar12 = 0x3a;\n                while( true ) {\n                  if (iVar7 == 0xff) {\n                    *(undefined1 *)(iVar6 + 0xff) = 0;\n                    (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                    *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                    iVar11 = 1;\n                    iVar7 = 0;\n                  }\n                  else {\n                    iVar11 = iVar7 + 1;\n                  }\n                  puVar14 = puVar14 + 1;\n                  *(int *)(iVar6 + 0x100) = iVar11;\n                  *(undefined1 *)(iVar6 + iVar7) = uVar12;\n                  *(undefined1 *)(iVar6 + 0x104) = uVar12;\n                  if (puVar14 == (undefined1 *)(unaff_EDI + 0x264d4)) break;\n                  uVar12 = *puVar14;\n                  iVar7 = iVar11;\n                }\n              }\n              else {\n                iVar11 = iVar7 + 1;\n                if (iVar7 == 0xff) {\n                  *(undefined1 *)(iVar6 + 0xff) = 0;\n                  (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                  *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                  iVar11 = 1;\n                  iVar7 = 0;\n                }\n                *(int *)(iVar6 + 0x100) = iVar11;\n                *(undefined1 *)(iVar6 + iVar7) = 0x2e;\n                *(undefined1 *)(iVar6 + 0x104) = 0x2e;\n              }\n              local_44 = *(uint **)(piVar4[1] + 0xc);\n              uVar8 = *local_44;\n              if (uVar8 == 0x46) {\n                cVar10 = (code)0x7b;\n                pcVar13 = ioctl + unaff_EDI + 4;\n                iVar7 = *(int *)(iVar6 + 0x100);\n                while( true ) {\n                  if (iVar7 == 0xff) {\n                    *(undefined1 *)(iVar6 + 0xff) = 0;\n                    (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                    *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                    iVar11 = 1;\n                    iVar7 = 0;\n                  }\n                  else {\n                    iVar11 = iVar7 + 1;\n                  }\n                  *(int *)(iVar6 + 0x100) = iVar11;\n                  *(code *)(iVar6 + iVar7) = cVar10;\n                  *(code *)(iVar6 + 0x104) = cVar10;\n                  if (pcVar13 == wcrtomb + unaff_EDI) break;\n                  cVar10 = *pcVar13;\n                  pcVar13 = pcVar13 + 1;\n                  iVar7 = iVar11;\n                }\n                __s = local_35;\n                sprintf(__s,(char *)((int)&__DT_REL[0x263a].r_offset + unaff_EDI + 2),\n                        local_44[3] + 1);\n                sVar9 = strlen(__s);\n                iVar7 = *(int *)(iVar6 + 0x100);\n                if (sVar9 != 0) {\n                  pcVar1 = __s + sVar9;\n                  iVar11 = iVar7;\n                  do {\n                    cVar2 = *__s;\n                    if (iVar11 == 0xff) {\n                      *(undefined1 *)(iVar6 + 0xff) = 0;\n                      (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                      *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                      iVar7 = 1;\n                      iVar11 = 0;\n                    }\n                    else {\n                      iVar7 = iVar11 + 1;\n                    }\n                    __s = __s + 1;\n                    *(int *)(iVar6 + 0x100) = iVar7;\n                    *(char *)(iVar6 + iVar11) = cVar2;\n                    *(char *)(iVar6 + 0x104) = cVar2;\n                    iVar11 = iVar7;\n                  } while (pcVar1 != __s);\n                }\n                puVar14 = (undefined1 *)(unaff_EDI + 0x264d1);\n                uVar12 = 0x7d;\n                do {\n                  if (iVar7 == 0xff) {\n                    *(undefined1 *)(iVar6 + 0xff) = 0;\n                    (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                    *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                    iVar11 = 1;\n                    iVar7 = 0;\n                  }\n                  else {\n                    iVar11 = iVar7 + 1;\n                  }\n                  puVar14 = puVar14 + 1;\n                  *(int *)(iVar6 + 0x100) = iVar11;\n                  *(undefined1 *)(iVar6 + iVar7) = uVar12;\n                  *(undefined1 *)(iVar6 + 0x104) = uVar12;\n                  if ((undefined1 *)(unaff_EDI + 0x264d4) == puVar14) goto LAB_002127e9;\n                  uVar12 = *puVar14;\n                  iVar7 = iVar11;\n                } while( true );\n              }\n              do {\n                if (uVar8 != 0x4c) {\n                  if (uVar8 < 0x4d) {\n                    if (4 < uVar8 - 0x1c) {\nLAB_0021277d:\n                      d_print_comp();\n                      *(undefined4 *)(iVar6 + 0x110) = uVar3;\n                      return;\n                    }\n                  }\n                  else if (1 < uVar8 - 0x4e) goto LAB_0021277d;\n                }\nLAB_002127e9:\n                local_44 = (uint *)local_44[2];\n                uVar8 = *local_44;\n              } while( true );\n            }\n            d_print_mod();\n            *(undefined4 *)(iVar6 + 0x110) = uVar3;\n          }\n        }\n      }\n      piVar4 = (int *)*piVar4;\n      if (piVar4 == (int *)0x0) {\n        return;\n      }\n      iVar7 = *(int *)(iVar6 + 0x118);\n    }\n  }\n  return;\n}" primitive_type (function_declarator "d_print_mod_list(int param_1)" identifier (parameter_list "(int param_1)" ( (parameter_declaration "int param_1" primitive_type identifier) ))) (compound_statement "{\n  char *pcVar1;\n  char cVar2;\n  undefined4 uVar3;\n  int *piVar4;\n  undefined4 uVar5;\n  int iVar6;\n  int iVar7;\n  uint uVar8;\n  size_t sVar9;\n  int *extraout_ECX;\n  code cVar10;\n  int iVar11;\n  undefined1 uVar12;\n  code *pcVar13;\n  undefined1 *puVar14;\n  char *__s;\n  int unaff_EDI;\n  ulonglong uVar15;\n  uint *local_44;\n  char local_35 [37];\n  \n  uVar15 = __x86_get_pc_thunk_di();\n  iVar6 = (int)uVar15;\n  if (extraout_ECX != (int *)0x0) {\n    iVar7 = *(int *)(iVar6 + 0x118);\n    piVar4 = extraout_ECX;\n    while (iVar7 == 0) {\n      if (piVar4[2] == 0) {\n        uVar8 = *(uint *)piVar4[1];\n        if (param_1 != 0) goto LAB_00212668;\n        if (uVar8 != 0x4c) {\n          if (uVar8 < 0x4d) {\n            if (4 < uVar8 - 0x1c) goto LAB_00212668;\n          }\n          else if (1 < uVar8 - 0x4e) {\nLAB_00212668:\n            uVar3 = *(undefined4 *)(iVar6 + 0x110);\n            piVar4[2] = 1;\n            *(int *)(iVar6 + 0x110) = piVar4[3];\n            if (uVar8 == 0x29) {\n              d_print_function_type_isra_14(*piVar4);\n              *(undefined4 *)(iVar6 + 0x110) = uVar3;\n              return;\n            }\n            if (uVar8 == 0x2a) {\n              d_print_array_type_isra_13(*piVar4);\n              *(undefined4 *)(iVar6 + 0x110) = uVar3;\n              return;\n            }\n            if (uVar8 == 2) {\n              uVar5 = *(undefined4 *)(iVar6 + 0x114);\n              *(undefined4 *)(iVar6 + 0x114) = 0;\n              d_print_comp();\n              *(undefined4 *)(iVar6 + 0x114) = uVar5;\n              iVar7 = *(int *)(iVar6 + 0x100);\n              if ((uVar15 & 0x400000000) == 0) {\n                puVar14 = (undefined1 *)(unaff_EDI + 0x264d2);\n                uVar12 = 0x3a;\n                while( true ) {\n                  if (iVar7 == 0xff) {\n                    *(undefined1 *)(iVar6 + 0xff) = 0;\n                    (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                    *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                    iVar11 = 1;\n                    iVar7 = 0;\n                  }\n                  else {\n                    iVar11 = iVar7 + 1;\n                  }\n                  puVar14 = puVar14 + 1;\n                  *(int *)(iVar6 + 0x100) = iVar11;\n                  *(undefined1 *)(iVar6 + iVar7) = uVar12;\n                  *(undefined1 *)(iVar6 + 0x104) = uVar12;\n                  if (puVar14 == (undefined1 *)(unaff_EDI + 0x264d4)) break;\n                  uVar12 = *puVar14;\n                  iVar7 = iVar11;\n                }\n              }\n              else {\n                iVar11 = iVar7 + 1;\n                if (iVar7 == 0xff) {\n                  *(undefined1 *)(iVar6 + 0xff) = 0;\n                  (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                  *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                  iVar11 = 1;\n                  iVar7 = 0;\n                }\n                *(int *)(iVar6 + 0x100) = iVar11;\n                *(undefined1 *)(iVar6 + iVar7) = 0x2e;\n                *(undefined1 *)(iVar6 + 0x104) = 0x2e;\n              }\n              local_44 = *(uint **)(piVar4[1] + 0xc);\n              uVar8 = *local_44;\n              if (uVar8 == 0x46) {\n                cVar10 = (code)0x7b;\n                pcVar13 = ioctl + unaff_EDI + 4;\n                iVar7 = *(int *)(iVar6 + 0x100);\n                while( true ) {\n                  if (iVar7 == 0xff) {\n                    *(undefined1 *)(iVar6 + 0xff) = 0;\n                    (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                    *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                    iVar11 = 1;\n                    iVar7 = 0;\n                  }\n                  else {\n                    iVar11 = iVar7 + 1;\n                  }\n                  *(int *)(iVar6 + 0x100) = iVar11;\n                  *(code *)(iVar6 + iVar7) = cVar10;\n                  *(code *)(iVar6 + 0x104) = cVar10;\n                  if (pcVar13 == wcrtomb + unaff_EDI) break;\n                  cVar10 = *pcVar13;\n                  pcVar13 = pcVar13 + 1;\n                  iVar7 = iVar11;\n                }\n                __s = local_35;\n                sprintf(__s,(char *)((int)&__DT_REL[0x263a].r_offset + unaff_EDI + 2),\n                        local_44[3] + 1);\n                sVar9 = strlen(__s);\n                iVar7 = *(int *)(iVar6 + 0x100);\n                if (sVar9 != 0) {\n                  pcVar1 = __s + sVar9;\n                  iVar11 = iVar7;\n                  do {\n                    cVar2 = *__s;\n                    if (iVar11 == 0xff) {\n                      *(undefined1 *)(iVar6 + 0xff) = 0;\n                      (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                      *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                      iVar7 = 1;\n                      iVar11 = 0;\n                    }\n                    else {\n                      iVar7 = iVar11 + 1;\n                    }\n                    __s = __s + 1;\n                    *(int *)(iVar6 + 0x100) = iVar7;\n                    *(char *)(iVar6 + iVar11) = cVar2;\n                    *(char *)(iVar6 + 0x104) = cVar2;\n                    iVar11 = iVar7;\n                  } while (pcVar1 != __s);\n                }\n                puVar14 = (undefined1 *)(unaff_EDI + 0x264d1);\n                uVar12 = 0x7d;\n                do {\n                  if (iVar7 == 0xff) {\n                    *(undefined1 *)(iVar6 + 0xff) = 0;\n                    (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                    *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                    iVar11 = 1;\n                    iVar7 = 0;\n                  }\n                  else {\n                    iVar11 = iVar7 + 1;\n                  }\n                  puVar14 = puVar14 + 1;\n                  *(int *)(iVar6 + 0x100) = iVar11;\n                  *(undefined1 *)(iVar6 + iVar7) = uVar12;\n                  *(undefined1 *)(iVar6 + 0x104) = uVar12;\n                  if ((undefined1 *)(unaff_EDI + 0x264d4) == puVar14) goto LAB_002127e9;\n                  uVar12 = *puVar14;\n                  iVar7 = iVar11;\n                } while( true );\n              }\n              do {\n                if (uVar8 != 0x4c) {\n                  if (uVar8 < 0x4d) {\n                    if (4 < uVar8 - 0x1c) {\nLAB_0021277d:\n                      d_print_comp();\n                      *(undefined4 *)(iVar6 + 0x110) = uVar3;\n                      return;\n                    }\n                  }\n                  else if (1 < uVar8 - 0x4e) goto LAB_0021277d;\n                }\nLAB_002127e9:\n                local_44 = (uint *)local_44[2];\n                uVar8 = *local_44;\n              } while( true );\n            }\n            d_print_mod();\n            *(undefined4 *)(iVar6 + 0x110) = uVar3;\n          }\n        }\n      }\n      piVar4 = (int *)*piVar4;\n      if (piVar4 == (int *)0x0) {\n        return;\n      }\n      iVar7 = *(int *)(iVar6 + 0x118);\n    }\n  }\n  return;\n}" { (declaration "char *pcVar1;" primitive_type (pointer_declarator "*pcVar1" * identifier) ;) (declaration "char cVar2;" primitive_type identifier ;) (declaration "undefined4 uVar3;" type_identifier identifier ;) (declaration "int *piVar4;" primitive_type (pointer_declarator "*piVar4" * identifier) ;) (declaration "undefined4 uVar5;" type_identifier identifier ;) (declaration "int iVar6;" primitive_type identifier ;) (declaration "int iVar7;" primitive_type identifier ;) (declaration "uint uVar8;" type_identifier identifier ;) (declaration "size_t sVar9;" primitive_type identifier ;) (declaration "int *extraout_ECX;" primitive_type (pointer_declarator "*extraout_ECX" * identifier) ;) (declaration "code cVar10;" type_identifier identifier ;) (declaration "int iVar11;" primitive_type identifier ;) (declaration "undefined1 uVar12;" type_identifier identifier ;) (declaration "code *pcVar13;" type_identifier (pointer_declarator "*pcVar13" * identifier) ;) (declaration "undefined1 *puVar14;" type_identifier (pointer_declarator "*puVar14" * identifier) ;) (declaration "char *__s;" primitive_type (pointer_declarator "*__s" * identifier) ;) (declaration "int unaff_EDI;" primitive_type identifier ;) (declaration "ulonglong uVar15;" type_identifier identifier ;) (declaration "uint *local_44;" type_identifier (pointer_declarator "*local_44" * identifier) ;) (declaration "char local_35 [37];" primitive_type (array_declarator "local_35 [37]" identifier [ number_literal ]) ;) (expression_statement "uVar15 = __x86_get_pc_thunk_di();" (assignment_expression "uVar15 = __x86_get_pc_thunk_di()" identifier = (call_expression "__x86_get_pc_thunk_di()" identifier (argument_list "()" ( )))) ;) (expression_statement "iVar6 = (int)uVar15;" (assignment_expression "iVar6 = (int)uVar15" identifier = (cast_expression "(int)uVar15" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (if_statement "if (extraout_ECX != (int *)0x0) {\n    iVar7 = *(int *)(iVar6 + 0x118);\n    piVar4 = extraout_ECX;\n    while (iVar7 == 0) {\n      if (piVar4[2] == 0) {\n        uVar8 = *(uint *)piVar4[1];\n        if (param_1 != 0) goto LAB_00212668;\n        if (uVar8 != 0x4c) {\n          if (uVar8 < 0x4d) {\n            if (4 < uVar8 - 0x1c) goto LAB_00212668;\n          }\n          else if (1 < uVar8 - 0x4e) {\nLAB_00212668:\n            uVar3 = *(undefined4 *)(iVar6 + 0x110);\n            piVar4[2] = 1;\n            *(int *)(iVar6 + 0x110) = piVar4[3];\n            if (uVar8 == 0x29) {\n              d_print_function_type_isra_14(*piVar4);\n              *(undefined4 *)(iVar6 + 0x110) = uVar3;\n              return;\n            }\n            if (uVar8 == 0x2a) {\n              d_print_array_type_isra_13(*piVar4);\n              *(undefined4 *)(iVar6 + 0x110) = uVar3;\n              return;\n            }\n            if (uVar8 == 2) {\n              uVar5 = *(undefined4 *)(iVar6 + 0x114);\n              *(undefined4 *)(iVar6 + 0x114) = 0;\n              d_print_comp();\n              *(undefined4 *)(iVar6 + 0x114) = uVar5;\n              iVar7 = *(int *)(iVar6 + 0x100);\n              if ((uVar15 & 0x400000000) == 0) {\n                puVar14 = (undefined1 *)(unaff_EDI + 0x264d2);\n                uVar12 = 0x3a;\n                while( true ) {\n                  if (iVar7 == 0xff) {\n                    *(undefined1 *)(iVar6 + 0xff) = 0;\n                    (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                    *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                    iVar11 = 1;\n                    iVar7 = 0;\n                  }\n                  else {\n                    iVar11 = iVar7 + 1;\n                  }\n                  puVar14 = puVar14 + 1;\n                  *(int *)(iVar6 + 0x100) = iVar11;\n                  *(undefined1 *)(iVar6 + iVar7) = uVar12;\n                  *(undefined1 *)(iVar6 + 0x104) = uVar12;\n                  if (puVar14 == (undefined1 *)(unaff_EDI + 0x264d4)) break;\n                  uVar12 = *puVar14;\n                  iVar7 = iVar11;\n                }\n              }\n              else {\n                iVar11 = iVar7 + 1;\n                if (iVar7 == 0xff) {\n                  *(undefined1 *)(iVar6 + 0xff) = 0;\n                  (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                  *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                  iVar11 = 1;\n                  iVar7 = 0;\n                }\n                *(int *)(iVar6 + 0x100) = iVar11;\n                *(undefined1 *)(iVar6 + iVar7) = 0x2e;\n                *(undefined1 *)(iVar6 + 0x104) = 0x2e;\n              }\n              local_44 = *(uint **)(piVar4[1] + 0xc);\n              uVar8 = *local_44;\n              if (uVar8 == 0x46) {\n                cVar10 = (code)0x7b;\n                pcVar13 = ioctl + unaff_EDI + 4;\n                iVar7 = *(int *)(iVar6 + 0x100);\n                while( true ) {\n                  if (iVar7 == 0xff) {\n                    *(undefined1 *)(iVar6 + 0xff) = 0;\n                    (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                    *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                    iVar11 = 1;\n                    iVar7 = 0;\n                  }\n                  else {\n                    iVar11 = iVar7 + 1;\n                  }\n                  *(int *)(iVar6 + 0x100) = iVar11;\n                  *(code *)(iVar6 + iVar7) = cVar10;\n                  *(code *)(iVar6 + 0x104) = cVar10;\n                  if (pcVar13 == wcrtomb + unaff_EDI) break;\n                  cVar10 = *pcVar13;\n                  pcVar13 = pcVar13 + 1;\n                  iVar7 = iVar11;\n                }\n                __s = local_35;\n                sprintf(__s,(char *)((int)&__DT_REL[0x263a].r_offset + unaff_EDI + 2),\n                        local_44[3] + 1);\n                sVar9 = strlen(__s);\n                iVar7 = *(int *)(iVar6 + 0x100);\n                if (sVar9 != 0) {\n                  pcVar1 = __s + sVar9;\n                  iVar11 = iVar7;\n                  do {\n                    cVar2 = *__s;\n                    if (iVar11 == 0xff) {\n                      *(undefined1 *)(iVar6 + 0xff) = 0;\n                      (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                      *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                      iVar7 = 1;\n                      iVar11 = 0;\n                    }\n                    else {\n                      iVar7 = iVar11 + 1;\n                    }\n                    __s = __s + 1;\n                    *(int *)(iVar6 + 0x100) = iVar7;\n                    *(char *)(iVar6 + iVar11) = cVar2;\n                    *(char *)(iVar6 + 0x104) = cVar2;\n                    iVar11 = iVar7;\n                  } while (pcVar1 != __s);\n                }\n                puVar14 = (undefined1 *)(unaff_EDI + 0x264d1);\n                uVar12 = 0x7d;\n                do {\n                  if (iVar7 == 0xff) {\n                    *(undefined1 *)(iVar6 + 0xff) = 0;\n                    (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                    *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                    iVar11 = 1;\n                    iVar7 = 0;\n                  }\n                  else {\n                    iVar11 = iVar7 + 1;\n                  }\n                  puVar14 = puVar14 + 1;\n                  *(int *)(iVar6 + 0x100) = iVar11;\n                  *(undefined1 *)(iVar6 + iVar7) = uVar12;\n                  *(undefined1 *)(iVar6 + 0x104) = uVar12;\n                  if ((undefined1 *)(unaff_EDI + 0x264d4) == puVar14) goto LAB_002127e9;\n                  uVar12 = *puVar14;\n                  iVar7 = iVar11;\n                } while( true );\n              }\n              do {\n                if (uVar8 != 0x4c) {\n                  if (uVar8 < 0x4d) {\n                    if (4 < uVar8 - 0x1c) {\nLAB_0021277d:\n                      d_print_comp();\n                      *(undefined4 *)(iVar6 + 0x110) = uVar3;\n                      return;\n                    }\n                  }\n                  else if (1 < uVar8 - 0x4e) goto LAB_0021277d;\n                }\nLAB_002127e9:\n                local_44 = (uint *)local_44[2];\n                uVar8 = *local_44;\n              } while( true );\n            }\n            d_print_mod();\n            *(undefined4 *)(iVar6 + 0x110) = uVar3;\n          }\n        }\n      }\n      piVar4 = (int *)*piVar4;\n      if (piVar4 == (int *)0x0) {\n        return;\n      }\n      iVar7 = *(int *)(iVar6 + 0x118);\n    }\n  }" if (parenthesized_expression "(extraout_ECX != (int *)0x0)" ( (binary_expression "extraout_ECX != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    iVar7 = *(int *)(iVar6 + 0x118);\n    piVar4 = extraout_ECX;\n    while (iVar7 == 0) {\n      if (piVar4[2] == 0) {\n        uVar8 = *(uint *)piVar4[1];\n        if (param_1 != 0) goto LAB_00212668;\n        if (uVar8 != 0x4c) {\n          if (uVar8 < 0x4d) {\n            if (4 < uVar8 - 0x1c) goto LAB_00212668;\n          }\n          else if (1 < uVar8 - 0x4e) {\nLAB_00212668:\n            uVar3 = *(undefined4 *)(iVar6 + 0x110);\n            piVar4[2] = 1;\n            *(int *)(iVar6 + 0x110) = piVar4[3];\n            if (uVar8 == 0x29) {\n              d_print_function_type_isra_14(*piVar4);\n              *(undefined4 *)(iVar6 + 0x110) = uVar3;\n              return;\n            }\n            if (uVar8 == 0x2a) {\n              d_print_array_type_isra_13(*piVar4);\n              *(undefined4 *)(iVar6 + 0x110) = uVar3;\n              return;\n            }\n            if (uVar8 == 2) {\n              uVar5 = *(undefined4 *)(iVar6 + 0x114);\n              *(undefined4 *)(iVar6 + 0x114) = 0;\n              d_print_comp();\n              *(undefined4 *)(iVar6 + 0x114) = uVar5;\n              iVar7 = *(int *)(iVar6 + 0x100);\n              if ((uVar15 & 0x400000000) == 0) {\n                puVar14 = (undefined1 *)(unaff_EDI + 0x264d2);\n                uVar12 = 0x3a;\n                while( true ) {\n                  if (iVar7 == 0xff) {\n                    *(undefined1 *)(iVar6 + 0xff) = 0;\n                    (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                    *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                    iVar11 = 1;\n                    iVar7 = 0;\n                  }\n                  else {\n                    iVar11 = iVar7 + 1;\n                  }\n                  puVar14 = puVar14 + 1;\n                  *(int *)(iVar6 + 0x100) = iVar11;\n                  *(undefined1 *)(iVar6 + iVar7) = uVar12;\n                  *(undefined1 *)(iVar6 + 0x104) = uVar12;\n                  if (puVar14 == (undefined1 *)(unaff_EDI + 0x264d4)) break;\n                  uVar12 = *puVar14;\n                  iVar7 = iVar11;\n                }\n              }\n              else {\n                iVar11 = iVar7 + 1;\n                if (iVar7 == 0xff) {\n                  *(undefined1 *)(iVar6 + 0xff) = 0;\n                  (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                  *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                  iVar11 = 1;\n                  iVar7 = 0;\n                }\n                *(int *)(iVar6 + 0x100) = iVar11;\n                *(undefined1 *)(iVar6 + iVar7) = 0x2e;\n                *(undefined1 *)(iVar6 + 0x104) = 0x2e;\n              }\n              local_44 = *(uint **)(piVar4[1] + 0xc);\n              uVar8 = *local_44;\n              if (uVar8 == 0x46) {\n                cVar10 = (code)0x7b;\n                pcVar13 = ioctl + unaff_EDI + 4;\n                iVar7 = *(int *)(iVar6 + 0x100);\n                while( true ) {\n                  if (iVar7 == 0xff) {\n                    *(undefined1 *)(iVar6 + 0xff) = 0;\n                    (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                    *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                    iVar11 = 1;\n                    iVar7 = 0;\n                  }\n                  else {\n                    iVar11 = iVar7 + 1;\n                  }\n                  *(int *)(iVar6 + 0x100) = iVar11;\n                  *(code *)(iVar6 + iVar7) = cVar10;\n                  *(code *)(iVar6 + 0x104) = cVar10;\n                  if (pcVar13 == wcrtomb + unaff_EDI) break;\n                  cVar10 = *pcVar13;\n                  pcVar13 = pcVar13 + 1;\n                  iVar7 = iVar11;\n                }\n                __s = local_35;\n                sprintf(__s,(char *)((int)&__DT_REL[0x263a].r_offset + unaff_EDI + 2),\n                        local_44[3] + 1);\n                sVar9 = strlen(__s);\n                iVar7 = *(int *)(iVar6 + 0x100);\n                if (sVar9 != 0) {\n                  pcVar1 = __s + sVar9;\n                  iVar11 = iVar7;\n                  do {\n                    cVar2 = *__s;\n                    if (iVar11 == 0xff) {\n                      *(undefined1 *)(iVar6 + 0xff) = 0;\n                      (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                      *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                      iVar7 = 1;\n                      iVar11 = 0;\n                    }\n                    else {\n                      iVar7 = iVar11 + 1;\n                    }\n                    __s = __s + 1;\n                    *(int *)(iVar6 + 0x100) = iVar7;\n                    *(char *)(iVar6 + iVar11) = cVar2;\n                    *(char *)(iVar6 + 0x104) = cVar2;\n                    iVar11 = iVar7;\n                  } while (pcVar1 != __s);\n                }\n                puVar14 = (undefined1 *)(unaff_EDI + 0x264d1);\n                uVar12 = 0x7d;\n                do {\n                  if (iVar7 == 0xff) {\n                    *(undefined1 *)(iVar6 + 0xff) = 0;\n                    (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                    *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                    iVar11 = 1;\n                    iVar7 = 0;\n                  }\n                  else {\n                    iVar11 = iVar7 + 1;\n                  }\n                  puVar14 = puVar14 + 1;\n                  *(int *)(iVar6 + 0x100) = iVar11;\n                  *(undefined1 *)(iVar6 + iVar7) = uVar12;\n                  *(undefined1 *)(iVar6 + 0x104) = uVar12;\n                  if ((undefined1 *)(unaff_EDI + 0x264d4) == puVar14) goto LAB_002127e9;\n                  uVar12 = *puVar14;\n                  iVar7 = iVar11;\n                } while( true );\n              }\n              do {\n                if (uVar8 != 0x4c) {\n                  if (uVar8 < 0x4d) {\n                    if (4 < uVar8 - 0x1c) {\nLAB_0021277d:\n                      d_print_comp();\n                      *(undefined4 *)(iVar6 + 0x110) = uVar3;\n                      return;\n                    }\n                  }\n                  else if (1 < uVar8 - 0x4e) goto LAB_0021277d;\n                }\nLAB_002127e9:\n                local_44 = (uint *)local_44[2];\n                uVar8 = *local_44;\n              } while( true );\n            }\n            d_print_mod();\n            *(undefined4 *)(iVar6 + 0x110) = uVar3;\n          }\n        }\n      }\n      piVar4 = (int *)*piVar4;\n      if (piVar4 == (int *)0x0) {\n        return;\n      }\n      iVar7 = *(int *)(iVar6 + 0x118);\n    }\n  }" { (expression_statement "iVar7 = *(int *)(iVar6 + 0x118);" (assignment_expression "iVar7 = *(int *)(iVar6 + 0x118)" identifier = (pointer_expression "*(int *)(iVar6 + 0x118)" * (cast_expression "(int *)(iVar6 + 0x118)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x118)" ( (binary_expression "iVar6 + 0x118" identifier + number_literal) ))))) ;) (expression_statement "piVar4 = extraout_ECX;" (assignment_expression "piVar4 = extraout_ECX" identifier = identifier) ;) (while_statement "while (iVar7 == 0) {\n      if (piVar4[2] == 0) {\n        uVar8 = *(uint *)piVar4[1];\n        if (param_1 != 0) goto LAB_00212668;\n        if (uVar8 != 0x4c) {\n          if (uVar8 < 0x4d) {\n            if (4 < uVar8 - 0x1c) goto LAB_00212668;\n          }\n          else if (1 < uVar8 - 0x4e) {\nLAB_00212668:\n            uVar3 = *(undefined4 *)(iVar6 + 0x110);\n            piVar4[2] = 1;\n            *(int *)(iVar6 + 0x110) = piVar4[3];\n            if (uVar8 == 0x29) {\n              d_print_function_type_isra_14(*piVar4);\n              *(undefined4 *)(iVar6 + 0x110) = uVar3;\n              return;\n            }\n            if (uVar8 == 0x2a) {\n              d_print_array_type_isra_13(*piVar4);\n              *(undefined4 *)(iVar6 + 0x110) = uVar3;\n              return;\n            }\n            if (uVar8 == 2) {\n              uVar5 = *(undefined4 *)(iVar6 + 0x114);\n              *(undefined4 *)(iVar6 + 0x114) = 0;\n              d_print_comp();\n              *(undefined4 *)(iVar6 + 0x114) = uVar5;\n              iVar7 = *(int *)(iVar6 + 0x100);\n              if ((uVar15 & 0x400000000) == 0) {\n                puVar14 = (undefined1 *)(unaff_EDI + 0x264d2);\n                uVar12 = 0x3a;\n                while( true ) {\n                  if (iVar7 == 0xff) {\n                    *(undefined1 *)(iVar6 + 0xff) = 0;\n                    (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                    *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                    iVar11 = 1;\n                    iVar7 = 0;\n                  }\n                  else {\n                    iVar11 = iVar7 + 1;\n                  }\n                  puVar14 = puVar14 + 1;\n                  *(int *)(iVar6 + 0x100) = iVar11;\n                  *(undefined1 *)(iVar6 + iVar7) = uVar12;\n                  *(undefined1 *)(iVar6 + 0x104) = uVar12;\n                  if (puVar14 == (undefined1 *)(unaff_EDI + 0x264d4)) break;\n                  uVar12 = *puVar14;\n                  iVar7 = iVar11;\n                }\n              }\n              else {\n                iVar11 = iVar7 + 1;\n                if (iVar7 == 0xff) {\n                  *(undefined1 *)(iVar6 + 0xff) = 0;\n                  (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                  *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                  iVar11 = 1;\n                  iVar7 = 0;\n                }\n                *(int *)(iVar6 + 0x100) = iVar11;\n                *(undefined1 *)(iVar6 + iVar7) = 0x2e;\n                *(undefined1 *)(iVar6 + 0x104) = 0x2e;\n              }\n              local_44 = *(uint **)(piVar4[1] + 0xc);\n              uVar8 = *local_44;\n              if (uVar8 == 0x46) {\n                cVar10 = (code)0x7b;\n                pcVar13 = ioctl + unaff_EDI + 4;\n                iVar7 = *(int *)(iVar6 + 0x100);\n                while( true ) {\n                  if (iVar7 == 0xff) {\n                    *(undefined1 *)(iVar6 + 0xff) = 0;\n                    (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                    *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                    iVar11 = 1;\n                    iVar7 = 0;\n                  }\n                  else {\n                    iVar11 = iVar7 + 1;\n                  }\n                  *(int *)(iVar6 + 0x100) = iVar11;\n                  *(code *)(iVar6 + iVar7) = cVar10;\n                  *(code *)(iVar6 + 0x104) = cVar10;\n                  if (pcVar13 == wcrtomb + unaff_EDI) break;\n                  cVar10 = *pcVar13;\n                  pcVar13 = pcVar13 + 1;\n                  iVar7 = iVar11;\n                }\n                __s = local_35;\n                sprintf(__s,(char *)((int)&__DT_REL[0x263a].r_offset + unaff_EDI + 2),\n                        local_44[3] + 1);\n                sVar9 = strlen(__s);\n                iVar7 = *(int *)(iVar6 + 0x100);\n                if (sVar9 != 0) {\n                  pcVar1 = __s + sVar9;\n                  iVar11 = iVar7;\n                  do {\n                    cVar2 = *__s;\n                    if (iVar11 == 0xff) {\n                      *(undefined1 *)(iVar6 + 0xff) = 0;\n                      (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                      *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                      iVar7 = 1;\n                      iVar11 = 0;\n                    }\n                    else {\n                      iVar7 = iVar11 + 1;\n                    }\n                    __s = __s + 1;\n                    *(int *)(iVar6 + 0x100) = iVar7;\n                    *(char *)(iVar6 + iVar11) = cVar2;\n                    *(char *)(iVar6 + 0x104) = cVar2;\n                    iVar11 = iVar7;\n                  } while (pcVar1 != __s);\n                }\n                puVar14 = (undefined1 *)(unaff_EDI + 0x264d1);\n                uVar12 = 0x7d;\n                do {\n                  if (iVar7 == 0xff) {\n                    *(undefined1 *)(iVar6 + 0xff) = 0;\n                    (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                    *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                    iVar11 = 1;\n                    iVar7 = 0;\n                  }\n                  else {\n                    iVar11 = iVar7 + 1;\n                  }\n                  puVar14 = puVar14 + 1;\n                  *(int *)(iVar6 + 0x100) = iVar11;\n                  *(undefined1 *)(iVar6 + iVar7) = uVar12;\n                  *(undefined1 *)(iVar6 + 0x104) = uVar12;\n                  if ((undefined1 *)(unaff_EDI + 0x264d4) == puVar14) goto LAB_002127e9;\n                  uVar12 = *puVar14;\n                  iVar7 = iVar11;\n                } while( true );\n              }\n              do {\n                if (uVar8 != 0x4c) {\n                  if (uVar8 < 0x4d) {\n                    if (4 < uVar8 - 0x1c) {\nLAB_0021277d:\n                      d_print_comp();\n                      *(undefined4 *)(iVar6 + 0x110) = uVar3;\n                      return;\n                    }\n                  }\n                  else if (1 < uVar8 - 0x4e) goto LAB_0021277d;\n                }\nLAB_002127e9:\n                local_44 = (uint *)local_44[2];\n                uVar8 = *local_44;\n              } while( true );\n            }\n            d_print_mod();\n            *(undefined4 *)(iVar6 + 0x110) = uVar3;\n          }\n        }\n      }\n      piVar4 = (int *)*piVar4;\n      if (piVar4 == (int *)0x0) {\n        return;\n      }\n      iVar7 = *(int *)(iVar6 + 0x118);\n    }" while (parenthesized_expression "(iVar7 == 0)" ( (binary_expression "iVar7 == 0" identifier == number_literal) )) (compound_statement "{\n      if (piVar4[2] == 0) {\n        uVar8 = *(uint *)piVar4[1];\n        if (param_1 != 0) goto LAB_00212668;\n        if (uVar8 != 0x4c) {\n          if (uVar8 < 0x4d) {\n            if (4 < uVar8 - 0x1c) goto LAB_00212668;\n          }\n          else if (1 < uVar8 - 0x4e) {\nLAB_00212668:\n            uVar3 = *(undefined4 *)(iVar6 + 0x110);\n            piVar4[2] = 1;\n            *(int *)(iVar6 + 0x110) = piVar4[3];\n            if (uVar8 == 0x29) {\n              d_print_function_type_isra_14(*piVar4);\n              *(undefined4 *)(iVar6 + 0x110) = uVar3;\n              return;\n            }\n            if (uVar8 == 0x2a) {\n              d_print_array_type_isra_13(*piVar4);\n              *(undefined4 *)(iVar6 + 0x110) = uVar3;\n              return;\n            }\n            if (uVar8 == 2) {\n              uVar5 = *(undefined4 *)(iVar6 + 0x114);\n              *(undefined4 *)(iVar6 + 0x114) = 0;\n              d_print_comp();\n              *(undefined4 *)(iVar6 + 0x114) = uVar5;\n              iVar7 = *(int *)(iVar6 + 0x100);\n              if ((uVar15 & 0x400000000) == 0) {\n                puVar14 = (undefined1 *)(unaff_EDI + 0x264d2);\n                uVar12 = 0x3a;\n                while( true ) {\n                  if (iVar7 == 0xff) {\n                    *(undefined1 *)(iVar6 + 0xff) = 0;\n                    (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                    *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                    iVar11 = 1;\n                    iVar7 = 0;\n                  }\n                  else {\n                    iVar11 = iVar7 + 1;\n                  }\n                  puVar14 = puVar14 + 1;\n                  *(int *)(iVar6 + 0x100) = iVar11;\n                  *(undefined1 *)(iVar6 + iVar7) = uVar12;\n                  *(undefined1 *)(iVar6 + 0x104) = uVar12;\n                  if (puVar14 == (undefined1 *)(unaff_EDI + 0x264d4)) break;\n                  uVar12 = *puVar14;\n                  iVar7 = iVar11;\n                }\n              }\n              else {\n                iVar11 = iVar7 + 1;\n                if (iVar7 == 0xff) {\n                  *(undefined1 *)(iVar6 + 0xff) = 0;\n                  (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                  *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                  iVar11 = 1;\n                  iVar7 = 0;\n                }\n                *(int *)(iVar6 + 0x100) = iVar11;\n                *(undefined1 *)(iVar6 + iVar7) = 0x2e;\n                *(undefined1 *)(iVar6 + 0x104) = 0x2e;\n              }\n              local_44 = *(uint **)(piVar4[1] + 0xc);\n              uVar8 = *local_44;\n              if (uVar8 == 0x46) {\n                cVar10 = (code)0x7b;\n                pcVar13 = ioctl + unaff_EDI + 4;\n                iVar7 = *(int *)(iVar6 + 0x100);\n                while( true ) {\n                  if (iVar7 == 0xff) {\n                    *(undefined1 *)(iVar6 + 0xff) = 0;\n                    (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                    *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                    iVar11 = 1;\n                    iVar7 = 0;\n                  }\n                  else {\n                    iVar11 = iVar7 + 1;\n                  }\n                  *(int *)(iVar6 + 0x100) = iVar11;\n                  *(code *)(iVar6 + iVar7) = cVar10;\n                  *(code *)(iVar6 + 0x104) = cVar10;\n                  if (pcVar13 == wcrtomb + unaff_EDI) break;\n                  cVar10 = *pcVar13;\n                  pcVar13 = pcVar13 + 1;\n                  iVar7 = iVar11;\n                }\n                __s = local_35;\n                sprintf(__s,(char *)((int)&__DT_REL[0x263a].r_offset + unaff_EDI + 2),\n                        local_44[3] + 1);\n                sVar9 = strlen(__s);\n                iVar7 = *(int *)(iVar6 + 0x100);\n                if (sVar9 != 0) {\n                  pcVar1 = __s + sVar9;\n                  iVar11 = iVar7;\n                  do {\n                    cVar2 = *__s;\n                    if (iVar11 == 0xff) {\n                      *(undefined1 *)(iVar6 + 0xff) = 0;\n                      (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                      *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                      iVar7 = 1;\n                      iVar11 = 0;\n                    }\n                    else {\n                      iVar7 = iVar11 + 1;\n                    }\n                    __s = __s + 1;\n                    *(int *)(iVar6 + 0x100) = iVar7;\n                    *(char *)(iVar6 + iVar11) = cVar2;\n                    *(char *)(iVar6 + 0x104) = cVar2;\n                    iVar11 = iVar7;\n                  } while (pcVar1 != __s);\n                }\n                puVar14 = (undefined1 *)(unaff_EDI + 0x264d1);\n                uVar12 = 0x7d;\n                do {\n                  if (iVar7 == 0xff) {\n                    *(undefined1 *)(iVar6 + 0xff) = 0;\n                    (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                    *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                    iVar11 = 1;\n                    iVar7 = 0;\n                  }\n                  else {\n                    iVar11 = iVar7 + 1;\n                  }\n                  puVar14 = puVar14 + 1;\n                  *(int *)(iVar6 + 0x100) = iVar11;\n                  *(undefined1 *)(iVar6 + iVar7) = uVar12;\n                  *(undefined1 *)(iVar6 + 0x104) = uVar12;\n                  if ((undefined1 *)(unaff_EDI + 0x264d4) == puVar14) goto LAB_002127e9;\n                  uVar12 = *puVar14;\n                  iVar7 = iVar11;\n                } while( true );\n              }\n              do {\n                if (uVar8 != 0x4c) {\n                  if (uVar8 < 0x4d) {\n                    if (4 < uVar8 - 0x1c) {\nLAB_0021277d:\n                      d_print_comp();\n                      *(undefined4 *)(iVar6 + 0x110) = uVar3;\n                      return;\n                    }\n                  }\n                  else if (1 < uVar8 - 0x4e) goto LAB_0021277d;\n                }\nLAB_002127e9:\n                local_44 = (uint *)local_44[2];\n                uVar8 = *local_44;\n              } while( true );\n            }\n            d_print_mod();\n            *(undefined4 *)(iVar6 + 0x110) = uVar3;\n          }\n        }\n      }\n      piVar4 = (int *)*piVar4;\n      if (piVar4 == (int *)0x0) {\n        return;\n      }\n      iVar7 = *(int *)(iVar6 + 0x118);\n    }" { (if_statement "if (piVar4[2] == 0) {\n        uVar8 = *(uint *)piVar4[1];\n        if (param_1 != 0) goto LAB_00212668;\n        if (uVar8 != 0x4c) {\n          if (uVar8 < 0x4d) {\n            if (4 < uVar8 - 0x1c) goto LAB_00212668;\n          }\n          else if (1 < uVar8 - 0x4e) {\nLAB_00212668:\n            uVar3 = *(undefined4 *)(iVar6 + 0x110);\n            piVar4[2] = 1;\n            *(int *)(iVar6 + 0x110) = piVar4[3];\n            if (uVar8 == 0x29) {\n              d_print_function_type_isra_14(*piVar4);\n              *(undefined4 *)(iVar6 + 0x110) = uVar3;\n              return;\n            }\n            if (uVar8 == 0x2a) {\n              d_print_array_type_isra_13(*piVar4);\n              *(undefined4 *)(iVar6 + 0x110) = uVar3;\n              return;\n            }\n            if (uVar8 == 2) {\n              uVar5 = *(undefined4 *)(iVar6 + 0x114);\n              *(undefined4 *)(iVar6 + 0x114) = 0;\n              d_print_comp();\n              *(undefined4 *)(iVar6 + 0x114) = uVar5;\n              iVar7 = *(int *)(iVar6 + 0x100);\n              if ((uVar15 & 0x400000000) == 0) {\n                puVar14 = (undefined1 *)(unaff_EDI + 0x264d2);\n                uVar12 = 0x3a;\n                while( true ) {\n                  if (iVar7 == 0xff) {\n                    *(undefined1 *)(iVar6 + 0xff) = 0;\n                    (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                    *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                    iVar11 = 1;\n                    iVar7 = 0;\n                  }\n                  else {\n                    iVar11 = iVar7 + 1;\n                  }\n                  puVar14 = puVar14 + 1;\n                  *(int *)(iVar6 + 0x100) = iVar11;\n                  *(undefined1 *)(iVar6 + iVar7) = uVar12;\n                  *(undefined1 *)(iVar6 + 0x104) = uVar12;\n                  if (puVar14 == (undefined1 *)(unaff_EDI + 0x264d4)) break;\n                  uVar12 = *puVar14;\n                  iVar7 = iVar11;\n                }\n              }\n              else {\n                iVar11 = iVar7 + 1;\n                if (iVar7 == 0xff) {\n                  *(undefined1 *)(iVar6 + 0xff) = 0;\n                  (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                  *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                  iVar11 = 1;\n                  iVar7 = 0;\n                }\n                *(int *)(iVar6 + 0x100) = iVar11;\n                *(undefined1 *)(iVar6 + iVar7) = 0x2e;\n                *(undefined1 *)(iVar6 + 0x104) = 0x2e;\n              }\n              local_44 = *(uint **)(piVar4[1] + 0xc);\n              uVar8 = *local_44;\n              if (uVar8 == 0x46) {\n                cVar10 = (code)0x7b;\n                pcVar13 = ioctl + unaff_EDI + 4;\n                iVar7 = *(int *)(iVar6 + 0x100);\n                while( true ) {\n                  if (iVar7 == 0xff) {\n                    *(undefined1 *)(iVar6 + 0xff) = 0;\n                    (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                    *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                    iVar11 = 1;\n                    iVar7 = 0;\n                  }\n                  else {\n                    iVar11 = iVar7 + 1;\n                  }\n                  *(int *)(iVar6 + 0x100) = iVar11;\n                  *(code *)(iVar6 + iVar7) = cVar10;\n                  *(code *)(iVar6 + 0x104) = cVar10;\n                  if (pcVar13 == wcrtomb + unaff_EDI) break;\n                  cVar10 = *pcVar13;\n                  pcVar13 = pcVar13 + 1;\n                  iVar7 = iVar11;\n                }\n                __s = local_35;\n                sprintf(__s,(char *)((int)&__DT_REL[0x263a].r_offset + unaff_EDI + 2),\n                        local_44[3] + 1);\n                sVar9 = strlen(__s);\n                iVar7 = *(int *)(iVar6 + 0x100);\n                if (sVar9 != 0) {\n                  pcVar1 = __s + sVar9;\n                  iVar11 = iVar7;\n                  do {\n                    cVar2 = *__s;\n                    if (iVar11 == 0xff) {\n                      *(undefined1 *)(iVar6 + 0xff) = 0;\n                      (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                      *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                      iVar7 = 1;\n                      iVar11 = 0;\n                    }\n                    else {\n                      iVar7 = iVar11 + 1;\n                    }\n                    __s = __s + 1;\n                    *(int *)(iVar6 + 0x100) = iVar7;\n                    *(char *)(iVar6 + iVar11) = cVar2;\n                    *(char *)(iVar6 + 0x104) = cVar2;\n                    iVar11 = iVar7;\n                  } while (pcVar1 != __s);\n                }\n                puVar14 = (undefined1 *)(unaff_EDI + 0x264d1);\n                uVar12 = 0x7d;\n                do {\n                  if (iVar7 == 0xff) {\n                    *(undefined1 *)(iVar6 + 0xff) = 0;\n                    (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                    *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                    iVar11 = 1;\n                    iVar7 = 0;\n                  }\n                  else {\n                    iVar11 = iVar7 + 1;\n                  }\n                  puVar14 = puVar14 + 1;\n                  *(int *)(iVar6 + 0x100) = iVar11;\n                  *(undefined1 *)(iVar6 + iVar7) = uVar12;\n                  *(undefined1 *)(iVar6 + 0x104) = uVar12;\n                  if ((undefined1 *)(unaff_EDI + 0x264d4) == puVar14) goto LAB_002127e9;\n                  uVar12 = *puVar14;\n                  iVar7 = iVar11;\n                } while( true );\n              }\n              do {\n                if (uVar8 != 0x4c) {\n                  if (uVar8 < 0x4d) {\n                    if (4 < uVar8 - 0x1c) {\nLAB_0021277d:\n                      d_print_comp();\n                      *(undefined4 *)(iVar6 + 0x110) = uVar3;\n                      return;\n                    }\n                  }\n                  else if (1 < uVar8 - 0x4e) goto LAB_0021277d;\n                }\nLAB_002127e9:\n                local_44 = (uint *)local_44[2];\n                uVar8 = *local_44;\n              } while( true );\n            }\n            d_print_mod();\n            *(undefined4 *)(iVar6 + 0x110) = uVar3;\n          }\n        }\n      }" if (parenthesized_expression "(piVar4[2] == 0)" ( (binary_expression "piVar4[2] == 0" (subscript_expression "piVar4[2]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n        uVar8 = *(uint *)piVar4[1];\n        if (param_1 != 0) goto LAB_00212668;\n        if (uVar8 != 0x4c) {\n          if (uVar8 < 0x4d) {\n            if (4 < uVar8 - 0x1c) goto LAB_00212668;\n          }\n          else if (1 < uVar8 - 0x4e) {\nLAB_00212668:\n            uVar3 = *(undefined4 *)(iVar6 + 0x110);\n            piVar4[2] = 1;\n            *(int *)(iVar6 + 0x110) = piVar4[3];\n            if (uVar8 == 0x29) {\n              d_print_function_type_isra_14(*piVar4);\n              *(undefined4 *)(iVar6 + 0x110) = uVar3;\n              return;\n            }\n            if (uVar8 == 0x2a) {\n              d_print_array_type_isra_13(*piVar4);\n              *(undefined4 *)(iVar6 + 0x110) = uVar3;\n              return;\n            }\n            if (uVar8 == 2) {\n              uVar5 = *(undefined4 *)(iVar6 + 0x114);\n              *(undefined4 *)(iVar6 + 0x114) = 0;\n              d_print_comp();\n              *(undefined4 *)(iVar6 + 0x114) = uVar5;\n              iVar7 = *(int *)(iVar6 + 0x100);\n              if ((uVar15 & 0x400000000) == 0) {\n                puVar14 = (undefined1 *)(unaff_EDI + 0x264d2);\n                uVar12 = 0x3a;\n                while( true ) {\n                  if (iVar7 == 0xff) {\n                    *(undefined1 *)(iVar6 + 0xff) = 0;\n                    (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                    *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                    iVar11 = 1;\n                    iVar7 = 0;\n                  }\n                  else {\n                    iVar11 = iVar7 + 1;\n                  }\n                  puVar14 = puVar14 + 1;\n                  *(int *)(iVar6 + 0x100) = iVar11;\n                  *(undefined1 *)(iVar6 + iVar7) = uVar12;\n                  *(undefined1 *)(iVar6 + 0x104) = uVar12;\n                  if (puVar14 == (undefined1 *)(unaff_EDI + 0x264d4)) break;\n                  uVar12 = *puVar14;\n                  iVar7 = iVar11;\n                }\n              }\n              else {\n                iVar11 = iVar7 + 1;\n                if (iVar7 == 0xff) {\n                  *(undefined1 *)(iVar6 + 0xff) = 0;\n                  (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                  *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                  iVar11 = 1;\n                  iVar7 = 0;\n                }\n                *(int *)(iVar6 + 0x100) = iVar11;\n                *(undefined1 *)(iVar6 + iVar7) = 0x2e;\n                *(undefined1 *)(iVar6 + 0x104) = 0x2e;\n              }\n              local_44 = *(uint **)(piVar4[1] + 0xc);\n              uVar8 = *local_44;\n              if (uVar8 == 0x46) {\n                cVar10 = (code)0x7b;\n                pcVar13 = ioctl + unaff_EDI + 4;\n                iVar7 = *(int *)(iVar6 + 0x100);\n                while( true ) {\n                  if (iVar7 == 0xff) {\n                    *(undefined1 *)(iVar6 + 0xff) = 0;\n                    (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                    *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                    iVar11 = 1;\n                    iVar7 = 0;\n                  }\n                  else {\n                    iVar11 = iVar7 + 1;\n                  }\n                  *(int *)(iVar6 + 0x100) = iVar11;\n                  *(code *)(iVar6 + iVar7) = cVar10;\n                  *(code *)(iVar6 + 0x104) = cVar10;\n                  if (pcVar13 == wcrtomb + unaff_EDI) break;\n                  cVar10 = *pcVar13;\n                  pcVar13 = pcVar13 + 1;\n                  iVar7 = iVar11;\n                }\n                __s = local_35;\n                sprintf(__s,(char *)((int)&__DT_REL[0x263a].r_offset + unaff_EDI + 2),\n                        local_44[3] + 1);\n                sVar9 = strlen(__s);\n                iVar7 = *(int *)(iVar6 + 0x100);\n                if (sVar9 != 0) {\n                  pcVar1 = __s + sVar9;\n                  iVar11 = iVar7;\n                  do {\n                    cVar2 = *__s;\n                    if (iVar11 == 0xff) {\n                      *(undefined1 *)(iVar6 + 0xff) = 0;\n                      (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                      *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                      iVar7 = 1;\n                      iVar11 = 0;\n                    }\n                    else {\n                      iVar7 = iVar11 + 1;\n                    }\n                    __s = __s + 1;\n                    *(int *)(iVar6 + 0x100) = iVar7;\n                    *(char *)(iVar6 + iVar11) = cVar2;\n                    *(char *)(iVar6 + 0x104) = cVar2;\n                    iVar11 = iVar7;\n                  } while (pcVar1 != __s);\n                }\n                puVar14 = (undefined1 *)(unaff_EDI + 0x264d1);\n                uVar12 = 0x7d;\n                do {\n                  if (iVar7 == 0xff) {\n                    *(undefined1 *)(iVar6 + 0xff) = 0;\n                    (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                    *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                    iVar11 = 1;\n                    iVar7 = 0;\n                  }\n                  else {\n                    iVar11 = iVar7 + 1;\n                  }\n                  puVar14 = puVar14 + 1;\n                  *(int *)(iVar6 + 0x100) = iVar11;\n                  *(undefined1 *)(iVar6 + iVar7) = uVar12;\n                  *(undefined1 *)(iVar6 + 0x104) = uVar12;\n                  if ((undefined1 *)(unaff_EDI + 0x264d4) == puVar14) goto LAB_002127e9;\n                  uVar12 = *puVar14;\n                  iVar7 = iVar11;\n                } while( true );\n              }\n              do {\n                if (uVar8 != 0x4c) {\n                  if (uVar8 < 0x4d) {\n                    if (4 < uVar8 - 0x1c) {\nLAB_0021277d:\n                      d_print_comp();\n                      *(undefined4 *)(iVar6 + 0x110) = uVar3;\n                      return;\n                    }\n                  }\n                  else if (1 < uVar8 - 0x4e) goto LAB_0021277d;\n                }\nLAB_002127e9:\n                local_44 = (uint *)local_44[2];\n                uVar8 = *local_44;\n              } while( true );\n            }\n            d_print_mod();\n            *(undefined4 *)(iVar6 + 0x110) = uVar3;\n          }\n        }\n      }" { (expression_statement "uVar8 = *(uint *)piVar4[1];" (assignment_expression "uVar8 = *(uint *)piVar4[1]" identifier = (pointer_expression "*(uint *)piVar4[1]" * (cast_expression "(uint *)piVar4[1]" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar4[1]" identifier [ number_literal ])))) ;) (if_statement "if (param_1 != 0) goto LAB_00212668;" if (parenthesized_expression "(param_1 != 0)" ( (binary_expression "param_1 != 0" identifier != number_literal) )) (goto_statement "goto LAB_00212668;" goto statement_identifier ;)) (if_statement "if (uVar8 != 0x4c) {\n          if (uVar8 < 0x4d) {\n            if (4 < uVar8 - 0x1c) goto LAB_00212668;\n          }\n          else if (1 < uVar8 - 0x4e) {\nLAB_00212668:\n            uVar3 = *(undefined4 *)(iVar6 + 0x110);\n            piVar4[2] = 1;\n            *(int *)(iVar6 + 0x110) = piVar4[3];\n            if (uVar8 == 0x29) {\n              d_print_function_type_isra_14(*piVar4);\n              *(undefined4 *)(iVar6 + 0x110) = uVar3;\n              return;\n            }\n            if (uVar8 == 0x2a) {\n              d_print_array_type_isra_13(*piVar4);\n              *(undefined4 *)(iVar6 + 0x110) = uVar3;\n              return;\n            }\n            if (uVar8 == 2) {\n              uVar5 = *(undefined4 *)(iVar6 + 0x114);\n              *(undefined4 *)(iVar6 + 0x114) = 0;\n              d_print_comp();\n              *(undefined4 *)(iVar6 + 0x114) = uVar5;\n              iVar7 = *(int *)(iVar6 + 0x100);\n              if ((uVar15 & 0x400000000) == 0) {\n                puVar14 = (undefined1 *)(unaff_EDI + 0x264d2);\n                uVar12 = 0x3a;\n                while( true ) {\n                  if (iVar7 == 0xff) {\n                    *(undefined1 *)(iVar6 + 0xff) = 0;\n                    (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                    *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                    iVar11 = 1;\n                    iVar7 = 0;\n                  }\n                  else {\n                    iVar11 = iVar7 + 1;\n                  }\n                  puVar14 = puVar14 + 1;\n                  *(int *)(iVar6 + 0x100) = iVar11;\n                  *(undefined1 *)(iVar6 + iVar7) = uVar12;\n                  *(undefined1 *)(iVar6 + 0x104) = uVar12;\n                  if (puVar14 == (undefined1 *)(unaff_EDI + 0x264d4)) break;\n                  uVar12 = *puVar14;\n                  iVar7 = iVar11;\n                }\n              }\n              else {\n                iVar11 = iVar7 + 1;\n                if (iVar7 == 0xff) {\n                  *(undefined1 *)(iVar6 + 0xff) = 0;\n                  (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                  *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                  iVar11 = 1;\n                  iVar7 = 0;\n                }\n                *(int *)(iVar6 + 0x100) = iVar11;\n                *(undefined1 *)(iVar6 + iVar7) = 0x2e;\n                *(undefined1 *)(iVar6 + 0x104) = 0x2e;\n              }\n              local_44 = *(uint **)(piVar4[1] + 0xc);\n              uVar8 = *local_44;\n              if (uVar8 == 0x46) {\n                cVar10 = (code)0x7b;\n                pcVar13 = ioctl + unaff_EDI + 4;\n                iVar7 = *(int *)(iVar6 + 0x100);\n                while( true ) {\n                  if (iVar7 == 0xff) {\n                    *(undefined1 *)(iVar6 + 0xff) = 0;\n                    (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                    *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                    iVar11 = 1;\n                    iVar7 = 0;\n                  }\n                  else {\n                    iVar11 = iVar7 + 1;\n                  }\n                  *(int *)(iVar6 + 0x100) = iVar11;\n                  *(code *)(iVar6 + iVar7) = cVar10;\n                  *(code *)(iVar6 + 0x104) = cVar10;\n                  if (pcVar13 == wcrtomb + unaff_EDI) break;\n                  cVar10 = *pcVar13;\n                  pcVar13 = pcVar13 + 1;\n                  iVar7 = iVar11;\n                }\n                __s = local_35;\n                sprintf(__s,(char *)((int)&__DT_REL[0x263a].r_offset + unaff_EDI + 2),\n                        local_44[3] + 1);\n                sVar9 = strlen(__s);\n                iVar7 = *(int *)(iVar6 + 0x100);\n                if (sVar9 != 0) {\n                  pcVar1 = __s + sVar9;\n                  iVar11 = iVar7;\n                  do {\n                    cVar2 = *__s;\n                    if (iVar11 == 0xff) {\n                      *(undefined1 *)(iVar6 + 0xff) = 0;\n                      (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                      *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                      iVar7 = 1;\n                      iVar11 = 0;\n                    }\n                    else {\n                      iVar7 = iVar11 + 1;\n                    }\n                    __s = __s + 1;\n                    *(int *)(iVar6 + 0x100) = iVar7;\n                    *(char *)(iVar6 + iVar11) = cVar2;\n                    *(char *)(iVar6 + 0x104) = cVar2;\n                    iVar11 = iVar7;\n                  } while (pcVar1 != __s);\n                }\n                puVar14 = (undefined1 *)(unaff_EDI + 0x264d1);\n                uVar12 = 0x7d;\n                do {\n                  if (iVar7 == 0xff) {\n                    *(undefined1 *)(iVar6 + 0xff) = 0;\n                    (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                    *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                    iVar11 = 1;\n                    iVar7 = 0;\n                  }\n                  else {\n                    iVar11 = iVar7 + 1;\n                  }\n                  puVar14 = puVar14 + 1;\n                  *(int *)(iVar6 + 0x100) = iVar11;\n                  *(undefined1 *)(iVar6 + iVar7) = uVar12;\n                  *(undefined1 *)(iVar6 + 0x104) = uVar12;\n                  if ((undefined1 *)(unaff_EDI + 0x264d4) == puVar14) goto LAB_002127e9;\n                  uVar12 = *puVar14;\n                  iVar7 = iVar11;\n                } while( true );\n              }\n              do {\n                if (uVar8 != 0x4c) {\n                  if (uVar8 < 0x4d) {\n                    if (4 < uVar8 - 0x1c) {\nLAB_0021277d:\n                      d_print_comp();\n                      *(undefined4 *)(iVar6 + 0x110) = uVar3;\n                      return;\n                    }\n                  }\n                  else if (1 < uVar8 - 0x4e) goto LAB_0021277d;\n                }\nLAB_002127e9:\n                local_44 = (uint *)local_44[2];\n                uVar8 = *local_44;\n              } while( true );\n            }\n            d_print_mod();\n            *(undefined4 *)(iVar6 + 0x110) = uVar3;\n          }\n        }" if (parenthesized_expression "(uVar8 != 0x4c)" ( (binary_expression "uVar8 != 0x4c" identifier != number_literal) )) (compound_statement "{\n          if (uVar8 < 0x4d) {\n            if (4 < uVar8 - 0x1c) goto LAB_00212668;\n          }\n          else if (1 < uVar8 - 0x4e) {\nLAB_00212668:\n            uVar3 = *(undefined4 *)(iVar6 + 0x110);\n            piVar4[2] = 1;\n            *(int *)(iVar6 + 0x110) = piVar4[3];\n            if (uVar8 == 0x29) {\n              d_print_function_type_isra_14(*piVar4);\n              *(undefined4 *)(iVar6 + 0x110) = uVar3;\n              return;\n            }\n            if (uVar8 == 0x2a) {\n              d_print_array_type_isra_13(*piVar4);\n              *(undefined4 *)(iVar6 + 0x110) = uVar3;\n              return;\n            }\n            if (uVar8 == 2) {\n              uVar5 = *(undefined4 *)(iVar6 + 0x114);\n              *(undefined4 *)(iVar6 + 0x114) = 0;\n              d_print_comp();\n              *(undefined4 *)(iVar6 + 0x114) = uVar5;\n              iVar7 = *(int *)(iVar6 + 0x100);\n              if ((uVar15 & 0x400000000) == 0) {\n                puVar14 = (undefined1 *)(unaff_EDI + 0x264d2);\n                uVar12 = 0x3a;\n                while( true ) {\n                  if (iVar7 == 0xff) {\n                    *(undefined1 *)(iVar6 + 0xff) = 0;\n                    (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                    *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                    iVar11 = 1;\n                    iVar7 = 0;\n                  }\n                  else {\n                    iVar11 = iVar7 + 1;\n                  }\n                  puVar14 = puVar14 + 1;\n                  *(int *)(iVar6 + 0x100) = iVar11;\n                  *(undefined1 *)(iVar6 + iVar7) = uVar12;\n                  *(undefined1 *)(iVar6 + 0x104) = uVar12;\n                  if (puVar14 == (undefined1 *)(unaff_EDI + 0x264d4)) break;\n                  uVar12 = *puVar14;\n                  iVar7 = iVar11;\n                }\n              }\n              else {\n                iVar11 = iVar7 + 1;\n                if (iVar7 == 0xff) {\n                  *(undefined1 *)(iVar6 + 0xff) = 0;\n                  (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                  *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                  iVar11 = 1;\n                  iVar7 = 0;\n                }\n                *(int *)(iVar6 + 0x100) = iVar11;\n                *(undefined1 *)(iVar6 + iVar7) = 0x2e;\n                *(undefined1 *)(iVar6 + 0x104) = 0x2e;\n              }\n              local_44 = *(uint **)(piVar4[1] + 0xc);\n              uVar8 = *local_44;\n              if (uVar8 == 0x46) {\n                cVar10 = (code)0x7b;\n                pcVar13 = ioctl + unaff_EDI + 4;\n                iVar7 = *(int *)(iVar6 + 0x100);\n                while( true ) {\n                  if (iVar7 == 0xff) {\n                    *(undefined1 *)(iVar6 + 0xff) = 0;\n                    (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                    *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                    iVar11 = 1;\n                    iVar7 = 0;\n                  }\n                  else {\n                    iVar11 = iVar7 + 1;\n                  }\n                  *(int *)(iVar6 + 0x100) = iVar11;\n                  *(code *)(iVar6 + iVar7) = cVar10;\n                  *(code *)(iVar6 + 0x104) = cVar10;\n                  if (pcVar13 == wcrtomb + unaff_EDI) break;\n                  cVar10 = *pcVar13;\n                  pcVar13 = pcVar13 + 1;\n                  iVar7 = iVar11;\n                }\n                __s = local_35;\n                sprintf(__s,(char *)((int)&__DT_REL[0x263a].r_offset + unaff_EDI + 2),\n                        local_44[3] + 1);\n                sVar9 = strlen(__s);\n                iVar7 = *(int *)(iVar6 + 0x100);\n                if (sVar9 != 0) {\n                  pcVar1 = __s + sVar9;\n                  iVar11 = iVar7;\n                  do {\n                    cVar2 = *__s;\n                    if (iVar11 == 0xff) {\n                      *(undefined1 *)(iVar6 + 0xff) = 0;\n                      (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                      *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                      iVar7 = 1;\n                      iVar11 = 0;\n                    }\n                    else {\n                      iVar7 = iVar11 + 1;\n                    }\n                    __s = __s + 1;\n                    *(int *)(iVar6 + 0x100) = iVar7;\n                    *(char *)(iVar6 + iVar11) = cVar2;\n                    *(char *)(iVar6 + 0x104) = cVar2;\n                    iVar11 = iVar7;\n                  } while (pcVar1 != __s);\n                }\n                puVar14 = (undefined1 *)(unaff_EDI + 0x264d1);\n                uVar12 = 0x7d;\n                do {\n                  if (iVar7 == 0xff) {\n                    *(undefined1 *)(iVar6 + 0xff) = 0;\n                    (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                    *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                    iVar11 = 1;\n                    iVar7 = 0;\n                  }\n                  else {\n                    iVar11 = iVar7 + 1;\n                  }\n                  puVar14 = puVar14 + 1;\n                  *(int *)(iVar6 + 0x100) = iVar11;\n                  *(undefined1 *)(iVar6 + iVar7) = uVar12;\n                  *(undefined1 *)(iVar6 + 0x104) = uVar12;\n                  if ((undefined1 *)(unaff_EDI + 0x264d4) == puVar14) goto LAB_002127e9;\n                  uVar12 = *puVar14;\n                  iVar7 = iVar11;\n                } while( true );\n              }\n              do {\n                if (uVar8 != 0x4c) {\n                  if (uVar8 < 0x4d) {\n                    if (4 < uVar8 - 0x1c) {\nLAB_0021277d:\n                      d_print_comp();\n                      *(undefined4 *)(iVar6 + 0x110) = uVar3;\n                      return;\n                    }\n                  }\n                  else if (1 < uVar8 - 0x4e) goto LAB_0021277d;\n                }\nLAB_002127e9:\n                local_44 = (uint *)local_44[2];\n                uVar8 = *local_44;\n              } while( true );\n            }\n            d_print_mod();\n            *(undefined4 *)(iVar6 + 0x110) = uVar3;\n          }\n        }" { (if_statement "if (uVar8 < 0x4d) {\n            if (4 < uVar8 - 0x1c) goto LAB_00212668;\n          }\n          else if (1 < uVar8 - 0x4e) {\nLAB_00212668:\n            uVar3 = *(undefined4 *)(iVar6 + 0x110);\n            piVar4[2] = 1;\n            *(int *)(iVar6 + 0x110) = piVar4[3];\n            if (uVar8 == 0x29) {\n              d_print_function_type_isra_14(*piVar4);\n              *(undefined4 *)(iVar6 + 0x110) = uVar3;\n              return;\n            }\n            if (uVar8 == 0x2a) {\n              d_print_array_type_isra_13(*piVar4);\n              *(undefined4 *)(iVar6 + 0x110) = uVar3;\n              return;\n            }\n            if (uVar8 == 2) {\n              uVar5 = *(undefined4 *)(iVar6 + 0x114);\n              *(undefined4 *)(iVar6 + 0x114) = 0;\n              d_print_comp();\n              *(undefined4 *)(iVar6 + 0x114) = uVar5;\n              iVar7 = *(int *)(iVar6 + 0x100);\n              if ((uVar15 & 0x400000000) == 0) {\n                puVar14 = (undefined1 *)(unaff_EDI + 0x264d2);\n                uVar12 = 0x3a;\n                while( true ) {\n                  if (iVar7 == 0xff) {\n                    *(undefined1 *)(iVar6 + 0xff) = 0;\n                    (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                    *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                    iVar11 = 1;\n                    iVar7 = 0;\n                  }\n                  else {\n                    iVar11 = iVar7 + 1;\n                  }\n                  puVar14 = puVar14 + 1;\n                  *(int *)(iVar6 + 0x100) = iVar11;\n                  *(undefined1 *)(iVar6 + iVar7) = uVar12;\n                  *(undefined1 *)(iVar6 + 0x104) = uVar12;\n                  if (puVar14 == (undefined1 *)(unaff_EDI + 0x264d4)) break;\n                  uVar12 = *puVar14;\n                  iVar7 = iVar11;\n                }\n              }\n              else {\n                iVar11 = iVar7 + 1;\n                if (iVar7 == 0xff) {\n                  *(undefined1 *)(iVar6 + 0xff) = 0;\n                  (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                  *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                  iVar11 = 1;\n                  iVar7 = 0;\n                }\n                *(int *)(iVar6 + 0x100) = iVar11;\n                *(undefined1 *)(iVar6 + iVar7) = 0x2e;\n                *(undefined1 *)(iVar6 + 0x104) = 0x2e;\n              }\n              local_44 = *(uint **)(piVar4[1] + 0xc);\n              uVar8 = *local_44;\n              if (uVar8 == 0x46) {\n                cVar10 = (code)0x7b;\n                pcVar13 = ioctl + unaff_EDI + 4;\n                iVar7 = *(int *)(iVar6 + 0x100);\n                while( true ) {\n                  if (iVar7 == 0xff) {\n                    *(undefined1 *)(iVar6 + 0xff) = 0;\n                    (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                    *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                    iVar11 = 1;\n                    iVar7 = 0;\n                  }\n                  else {\n                    iVar11 = iVar7 + 1;\n                  }\n                  *(int *)(iVar6 + 0x100) = iVar11;\n                  *(code *)(iVar6 + iVar7) = cVar10;\n                  *(code *)(iVar6 + 0x104) = cVar10;\n                  if (pcVar13 == wcrtomb + unaff_EDI) break;\n                  cVar10 = *pcVar13;\n                  pcVar13 = pcVar13 + 1;\n                  iVar7 = iVar11;\n                }\n                __s = local_35;\n                sprintf(__s,(char *)((int)&__DT_REL[0x263a].r_offset + unaff_EDI + 2),\n                        local_44[3] + 1);\n                sVar9 = strlen(__s);\n                iVar7 = *(int *)(iVar6 + 0x100);\n                if (sVar9 != 0) {\n                  pcVar1 = __s + sVar9;\n                  iVar11 = iVar7;\n                  do {\n                    cVar2 = *__s;\n                    if (iVar11 == 0xff) {\n                      *(undefined1 *)(iVar6 + 0xff) = 0;\n                      (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                      *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                      iVar7 = 1;\n                      iVar11 = 0;\n                    }\n                    else {\n                      iVar7 = iVar11 + 1;\n                    }\n                    __s = __s + 1;\n                    *(int *)(iVar6 + 0x100) = iVar7;\n                    *(char *)(iVar6 + iVar11) = cVar2;\n                    *(char *)(iVar6 + 0x104) = cVar2;\n                    iVar11 = iVar7;\n                  } while (pcVar1 != __s);\n                }\n                puVar14 = (undefined1 *)(unaff_EDI + 0x264d1);\n                uVar12 = 0x7d;\n                do {\n                  if (iVar7 == 0xff) {\n                    *(undefined1 *)(iVar6 + 0xff) = 0;\n                    (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                    *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                    iVar11 = 1;\n                    iVar7 = 0;\n                  }\n                  else {\n                    iVar11 = iVar7 + 1;\n                  }\n                  puVar14 = puVar14 + 1;\n                  *(int *)(iVar6 + 0x100) = iVar11;\n                  *(undefined1 *)(iVar6 + iVar7) = uVar12;\n                  *(undefined1 *)(iVar6 + 0x104) = uVar12;\n                  if ((undefined1 *)(unaff_EDI + 0x264d4) == puVar14) goto LAB_002127e9;\n                  uVar12 = *puVar14;\n                  iVar7 = iVar11;\n                } while( true );\n              }\n              do {\n                if (uVar8 != 0x4c) {\n                  if (uVar8 < 0x4d) {\n                    if (4 < uVar8 - 0x1c) {\nLAB_0021277d:\n                      d_print_comp();\n                      *(undefined4 *)(iVar6 + 0x110) = uVar3;\n                      return;\n                    }\n                  }\n                  else if (1 < uVar8 - 0x4e) goto LAB_0021277d;\n                }\nLAB_002127e9:\n                local_44 = (uint *)local_44[2];\n                uVar8 = *local_44;\n              } while( true );\n            }\n            d_print_mod();\n            *(undefined4 *)(iVar6 + 0x110) = uVar3;\n          }" if (parenthesized_expression "(uVar8 < 0x4d)" ( (binary_expression "uVar8 < 0x4d" identifier < number_literal) )) (compound_statement "{\n            if (4 < uVar8 - 0x1c) goto LAB_00212668;\n          }" { (if_statement "if (4 < uVar8 - 0x1c) goto LAB_00212668;" if (parenthesized_expression "(4 < uVar8 - 0x1c)" ( (binary_expression "4 < uVar8 - 0x1c" number_literal < (binary_expression "uVar8 - 0x1c" identifier - number_literal)) )) (goto_statement "goto LAB_00212668;" goto statement_identifier ;)) }) (else_clause "else if (1 < uVar8 - 0x4e) {\nLAB_00212668:\n            uVar3 = *(undefined4 *)(iVar6 + 0x110);\n            piVar4[2] = 1;\n            *(int *)(iVar6 + 0x110) = piVar4[3];\n            if (uVar8 == 0x29) {\n              d_print_function_type_isra_14(*piVar4);\n              *(undefined4 *)(iVar6 + 0x110) = uVar3;\n              return;\n            }\n            if (uVar8 == 0x2a) {\n              d_print_array_type_isra_13(*piVar4);\n              *(undefined4 *)(iVar6 + 0x110) = uVar3;\n              return;\n            }\n            if (uVar8 == 2) {\n              uVar5 = *(undefined4 *)(iVar6 + 0x114);\n              *(undefined4 *)(iVar6 + 0x114) = 0;\n              d_print_comp();\n              *(undefined4 *)(iVar6 + 0x114) = uVar5;\n              iVar7 = *(int *)(iVar6 + 0x100);\n              if ((uVar15 & 0x400000000) == 0) {\n                puVar14 = (undefined1 *)(unaff_EDI + 0x264d2);\n                uVar12 = 0x3a;\n                while( true ) {\n                  if (iVar7 == 0xff) {\n                    *(undefined1 *)(iVar6 + 0xff) = 0;\n                    (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                    *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                    iVar11 = 1;\n                    iVar7 = 0;\n                  }\n                  else {\n                    iVar11 = iVar7 + 1;\n                  }\n                  puVar14 = puVar14 + 1;\n                  *(int *)(iVar6 + 0x100) = iVar11;\n                  *(undefined1 *)(iVar6 + iVar7) = uVar12;\n                  *(undefined1 *)(iVar6 + 0x104) = uVar12;\n                  if (puVar14 == (undefined1 *)(unaff_EDI + 0x264d4)) break;\n                  uVar12 = *puVar14;\n                  iVar7 = iVar11;\n                }\n              }\n              else {\n                iVar11 = iVar7 + 1;\n                if (iVar7 == 0xff) {\n                  *(undefined1 *)(iVar6 + 0xff) = 0;\n                  (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                  *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                  iVar11 = 1;\n                  iVar7 = 0;\n                }\n                *(int *)(iVar6 + 0x100) = iVar11;\n                *(undefined1 *)(iVar6 + iVar7) = 0x2e;\n                *(undefined1 *)(iVar6 + 0x104) = 0x2e;\n              }\n              local_44 = *(uint **)(piVar4[1] + 0xc);\n              uVar8 = *local_44;\n              if (uVar8 == 0x46) {\n                cVar10 = (code)0x7b;\n                pcVar13 = ioctl + unaff_EDI + 4;\n                iVar7 = *(int *)(iVar6 + 0x100);\n                while( true ) {\n                  if (iVar7 == 0xff) {\n                    *(undefined1 *)(iVar6 + 0xff) = 0;\n                    (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                    *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                    iVar11 = 1;\n                    iVar7 = 0;\n                  }\n                  else {\n                    iVar11 = iVar7 + 1;\n                  }\n                  *(int *)(iVar6 + 0x100) = iVar11;\n                  *(code *)(iVar6 + iVar7) = cVar10;\n                  *(code *)(iVar6 + 0x104) = cVar10;\n                  if (pcVar13 == wcrtomb + unaff_EDI) break;\n                  cVar10 = *pcVar13;\n                  pcVar13 = pcVar13 + 1;\n                  iVar7 = iVar11;\n                }\n                __s = local_35;\n                sprintf(__s,(char *)((int)&__DT_REL[0x263a].r_offset + unaff_EDI + 2),\n                        local_44[3] + 1);\n                sVar9 = strlen(__s);\n                iVar7 = *(int *)(iVar6 + 0x100);\n                if (sVar9 != 0) {\n                  pcVar1 = __s + sVar9;\n                  iVar11 = iVar7;\n                  do {\n                    cVar2 = *__s;\n                    if (iVar11 == 0xff) {\n                      *(undefined1 *)(iVar6 + 0xff) = 0;\n                      (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                      *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                      iVar7 = 1;\n                      iVar11 = 0;\n                    }\n                    else {\n                      iVar7 = iVar11 + 1;\n                    }\n                    __s = __s + 1;\n                    *(int *)(iVar6 + 0x100) = iVar7;\n                    *(char *)(iVar6 + iVar11) = cVar2;\n                    *(char *)(iVar6 + 0x104) = cVar2;\n                    iVar11 = iVar7;\n                  } while (pcVar1 != __s);\n                }\n                puVar14 = (undefined1 *)(unaff_EDI + 0x264d1);\n                uVar12 = 0x7d;\n                do {\n                  if (iVar7 == 0xff) {\n                    *(undefined1 *)(iVar6 + 0xff) = 0;\n                    (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                    *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                    iVar11 = 1;\n                    iVar7 = 0;\n                  }\n                  else {\n                    iVar11 = iVar7 + 1;\n                  }\n                  puVar14 = puVar14 + 1;\n                  *(int *)(iVar6 + 0x100) = iVar11;\n                  *(undefined1 *)(iVar6 + iVar7) = uVar12;\n                  *(undefined1 *)(iVar6 + 0x104) = uVar12;\n                  if ((undefined1 *)(unaff_EDI + 0x264d4) == puVar14) goto LAB_002127e9;\n                  uVar12 = *puVar14;\n                  iVar7 = iVar11;\n                } while( true );\n              }\n              do {\n                if (uVar8 != 0x4c) {\n                  if (uVar8 < 0x4d) {\n                    if (4 < uVar8 - 0x1c) {\nLAB_0021277d:\n                      d_print_comp();\n                      *(undefined4 *)(iVar6 + 0x110) = uVar3;\n                      return;\n                    }\n                  }\n                  else if (1 < uVar8 - 0x4e) goto LAB_0021277d;\n                }\nLAB_002127e9:\n                local_44 = (uint *)local_44[2];\n                uVar8 = *local_44;\n              } while( true );\n            }\n            d_print_mod();\n            *(undefined4 *)(iVar6 + 0x110) = uVar3;\n          }" else (if_statement "if (1 < uVar8 - 0x4e) {\nLAB_00212668:\n            uVar3 = *(undefined4 *)(iVar6 + 0x110);\n            piVar4[2] = 1;\n            *(int *)(iVar6 + 0x110) = piVar4[3];\n            if (uVar8 == 0x29) {\n              d_print_function_type_isra_14(*piVar4);\n              *(undefined4 *)(iVar6 + 0x110) = uVar3;\n              return;\n            }\n            if (uVar8 == 0x2a) {\n              d_print_array_type_isra_13(*piVar4);\n              *(undefined4 *)(iVar6 + 0x110) = uVar3;\n              return;\n            }\n            if (uVar8 == 2) {\n              uVar5 = *(undefined4 *)(iVar6 + 0x114);\n              *(undefined4 *)(iVar6 + 0x114) = 0;\n              d_print_comp();\n              *(undefined4 *)(iVar6 + 0x114) = uVar5;\n              iVar7 = *(int *)(iVar6 + 0x100);\n              if ((uVar15 & 0x400000000) == 0) {\n                puVar14 = (undefined1 *)(unaff_EDI + 0x264d2);\n                uVar12 = 0x3a;\n                while( true ) {\n                  if (iVar7 == 0xff) {\n                    *(undefined1 *)(iVar6 + 0xff) = 0;\n                    (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                    *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                    iVar11 = 1;\n                    iVar7 = 0;\n                  }\n                  else {\n                    iVar11 = iVar7 + 1;\n                  }\n                  puVar14 = puVar14 + 1;\n                  *(int *)(iVar6 + 0x100) = iVar11;\n                  *(undefined1 *)(iVar6 + iVar7) = uVar12;\n                  *(undefined1 *)(iVar6 + 0x104) = uVar12;\n                  if (puVar14 == (undefined1 *)(unaff_EDI + 0x264d4)) break;\n                  uVar12 = *puVar14;\n                  iVar7 = iVar11;\n                }\n              }\n              else {\n                iVar11 = iVar7 + 1;\n                if (iVar7 == 0xff) {\n                  *(undefined1 *)(iVar6 + 0xff) = 0;\n                  (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                  *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                  iVar11 = 1;\n                  iVar7 = 0;\n                }\n                *(int *)(iVar6 + 0x100) = iVar11;\n                *(undefined1 *)(iVar6 + iVar7) = 0x2e;\n                *(undefined1 *)(iVar6 + 0x104) = 0x2e;\n              }\n              local_44 = *(uint **)(piVar4[1] + 0xc);\n              uVar8 = *local_44;\n              if (uVar8 == 0x46) {\n                cVar10 = (code)0x7b;\n                pcVar13 = ioctl + unaff_EDI + 4;\n                iVar7 = *(int *)(iVar6 + 0x100);\n                while( true ) {\n                  if (iVar7 == 0xff) {\n                    *(undefined1 *)(iVar6 + 0xff) = 0;\n                    (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                    *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                    iVar11 = 1;\n                    iVar7 = 0;\n                  }\n                  else {\n                    iVar11 = iVar7 + 1;\n                  }\n                  *(int *)(iVar6 + 0x100) = iVar11;\n                  *(code *)(iVar6 + iVar7) = cVar10;\n                  *(code *)(iVar6 + 0x104) = cVar10;\n                  if (pcVar13 == wcrtomb + unaff_EDI) break;\n                  cVar10 = *pcVar13;\n                  pcVar13 = pcVar13 + 1;\n                  iVar7 = iVar11;\n                }\n                __s = local_35;\n                sprintf(__s,(char *)((int)&__DT_REL[0x263a].r_offset + unaff_EDI + 2),\n                        local_44[3] + 1);\n                sVar9 = strlen(__s);\n                iVar7 = *(int *)(iVar6 + 0x100);\n                if (sVar9 != 0) {\n                  pcVar1 = __s + sVar9;\n                  iVar11 = iVar7;\n                  do {\n                    cVar2 = *__s;\n                    if (iVar11 == 0xff) {\n                      *(undefined1 *)(iVar6 + 0xff) = 0;\n                      (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                      *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                      iVar7 = 1;\n                      iVar11 = 0;\n                    }\n                    else {\n                      iVar7 = iVar11 + 1;\n                    }\n                    __s = __s + 1;\n                    *(int *)(iVar6 + 0x100) = iVar7;\n                    *(char *)(iVar6 + iVar11) = cVar2;\n                    *(char *)(iVar6 + 0x104) = cVar2;\n                    iVar11 = iVar7;\n                  } while (pcVar1 != __s);\n                }\n                puVar14 = (undefined1 *)(unaff_EDI + 0x264d1);\n                uVar12 = 0x7d;\n                do {\n                  if (iVar7 == 0xff) {\n                    *(undefined1 *)(iVar6 + 0xff) = 0;\n                    (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                    *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                    iVar11 = 1;\n                    iVar7 = 0;\n                  }\n                  else {\n                    iVar11 = iVar7 + 1;\n                  }\n                  puVar14 = puVar14 + 1;\n                  *(int *)(iVar6 + 0x100) = iVar11;\n                  *(undefined1 *)(iVar6 + iVar7) = uVar12;\n                  *(undefined1 *)(iVar6 + 0x104) = uVar12;\n                  if ((undefined1 *)(unaff_EDI + 0x264d4) == puVar14) goto LAB_002127e9;\n                  uVar12 = *puVar14;\n                  iVar7 = iVar11;\n                } while( true );\n              }\n              do {\n                if (uVar8 != 0x4c) {\n                  if (uVar8 < 0x4d) {\n                    if (4 < uVar8 - 0x1c) {\nLAB_0021277d:\n                      d_print_comp();\n                      *(undefined4 *)(iVar6 + 0x110) = uVar3;\n                      return;\n                    }\n                  }\n                  else if (1 < uVar8 - 0x4e) goto LAB_0021277d;\n                }\nLAB_002127e9:\n                local_44 = (uint *)local_44[2];\n                uVar8 = *local_44;\n              } while( true );\n            }\n            d_print_mod();\n            *(undefined4 *)(iVar6 + 0x110) = uVar3;\n          }" if (parenthesized_expression "(1 < uVar8 - 0x4e)" ( (binary_expression "1 < uVar8 - 0x4e" number_literal < (binary_expression "uVar8 - 0x4e" identifier - number_literal)) )) (compound_statement "{\nLAB_00212668:\n            uVar3 = *(undefined4 *)(iVar6 + 0x110);\n            piVar4[2] = 1;\n            *(int *)(iVar6 + 0x110) = piVar4[3];\n            if (uVar8 == 0x29) {\n              d_print_function_type_isra_14(*piVar4);\n              *(undefined4 *)(iVar6 + 0x110) = uVar3;\n              return;\n            }\n            if (uVar8 == 0x2a) {\n              d_print_array_type_isra_13(*piVar4);\n              *(undefined4 *)(iVar6 + 0x110) = uVar3;\n              return;\n            }\n            if (uVar8 == 2) {\n              uVar5 = *(undefined4 *)(iVar6 + 0x114);\n              *(undefined4 *)(iVar6 + 0x114) = 0;\n              d_print_comp();\n              *(undefined4 *)(iVar6 + 0x114) = uVar5;\n              iVar7 = *(int *)(iVar6 + 0x100);\n              if ((uVar15 & 0x400000000) == 0) {\n                puVar14 = (undefined1 *)(unaff_EDI + 0x264d2);\n                uVar12 = 0x3a;\n                while( true ) {\n                  if (iVar7 == 0xff) {\n                    *(undefined1 *)(iVar6 + 0xff) = 0;\n                    (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                    *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                    iVar11 = 1;\n                    iVar7 = 0;\n                  }\n                  else {\n                    iVar11 = iVar7 + 1;\n                  }\n                  puVar14 = puVar14 + 1;\n                  *(int *)(iVar6 + 0x100) = iVar11;\n                  *(undefined1 *)(iVar6 + iVar7) = uVar12;\n                  *(undefined1 *)(iVar6 + 0x104) = uVar12;\n                  if (puVar14 == (undefined1 *)(unaff_EDI + 0x264d4)) break;\n                  uVar12 = *puVar14;\n                  iVar7 = iVar11;\n                }\n              }\n              else {\n                iVar11 = iVar7 + 1;\n                if (iVar7 == 0xff) {\n                  *(undefined1 *)(iVar6 + 0xff) = 0;\n                  (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                  *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                  iVar11 = 1;\n                  iVar7 = 0;\n                }\n                *(int *)(iVar6 + 0x100) = iVar11;\n                *(undefined1 *)(iVar6 + iVar7) = 0x2e;\n                *(undefined1 *)(iVar6 + 0x104) = 0x2e;\n              }\n              local_44 = *(uint **)(piVar4[1] + 0xc);\n              uVar8 = *local_44;\n              if (uVar8 == 0x46) {\n                cVar10 = (code)0x7b;\n                pcVar13 = ioctl + unaff_EDI + 4;\n                iVar7 = *(int *)(iVar6 + 0x100);\n                while( true ) {\n                  if (iVar7 == 0xff) {\n                    *(undefined1 *)(iVar6 + 0xff) = 0;\n                    (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                    *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                    iVar11 = 1;\n                    iVar7 = 0;\n                  }\n                  else {\n                    iVar11 = iVar7 + 1;\n                  }\n                  *(int *)(iVar6 + 0x100) = iVar11;\n                  *(code *)(iVar6 + iVar7) = cVar10;\n                  *(code *)(iVar6 + 0x104) = cVar10;\n                  if (pcVar13 == wcrtomb + unaff_EDI) break;\n                  cVar10 = *pcVar13;\n                  pcVar13 = pcVar13 + 1;\n                  iVar7 = iVar11;\n                }\n                __s = local_35;\n                sprintf(__s,(char *)((int)&__DT_REL[0x263a].r_offset + unaff_EDI + 2),\n                        local_44[3] + 1);\n                sVar9 = strlen(__s);\n                iVar7 = *(int *)(iVar6 + 0x100);\n                if (sVar9 != 0) {\n                  pcVar1 = __s + sVar9;\n                  iVar11 = iVar7;\n                  do {\n                    cVar2 = *__s;\n                    if (iVar11 == 0xff) {\n                      *(undefined1 *)(iVar6 + 0xff) = 0;\n                      (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                      *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                      iVar7 = 1;\n                      iVar11 = 0;\n                    }\n                    else {\n                      iVar7 = iVar11 + 1;\n                    }\n                    __s = __s + 1;\n                    *(int *)(iVar6 + 0x100) = iVar7;\n                    *(char *)(iVar6 + iVar11) = cVar2;\n                    *(char *)(iVar6 + 0x104) = cVar2;\n                    iVar11 = iVar7;\n                  } while (pcVar1 != __s);\n                }\n                puVar14 = (undefined1 *)(unaff_EDI + 0x264d1);\n                uVar12 = 0x7d;\n                do {\n                  if (iVar7 == 0xff) {\n                    *(undefined1 *)(iVar6 + 0xff) = 0;\n                    (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                    *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                    iVar11 = 1;\n                    iVar7 = 0;\n                  }\n                  else {\n                    iVar11 = iVar7 + 1;\n                  }\n                  puVar14 = puVar14 + 1;\n                  *(int *)(iVar6 + 0x100) = iVar11;\n                  *(undefined1 *)(iVar6 + iVar7) = uVar12;\n                  *(undefined1 *)(iVar6 + 0x104) = uVar12;\n                  if ((undefined1 *)(unaff_EDI + 0x264d4) == puVar14) goto LAB_002127e9;\n                  uVar12 = *puVar14;\n                  iVar7 = iVar11;\n                } while( true );\n              }\n              do {\n                if (uVar8 != 0x4c) {\n                  if (uVar8 < 0x4d) {\n                    if (4 < uVar8 - 0x1c) {\nLAB_0021277d:\n                      d_print_comp();\n                      *(undefined4 *)(iVar6 + 0x110) = uVar3;\n                      return;\n                    }\n                  }\n                  else if (1 < uVar8 - 0x4e) goto LAB_0021277d;\n                }\nLAB_002127e9:\n                local_44 = (uint *)local_44[2];\n                uVar8 = *local_44;\n              } while( true );\n            }\n            d_print_mod();\n            *(undefined4 *)(iVar6 + 0x110) = uVar3;\n          }" { (labeled_statement "LAB_00212668:\n            uVar3 = *(undefined4 *)(iVar6 + 0x110);" statement_identifier : (expression_statement "uVar3 = *(undefined4 *)(iVar6 + 0x110);" (assignment_expression "uVar3 = *(undefined4 *)(iVar6 + 0x110)" identifier = (pointer_expression "*(undefined4 *)(iVar6 + 0x110)" * (cast_expression "(undefined4 *)(iVar6 + 0x110)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x110)" ( (binary_expression "iVar6 + 0x110" identifier + number_literal) ))))) ;)) (expression_statement "piVar4[2] = 1;" (assignment_expression "piVar4[2] = 1" (subscript_expression "piVar4[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*(int *)(iVar6 + 0x110) = piVar4[3];" (assignment_expression "*(int *)(iVar6 + 0x110) = piVar4[3]" (pointer_expression "*(int *)(iVar6 + 0x110)" * (cast_expression "(int *)(iVar6 + 0x110)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x110)" ( (binary_expression "iVar6 + 0x110" identifier + number_literal) )))) = (subscript_expression "piVar4[3]" identifier [ number_literal ])) ;) (if_statement "if (uVar8 == 0x29) {\n              d_print_function_type_isra_14(*piVar4);\n              *(undefined4 *)(iVar6 + 0x110) = uVar3;\n              return;\n            }" if (parenthesized_expression "(uVar8 == 0x29)" ( (binary_expression "uVar8 == 0x29" identifier == number_literal) )) (compound_statement "{\n              d_print_function_type_isra_14(*piVar4);\n              *(undefined4 *)(iVar6 + 0x110) = uVar3;\n              return;\n            }" { (expression_statement "d_print_function_type_isra_14(*piVar4);" (call_expression "d_print_function_type_isra_14(*piVar4)" identifier (argument_list "(*piVar4)" ( (pointer_expression "*piVar4" * identifier) ))) ;) (expression_statement "*(undefined4 *)(iVar6 + 0x110) = uVar3;" (assignment_expression "*(undefined4 *)(iVar6 + 0x110) = uVar3" (pointer_expression "*(undefined4 *)(iVar6 + 0x110)" * (cast_expression "(undefined4 *)(iVar6 + 0x110)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x110)" ( (binary_expression "iVar6 + 0x110" identifier + number_literal) )))) = identifier) ;) (return_statement "return;" return ;) })) (if_statement "if (uVar8 == 0x2a) {\n              d_print_array_type_isra_13(*piVar4);\n              *(undefined4 *)(iVar6 + 0x110) = uVar3;\n              return;\n            }" if (parenthesized_expression "(uVar8 == 0x2a)" ( (binary_expression "uVar8 == 0x2a" identifier == number_literal) )) (compound_statement "{\n              d_print_array_type_isra_13(*piVar4);\n              *(undefined4 *)(iVar6 + 0x110) = uVar3;\n              return;\n            }" { (expression_statement "d_print_array_type_isra_13(*piVar4);" (call_expression "d_print_array_type_isra_13(*piVar4)" identifier (argument_list "(*piVar4)" ( (pointer_expression "*piVar4" * identifier) ))) ;) (expression_statement "*(undefined4 *)(iVar6 + 0x110) = uVar3;" (assignment_expression "*(undefined4 *)(iVar6 + 0x110) = uVar3" (pointer_expression "*(undefined4 *)(iVar6 + 0x110)" * (cast_expression "(undefined4 *)(iVar6 + 0x110)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x110)" ( (binary_expression "iVar6 + 0x110" identifier + number_literal) )))) = identifier) ;) (return_statement "return;" return ;) })) (if_statement "if (uVar8 == 2) {\n              uVar5 = *(undefined4 *)(iVar6 + 0x114);\n              *(undefined4 *)(iVar6 + 0x114) = 0;\n              d_print_comp();\n              *(undefined4 *)(iVar6 + 0x114) = uVar5;\n              iVar7 = *(int *)(iVar6 + 0x100);\n              if ((uVar15 & 0x400000000) == 0) {\n                puVar14 = (undefined1 *)(unaff_EDI + 0x264d2);\n                uVar12 = 0x3a;\n                while( true ) {\n                  if (iVar7 == 0xff) {\n                    *(undefined1 *)(iVar6 + 0xff) = 0;\n                    (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                    *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                    iVar11 = 1;\n                    iVar7 = 0;\n                  }\n                  else {\n                    iVar11 = iVar7 + 1;\n                  }\n                  puVar14 = puVar14 + 1;\n                  *(int *)(iVar6 + 0x100) = iVar11;\n                  *(undefined1 *)(iVar6 + iVar7) = uVar12;\n                  *(undefined1 *)(iVar6 + 0x104) = uVar12;\n                  if (puVar14 == (undefined1 *)(unaff_EDI + 0x264d4)) break;\n                  uVar12 = *puVar14;\n                  iVar7 = iVar11;\n                }\n              }\n              else {\n                iVar11 = iVar7 + 1;\n                if (iVar7 == 0xff) {\n                  *(undefined1 *)(iVar6 + 0xff) = 0;\n                  (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                  *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                  iVar11 = 1;\n                  iVar7 = 0;\n                }\n                *(int *)(iVar6 + 0x100) = iVar11;\n                *(undefined1 *)(iVar6 + iVar7) = 0x2e;\n                *(undefined1 *)(iVar6 + 0x104) = 0x2e;\n              }\n              local_44 = *(uint **)(piVar4[1] + 0xc);\n              uVar8 = *local_44;\n              if (uVar8 == 0x46) {\n                cVar10 = (code)0x7b;\n                pcVar13 = ioctl + unaff_EDI + 4;\n                iVar7 = *(int *)(iVar6 + 0x100);\n                while( true ) {\n                  if (iVar7 == 0xff) {\n                    *(undefined1 *)(iVar6 + 0xff) = 0;\n                    (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                    *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                    iVar11 = 1;\n                    iVar7 = 0;\n                  }\n                  else {\n                    iVar11 = iVar7 + 1;\n                  }\n                  *(int *)(iVar6 + 0x100) = iVar11;\n                  *(code *)(iVar6 + iVar7) = cVar10;\n                  *(code *)(iVar6 + 0x104) = cVar10;\n                  if (pcVar13 == wcrtomb + unaff_EDI) break;\n                  cVar10 = *pcVar13;\n                  pcVar13 = pcVar13 + 1;\n                  iVar7 = iVar11;\n                }\n                __s = local_35;\n                sprintf(__s,(char *)((int)&__DT_REL[0x263a].r_offset + unaff_EDI + 2),\n                        local_44[3] + 1);\n                sVar9 = strlen(__s);\n                iVar7 = *(int *)(iVar6 + 0x100);\n                if (sVar9 != 0) {\n                  pcVar1 = __s + sVar9;\n                  iVar11 = iVar7;\n                  do {\n                    cVar2 = *__s;\n                    if (iVar11 == 0xff) {\n                      *(undefined1 *)(iVar6 + 0xff) = 0;\n                      (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                      *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                      iVar7 = 1;\n                      iVar11 = 0;\n                    }\n                    else {\n                      iVar7 = iVar11 + 1;\n                    }\n                    __s = __s + 1;\n                    *(int *)(iVar6 + 0x100) = iVar7;\n                    *(char *)(iVar6 + iVar11) = cVar2;\n                    *(char *)(iVar6 + 0x104) = cVar2;\n                    iVar11 = iVar7;\n                  } while (pcVar1 != __s);\n                }\n                puVar14 = (undefined1 *)(unaff_EDI + 0x264d1);\n                uVar12 = 0x7d;\n                do {\n                  if (iVar7 == 0xff) {\n                    *(undefined1 *)(iVar6 + 0xff) = 0;\n                    (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                    *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                    iVar11 = 1;\n                    iVar7 = 0;\n                  }\n                  else {\n                    iVar11 = iVar7 + 1;\n                  }\n                  puVar14 = puVar14 + 1;\n                  *(int *)(iVar6 + 0x100) = iVar11;\n                  *(undefined1 *)(iVar6 + iVar7) = uVar12;\n                  *(undefined1 *)(iVar6 + 0x104) = uVar12;\n                  if ((undefined1 *)(unaff_EDI + 0x264d4) == puVar14) goto LAB_002127e9;\n                  uVar12 = *puVar14;\n                  iVar7 = iVar11;\n                } while( true );\n              }\n              do {\n                if (uVar8 != 0x4c) {\n                  if (uVar8 < 0x4d) {\n                    if (4 < uVar8 - 0x1c) {\nLAB_0021277d:\n                      d_print_comp();\n                      *(undefined4 *)(iVar6 + 0x110) = uVar3;\n                      return;\n                    }\n                  }\n                  else if (1 < uVar8 - 0x4e) goto LAB_0021277d;\n                }\nLAB_002127e9:\n                local_44 = (uint *)local_44[2];\n                uVar8 = *local_44;\n              } while( true );\n            }" if (parenthesized_expression "(uVar8 == 2)" ( (binary_expression "uVar8 == 2" identifier == number_literal) )) (compound_statement "{\n              uVar5 = *(undefined4 *)(iVar6 + 0x114);\n              *(undefined4 *)(iVar6 + 0x114) = 0;\n              d_print_comp();\n              *(undefined4 *)(iVar6 + 0x114) = uVar5;\n              iVar7 = *(int *)(iVar6 + 0x100);\n              if ((uVar15 & 0x400000000) == 0) {\n                puVar14 = (undefined1 *)(unaff_EDI + 0x264d2);\n                uVar12 = 0x3a;\n                while( true ) {\n                  if (iVar7 == 0xff) {\n                    *(undefined1 *)(iVar6 + 0xff) = 0;\n                    (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                    *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                    iVar11 = 1;\n                    iVar7 = 0;\n                  }\n                  else {\n                    iVar11 = iVar7 + 1;\n                  }\n                  puVar14 = puVar14 + 1;\n                  *(int *)(iVar6 + 0x100) = iVar11;\n                  *(undefined1 *)(iVar6 + iVar7) = uVar12;\n                  *(undefined1 *)(iVar6 + 0x104) = uVar12;\n                  if (puVar14 == (undefined1 *)(unaff_EDI + 0x264d4)) break;\n                  uVar12 = *puVar14;\n                  iVar7 = iVar11;\n                }\n              }\n              else {\n                iVar11 = iVar7 + 1;\n                if (iVar7 == 0xff) {\n                  *(undefined1 *)(iVar6 + 0xff) = 0;\n                  (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                  *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                  iVar11 = 1;\n                  iVar7 = 0;\n                }\n                *(int *)(iVar6 + 0x100) = iVar11;\n                *(undefined1 *)(iVar6 + iVar7) = 0x2e;\n                *(undefined1 *)(iVar6 + 0x104) = 0x2e;\n              }\n              local_44 = *(uint **)(piVar4[1] + 0xc);\n              uVar8 = *local_44;\n              if (uVar8 == 0x46) {\n                cVar10 = (code)0x7b;\n                pcVar13 = ioctl + unaff_EDI + 4;\n                iVar7 = *(int *)(iVar6 + 0x100);\n                while( true ) {\n                  if (iVar7 == 0xff) {\n                    *(undefined1 *)(iVar6 + 0xff) = 0;\n                    (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                    *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                    iVar11 = 1;\n                    iVar7 = 0;\n                  }\n                  else {\n                    iVar11 = iVar7 + 1;\n                  }\n                  *(int *)(iVar6 + 0x100) = iVar11;\n                  *(code *)(iVar6 + iVar7) = cVar10;\n                  *(code *)(iVar6 + 0x104) = cVar10;\n                  if (pcVar13 == wcrtomb + unaff_EDI) break;\n                  cVar10 = *pcVar13;\n                  pcVar13 = pcVar13 + 1;\n                  iVar7 = iVar11;\n                }\n                __s = local_35;\n                sprintf(__s,(char *)((int)&__DT_REL[0x263a].r_offset + unaff_EDI + 2),\n                        local_44[3] + 1);\n                sVar9 = strlen(__s);\n                iVar7 = *(int *)(iVar6 + 0x100);\n                if (sVar9 != 0) {\n                  pcVar1 = __s + sVar9;\n                  iVar11 = iVar7;\n                  do {\n                    cVar2 = *__s;\n                    if (iVar11 == 0xff) {\n                      *(undefined1 *)(iVar6 + 0xff) = 0;\n                      (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                      *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                      iVar7 = 1;\n                      iVar11 = 0;\n                    }\n                    else {\n                      iVar7 = iVar11 + 1;\n                    }\n                    __s = __s + 1;\n                    *(int *)(iVar6 + 0x100) = iVar7;\n                    *(char *)(iVar6 + iVar11) = cVar2;\n                    *(char *)(iVar6 + 0x104) = cVar2;\n                    iVar11 = iVar7;\n                  } while (pcVar1 != __s);\n                }\n                puVar14 = (undefined1 *)(unaff_EDI + 0x264d1);\n                uVar12 = 0x7d;\n                do {\n                  if (iVar7 == 0xff) {\n                    *(undefined1 *)(iVar6 + 0xff) = 0;\n                    (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                    *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                    iVar11 = 1;\n                    iVar7 = 0;\n                  }\n                  else {\n                    iVar11 = iVar7 + 1;\n                  }\n                  puVar14 = puVar14 + 1;\n                  *(int *)(iVar6 + 0x100) = iVar11;\n                  *(undefined1 *)(iVar6 + iVar7) = uVar12;\n                  *(undefined1 *)(iVar6 + 0x104) = uVar12;\n                  if ((undefined1 *)(unaff_EDI + 0x264d4) == puVar14) goto LAB_002127e9;\n                  uVar12 = *puVar14;\n                  iVar7 = iVar11;\n                } while( true );\n              }\n              do {\n                if (uVar8 != 0x4c) {\n                  if (uVar8 < 0x4d) {\n                    if (4 < uVar8 - 0x1c) {\nLAB_0021277d:\n                      d_print_comp();\n                      *(undefined4 *)(iVar6 + 0x110) = uVar3;\n                      return;\n                    }\n                  }\n                  else if (1 < uVar8 - 0x4e) goto LAB_0021277d;\n                }\nLAB_002127e9:\n                local_44 = (uint *)local_44[2];\n                uVar8 = *local_44;\n              } while( true );\n            }" { (expression_statement "uVar5 = *(undefined4 *)(iVar6 + 0x114);" (assignment_expression "uVar5 = *(undefined4 *)(iVar6 + 0x114)" identifier = (pointer_expression "*(undefined4 *)(iVar6 + 0x114)" * (cast_expression "(undefined4 *)(iVar6 + 0x114)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x114)" ( (binary_expression "iVar6 + 0x114" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(iVar6 + 0x114) = 0;" (assignment_expression "*(undefined4 *)(iVar6 + 0x114) = 0" (pointer_expression "*(undefined4 *)(iVar6 + 0x114)" * (cast_expression "(undefined4 *)(iVar6 + 0x114)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x114)" ( (binary_expression "iVar6 + 0x114" identifier + number_literal) )))) = number_literal) ;) (expression_statement "d_print_comp();" (call_expression "d_print_comp()" identifier (argument_list "()" ( ))) ;) (expression_statement "*(undefined4 *)(iVar6 + 0x114) = uVar5;" (assignment_expression "*(undefined4 *)(iVar6 + 0x114) = uVar5" (pointer_expression "*(undefined4 *)(iVar6 + 0x114)" * (cast_expression "(undefined4 *)(iVar6 + 0x114)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x114)" ( (binary_expression "iVar6 + 0x114" identifier + number_literal) )))) = identifier) ;) (expression_statement "iVar7 = *(int *)(iVar6 + 0x100);" (assignment_expression "iVar7 = *(int *)(iVar6 + 0x100)" identifier = (pointer_expression "*(int *)(iVar6 + 0x100)" * (cast_expression "(int *)(iVar6 + 0x100)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x100)" ( (binary_expression "iVar6 + 0x100" identifier + number_literal) ))))) ;) (if_statement "if ((uVar15 & 0x400000000) == 0) {\n                puVar14 = (undefined1 *)(unaff_EDI + 0x264d2);\n                uVar12 = 0x3a;\n                while( true ) {\n                  if (iVar7 == 0xff) {\n                    *(undefined1 *)(iVar6 + 0xff) = 0;\n                    (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                    *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                    iVar11 = 1;\n                    iVar7 = 0;\n                  }\n                  else {\n                    iVar11 = iVar7 + 1;\n                  }\n                  puVar14 = puVar14 + 1;\n                  *(int *)(iVar6 + 0x100) = iVar11;\n                  *(undefined1 *)(iVar6 + iVar7) = uVar12;\n                  *(undefined1 *)(iVar6 + 0x104) = uVar12;\n                  if (puVar14 == (undefined1 *)(unaff_EDI + 0x264d4)) break;\n                  uVar12 = *puVar14;\n                  iVar7 = iVar11;\n                }\n              }\n              else {\n                iVar11 = iVar7 + 1;\n                if (iVar7 == 0xff) {\n                  *(undefined1 *)(iVar6 + 0xff) = 0;\n                  (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                  *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                  iVar11 = 1;\n                  iVar7 = 0;\n                }\n                *(int *)(iVar6 + 0x100) = iVar11;\n                *(undefined1 *)(iVar6 + iVar7) = 0x2e;\n                *(undefined1 *)(iVar6 + 0x104) = 0x2e;\n              }" if (parenthesized_expression "((uVar15 & 0x400000000) == 0)" ( (binary_expression "(uVar15 & 0x400000000) == 0" (parenthesized_expression "(uVar15 & 0x400000000)" ( (binary_expression "uVar15 & 0x400000000" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n                puVar14 = (undefined1 *)(unaff_EDI + 0x264d2);\n                uVar12 = 0x3a;\n                while( true ) {\n                  if (iVar7 == 0xff) {\n                    *(undefined1 *)(iVar6 + 0xff) = 0;\n                    (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                    *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                    iVar11 = 1;\n                    iVar7 = 0;\n                  }\n                  else {\n                    iVar11 = iVar7 + 1;\n                  }\n                  puVar14 = puVar14 + 1;\n                  *(int *)(iVar6 + 0x100) = iVar11;\n                  *(undefined1 *)(iVar6 + iVar7) = uVar12;\n                  *(undefined1 *)(iVar6 + 0x104) = uVar12;\n                  if (puVar14 == (undefined1 *)(unaff_EDI + 0x264d4)) break;\n                  uVar12 = *puVar14;\n                  iVar7 = iVar11;\n                }\n              }" { (expression_statement "puVar14 = (undefined1 *)(unaff_EDI + 0x264d2);" (assignment_expression "puVar14 = (undefined1 *)(unaff_EDI + 0x264d2)" identifier = (cast_expression "(undefined1 *)(unaff_EDI + 0x264d2)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EDI + 0x264d2)" ( (binary_expression "unaff_EDI + 0x264d2" identifier + number_literal) )))) ;) (expression_statement "uVar12 = 0x3a;" (assignment_expression "uVar12 = 0x3a" identifier = number_literal) ;) (while_statement "while( true ) {\n                  if (iVar7 == 0xff) {\n                    *(undefined1 *)(iVar6 + 0xff) = 0;\n                    (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                    *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                    iVar11 = 1;\n                    iVar7 = 0;\n                  }\n                  else {\n                    iVar11 = iVar7 + 1;\n                  }\n                  puVar14 = puVar14 + 1;\n                  *(int *)(iVar6 + 0x100) = iVar11;\n                  *(undefined1 *)(iVar6 + iVar7) = uVar12;\n                  *(undefined1 *)(iVar6 + 0x104) = uVar12;\n                  if (puVar14 == (undefined1 *)(unaff_EDI + 0x264d4)) break;\n                  uVar12 = *puVar14;\n                  iVar7 = iVar11;\n                }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n                  if (iVar7 == 0xff) {\n                    *(undefined1 *)(iVar6 + 0xff) = 0;\n                    (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                    *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                    iVar11 = 1;\n                    iVar7 = 0;\n                  }\n                  else {\n                    iVar11 = iVar7 + 1;\n                  }\n                  puVar14 = puVar14 + 1;\n                  *(int *)(iVar6 + 0x100) = iVar11;\n                  *(undefined1 *)(iVar6 + iVar7) = uVar12;\n                  *(undefined1 *)(iVar6 + 0x104) = uVar12;\n                  if (puVar14 == (undefined1 *)(unaff_EDI + 0x264d4)) break;\n                  uVar12 = *puVar14;\n                  iVar7 = iVar11;\n                }" { (if_statement "if (iVar7 == 0xff) {\n                    *(undefined1 *)(iVar6 + 0xff) = 0;\n                    (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                    *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                    iVar11 = 1;\n                    iVar7 = 0;\n                  }\n                  else {\n                    iVar11 = iVar7 + 1;\n                  }" if (parenthesized_expression "(iVar7 == 0xff)" ( (binary_expression "iVar7 == 0xff" identifier == number_literal) )) (compound_statement "{\n                    *(undefined1 *)(iVar6 + 0xff) = 0;\n                    (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                    *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                    iVar11 = 1;\n                    iVar7 = 0;\n                  }" { (expression_statement "*(undefined1 *)(iVar6 + 0xff) = 0;" (assignment_expression "*(undefined1 *)(iVar6 + 0xff) = 0" (pointer_expression "*(undefined1 *)(iVar6 + 0xff)" * (cast_expression "(undefined1 *)(iVar6 + 0xff)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0xff)" ( (binary_expression "iVar6 + 0xff" identifier + number_literal) )))) = number_literal) ;) (expression_statement "(**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));" (call_expression "(**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c))" (parenthesized_expression "(**(code **)(iVar6 + 0x108))" ( (pointer_expression "**(code **)(iVar6 + 0x108)" * (pointer_expression "*(code **)(iVar6 + 0x108)" * (cast_expression "(code **)(iVar6 + 0x108)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar6 + 0x108)" ( (binary_expression "iVar6 + 0x108" identifier + number_literal) ))))) )) (argument_list "(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c))" ( identifier , number_literal , (pointer_expression "*(undefined4 *)(iVar6 + 0x10c)" * (cast_expression "(undefined4 *)(iVar6 + 0x10c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x10c)" ( (binary_expression "iVar6 + 0x10c" identifier + number_literal) )))) ))) ;) (expression_statement "*(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;" (assignment_expression "*(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1" (pointer_expression "*(int *)(iVar6 + 0x128)" * (cast_expression "(int *)(iVar6 + 0x128)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x128)" ( (binary_expression "iVar6 + 0x128" identifier + number_literal) )))) = (binary_expression "*(int *)(iVar6 + 0x128) + 1" (pointer_expression "*(int *)(iVar6 + 0x128)" * (cast_expression "(int *)(iVar6 + 0x128)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x128)" ( (binary_expression "iVar6 + 0x128" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "iVar11 = 1;" (assignment_expression "iVar11 = 1" identifier = number_literal) ;) (expression_statement "iVar7 = 0;" (assignment_expression "iVar7 = 0" identifier = number_literal) ;) }) (else_clause "else {\n                    iVar11 = iVar7 + 1;\n                  }" else (compound_statement "{\n                    iVar11 = iVar7 + 1;\n                  }" { (expression_statement "iVar11 = iVar7 + 1;" (assignment_expression "iVar11 = iVar7 + 1" identifier = (binary_expression "iVar7 + 1" identifier + number_literal)) ;) }))) (expression_statement "puVar14 = puVar14 + 1;" (assignment_expression "puVar14 = puVar14 + 1" identifier = (binary_expression "puVar14 + 1" identifier + number_literal)) ;) (expression_statement "*(int *)(iVar6 + 0x100) = iVar11;" (assignment_expression "*(int *)(iVar6 + 0x100) = iVar11" (pointer_expression "*(int *)(iVar6 + 0x100)" * (cast_expression "(int *)(iVar6 + 0x100)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x100)" ( (binary_expression "iVar6 + 0x100" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined1 *)(iVar6 + iVar7) = uVar12;" (assignment_expression "*(undefined1 *)(iVar6 + iVar7) = uVar12" (pointer_expression "*(undefined1 *)(iVar6 + iVar7)" * (cast_expression "(undefined1 *)(iVar6 + iVar7)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + iVar7)" ( (binary_expression "iVar6 + iVar7" identifier + identifier) )))) = identifier) ;) (expression_statement "*(undefined1 *)(iVar6 + 0x104) = uVar12;" (assignment_expression "*(undefined1 *)(iVar6 + 0x104) = uVar12" (pointer_expression "*(undefined1 *)(iVar6 + 0x104)" * (cast_expression "(undefined1 *)(iVar6 + 0x104)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x104)" ( (binary_expression "iVar6 + 0x104" identifier + number_literal) )))) = identifier) ;) (if_statement "if (puVar14 == (undefined1 *)(unaff_EDI + 0x264d4)) break;" if (parenthesized_expression "(puVar14 == (undefined1 *)(unaff_EDI + 0x264d4))" ( (binary_expression "puVar14 == (undefined1 *)(unaff_EDI + 0x264d4)" identifier == (cast_expression "(undefined1 *)(unaff_EDI + 0x264d4)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EDI + 0x264d4)" ( (binary_expression "unaff_EDI + 0x264d4" identifier + number_literal) )))) )) (break_statement "break;" break ;)) (expression_statement "uVar12 = *puVar14;" (assignment_expression "uVar12 = *puVar14" identifier = (pointer_expression "*puVar14" * identifier)) ;) (expression_statement "iVar7 = iVar11;" (assignment_expression "iVar7 = iVar11" identifier = identifier) ;) })) }) (else_clause "else {\n                iVar11 = iVar7 + 1;\n                if (iVar7 == 0xff) {\n                  *(undefined1 *)(iVar6 + 0xff) = 0;\n                  (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                  *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                  iVar11 = 1;\n                  iVar7 = 0;\n                }\n                *(int *)(iVar6 + 0x100) = iVar11;\n                *(undefined1 *)(iVar6 + iVar7) = 0x2e;\n                *(undefined1 *)(iVar6 + 0x104) = 0x2e;\n              }" else (compound_statement "{\n                iVar11 = iVar7 + 1;\n                if (iVar7 == 0xff) {\n                  *(undefined1 *)(iVar6 + 0xff) = 0;\n                  (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                  *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                  iVar11 = 1;\n                  iVar7 = 0;\n                }\n                *(int *)(iVar6 + 0x100) = iVar11;\n                *(undefined1 *)(iVar6 + iVar7) = 0x2e;\n                *(undefined1 *)(iVar6 + 0x104) = 0x2e;\n              }" { (expression_statement "iVar11 = iVar7 + 1;" (assignment_expression "iVar11 = iVar7 + 1" identifier = (binary_expression "iVar7 + 1" identifier + number_literal)) ;) (if_statement "if (iVar7 == 0xff) {\n                  *(undefined1 *)(iVar6 + 0xff) = 0;\n                  (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                  *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                  iVar11 = 1;\n                  iVar7 = 0;\n                }" if (parenthesized_expression "(iVar7 == 0xff)" ( (binary_expression "iVar7 == 0xff" identifier == number_literal) )) (compound_statement "{\n                  *(undefined1 *)(iVar6 + 0xff) = 0;\n                  (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                  *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                  iVar11 = 1;\n                  iVar7 = 0;\n                }" { (expression_statement "*(undefined1 *)(iVar6 + 0xff) = 0;" (assignment_expression "*(undefined1 *)(iVar6 + 0xff) = 0" (pointer_expression "*(undefined1 *)(iVar6 + 0xff)" * (cast_expression "(undefined1 *)(iVar6 + 0xff)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0xff)" ( (binary_expression "iVar6 + 0xff" identifier + number_literal) )))) = number_literal) ;) (expression_statement "(**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));" (call_expression "(**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c))" (parenthesized_expression "(**(code **)(iVar6 + 0x108))" ( (pointer_expression "**(code **)(iVar6 + 0x108)" * (pointer_expression "*(code **)(iVar6 + 0x108)" * (cast_expression "(code **)(iVar6 + 0x108)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar6 + 0x108)" ( (binary_expression "iVar6 + 0x108" identifier + number_literal) ))))) )) (argument_list "(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c))" ( identifier , number_literal , (pointer_expression "*(undefined4 *)(iVar6 + 0x10c)" * (cast_expression "(undefined4 *)(iVar6 + 0x10c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x10c)" ( (binary_expression "iVar6 + 0x10c" identifier + number_literal) )))) ))) ;) (expression_statement "*(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;" (assignment_expression "*(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1" (pointer_expression "*(int *)(iVar6 + 0x128)" * (cast_expression "(int *)(iVar6 + 0x128)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x128)" ( (binary_expression "iVar6 + 0x128" identifier + number_literal) )))) = (binary_expression "*(int *)(iVar6 + 0x128) + 1" (pointer_expression "*(int *)(iVar6 + 0x128)" * (cast_expression "(int *)(iVar6 + 0x128)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x128)" ( (binary_expression "iVar6 + 0x128" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "iVar11 = 1;" (assignment_expression "iVar11 = 1" identifier = number_literal) ;) (expression_statement "iVar7 = 0;" (assignment_expression "iVar7 = 0" identifier = number_literal) ;) })) (expression_statement "*(int *)(iVar6 + 0x100) = iVar11;" (assignment_expression "*(int *)(iVar6 + 0x100) = iVar11" (pointer_expression "*(int *)(iVar6 + 0x100)" * (cast_expression "(int *)(iVar6 + 0x100)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x100)" ( (binary_expression "iVar6 + 0x100" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined1 *)(iVar6 + iVar7) = 0x2e;" (assignment_expression "*(undefined1 *)(iVar6 + iVar7) = 0x2e" (pointer_expression "*(undefined1 *)(iVar6 + iVar7)" * (cast_expression "(undefined1 *)(iVar6 + iVar7)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + iVar7)" ( (binary_expression "iVar6 + iVar7" identifier + identifier) )))) = number_literal) ;) (expression_statement "*(undefined1 *)(iVar6 + 0x104) = 0x2e;" (assignment_expression "*(undefined1 *)(iVar6 + 0x104) = 0x2e" (pointer_expression "*(undefined1 *)(iVar6 + 0x104)" * (cast_expression "(undefined1 *)(iVar6 + 0x104)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x104)" ( (binary_expression "iVar6 + 0x104" identifier + number_literal) )))) = number_literal) ;) }))) (expression_statement "local_44 = *(uint **)(piVar4[1] + 0xc);" (assignment_expression "local_44 = *(uint **)(piVar4[1] + 0xc)" identifier = (pointer_expression "*(uint **)(piVar4[1] + 0xc)" * (cast_expression "(uint **)(piVar4[1] + 0xc)" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(piVar4[1] + 0xc)" ( (binary_expression "piVar4[1] + 0xc" (subscript_expression "piVar4[1]" identifier [ number_literal ]) + number_literal) ))))) ;) (expression_statement "uVar8 = *local_44;" (assignment_expression "uVar8 = *local_44" identifier = (pointer_expression "*local_44" * identifier)) ;) (if_statement "if (uVar8 == 0x46) {\n                cVar10 = (code)0x7b;\n                pcVar13 = ioctl + unaff_EDI + 4;\n                iVar7 = *(int *)(iVar6 + 0x100);\n                while( true ) {\n                  if (iVar7 == 0xff) {\n                    *(undefined1 *)(iVar6 + 0xff) = 0;\n                    (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                    *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                    iVar11 = 1;\n                    iVar7 = 0;\n                  }\n                  else {\n                    iVar11 = iVar7 + 1;\n                  }\n                  *(int *)(iVar6 + 0x100) = iVar11;\n                  *(code *)(iVar6 + iVar7) = cVar10;\n                  *(code *)(iVar6 + 0x104) = cVar10;\n                  if (pcVar13 == wcrtomb + unaff_EDI) break;\n                  cVar10 = *pcVar13;\n                  pcVar13 = pcVar13 + 1;\n                  iVar7 = iVar11;\n                }\n                __s = local_35;\n                sprintf(__s,(char *)((int)&__DT_REL[0x263a].r_offset + unaff_EDI + 2),\n                        local_44[3] + 1);\n                sVar9 = strlen(__s);\n                iVar7 = *(int *)(iVar6 + 0x100);\n                if (sVar9 != 0) {\n                  pcVar1 = __s + sVar9;\n                  iVar11 = iVar7;\n                  do {\n                    cVar2 = *__s;\n                    if (iVar11 == 0xff) {\n                      *(undefined1 *)(iVar6 + 0xff) = 0;\n                      (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                      *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                      iVar7 = 1;\n                      iVar11 = 0;\n                    }\n                    else {\n                      iVar7 = iVar11 + 1;\n                    }\n                    __s = __s + 1;\n                    *(int *)(iVar6 + 0x100) = iVar7;\n                    *(char *)(iVar6 + iVar11) = cVar2;\n                    *(char *)(iVar6 + 0x104) = cVar2;\n                    iVar11 = iVar7;\n                  } while (pcVar1 != __s);\n                }\n                puVar14 = (undefined1 *)(unaff_EDI + 0x264d1);\n                uVar12 = 0x7d;\n                do {\n                  if (iVar7 == 0xff) {\n                    *(undefined1 *)(iVar6 + 0xff) = 0;\n                    (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                    *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                    iVar11 = 1;\n                    iVar7 = 0;\n                  }\n                  else {\n                    iVar11 = iVar7 + 1;\n                  }\n                  puVar14 = puVar14 + 1;\n                  *(int *)(iVar6 + 0x100) = iVar11;\n                  *(undefined1 *)(iVar6 + iVar7) = uVar12;\n                  *(undefined1 *)(iVar6 + 0x104) = uVar12;\n                  if ((undefined1 *)(unaff_EDI + 0x264d4) == puVar14) goto LAB_002127e9;\n                  uVar12 = *puVar14;\n                  iVar7 = iVar11;\n                } while( true );\n              }" if (parenthesized_expression "(uVar8 == 0x46)" ( (binary_expression "uVar8 == 0x46" identifier == number_literal) )) (compound_statement "{\n                cVar10 = (code)0x7b;\n                pcVar13 = ioctl + unaff_EDI + 4;\n                iVar7 = *(int *)(iVar6 + 0x100);\n                while( true ) {\n                  if (iVar7 == 0xff) {\n                    *(undefined1 *)(iVar6 + 0xff) = 0;\n                    (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                    *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                    iVar11 = 1;\n                    iVar7 = 0;\n                  }\n                  else {\n                    iVar11 = iVar7 + 1;\n                  }\n                  *(int *)(iVar6 + 0x100) = iVar11;\n                  *(code *)(iVar6 + iVar7) = cVar10;\n                  *(code *)(iVar6 + 0x104) = cVar10;\n                  if (pcVar13 == wcrtomb + unaff_EDI) break;\n                  cVar10 = *pcVar13;\n                  pcVar13 = pcVar13 + 1;\n                  iVar7 = iVar11;\n                }\n                __s = local_35;\n                sprintf(__s,(char *)((int)&__DT_REL[0x263a].r_offset + unaff_EDI + 2),\n                        local_44[3] + 1);\n                sVar9 = strlen(__s);\n                iVar7 = *(int *)(iVar6 + 0x100);\n                if (sVar9 != 0) {\n                  pcVar1 = __s + sVar9;\n                  iVar11 = iVar7;\n                  do {\n                    cVar2 = *__s;\n                    if (iVar11 == 0xff) {\n                      *(undefined1 *)(iVar6 + 0xff) = 0;\n                      (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                      *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                      iVar7 = 1;\n                      iVar11 = 0;\n                    }\n                    else {\n                      iVar7 = iVar11 + 1;\n                    }\n                    __s = __s + 1;\n                    *(int *)(iVar6 + 0x100) = iVar7;\n                    *(char *)(iVar6 + iVar11) = cVar2;\n                    *(char *)(iVar6 + 0x104) = cVar2;\n                    iVar11 = iVar7;\n                  } while (pcVar1 != __s);\n                }\n                puVar14 = (undefined1 *)(unaff_EDI + 0x264d1);\n                uVar12 = 0x7d;\n                do {\n                  if (iVar7 == 0xff) {\n                    *(undefined1 *)(iVar6 + 0xff) = 0;\n                    (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                    *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                    iVar11 = 1;\n                    iVar7 = 0;\n                  }\n                  else {\n                    iVar11 = iVar7 + 1;\n                  }\n                  puVar14 = puVar14 + 1;\n                  *(int *)(iVar6 + 0x100) = iVar11;\n                  *(undefined1 *)(iVar6 + iVar7) = uVar12;\n                  *(undefined1 *)(iVar6 + 0x104) = uVar12;\n                  if ((undefined1 *)(unaff_EDI + 0x264d4) == puVar14) goto LAB_002127e9;\n                  uVar12 = *puVar14;\n                  iVar7 = iVar11;\n                } while( true );\n              }" { (expression_statement "cVar10 = (code)0x7b;" (assignment_expression "cVar10 = (code)0x7b" identifier = (cast_expression "(code)0x7b" ( (type_descriptor "code" type_identifier) ) number_literal)) ;) (expression_statement "pcVar13 = ioctl + unaff_EDI + 4;" (assignment_expression "pcVar13 = ioctl + unaff_EDI + 4" identifier = (binary_expression "ioctl + unaff_EDI + 4" (binary_expression "ioctl + unaff_EDI" identifier + identifier) + number_literal)) ;) (expression_statement "iVar7 = *(int *)(iVar6 + 0x100);" (assignment_expression "iVar7 = *(int *)(iVar6 + 0x100)" identifier = (pointer_expression "*(int *)(iVar6 + 0x100)" * (cast_expression "(int *)(iVar6 + 0x100)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x100)" ( (binary_expression "iVar6 + 0x100" identifier + number_literal) ))))) ;) (while_statement "while( true ) {\n                  if (iVar7 == 0xff) {\n                    *(undefined1 *)(iVar6 + 0xff) = 0;\n                    (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                    *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                    iVar11 = 1;\n                    iVar7 = 0;\n                  }\n                  else {\n                    iVar11 = iVar7 + 1;\n                  }\n                  *(int *)(iVar6 + 0x100) = iVar11;\n                  *(code *)(iVar6 + iVar7) = cVar10;\n                  *(code *)(iVar6 + 0x104) = cVar10;\n                  if (pcVar13 == wcrtomb + unaff_EDI) break;\n                  cVar10 = *pcVar13;\n                  pcVar13 = pcVar13 + 1;\n                  iVar7 = iVar11;\n                }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n                  if (iVar7 == 0xff) {\n                    *(undefined1 *)(iVar6 + 0xff) = 0;\n                    (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                    *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                    iVar11 = 1;\n                    iVar7 = 0;\n                  }\n                  else {\n                    iVar11 = iVar7 + 1;\n                  }\n                  *(int *)(iVar6 + 0x100) = iVar11;\n                  *(code *)(iVar6 + iVar7) = cVar10;\n                  *(code *)(iVar6 + 0x104) = cVar10;\n                  if (pcVar13 == wcrtomb + unaff_EDI) break;\n                  cVar10 = *pcVar13;\n                  pcVar13 = pcVar13 + 1;\n                  iVar7 = iVar11;\n                }" { (if_statement "if (iVar7 == 0xff) {\n                    *(undefined1 *)(iVar6 + 0xff) = 0;\n                    (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                    *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                    iVar11 = 1;\n                    iVar7 = 0;\n                  }\n                  else {\n                    iVar11 = iVar7 + 1;\n                  }" if (parenthesized_expression "(iVar7 == 0xff)" ( (binary_expression "iVar7 == 0xff" identifier == number_literal) )) (compound_statement "{\n                    *(undefined1 *)(iVar6 + 0xff) = 0;\n                    (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                    *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                    iVar11 = 1;\n                    iVar7 = 0;\n                  }" { (expression_statement "*(undefined1 *)(iVar6 + 0xff) = 0;" (assignment_expression "*(undefined1 *)(iVar6 + 0xff) = 0" (pointer_expression "*(undefined1 *)(iVar6 + 0xff)" * (cast_expression "(undefined1 *)(iVar6 + 0xff)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0xff)" ( (binary_expression "iVar6 + 0xff" identifier + number_literal) )))) = number_literal) ;) (expression_statement "(**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));" (call_expression "(**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c))" (parenthesized_expression "(**(code **)(iVar6 + 0x108))" ( (pointer_expression "**(code **)(iVar6 + 0x108)" * (pointer_expression "*(code **)(iVar6 + 0x108)" * (cast_expression "(code **)(iVar6 + 0x108)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar6 + 0x108)" ( (binary_expression "iVar6 + 0x108" identifier + number_literal) ))))) )) (argument_list "(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c))" ( identifier , number_literal , (pointer_expression "*(undefined4 *)(iVar6 + 0x10c)" * (cast_expression "(undefined4 *)(iVar6 + 0x10c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x10c)" ( (binary_expression "iVar6 + 0x10c" identifier + number_literal) )))) ))) ;) (expression_statement "*(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;" (assignment_expression "*(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1" (pointer_expression "*(int *)(iVar6 + 0x128)" * (cast_expression "(int *)(iVar6 + 0x128)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x128)" ( (binary_expression "iVar6 + 0x128" identifier + number_literal) )))) = (binary_expression "*(int *)(iVar6 + 0x128) + 1" (pointer_expression "*(int *)(iVar6 + 0x128)" * (cast_expression "(int *)(iVar6 + 0x128)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x128)" ( (binary_expression "iVar6 + 0x128" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "iVar11 = 1;" (assignment_expression "iVar11 = 1" identifier = number_literal) ;) (expression_statement "iVar7 = 0;" (assignment_expression "iVar7 = 0" identifier = number_literal) ;) }) (else_clause "else {\n                    iVar11 = iVar7 + 1;\n                  }" else (compound_statement "{\n                    iVar11 = iVar7 + 1;\n                  }" { (expression_statement "iVar11 = iVar7 + 1;" (assignment_expression "iVar11 = iVar7 + 1" identifier = (binary_expression "iVar7 + 1" identifier + number_literal)) ;) }))) (expression_statement "*(int *)(iVar6 + 0x100) = iVar11;" (assignment_expression "*(int *)(iVar6 + 0x100) = iVar11" (pointer_expression "*(int *)(iVar6 + 0x100)" * (cast_expression "(int *)(iVar6 + 0x100)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x100)" ( (binary_expression "iVar6 + 0x100" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(code *)(iVar6 + iVar7) = cVar10;" (assignment_expression "*(code *)(iVar6 + iVar7) = cVar10" (pointer_expression "*(code *)(iVar6 + iVar7)" * (cast_expression "(code *)(iVar6 + iVar7)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + iVar7)" ( (binary_expression "iVar6 + iVar7" identifier + identifier) )))) = identifier) ;) (expression_statement "*(code *)(iVar6 + 0x104) = cVar10;" (assignment_expression "*(code *)(iVar6 + 0x104) = cVar10" (pointer_expression "*(code *)(iVar6 + 0x104)" * (cast_expression "(code *)(iVar6 + 0x104)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x104)" ( (binary_expression "iVar6 + 0x104" identifier + number_literal) )))) = identifier) ;) (if_statement "if (pcVar13 == wcrtomb + unaff_EDI) break;" if (parenthesized_expression "(pcVar13 == wcrtomb + unaff_EDI)" ( (binary_expression "pcVar13 == wcrtomb + unaff_EDI" identifier == (binary_expression "wcrtomb + unaff_EDI" identifier + identifier)) )) (break_statement "break;" break ;)) (expression_statement "cVar10 = *pcVar13;" (assignment_expression "cVar10 = *pcVar13" identifier = (pointer_expression "*pcVar13" * identifier)) ;) (expression_statement "pcVar13 = pcVar13 + 1;" (assignment_expression "pcVar13 = pcVar13 + 1" identifier = (binary_expression "pcVar13 + 1" identifier + number_literal)) ;) (expression_statement "iVar7 = iVar11;" (assignment_expression "iVar7 = iVar11" identifier = identifier) ;) })) (expression_statement "__s = local_35;" (assignment_expression "__s = local_35" identifier = identifier) ;) (expression_statement "sprintf(__s,(char *)((int)&__DT_REL[0x263a].r_offset + unaff_EDI + 2),\n                        local_44[3] + 1);" (call_expression "sprintf(__s,(char *)((int)&__DT_REL[0x263a].r_offset + unaff_EDI + 2),\n                        local_44[3] + 1)" identifier (argument_list "(__s,(char *)((int)&__DT_REL[0x263a].r_offset + unaff_EDI + 2),\n                        local_44[3] + 1)" ( identifier , (cast_expression "(char *)((int)&__DT_REL[0x263a].r_offset + unaff_EDI + 2)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&__DT_REL[0x263a].r_offset + unaff_EDI + 2)" ( (binary_expression "(int)&__DT_REL[0x263a].r_offset + unaff_EDI + 2" (binary_expression "(int)&__DT_REL[0x263a].r_offset + unaff_EDI" (cast_expression "(int)&__DT_REL[0x263a].r_offset" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&__DT_REL[0x263a].r_offset" & (field_expression "__DT_REL[0x263a].r_offset" (subscript_expression "__DT_REL[0x263a]" identifier [ number_literal ]) . field_identifier))) + identifier) + number_literal) ))) , (binary_expression "local_44[3] + 1" (subscript_expression "local_44[3]" identifier [ number_literal ]) + number_literal) ))) ;) (expression_statement "sVar9 = strlen(__s);" (assignment_expression "sVar9 = strlen(__s)" identifier = (call_expression "strlen(__s)" identifier (argument_list "(__s)" ( identifier )))) ;) (expression_statement "iVar7 = *(int *)(iVar6 + 0x100);" (assignment_expression "iVar7 = *(int *)(iVar6 + 0x100)" identifier = (pointer_expression "*(int *)(iVar6 + 0x100)" * (cast_expression "(int *)(iVar6 + 0x100)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x100)" ( (binary_expression "iVar6 + 0x100" identifier + number_literal) ))))) ;) (if_statement "if (sVar9 != 0) {\n                  pcVar1 = __s + sVar9;\n                  iVar11 = iVar7;\n                  do {\n                    cVar2 = *__s;\n                    if (iVar11 == 0xff) {\n                      *(undefined1 *)(iVar6 + 0xff) = 0;\n                      (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                      *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                      iVar7 = 1;\n                      iVar11 = 0;\n                    }\n                    else {\n                      iVar7 = iVar11 + 1;\n                    }\n                    __s = __s + 1;\n                    *(int *)(iVar6 + 0x100) = iVar7;\n                    *(char *)(iVar6 + iVar11) = cVar2;\n                    *(char *)(iVar6 + 0x104) = cVar2;\n                    iVar11 = iVar7;\n                  } while (pcVar1 != __s);\n                }" if (parenthesized_expression "(sVar9 != 0)" ( (binary_expression "sVar9 != 0" identifier != number_literal) )) (compound_statement "{\n                  pcVar1 = __s + sVar9;\n                  iVar11 = iVar7;\n                  do {\n                    cVar2 = *__s;\n                    if (iVar11 == 0xff) {\n                      *(undefined1 *)(iVar6 + 0xff) = 0;\n                      (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                      *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                      iVar7 = 1;\n                      iVar11 = 0;\n                    }\n                    else {\n                      iVar7 = iVar11 + 1;\n                    }\n                    __s = __s + 1;\n                    *(int *)(iVar6 + 0x100) = iVar7;\n                    *(char *)(iVar6 + iVar11) = cVar2;\n                    *(char *)(iVar6 + 0x104) = cVar2;\n                    iVar11 = iVar7;\n                  } while (pcVar1 != __s);\n                }" { (expression_statement "pcVar1 = __s + sVar9;" (assignment_expression "pcVar1 = __s + sVar9" identifier = (binary_expression "__s + sVar9" identifier + identifier)) ;) (expression_statement "iVar11 = iVar7;" (assignment_expression "iVar11 = iVar7" identifier = identifier) ;) (do_statement "do {\n                    cVar2 = *__s;\n                    if (iVar11 == 0xff) {\n                      *(undefined1 *)(iVar6 + 0xff) = 0;\n                      (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                      *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                      iVar7 = 1;\n                      iVar11 = 0;\n                    }\n                    else {\n                      iVar7 = iVar11 + 1;\n                    }\n                    __s = __s + 1;\n                    *(int *)(iVar6 + 0x100) = iVar7;\n                    *(char *)(iVar6 + iVar11) = cVar2;\n                    *(char *)(iVar6 + 0x104) = cVar2;\n                    iVar11 = iVar7;\n                  } while (pcVar1 != __s);" do (compound_statement "{\n                    cVar2 = *__s;\n                    if (iVar11 == 0xff) {\n                      *(undefined1 *)(iVar6 + 0xff) = 0;\n                      (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                      *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                      iVar7 = 1;\n                      iVar11 = 0;\n                    }\n                    else {\n                      iVar7 = iVar11 + 1;\n                    }\n                    __s = __s + 1;\n                    *(int *)(iVar6 + 0x100) = iVar7;\n                    *(char *)(iVar6 + iVar11) = cVar2;\n                    *(char *)(iVar6 + 0x104) = cVar2;\n                    iVar11 = iVar7;\n                  }" { (expression_statement "cVar2 = *__s;" (assignment_expression "cVar2 = *__s" identifier = (pointer_expression "*__s" * identifier)) ;) (if_statement "if (iVar11 == 0xff) {\n                      *(undefined1 *)(iVar6 + 0xff) = 0;\n                      (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                      *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                      iVar7 = 1;\n                      iVar11 = 0;\n                    }\n                    else {\n                      iVar7 = iVar11 + 1;\n                    }" if (parenthesized_expression "(iVar11 == 0xff)" ( (binary_expression "iVar11 == 0xff" identifier == number_literal) )) (compound_statement "{\n                      *(undefined1 *)(iVar6 + 0xff) = 0;\n                      (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                      *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                      iVar7 = 1;\n                      iVar11 = 0;\n                    }" { (expression_statement "*(undefined1 *)(iVar6 + 0xff) = 0;" (assignment_expression "*(undefined1 *)(iVar6 + 0xff) = 0" (pointer_expression "*(undefined1 *)(iVar6 + 0xff)" * (cast_expression "(undefined1 *)(iVar6 + 0xff)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0xff)" ( (binary_expression "iVar6 + 0xff" identifier + number_literal) )))) = number_literal) ;) (expression_statement "(**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));" (call_expression "(**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c))" (parenthesized_expression "(**(code **)(iVar6 + 0x108))" ( (pointer_expression "**(code **)(iVar6 + 0x108)" * (pointer_expression "*(code **)(iVar6 + 0x108)" * (cast_expression "(code **)(iVar6 + 0x108)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar6 + 0x108)" ( (binary_expression "iVar6 + 0x108" identifier + number_literal) ))))) )) (argument_list "(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c))" ( identifier , number_literal , (pointer_expression "*(undefined4 *)(iVar6 + 0x10c)" * (cast_expression "(undefined4 *)(iVar6 + 0x10c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x10c)" ( (binary_expression "iVar6 + 0x10c" identifier + number_literal) )))) ))) ;) (expression_statement "*(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;" (assignment_expression "*(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1" (pointer_expression "*(int *)(iVar6 + 0x128)" * (cast_expression "(int *)(iVar6 + 0x128)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x128)" ( (binary_expression "iVar6 + 0x128" identifier + number_literal) )))) = (binary_expression "*(int *)(iVar6 + 0x128) + 1" (pointer_expression "*(int *)(iVar6 + 0x128)" * (cast_expression "(int *)(iVar6 + 0x128)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x128)" ( (binary_expression "iVar6 + 0x128" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "iVar7 = 1;" (assignment_expression "iVar7 = 1" identifier = number_literal) ;) (expression_statement "iVar11 = 0;" (assignment_expression "iVar11 = 0" identifier = number_literal) ;) }) (else_clause "else {\n                      iVar7 = iVar11 + 1;\n                    }" else (compound_statement "{\n                      iVar7 = iVar11 + 1;\n                    }" { (expression_statement "iVar7 = iVar11 + 1;" (assignment_expression "iVar7 = iVar11 + 1" identifier = (binary_expression "iVar11 + 1" identifier + number_literal)) ;) }))) (expression_statement "__s = __s + 1;" (assignment_expression "__s = __s + 1" identifier = (binary_expression "__s + 1" identifier + number_literal)) ;) (expression_statement "*(int *)(iVar6 + 0x100) = iVar7;" (assignment_expression "*(int *)(iVar6 + 0x100) = iVar7" (pointer_expression "*(int *)(iVar6 + 0x100)" * (cast_expression "(int *)(iVar6 + 0x100)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x100)" ( (binary_expression "iVar6 + 0x100" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(char *)(iVar6 + iVar11) = cVar2;" (assignment_expression "*(char *)(iVar6 + iVar11) = cVar2" (pointer_expression "*(char *)(iVar6 + iVar11)" * (cast_expression "(char *)(iVar6 + iVar11)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + iVar11)" ( (binary_expression "iVar6 + iVar11" identifier + identifier) )))) = identifier) ;) (expression_statement "*(char *)(iVar6 + 0x104) = cVar2;" (assignment_expression "*(char *)(iVar6 + 0x104) = cVar2" (pointer_expression "*(char *)(iVar6 + 0x104)" * (cast_expression "(char *)(iVar6 + 0x104)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x104)" ( (binary_expression "iVar6 + 0x104" identifier + number_literal) )))) = identifier) ;) (expression_statement "iVar11 = iVar7;" (assignment_expression "iVar11 = iVar7" identifier = identifier) ;) }) while (parenthesized_expression "(pcVar1 != __s)" ( (binary_expression "pcVar1 != __s" identifier != identifier) )) ;) })) (expression_statement "puVar14 = (undefined1 *)(unaff_EDI + 0x264d1);" (assignment_expression "puVar14 = (undefined1 *)(unaff_EDI + 0x264d1)" identifier = (cast_expression "(undefined1 *)(unaff_EDI + 0x264d1)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EDI + 0x264d1)" ( (binary_expression "unaff_EDI + 0x264d1" identifier + number_literal) )))) ;) (expression_statement "uVar12 = 0x7d;" (assignment_expression "uVar12 = 0x7d" identifier = number_literal) ;) (do_statement "do {\n                  if (iVar7 == 0xff) {\n                    *(undefined1 *)(iVar6 + 0xff) = 0;\n                    (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                    *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                    iVar11 = 1;\n                    iVar7 = 0;\n                  }\n                  else {\n                    iVar11 = iVar7 + 1;\n                  }\n                  puVar14 = puVar14 + 1;\n                  *(int *)(iVar6 + 0x100) = iVar11;\n                  *(undefined1 *)(iVar6 + iVar7) = uVar12;\n                  *(undefined1 *)(iVar6 + 0x104) = uVar12;\n                  if ((undefined1 *)(unaff_EDI + 0x264d4) == puVar14) goto LAB_002127e9;\n                  uVar12 = *puVar14;\n                  iVar7 = iVar11;\n                } while( true );" do (compound_statement "{\n                  if (iVar7 == 0xff) {\n                    *(undefined1 *)(iVar6 + 0xff) = 0;\n                    (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                    *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                    iVar11 = 1;\n                    iVar7 = 0;\n                  }\n                  else {\n                    iVar11 = iVar7 + 1;\n                  }\n                  puVar14 = puVar14 + 1;\n                  *(int *)(iVar6 + 0x100) = iVar11;\n                  *(undefined1 *)(iVar6 + iVar7) = uVar12;\n                  *(undefined1 *)(iVar6 + 0x104) = uVar12;\n                  if ((undefined1 *)(unaff_EDI + 0x264d4) == puVar14) goto LAB_002127e9;\n                  uVar12 = *puVar14;\n                  iVar7 = iVar11;\n                }" { (if_statement "if (iVar7 == 0xff) {\n                    *(undefined1 *)(iVar6 + 0xff) = 0;\n                    (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                    *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                    iVar11 = 1;\n                    iVar7 = 0;\n                  }\n                  else {\n                    iVar11 = iVar7 + 1;\n                  }" if (parenthesized_expression "(iVar7 == 0xff)" ( (binary_expression "iVar7 == 0xff" identifier == number_literal) )) (compound_statement "{\n                    *(undefined1 *)(iVar6 + 0xff) = 0;\n                    (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                    *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                    iVar11 = 1;\n                    iVar7 = 0;\n                  }" { (expression_statement "*(undefined1 *)(iVar6 + 0xff) = 0;" (assignment_expression "*(undefined1 *)(iVar6 + 0xff) = 0" (pointer_expression "*(undefined1 *)(iVar6 + 0xff)" * (cast_expression "(undefined1 *)(iVar6 + 0xff)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0xff)" ( (binary_expression "iVar6 + 0xff" identifier + number_literal) )))) = number_literal) ;) (expression_statement "(**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));" (call_expression "(**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c))" (parenthesized_expression "(**(code **)(iVar6 + 0x108))" ( (pointer_expression "**(code **)(iVar6 + 0x108)" * (pointer_expression "*(code **)(iVar6 + 0x108)" * (cast_expression "(code **)(iVar6 + 0x108)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar6 + 0x108)" ( (binary_expression "iVar6 + 0x108" identifier + number_literal) ))))) )) (argument_list "(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c))" ( identifier , number_literal , (pointer_expression "*(undefined4 *)(iVar6 + 0x10c)" * (cast_expression "(undefined4 *)(iVar6 + 0x10c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x10c)" ( (binary_expression "iVar6 + 0x10c" identifier + number_literal) )))) ))) ;) (expression_statement "*(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;" (assignment_expression "*(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1" (pointer_expression "*(int *)(iVar6 + 0x128)" * (cast_expression "(int *)(iVar6 + 0x128)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x128)" ( (binary_expression "iVar6 + 0x128" identifier + number_literal) )))) = (binary_expression "*(int *)(iVar6 + 0x128) + 1" (pointer_expression "*(int *)(iVar6 + 0x128)" * (cast_expression "(int *)(iVar6 + 0x128)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x128)" ( (binary_expression "iVar6 + 0x128" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "iVar11 = 1;" (assignment_expression "iVar11 = 1" identifier = number_literal) ;) (expression_statement "iVar7 = 0;" (assignment_expression "iVar7 = 0" identifier = number_literal) ;) }) (else_clause "else {\n                    iVar11 = iVar7 + 1;\n                  }" else (compound_statement "{\n                    iVar11 = iVar7 + 1;\n                  }" { (expression_statement "iVar11 = iVar7 + 1;" (assignment_expression "iVar11 = iVar7 + 1" identifier = (binary_expression "iVar7 + 1" identifier + number_literal)) ;) }))) (expression_statement "puVar14 = puVar14 + 1;" (assignment_expression "puVar14 = puVar14 + 1" identifier = (binary_expression "puVar14 + 1" identifier + number_literal)) ;) (expression_statement "*(int *)(iVar6 + 0x100) = iVar11;" (assignment_expression "*(int *)(iVar6 + 0x100) = iVar11" (pointer_expression "*(int *)(iVar6 + 0x100)" * (cast_expression "(int *)(iVar6 + 0x100)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x100)" ( (binary_expression "iVar6 + 0x100" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined1 *)(iVar6 + iVar7) = uVar12;" (assignment_expression "*(undefined1 *)(iVar6 + iVar7) = uVar12" (pointer_expression "*(undefined1 *)(iVar6 + iVar7)" * (cast_expression "(undefined1 *)(iVar6 + iVar7)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + iVar7)" ( (binary_expression "iVar6 + iVar7" identifier + identifier) )))) = identifier) ;) (expression_statement "*(undefined1 *)(iVar6 + 0x104) = uVar12;" (assignment_expression "*(undefined1 *)(iVar6 + 0x104) = uVar12" (pointer_expression "*(undefined1 *)(iVar6 + 0x104)" * (cast_expression "(undefined1 *)(iVar6 + 0x104)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x104)" ( (binary_expression "iVar6 + 0x104" identifier + number_literal) )))) = identifier) ;) (if_statement "if ((undefined1 *)(unaff_EDI + 0x264d4) == puVar14) goto LAB_002127e9;" if (parenthesized_expression "((undefined1 *)(unaff_EDI + 0x264d4) == puVar14)" ( (binary_expression "(undefined1 *)(unaff_EDI + 0x264d4) == puVar14" (cast_expression "(undefined1 *)(unaff_EDI + 0x264d4)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EDI + 0x264d4)" ( (binary_expression "unaff_EDI + 0x264d4" identifier + number_literal) ))) == identifier) )) (goto_statement "goto LAB_002127e9;" goto statement_identifier ;)) (expression_statement "uVar12 = *puVar14;" (assignment_expression "uVar12 = *puVar14" identifier = (pointer_expression "*puVar14" * identifier)) ;) (expression_statement "iVar7 = iVar11;" (assignment_expression "iVar7 = iVar11" identifier = identifier) ;) }) while (parenthesized_expression "( true )" ( true )) ;) })) (do_statement "do {\n                if (uVar8 != 0x4c) {\n                  if (uVar8 < 0x4d) {\n                    if (4 < uVar8 - 0x1c) {\nLAB_0021277d:\n                      d_print_comp();\n                      *(undefined4 *)(iVar6 + 0x110) = uVar3;\n                      return;\n                    }\n                  }\n                  else if (1 < uVar8 - 0x4e) goto LAB_0021277d;\n                }\nLAB_002127e9:\n                local_44 = (uint *)local_44[2];\n                uVar8 = *local_44;\n              } while( true );" do (compound_statement "{\n                if (uVar8 != 0x4c) {\n                  if (uVar8 < 0x4d) {\n                    if (4 < uVar8 - 0x1c) {\nLAB_0021277d:\n                      d_print_comp();\n                      *(undefined4 *)(iVar6 + 0x110) = uVar3;\n                      return;\n                    }\n                  }\n                  else if (1 < uVar8 - 0x4e) goto LAB_0021277d;\n                }\nLAB_002127e9:\n                local_44 = (uint *)local_44[2];\n                uVar8 = *local_44;\n              }" { (if_statement "if (uVar8 != 0x4c) {\n                  if (uVar8 < 0x4d) {\n                    if (4 < uVar8 - 0x1c) {\nLAB_0021277d:\n                      d_print_comp();\n                      *(undefined4 *)(iVar6 + 0x110) = uVar3;\n                      return;\n                    }\n                  }\n                  else if (1 < uVar8 - 0x4e) goto LAB_0021277d;\n                }" if (parenthesized_expression "(uVar8 != 0x4c)" ( (binary_expression "uVar8 != 0x4c" identifier != number_literal) )) (compound_statement "{\n                  if (uVar8 < 0x4d) {\n                    if (4 < uVar8 - 0x1c) {\nLAB_0021277d:\n                      d_print_comp();\n                      *(undefined4 *)(iVar6 + 0x110) = uVar3;\n                      return;\n                    }\n                  }\n                  else if (1 < uVar8 - 0x4e) goto LAB_0021277d;\n                }" { (if_statement "if (uVar8 < 0x4d) {\n                    if (4 < uVar8 - 0x1c) {\nLAB_0021277d:\n                      d_print_comp();\n                      *(undefined4 *)(iVar6 + 0x110) = uVar3;\n                      return;\n                    }\n                  }\n                  else if (1 < uVar8 - 0x4e) goto LAB_0021277d;" if (parenthesized_expression "(uVar8 < 0x4d)" ( (binary_expression "uVar8 < 0x4d" identifier < number_literal) )) (compound_statement "{\n                    if (4 < uVar8 - 0x1c) {\nLAB_0021277d:\n                      d_print_comp();\n                      *(undefined4 *)(iVar6 + 0x110) = uVar3;\n                      return;\n                    }\n                  }" { (if_statement "if (4 < uVar8 - 0x1c) {\nLAB_0021277d:\n                      d_print_comp();\n                      *(undefined4 *)(iVar6 + 0x110) = uVar3;\n                      return;\n                    }" if (parenthesized_expression "(4 < uVar8 - 0x1c)" ( (binary_expression "4 < uVar8 - 0x1c" number_literal < (binary_expression "uVar8 - 0x1c" identifier - number_literal)) )) (compound_statement "{\nLAB_0021277d:\n                      d_print_comp();\n                      *(undefined4 *)(iVar6 + 0x110) = uVar3;\n                      return;\n                    }" { (labeled_statement "LAB_0021277d:\n                      d_print_comp();" statement_identifier : (expression_statement "d_print_comp();" (call_expression "d_print_comp()" identifier (argument_list "()" ( ))) ;)) (expression_statement "*(undefined4 *)(iVar6 + 0x110) = uVar3;" (assignment_expression "*(undefined4 *)(iVar6 + 0x110) = uVar3" (pointer_expression "*(undefined4 *)(iVar6 + 0x110)" * (cast_expression "(undefined4 *)(iVar6 + 0x110)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x110)" ( (binary_expression "iVar6 + 0x110" identifier + number_literal) )))) = identifier) ;) (return_statement "return;" return ;) })) }) (else_clause "else if (1 < uVar8 - 0x4e) goto LAB_0021277d;" else (if_statement "if (1 < uVar8 - 0x4e) goto LAB_0021277d;" if (parenthesized_expression "(1 < uVar8 - 0x4e)" ( (binary_expression "1 < uVar8 - 0x4e" number_literal < (binary_expression "uVar8 - 0x4e" identifier - number_literal)) )) (goto_statement "goto LAB_0021277d;" goto statement_identifier ;)))) })) (labeled_statement "LAB_002127e9:\n                local_44 = (uint *)local_44[2];" statement_identifier : (expression_statement "local_44 = (uint *)local_44[2];" (assignment_expression "local_44 = (uint *)local_44[2]" identifier = (cast_expression "(uint *)local_44[2]" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "local_44[2]" identifier [ number_literal ]))) ;)) (expression_statement "uVar8 = *local_44;" (assignment_expression "uVar8 = *local_44" identifier = (pointer_expression "*local_44" * identifier)) ;) }) while (parenthesized_expression "( true )" ( true )) ;) })) (expression_statement "d_print_mod();" (call_expression "d_print_mod()" identifier (argument_list "()" ( ))) ;) (expression_statement "*(undefined4 *)(iVar6 + 0x110) = uVar3;" (assignment_expression "*(undefined4 *)(iVar6 + 0x110) = uVar3" (pointer_expression "*(undefined4 *)(iVar6 + 0x110)" * (cast_expression "(undefined4 *)(iVar6 + 0x110)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x110)" ( (binary_expression "iVar6 + 0x110" identifier + number_literal) )))) = identifier) ;) })))) })) })) (expression_statement "piVar4 = (int *)*piVar4;" (assignment_expression "piVar4 = (int *)*piVar4" identifier = (cast_expression "(int *)*piVar4" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar4" * identifier))) ;) (if_statement "if (piVar4 == (int *)0x0) {\n        return;\n      }" if (parenthesized_expression "(piVar4 == (int *)0x0)" ( (binary_expression "piVar4 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        return;\n      }" { (return_statement "return;" return ;) })) (expression_statement "iVar7 = *(int *)(iVar6 + 0x118);" (assignment_expression "iVar7 = *(int *)(iVar6 + 0x118)" identifier = (pointer_expression "*(int *)(iVar6 + 0x118)" * (cast_expression "(int *)(iVar6 + 0x118)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x118)" ( (binary_expression "iVar6 + 0x118" identifier + number_literal) ))))) ;) })) })) (return_statement "return;" return ;) })))
(translation_unit "void FUN_00212620(int param_1)\n\n{\n  char *pcVar1;\n  char cVar2;\n  undefined4 uVar3;\n  int *piVar4;\n  undefined4 uVar5;\n  int iVar6;\n  int iVar7;\n  uint uVar8;\n  size_t sVar9;\n  int *extraout_ECX;\n  code cVar10;\n  int iVar11;\n  undefined1 uVar12;\n  code *pcVar13;\n  undefined1 *puVar14;\n  char *__s;\n  int unaff_EDI;\n  ulonglong uVar15;\n  uint *local_44;\n  char local_35 [37];\n  \n  uVar15 = FUN_0004fb7e();\n  iVar6 = (int)uVar15;\n  if (extraout_ECX != (int *)0x0) {\n    iVar7 = *(int *)(iVar6 + 0x118);\n    piVar4 = extraout_ECX;\n    while (iVar7 == 0) {\n      if (piVar4[2] == 0) {\n        uVar8 = *(uint *)piVar4[1];\n        if (param_1 != 0) goto LAB_00212668;\n        if (uVar8 != 0x4c) {\n          if (uVar8 < 0x4d) {\n            if (4 < uVar8 - 0x1c) goto LAB_00212668;\n          }\n          else if (1 < uVar8 - 0x4e) {\nLAB_00212668:\n            uVar3 = *(undefined4 *)(iVar6 + 0x110);\n            piVar4[2] = 1;\n            *(int *)(iVar6 + 0x110) = piVar4[3];\n            if (uVar8 == 0x29) {\n              FUN_00212300(*piVar4);\n              *(undefined4 *)(iVar6 + 0x110) = uVar3;\n              return;\n            }\n            if (uVar8 == 0x2a) {\n              FUN_00212a20(*piVar4);\n              *(undefined4 *)(iVar6 + 0x110) = uVar3;\n              return;\n            }\n            if (uVar8 == 2) {\n              uVar5 = *(undefined4 *)(iVar6 + 0x114);\n              *(undefined4 *)(iVar6 + 0x114) = 0;\n              FUN_0020ca20();\n              *(undefined4 *)(iVar6 + 0x114) = uVar5;\n              iVar7 = *(int *)(iVar6 + 0x100);\n              if ((uVar15 & 0x400000000) == 0) {\n                puVar14 = (undefined1 *)(unaff_EDI + 0x264d2);\n                uVar12 = 0x3a;\n                while( true ) {\n                  if (iVar7 == 0xff) {\n                    *(undefined1 *)(iVar6 + 0xff) = 0;\n                    (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                    *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                    iVar11 = 1;\n                    iVar7 = 0;\n                  }\n                  else {\n                    iVar11 = iVar7 + 1;\n                  }\n                  puVar14 = puVar14 + 1;\n                  *(int *)(iVar6 + 0x100) = iVar11;\n                  *(undefined1 *)(iVar6 + iVar7) = uVar12;\n                  *(undefined1 *)(iVar6 + 0x104) = uVar12;\n                  if (puVar14 == (undefined1 *)(unaff_EDI + 0x264d4)) break;\n                  uVar12 = *puVar14;\n                  iVar7 = iVar11;\n                }\n              }\n              else {\n                iVar11 = iVar7 + 1;\n                if (iVar7 == 0xff) {\n                  *(undefined1 *)(iVar6 + 0xff) = 0;\n                  (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                  *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                  iVar11 = 1;\n                  iVar7 = 0;\n                }\n                *(int *)(iVar6 + 0x100) = iVar11;\n                *(undefined1 *)(iVar6 + iVar7) = 0x2e;\n                *(undefined1 *)(iVar6 + 0x104) = 0x2e;\n              }\n              local_44 = *(uint **)(piVar4[1] + 0xc);\n              uVar8 = *local_44;\n              if (uVar8 == 0x46) {\n                cVar10 = (code)0x7b;\n                pcVar13 = ioctl + unaff_EDI + 4;\n                iVar7 = *(int *)(iVar6 + 0x100);\n                while( true ) {\n                  if (iVar7 == 0xff) {\n                    *(undefined1 *)(iVar6 + 0xff) = 0;\n                    (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                    *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                    iVar11 = 1;\n                    iVar7 = 0;\n                  }\n                  else {\n                    iVar11 = iVar7 + 1;\n                  }\n                  *(int *)(iVar6 + 0x100) = iVar11;\n                  *(code *)(iVar6 + iVar7) = cVar10;\n                  *(code *)(iVar6 + 0x104) = cVar10;\n                  if (pcVar13 == wcrtomb + unaff_EDI) break;\n                  cVar10 = *pcVar13;\n                  pcVar13 = pcVar13 + 1;\n                  iVar7 = iVar11;\n                }\n                __s = local_35;\n                sprintf(__s,(char *)((int)&__DT_REL[0x263a].r_offset + unaff_EDI + 2),\n                        local_44[3] + 1);\n                sVar9 = strlen(__s);\n                iVar7 = *(int *)(iVar6 + 0x100);\n                if (sVar9 != 0) {\n                  pcVar1 = __s + sVar9;\n                  iVar11 = iVar7;\n                  do {\n                    cVar2 = *__s;\n                    if (iVar11 == 0xff) {\n                      *(undefined1 *)(iVar6 + 0xff) = 0;\n                      (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                      *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                      iVar7 = 1;\n                      iVar11 = 0;\n                    }\n                    else {\n                      iVar7 = iVar11 + 1;\n                    }\n                    __s = __s + 1;\n                    *(int *)(iVar6 + 0x100) = iVar7;\n                    *(char *)(iVar6 + iVar11) = cVar2;\n                    *(char *)(iVar6 + 0x104) = cVar2;\n                    iVar11 = iVar7;\n                  } while (pcVar1 != __s);\n                }\n                puVar14 = (undefined1 *)(unaff_EDI + 0x264d1);\n                uVar12 = 0x7d;\n                do {\n                  if (iVar7 == 0xff) {\n                    *(undefined1 *)(iVar6 + 0xff) = 0;\n                    (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                    *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                    iVar11 = 1;\n                    iVar7 = 0;\n                  }\n                  else {\n                    iVar11 = iVar7 + 1;\n                  }\n                  puVar14 = puVar14 + 1;\n                  *(int *)(iVar6 + 0x100) = iVar11;\n                  *(undefined1 *)(iVar6 + iVar7) = uVar12;\n                  *(undefined1 *)(iVar6 + 0x104) = uVar12;\n                  if ((undefined1 *)(unaff_EDI + 0x264d4) == puVar14) goto LAB_002127e9;\n                  uVar12 = *puVar14;\n                  iVar7 = iVar11;\n                } while( true );\n              }\n              do {\n                if (uVar8 != 0x4c) {\n                  if (uVar8 < 0x4d) {\n                    if (4 < uVar8 - 0x1c) {\nLAB_0021277d:\n                      FUN_0020ca20();\n                      *(undefined4 *)(iVar6 + 0x110) = uVar3;\n                      return;\n                    }\n                  }\n                  else if (1 < uVar8 - 0x4e) goto LAB_0021277d;\n                }\nLAB_002127e9:\n                local_44 = (uint *)local_44[2];\n                uVar8 = *local_44;\n              } while( true );\n            }\n            FUN_00211980();\n            *(undefined4 *)(iVar6 + 0x110) = uVar3;\n          }\n        }\n      }\n      piVar4 = (int *)*piVar4;\n      if (piVar4 == (int *)0x0) {\n        return;\n      }\n      iVar7 = *(int *)(iVar6 + 0x118);\n    }\n  }\n  return;\n}\n\n" (function_definition "void FUN_00212620(int param_1)\n\n{\n  char *pcVar1;\n  char cVar2;\n  undefined4 uVar3;\n  int *piVar4;\n  undefined4 uVar5;\n  int iVar6;\n  int iVar7;\n  uint uVar8;\n  size_t sVar9;\n  int *extraout_ECX;\n  code cVar10;\n  int iVar11;\n  undefined1 uVar12;\n  code *pcVar13;\n  undefined1 *puVar14;\n  char *__s;\n  int unaff_EDI;\n  ulonglong uVar15;\n  uint *local_44;\n  char local_35 [37];\n  \n  uVar15 = FUN_0004fb7e();\n  iVar6 = (int)uVar15;\n  if (extraout_ECX != (int *)0x0) {\n    iVar7 = *(int *)(iVar6 + 0x118);\n    piVar4 = extraout_ECX;\n    while (iVar7 == 0) {\n      if (piVar4[2] == 0) {\n        uVar8 = *(uint *)piVar4[1];\n        if (param_1 != 0) goto LAB_00212668;\n        if (uVar8 != 0x4c) {\n          if (uVar8 < 0x4d) {\n            if (4 < uVar8 - 0x1c) goto LAB_00212668;\n          }\n          else if (1 < uVar8 - 0x4e) {\nLAB_00212668:\n            uVar3 = *(undefined4 *)(iVar6 + 0x110);\n            piVar4[2] = 1;\n            *(int *)(iVar6 + 0x110) = piVar4[3];\n            if (uVar8 == 0x29) {\n              FUN_00212300(*piVar4);\n              *(undefined4 *)(iVar6 + 0x110) = uVar3;\n              return;\n            }\n            if (uVar8 == 0x2a) {\n              FUN_00212a20(*piVar4);\n              *(undefined4 *)(iVar6 + 0x110) = uVar3;\n              return;\n            }\n            if (uVar8 == 2) {\n              uVar5 = *(undefined4 *)(iVar6 + 0x114);\n              *(undefined4 *)(iVar6 + 0x114) = 0;\n              FUN_0020ca20();\n              *(undefined4 *)(iVar6 + 0x114) = uVar5;\n              iVar7 = *(int *)(iVar6 + 0x100);\n              if ((uVar15 & 0x400000000) == 0) {\n                puVar14 = (undefined1 *)(unaff_EDI + 0x264d2);\n                uVar12 = 0x3a;\n                while( true ) {\n                  if (iVar7 == 0xff) {\n                    *(undefined1 *)(iVar6 + 0xff) = 0;\n                    (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                    *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                    iVar11 = 1;\n                    iVar7 = 0;\n                  }\n                  else {\n                    iVar11 = iVar7 + 1;\n                  }\n                  puVar14 = puVar14 + 1;\n                  *(int *)(iVar6 + 0x100) = iVar11;\n                  *(undefined1 *)(iVar6 + iVar7) = uVar12;\n                  *(undefined1 *)(iVar6 + 0x104) = uVar12;\n                  if (puVar14 == (undefined1 *)(unaff_EDI + 0x264d4)) break;\n                  uVar12 = *puVar14;\n                  iVar7 = iVar11;\n                }\n              }\n              else {\n                iVar11 = iVar7 + 1;\n                if (iVar7 == 0xff) {\n                  *(undefined1 *)(iVar6 + 0xff) = 0;\n                  (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                  *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                  iVar11 = 1;\n                  iVar7 = 0;\n                }\n                *(int *)(iVar6 + 0x100) = iVar11;\n                *(undefined1 *)(iVar6 + iVar7) = 0x2e;\n                *(undefined1 *)(iVar6 + 0x104) = 0x2e;\n              }\n              local_44 = *(uint **)(piVar4[1] + 0xc);\n              uVar8 = *local_44;\n              if (uVar8 == 0x46) {\n                cVar10 = (code)0x7b;\n                pcVar13 = ioctl + unaff_EDI + 4;\n                iVar7 = *(int *)(iVar6 + 0x100);\n                while( true ) {\n                  if (iVar7 == 0xff) {\n                    *(undefined1 *)(iVar6 + 0xff) = 0;\n                    (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                    *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                    iVar11 = 1;\n                    iVar7 = 0;\n                  }\n                  else {\n                    iVar11 = iVar7 + 1;\n                  }\n                  *(int *)(iVar6 + 0x100) = iVar11;\n                  *(code *)(iVar6 + iVar7) = cVar10;\n                  *(code *)(iVar6 + 0x104) = cVar10;\n                  if (pcVar13 == wcrtomb + unaff_EDI) break;\n                  cVar10 = *pcVar13;\n                  pcVar13 = pcVar13 + 1;\n                  iVar7 = iVar11;\n                }\n                __s = local_35;\n                sprintf(__s,(char *)((int)&__DT_REL[0x263a].r_offset + unaff_EDI + 2),\n                        local_44[3] + 1);\n                sVar9 = strlen(__s);\n                iVar7 = *(int *)(iVar6 + 0x100);\n                if (sVar9 != 0) {\n                  pcVar1 = __s + sVar9;\n                  iVar11 = iVar7;\n                  do {\n                    cVar2 = *__s;\n                    if (iVar11 == 0xff) {\n                      *(undefined1 *)(iVar6 + 0xff) = 0;\n                      (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                      *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                      iVar7 = 1;\n                      iVar11 = 0;\n                    }\n                    else {\n                      iVar7 = iVar11 + 1;\n                    }\n                    __s = __s + 1;\n                    *(int *)(iVar6 + 0x100) = iVar7;\n                    *(char *)(iVar6 + iVar11) = cVar2;\n                    *(char *)(iVar6 + 0x104) = cVar2;\n                    iVar11 = iVar7;\n                  } while (pcVar1 != __s);\n                }\n                puVar14 = (undefined1 *)(unaff_EDI + 0x264d1);\n                uVar12 = 0x7d;\n                do {\n                  if (iVar7 == 0xff) {\n                    *(undefined1 *)(iVar6 + 0xff) = 0;\n                    (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                    *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                    iVar11 = 1;\n                    iVar7 = 0;\n                  }\n                  else {\n                    iVar11 = iVar7 + 1;\n                  }\n                  puVar14 = puVar14 + 1;\n                  *(int *)(iVar6 + 0x100) = iVar11;\n                  *(undefined1 *)(iVar6 + iVar7) = uVar12;\n                  *(undefined1 *)(iVar6 + 0x104) = uVar12;\n                  if ((undefined1 *)(unaff_EDI + 0x264d4) == puVar14) goto LAB_002127e9;\n                  uVar12 = *puVar14;\n                  iVar7 = iVar11;\n                } while( true );\n              }\n              do {\n                if (uVar8 != 0x4c) {\n                  if (uVar8 < 0x4d) {\n                    if (4 < uVar8 - 0x1c) {\nLAB_0021277d:\n                      FUN_0020ca20();\n                      *(undefined4 *)(iVar6 + 0x110) = uVar3;\n                      return;\n                    }\n                  }\n                  else if (1 < uVar8 - 0x4e) goto LAB_0021277d;\n                }\nLAB_002127e9:\n                local_44 = (uint *)local_44[2];\n                uVar8 = *local_44;\n              } while( true );\n            }\n            FUN_00211980();\n            *(undefined4 *)(iVar6 + 0x110) = uVar3;\n          }\n        }\n      }\n      piVar4 = (int *)*piVar4;\n      if (piVar4 == (int *)0x0) {\n        return;\n      }\n      iVar7 = *(int *)(iVar6 + 0x118);\n    }\n  }\n  return;\n}" primitive_type (function_declarator "FUN_00212620(int param_1)" identifier (parameter_list "(int param_1)" ( (parameter_declaration "int param_1" primitive_type identifier) ))) (compound_statement "{\n  char *pcVar1;\n  char cVar2;\n  undefined4 uVar3;\n  int *piVar4;\n  undefined4 uVar5;\n  int iVar6;\n  int iVar7;\n  uint uVar8;\n  size_t sVar9;\n  int *extraout_ECX;\n  code cVar10;\n  int iVar11;\n  undefined1 uVar12;\n  code *pcVar13;\n  undefined1 *puVar14;\n  char *__s;\n  int unaff_EDI;\n  ulonglong uVar15;\n  uint *local_44;\n  char local_35 [37];\n  \n  uVar15 = FUN_0004fb7e();\n  iVar6 = (int)uVar15;\n  if (extraout_ECX != (int *)0x0) {\n    iVar7 = *(int *)(iVar6 + 0x118);\n    piVar4 = extraout_ECX;\n    while (iVar7 == 0) {\n      if (piVar4[2] == 0) {\n        uVar8 = *(uint *)piVar4[1];\n        if (param_1 != 0) goto LAB_00212668;\n        if (uVar8 != 0x4c) {\n          if (uVar8 < 0x4d) {\n            if (4 < uVar8 - 0x1c) goto LAB_00212668;\n          }\n          else if (1 < uVar8 - 0x4e) {\nLAB_00212668:\n            uVar3 = *(undefined4 *)(iVar6 + 0x110);\n            piVar4[2] = 1;\n            *(int *)(iVar6 + 0x110) = piVar4[3];\n            if (uVar8 == 0x29) {\n              FUN_00212300(*piVar4);\n              *(undefined4 *)(iVar6 + 0x110) = uVar3;\n              return;\n            }\n            if (uVar8 == 0x2a) {\n              FUN_00212a20(*piVar4);\n              *(undefined4 *)(iVar6 + 0x110) = uVar3;\n              return;\n            }\n            if (uVar8 == 2) {\n              uVar5 = *(undefined4 *)(iVar6 + 0x114);\n              *(undefined4 *)(iVar6 + 0x114) = 0;\n              FUN_0020ca20();\n              *(undefined4 *)(iVar6 + 0x114) = uVar5;\n              iVar7 = *(int *)(iVar6 + 0x100);\n              if ((uVar15 & 0x400000000) == 0) {\n                puVar14 = (undefined1 *)(unaff_EDI + 0x264d2);\n                uVar12 = 0x3a;\n                while( true ) {\n                  if (iVar7 == 0xff) {\n                    *(undefined1 *)(iVar6 + 0xff) = 0;\n                    (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                    *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                    iVar11 = 1;\n                    iVar7 = 0;\n                  }\n                  else {\n                    iVar11 = iVar7 + 1;\n                  }\n                  puVar14 = puVar14 + 1;\n                  *(int *)(iVar6 + 0x100) = iVar11;\n                  *(undefined1 *)(iVar6 + iVar7) = uVar12;\n                  *(undefined1 *)(iVar6 + 0x104) = uVar12;\n                  if (puVar14 == (undefined1 *)(unaff_EDI + 0x264d4)) break;\n                  uVar12 = *puVar14;\n                  iVar7 = iVar11;\n                }\n              }\n              else {\n                iVar11 = iVar7 + 1;\n                if (iVar7 == 0xff) {\n                  *(undefined1 *)(iVar6 + 0xff) = 0;\n                  (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                  *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                  iVar11 = 1;\n                  iVar7 = 0;\n                }\n                *(int *)(iVar6 + 0x100) = iVar11;\n                *(undefined1 *)(iVar6 + iVar7) = 0x2e;\n                *(undefined1 *)(iVar6 + 0x104) = 0x2e;\n              }\n              local_44 = *(uint **)(piVar4[1] + 0xc);\n              uVar8 = *local_44;\n              if (uVar8 == 0x46) {\n                cVar10 = (code)0x7b;\n                pcVar13 = ioctl + unaff_EDI + 4;\n                iVar7 = *(int *)(iVar6 + 0x100);\n                while( true ) {\n                  if (iVar7 == 0xff) {\n                    *(undefined1 *)(iVar6 + 0xff) = 0;\n                    (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                    *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                    iVar11 = 1;\n                    iVar7 = 0;\n                  }\n                  else {\n                    iVar11 = iVar7 + 1;\n                  }\n                  *(int *)(iVar6 + 0x100) = iVar11;\n                  *(code *)(iVar6 + iVar7) = cVar10;\n                  *(code *)(iVar6 + 0x104) = cVar10;\n                  if (pcVar13 == wcrtomb + unaff_EDI) break;\n                  cVar10 = *pcVar13;\n                  pcVar13 = pcVar13 + 1;\n                  iVar7 = iVar11;\n                }\n                __s = local_35;\n                sprintf(__s,(char *)((int)&__DT_REL[0x263a].r_offset + unaff_EDI + 2),\n                        local_44[3] + 1);\n                sVar9 = strlen(__s);\n                iVar7 = *(int *)(iVar6 + 0x100);\n                if (sVar9 != 0) {\n                  pcVar1 = __s + sVar9;\n                  iVar11 = iVar7;\n                  do {\n                    cVar2 = *__s;\n                    if (iVar11 == 0xff) {\n                      *(undefined1 *)(iVar6 + 0xff) = 0;\n                      (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                      *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                      iVar7 = 1;\n                      iVar11 = 0;\n                    }\n                    else {\n                      iVar7 = iVar11 + 1;\n                    }\n                    __s = __s + 1;\n                    *(int *)(iVar6 + 0x100) = iVar7;\n                    *(char *)(iVar6 + iVar11) = cVar2;\n                    *(char *)(iVar6 + 0x104) = cVar2;\n                    iVar11 = iVar7;\n                  } while (pcVar1 != __s);\n                }\n                puVar14 = (undefined1 *)(unaff_EDI + 0x264d1);\n                uVar12 = 0x7d;\n                do {\n                  if (iVar7 == 0xff) {\n                    *(undefined1 *)(iVar6 + 0xff) = 0;\n                    (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                    *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                    iVar11 = 1;\n                    iVar7 = 0;\n                  }\n                  else {\n                    iVar11 = iVar7 + 1;\n                  }\n                  puVar14 = puVar14 + 1;\n                  *(int *)(iVar6 + 0x100) = iVar11;\n                  *(undefined1 *)(iVar6 + iVar7) = uVar12;\n                  *(undefined1 *)(iVar6 + 0x104) = uVar12;\n                  if ((undefined1 *)(unaff_EDI + 0x264d4) == puVar14) goto LAB_002127e9;\n                  uVar12 = *puVar14;\n                  iVar7 = iVar11;\n                } while( true );\n              }\n              do {\n                if (uVar8 != 0x4c) {\n                  if (uVar8 < 0x4d) {\n                    if (4 < uVar8 - 0x1c) {\nLAB_0021277d:\n                      FUN_0020ca20();\n                      *(undefined4 *)(iVar6 + 0x110) = uVar3;\n                      return;\n                    }\n                  }\n                  else if (1 < uVar8 - 0x4e) goto LAB_0021277d;\n                }\nLAB_002127e9:\n                local_44 = (uint *)local_44[2];\n                uVar8 = *local_44;\n              } while( true );\n            }\n            FUN_00211980();\n            *(undefined4 *)(iVar6 + 0x110) = uVar3;\n          }\n        }\n      }\n      piVar4 = (int *)*piVar4;\n      if (piVar4 == (int *)0x0) {\n        return;\n      }\n      iVar7 = *(int *)(iVar6 + 0x118);\n    }\n  }\n  return;\n}" { (declaration "char *pcVar1;" primitive_type (pointer_declarator "*pcVar1" * identifier) ;) (declaration "char cVar2;" primitive_type identifier ;) (declaration "undefined4 uVar3;" type_identifier identifier ;) (declaration "int *piVar4;" primitive_type (pointer_declarator "*piVar4" * identifier) ;) (declaration "undefined4 uVar5;" type_identifier identifier ;) (declaration "int iVar6;" primitive_type identifier ;) (declaration "int iVar7;" primitive_type identifier ;) (declaration "uint uVar8;" type_identifier identifier ;) (declaration "size_t sVar9;" primitive_type identifier ;) (declaration "int *extraout_ECX;" primitive_type (pointer_declarator "*extraout_ECX" * identifier) ;) (declaration "code cVar10;" type_identifier identifier ;) (declaration "int iVar11;" primitive_type identifier ;) (declaration "undefined1 uVar12;" type_identifier identifier ;) (declaration "code *pcVar13;" type_identifier (pointer_declarator "*pcVar13" * identifier) ;) (declaration "undefined1 *puVar14;" type_identifier (pointer_declarator "*puVar14" * identifier) ;) (declaration "char *__s;" primitive_type (pointer_declarator "*__s" * identifier) ;) (declaration "int unaff_EDI;" primitive_type identifier ;) (declaration "ulonglong uVar15;" type_identifier identifier ;) (declaration "uint *local_44;" type_identifier (pointer_declarator "*local_44" * identifier) ;) (declaration "char local_35 [37];" primitive_type (array_declarator "local_35 [37]" identifier [ number_literal ]) ;) (expression_statement "uVar15 = FUN_0004fb7e();" (assignment_expression "uVar15 = FUN_0004fb7e()" identifier = (call_expression "FUN_0004fb7e()" identifier (argument_list "()" ( )))) ;) (expression_statement "iVar6 = (int)uVar15;" (assignment_expression "iVar6 = (int)uVar15" identifier = (cast_expression "(int)uVar15" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (if_statement "if (extraout_ECX != (int *)0x0) {\n    iVar7 = *(int *)(iVar6 + 0x118);\n    piVar4 = extraout_ECX;\n    while (iVar7 == 0) {\n      if (piVar4[2] == 0) {\n        uVar8 = *(uint *)piVar4[1];\n        if (param_1 != 0) goto LAB_00212668;\n        if (uVar8 != 0x4c) {\n          if (uVar8 < 0x4d) {\n            if (4 < uVar8 - 0x1c) goto LAB_00212668;\n          }\n          else if (1 < uVar8 - 0x4e) {\nLAB_00212668:\n            uVar3 = *(undefined4 *)(iVar6 + 0x110);\n            piVar4[2] = 1;\n            *(int *)(iVar6 + 0x110) = piVar4[3];\n            if (uVar8 == 0x29) {\n              FUN_00212300(*piVar4);\n              *(undefined4 *)(iVar6 + 0x110) = uVar3;\n              return;\n            }\n            if (uVar8 == 0x2a) {\n              FUN_00212a20(*piVar4);\n              *(undefined4 *)(iVar6 + 0x110) = uVar3;\n              return;\n            }\n            if (uVar8 == 2) {\n              uVar5 = *(undefined4 *)(iVar6 + 0x114);\n              *(undefined4 *)(iVar6 + 0x114) = 0;\n              FUN_0020ca20();\n              *(undefined4 *)(iVar6 + 0x114) = uVar5;\n              iVar7 = *(int *)(iVar6 + 0x100);\n              if ((uVar15 & 0x400000000) == 0) {\n                puVar14 = (undefined1 *)(unaff_EDI + 0x264d2);\n                uVar12 = 0x3a;\n                while( true ) {\n                  if (iVar7 == 0xff) {\n                    *(undefined1 *)(iVar6 + 0xff) = 0;\n                    (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                    *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                    iVar11 = 1;\n                    iVar7 = 0;\n                  }\n                  else {\n                    iVar11 = iVar7 + 1;\n                  }\n                  puVar14 = puVar14 + 1;\n                  *(int *)(iVar6 + 0x100) = iVar11;\n                  *(undefined1 *)(iVar6 + iVar7) = uVar12;\n                  *(undefined1 *)(iVar6 + 0x104) = uVar12;\n                  if (puVar14 == (undefined1 *)(unaff_EDI + 0x264d4)) break;\n                  uVar12 = *puVar14;\n                  iVar7 = iVar11;\n                }\n              }\n              else {\n                iVar11 = iVar7 + 1;\n                if (iVar7 == 0xff) {\n                  *(undefined1 *)(iVar6 + 0xff) = 0;\n                  (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                  *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                  iVar11 = 1;\n                  iVar7 = 0;\n                }\n                *(int *)(iVar6 + 0x100) = iVar11;\n                *(undefined1 *)(iVar6 + iVar7) = 0x2e;\n                *(undefined1 *)(iVar6 + 0x104) = 0x2e;\n              }\n              local_44 = *(uint **)(piVar4[1] + 0xc);\n              uVar8 = *local_44;\n              if (uVar8 == 0x46) {\n                cVar10 = (code)0x7b;\n                pcVar13 = ioctl + unaff_EDI + 4;\n                iVar7 = *(int *)(iVar6 + 0x100);\n                while( true ) {\n                  if (iVar7 == 0xff) {\n                    *(undefined1 *)(iVar6 + 0xff) = 0;\n                    (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                    *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                    iVar11 = 1;\n                    iVar7 = 0;\n                  }\n                  else {\n                    iVar11 = iVar7 + 1;\n                  }\n                  *(int *)(iVar6 + 0x100) = iVar11;\n                  *(code *)(iVar6 + iVar7) = cVar10;\n                  *(code *)(iVar6 + 0x104) = cVar10;\n                  if (pcVar13 == wcrtomb + unaff_EDI) break;\n                  cVar10 = *pcVar13;\n                  pcVar13 = pcVar13 + 1;\n                  iVar7 = iVar11;\n                }\n                __s = local_35;\n                sprintf(__s,(char *)((int)&__DT_REL[0x263a].r_offset + unaff_EDI + 2),\n                        local_44[3] + 1);\n                sVar9 = strlen(__s);\n                iVar7 = *(int *)(iVar6 + 0x100);\n                if (sVar9 != 0) {\n                  pcVar1 = __s + sVar9;\n                  iVar11 = iVar7;\n                  do {\n                    cVar2 = *__s;\n                    if (iVar11 == 0xff) {\n                      *(undefined1 *)(iVar6 + 0xff) = 0;\n                      (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                      *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                      iVar7 = 1;\n                      iVar11 = 0;\n                    }\n                    else {\n                      iVar7 = iVar11 + 1;\n                    }\n                    __s = __s + 1;\n                    *(int *)(iVar6 + 0x100) = iVar7;\n                    *(char *)(iVar6 + iVar11) = cVar2;\n                    *(char *)(iVar6 + 0x104) = cVar2;\n                    iVar11 = iVar7;\n                  } while (pcVar1 != __s);\n                }\n                puVar14 = (undefined1 *)(unaff_EDI + 0x264d1);\n                uVar12 = 0x7d;\n                do {\n                  if (iVar7 == 0xff) {\n                    *(undefined1 *)(iVar6 + 0xff) = 0;\n                    (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                    *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                    iVar11 = 1;\n                    iVar7 = 0;\n                  }\n                  else {\n                    iVar11 = iVar7 + 1;\n                  }\n                  puVar14 = puVar14 + 1;\n                  *(int *)(iVar6 + 0x100) = iVar11;\n                  *(undefined1 *)(iVar6 + iVar7) = uVar12;\n                  *(undefined1 *)(iVar6 + 0x104) = uVar12;\n                  if ((undefined1 *)(unaff_EDI + 0x264d4) == puVar14) goto LAB_002127e9;\n                  uVar12 = *puVar14;\n                  iVar7 = iVar11;\n                } while( true );\n              }\n              do {\n                if (uVar8 != 0x4c) {\n                  if (uVar8 < 0x4d) {\n                    if (4 < uVar8 - 0x1c) {\nLAB_0021277d:\n                      FUN_0020ca20();\n                      *(undefined4 *)(iVar6 + 0x110) = uVar3;\n                      return;\n                    }\n                  }\n                  else if (1 < uVar8 - 0x4e) goto LAB_0021277d;\n                }\nLAB_002127e9:\n                local_44 = (uint *)local_44[2];\n                uVar8 = *local_44;\n              } while( true );\n            }\n            FUN_00211980();\n            *(undefined4 *)(iVar6 + 0x110) = uVar3;\n          }\n        }\n      }\n      piVar4 = (int *)*piVar4;\n      if (piVar4 == (int *)0x0) {\n        return;\n      }\n      iVar7 = *(int *)(iVar6 + 0x118);\n    }\n  }" if (parenthesized_expression "(extraout_ECX != (int *)0x0)" ( (binary_expression "extraout_ECX != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    iVar7 = *(int *)(iVar6 + 0x118);\n    piVar4 = extraout_ECX;\n    while (iVar7 == 0) {\n      if (piVar4[2] == 0) {\n        uVar8 = *(uint *)piVar4[1];\n        if (param_1 != 0) goto LAB_00212668;\n        if (uVar8 != 0x4c) {\n          if (uVar8 < 0x4d) {\n            if (4 < uVar8 - 0x1c) goto LAB_00212668;\n          }\n          else if (1 < uVar8 - 0x4e) {\nLAB_00212668:\n            uVar3 = *(undefined4 *)(iVar6 + 0x110);\n            piVar4[2] = 1;\n            *(int *)(iVar6 + 0x110) = piVar4[3];\n            if (uVar8 == 0x29) {\n              FUN_00212300(*piVar4);\n              *(undefined4 *)(iVar6 + 0x110) = uVar3;\n              return;\n            }\n            if (uVar8 == 0x2a) {\n              FUN_00212a20(*piVar4);\n              *(undefined4 *)(iVar6 + 0x110) = uVar3;\n              return;\n            }\n            if (uVar8 == 2) {\n              uVar5 = *(undefined4 *)(iVar6 + 0x114);\n              *(undefined4 *)(iVar6 + 0x114) = 0;\n              FUN_0020ca20();\n              *(undefined4 *)(iVar6 + 0x114) = uVar5;\n              iVar7 = *(int *)(iVar6 + 0x100);\n              if ((uVar15 & 0x400000000) == 0) {\n                puVar14 = (undefined1 *)(unaff_EDI + 0x264d2);\n                uVar12 = 0x3a;\n                while( true ) {\n                  if (iVar7 == 0xff) {\n                    *(undefined1 *)(iVar6 + 0xff) = 0;\n                    (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                    *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                    iVar11 = 1;\n                    iVar7 = 0;\n                  }\n                  else {\n                    iVar11 = iVar7 + 1;\n                  }\n                  puVar14 = puVar14 + 1;\n                  *(int *)(iVar6 + 0x100) = iVar11;\n                  *(undefined1 *)(iVar6 + iVar7) = uVar12;\n                  *(undefined1 *)(iVar6 + 0x104) = uVar12;\n                  if (puVar14 == (undefined1 *)(unaff_EDI + 0x264d4)) break;\n                  uVar12 = *puVar14;\n                  iVar7 = iVar11;\n                }\n              }\n              else {\n                iVar11 = iVar7 + 1;\n                if (iVar7 == 0xff) {\n                  *(undefined1 *)(iVar6 + 0xff) = 0;\n                  (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                  *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                  iVar11 = 1;\n                  iVar7 = 0;\n                }\n                *(int *)(iVar6 + 0x100) = iVar11;\n                *(undefined1 *)(iVar6 + iVar7) = 0x2e;\n                *(undefined1 *)(iVar6 + 0x104) = 0x2e;\n              }\n              local_44 = *(uint **)(piVar4[1] + 0xc);\n              uVar8 = *local_44;\n              if (uVar8 == 0x46) {\n                cVar10 = (code)0x7b;\n                pcVar13 = ioctl + unaff_EDI + 4;\n                iVar7 = *(int *)(iVar6 + 0x100);\n                while( true ) {\n                  if (iVar7 == 0xff) {\n                    *(undefined1 *)(iVar6 + 0xff) = 0;\n                    (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                    *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                    iVar11 = 1;\n                    iVar7 = 0;\n                  }\n                  else {\n                    iVar11 = iVar7 + 1;\n                  }\n                  *(int *)(iVar6 + 0x100) = iVar11;\n                  *(code *)(iVar6 + iVar7) = cVar10;\n                  *(code *)(iVar6 + 0x104) = cVar10;\n                  if (pcVar13 == wcrtomb + unaff_EDI) break;\n                  cVar10 = *pcVar13;\n                  pcVar13 = pcVar13 + 1;\n                  iVar7 = iVar11;\n                }\n                __s = local_35;\n                sprintf(__s,(char *)((int)&__DT_REL[0x263a].r_offset + unaff_EDI + 2),\n                        local_44[3] + 1);\n                sVar9 = strlen(__s);\n                iVar7 = *(int *)(iVar6 + 0x100);\n                if (sVar9 != 0) {\n                  pcVar1 = __s + sVar9;\n                  iVar11 = iVar7;\n                  do {\n                    cVar2 = *__s;\n                    if (iVar11 == 0xff) {\n                      *(undefined1 *)(iVar6 + 0xff) = 0;\n                      (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                      *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                      iVar7 = 1;\n                      iVar11 = 0;\n                    }\n                    else {\n                      iVar7 = iVar11 + 1;\n                    }\n                    __s = __s + 1;\n                    *(int *)(iVar6 + 0x100) = iVar7;\n                    *(char *)(iVar6 + iVar11) = cVar2;\n                    *(char *)(iVar6 + 0x104) = cVar2;\n                    iVar11 = iVar7;\n                  } while (pcVar1 != __s);\n                }\n                puVar14 = (undefined1 *)(unaff_EDI + 0x264d1);\n                uVar12 = 0x7d;\n                do {\n                  if (iVar7 == 0xff) {\n                    *(undefined1 *)(iVar6 + 0xff) = 0;\n                    (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                    *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                    iVar11 = 1;\n                    iVar7 = 0;\n                  }\n                  else {\n                    iVar11 = iVar7 + 1;\n                  }\n                  puVar14 = puVar14 + 1;\n                  *(int *)(iVar6 + 0x100) = iVar11;\n                  *(undefined1 *)(iVar6 + iVar7) = uVar12;\n                  *(undefined1 *)(iVar6 + 0x104) = uVar12;\n                  if ((undefined1 *)(unaff_EDI + 0x264d4) == puVar14) goto LAB_002127e9;\n                  uVar12 = *puVar14;\n                  iVar7 = iVar11;\n                } while( true );\n              }\n              do {\n                if (uVar8 != 0x4c) {\n                  if (uVar8 < 0x4d) {\n                    if (4 < uVar8 - 0x1c) {\nLAB_0021277d:\n                      FUN_0020ca20();\n                      *(undefined4 *)(iVar6 + 0x110) = uVar3;\n                      return;\n                    }\n                  }\n                  else if (1 < uVar8 - 0x4e) goto LAB_0021277d;\n                }\nLAB_002127e9:\n                local_44 = (uint *)local_44[2];\n                uVar8 = *local_44;\n              } while( true );\n            }\n            FUN_00211980();\n            *(undefined4 *)(iVar6 + 0x110) = uVar3;\n          }\n        }\n      }\n      piVar4 = (int *)*piVar4;\n      if (piVar4 == (int *)0x0) {\n        return;\n      }\n      iVar7 = *(int *)(iVar6 + 0x118);\n    }\n  }" { (expression_statement "iVar7 = *(int *)(iVar6 + 0x118);" (assignment_expression "iVar7 = *(int *)(iVar6 + 0x118)" identifier = (pointer_expression "*(int *)(iVar6 + 0x118)" * (cast_expression "(int *)(iVar6 + 0x118)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x118)" ( (binary_expression "iVar6 + 0x118" identifier + number_literal) ))))) ;) (expression_statement "piVar4 = extraout_ECX;" (assignment_expression "piVar4 = extraout_ECX" identifier = identifier) ;) (while_statement "while (iVar7 == 0) {\n      if (piVar4[2] == 0) {\n        uVar8 = *(uint *)piVar4[1];\n        if (param_1 != 0) goto LAB_00212668;\n        if (uVar8 != 0x4c) {\n          if (uVar8 < 0x4d) {\n            if (4 < uVar8 - 0x1c) goto LAB_00212668;\n          }\n          else if (1 < uVar8 - 0x4e) {\nLAB_00212668:\n            uVar3 = *(undefined4 *)(iVar6 + 0x110);\n            piVar4[2] = 1;\n            *(int *)(iVar6 + 0x110) = piVar4[3];\n            if (uVar8 == 0x29) {\n              FUN_00212300(*piVar4);\n              *(undefined4 *)(iVar6 + 0x110) = uVar3;\n              return;\n            }\n            if (uVar8 == 0x2a) {\n              FUN_00212a20(*piVar4);\n              *(undefined4 *)(iVar6 + 0x110) = uVar3;\n              return;\n            }\n            if (uVar8 == 2) {\n              uVar5 = *(undefined4 *)(iVar6 + 0x114);\n              *(undefined4 *)(iVar6 + 0x114) = 0;\n              FUN_0020ca20();\n              *(undefined4 *)(iVar6 + 0x114) = uVar5;\n              iVar7 = *(int *)(iVar6 + 0x100);\n              if ((uVar15 & 0x400000000) == 0) {\n                puVar14 = (undefined1 *)(unaff_EDI + 0x264d2);\n                uVar12 = 0x3a;\n                while( true ) {\n                  if (iVar7 == 0xff) {\n                    *(undefined1 *)(iVar6 + 0xff) = 0;\n                    (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                    *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                    iVar11 = 1;\n                    iVar7 = 0;\n                  }\n                  else {\n                    iVar11 = iVar7 + 1;\n                  }\n                  puVar14 = puVar14 + 1;\n                  *(int *)(iVar6 + 0x100) = iVar11;\n                  *(undefined1 *)(iVar6 + iVar7) = uVar12;\n                  *(undefined1 *)(iVar6 + 0x104) = uVar12;\n                  if (puVar14 == (undefined1 *)(unaff_EDI + 0x264d4)) break;\n                  uVar12 = *puVar14;\n                  iVar7 = iVar11;\n                }\n              }\n              else {\n                iVar11 = iVar7 + 1;\n                if (iVar7 == 0xff) {\n                  *(undefined1 *)(iVar6 + 0xff) = 0;\n                  (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                  *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                  iVar11 = 1;\n                  iVar7 = 0;\n                }\n                *(int *)(iVar6 + 0x100) = iVar11;\n                *(undefined1 *)(iVar6 + iVar7) = 0x2e;\n                *(undefined1 *)(iVar6 + 0x104) = 0x2e;\n              }\n              local_44 = *(uint **)(piVar4[1] + 0xc);\n              uVar8 = *local_44;\n              if (uVar8 == 0x46) {\n                cVar10 = (code)0x7b;\n                pcVar13 = ioctl + unaff_EDI + 4;\n                iVar7 = *(int *)(iVar6 + 0x100);\n                while( true ) {\n                  if (iVar7 == 0xff) {\n                    *(undefined1 *)(iVar6 + 0xff) = 0;\n                    (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                    *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                    iVar11 = 1;\n                    iVar7 = 0;\n                  }\n                  else {\n                    iVar11 = iVar7 + 1;\n                  }\n                  *(int *)(iVar6 + 0x100) = iVar11;\n                  *(code *)(iVar6 + iVar7) = cVar10;\n                  *(code *)(iVar6 + 0x104) = cVar10;\n                  if (pcVar13 == wcrtomb + unaff_EDI) break;\n                  cVar10 = *pcVar13;\n                  pcVar13 = pcVar13 + 1;\n                  iVar7 = iVar11;\n                }\n                __s = local_35;\n                sprintf(__s,(char *)((int)&__DT_REL[0x263a].r_offset + unaff_EDI + 2),\n                        local_44[3] + 1);\n                sVar9 = strlen(__s);\n                iVar7 = *(int *)(iVar6 + 0x100);\n                if (sVar9 != 0) {\n                  pcVar1 = __s + sVar9;\n                  iVar11 = iVar7;\n                  do {\n                    cVar2 = *__s;\n                    if (iVar11 == 0xff) {\n                      *(undefined1 *)(iVar6 + 0xff) = 0;\n                      (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                      *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                      iVar7 = 1;\n                      iVar11 = 0;\n                    }\n                    else {\n                      iVar7 = iVar11 + 1;\n                    }\n                    __s = __s + 1;\n                    *(int *)(iVar6 + 0x100) = iVar7;\n                    *(char *)(iVar6 + iVar11) = cVar2;\n                    *(char *)(iVar6 + 0x104) = cVar2;\n                    iVar11 = iVar7;\n                  } while (pcVar1 != __s);\n                }\n                puVar14 = (undefined1 *)(unaff_EDI + 0x264d1);\n                uVar12 = 0x7d;\n                do {\n                  if (iVar7 == 0xff) {\n                    *(undefined1 *)(iVar6 + 0xff) = 0;\n                    (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                    *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                    iVar11 = 1;\n                    iVar7 = 0;\n                  }\n                  else {\n                    iVar11 = iVar7 + 1;\n                  }\n                  puVar14 = puVar14 + 1;\n                  *(int *)(iVar6 + 0x100) = iVar11;\n                  *(undefined1 *)(iVar6 + iVar7) = uVar12;\n                  *(undefined1 *)(iVar6 + 0x104) = uVar12;\n                  if ((undefined1 *)(unaff_EDI + 0x264d4) == puVar14) goto LAB_002127e9;\n                  uVar12 = *puVar14;\n                  iVar7 = iVar11;\n                } while( true );\n              }\n              do {\n                if (uVar8 != 0x4c) {\n                  if (uVar8 < 0x4d) {\n                    if (4 < uVar8 - 0x1c) {\nLAB_0021277d:\n                      FUN_0020ca20();\n                      *(undefined4 *)(iVar6 + 0x110) = uVar3;\n                      return;\n                    }\n                  }\n                  else if (1 < uVar8 - 0x4e) goto LAB_0021277d;\n                }\nLAB_002127e9:\n                local_44 = (uint *)local_44[2];\n                uVar8 = *local_44;\n              } while( true );\n            }\n            FUN_00211980();\n            *(undefined4 *)(iVar6 + 0x110) = uVar3;\n          }\n        }\n      }\n      piVar4 = (int *)*piVar4;\n      if (piVar4 == (int *)0x0) {\n        return;\n      }\n      iVar7 = *(int *)(iVar6 + 0x118);\n    }" while (parenthesized_expression "(iVar7 == 0)" ( (binary_expression "iVar7 == 0" identifier == number_literal) )) (compound_statement "{\n      if (piVar4[2] == 0) {\n        uVar8 = *(uint *)piVar4[1];\n        if (param_1 != 0) goto LAB_00212668;\n        if (uVar8 != 0x4c) {\n          if (uVar8 < 0x4d) {\n            if (4 < uVar8 - 0x1c) goto LAB_00212668;\n          }\n          else if (1 < uVar8 - 0x4e) {\nLAB_00212668:\n            uVar3 = *(undefined4 *)(iVar6 + 0x110);\n            piVar4[2] = 1;\n            *(int *)(iVar6 + 0x110) = piVar4[3];\n            if (uVar8 == 0x29) {\n              FUN_00212300(*piVar4);\n              *(undefined4 *)(iVar6 + 0x110) = uVar3;\n              return;\n            }\n            if (uVar8 == 0x2a) {\n              FUN_00212a20(*piVar4);\n              *(undefined4 *)(iVar6 + 0x110) = uVar3;\n              return;\n            }\n            if (uVar8 == 2) {\n              uVar5 = *(undefined4 *)(iVar6 + 0x114);\n              *(undefined4 *)(iVar6 + 0x114) = 0;\n              FUN_0020ca20();\n              *(undefined4 *)(iVar6 + 0x114) = uVar5;\n              iVar7 = *(int *)(iVar6 + 0x100);\n              if ((uVar15 & 0x400000000) == 0) {\n                puVar14 = (undefined1 *)(unaff_EDI + 0x264d2);\n                uVar12 = 0x3a;\n                while( true ) {\n                  if (iVar7 == 0xff) {\n                    *(undefined1 *)(iVar6 + 0xff) = 0;\n                    (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                    *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                    iVar11 = 1;\n                    iVar7 = 0;\n                  }\n                  else {\n                    iVar11 = iVar7 + 1;\n                  }\n                  puVar14 = puVar14 + 1;\n                  *(int *)(iVar6 + 0x100) = iVar11;\n                  *(undefined1 *)(iVar6 + iVar7) = uVar12;\n                  *(undefined1 *)(iVar6 + 0x104) = uVar12;\n                  if (puVar14 == (undefined1 *)(unaff_EDI + 0x264d4)) break;\n                  uVar12 = *puVar14;\n                  iVar7 = iVar11;\n                }\n              }\n              else {\n                iVar11 = iVar7 + 1;\n                if (iVar7 == 0xff) {\n                  *(undefined1 *)(iVar6 + 0xff) = 0;\n                  (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                  *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                  iVar11 = 1;\n                  iVar7 = 0;\n                }\n                *(int *)(iVar6 + 0x100) = iVar11;\n                *(undefined1 *)(iVar6 + iVar7) = 0x2e;\n                *(undefined1 *)(iVar6 + 0x104) = 0x2e;\n              }\n              local_44 = *(uint **)(piVar4[1] + 0xc);\n              uVar8 = *local_44;\n              if (uVar8 == 0x46) {\n                cVar10 = (code)0x7b;\n                pcVar13 = ioctl + unaff_EDI + 4;\n                iVar7 = *(int *)(iVar6 + 0x100);\n                while( true ) {\n                  if (iVar7 == 0xff) {\n                    *(undefined1 *)(iVar6 + 0xff) = 0;\n                    (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                    *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                    iVar11 = 1;\n                    iVar7 = 0;\n                  }\n                  else {\n                    iVar11 = iVar7 + 1;\n                  }\n                  *(int *)(iVar6 + 0x100) = iVar11;\n                  *(code *)(iVar6 + iVar7) = cVar10;\n                  *(code *)(iVar6 + 0x104) = cVar10;\n                  if (pcVar13 == wcrtomb + unaff_EDI) break;\n                  cVar10 = *pcVar13;\n                  pcVar13 = pcVar13 + 1;\n                  iVar7 = iVar11;\n                }\n                __s = local_35;\n                sprintf(__s,(char *)((int)&__DT_REL[0x263a].r_offset + unaff_EDI + 2),\n                        local_44[3] + 1);\n                sVar9 = strlen(__s);\n                iVar7 = *(int *)(iVar6 + 0x100);\n                if (sVar9 != 0) {\n                  pcVar1 = __s + sVar9;\n                  iVar11 = iVar7;\n                  do {\n                    cVar2 = *__s;\n                    if (iVar11 == 0xff) {\n                      *(undefined1 *)(iVar6 + 0xff) = 0;\n                      (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                      *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                      iVar7 = 1;\n                      iVar11 = 0;\n                    }\n                    else {\n                      iVar7 = iVar11 + 1;\n                    }\n                    __s = __s + 1;\n                    *(int *)(iVar6 + 0x100) = iVar7;\n                    *(char *)(iVar6 + iVar11) = cVar2;\n                    *(char *)(iVar6 + 0x104) = cVar2;\n                    iVar11 = iVar7;\n                  } while (pcVar1 != __s);\n                }\n                puVar14 = (undefined1 *)(unaff_EDI + 0x264d1);\n                uVar12 = 0x7d;\n                do {\n                  if (iVar7 == 0xff) {\n                    *(undefined1 *)(iVar6 + 0xff) = 0;\n                    (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                    *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                    iVar11 = 1;\n                    iVar7 = 0;\n                  }\n                  else {\n                    iVar11 = iVar7 + 1;\n                  }\n                  puVar14 = puVar14 + 1;\n                  *(int *)(iVar6 + 0x100) = iVar11;\n                  *(undefined1 *)(iVar6 + iVar7) = uVar12;\n                  *(undefined1 *)(iVar6 + 0x104) = uVar12;\n                  if ((undefined1 *)(unaff_EDI + 0x264d4) == puVar14) goto LAB_002127e9;\n                  uVar12 = *puVar14;\n                  iVar7 = iVar11;\n                } while( true );\n              }\n              do {\n                if (uVar8 != 0x4c) {\n                  if (uVar8 < 0x4d) {\n                    if (4 < uVar8 - 0x1c) {\nLAB_0021277d:\n                      FUN_0020ca20();\n                      *(undefined4 *)(iVar6 + 0x110) = uVar3;\n                      return;\n                    }\n                  }\n                  else if (1 < uVar8 - 0x4e) goto LAB_0021277d;\n                }\nLAB_002127e9:\n                local_44 = (uint *)local_44[2];\n                uVar8 = *local_44;\n              } while( true );\n            }\n            FUN_00211980();\n            *(undefined4 *)(iVar6 + 0x110) = uVar3;\n          }\n        }\n      }\n      piVar4 = (int *)*piVar4;\n      if (piVar4 == (int *)0x0) {\n        return;\n      }\n      iVar7 = *(int *)(iVar6 + 0x118);\n    }" { (if_statement "if (piVar4[2] == 0) {\n        uVar8 = *(uint *)piVar4[1];\n        if (param_1 != 0) goto LAB_00212668;\n        if (uVar8 != 0x4c) {\n          if (uVar8 < 0x4d) {\n            if (4 < uVar8 - 0x1c) goto LAB_00212668;\n          }\n          else if (1 < uVar8 - 0x4e) {\nLAB_00212668:\n            uVar3 = *(undefined4 *)(iVar6 + 0x110);\n            piVar4[2] = 1;\n            *(int *)(iVar6 + 0x110) = piVar4[3];\n            if (uVar8 == 0x29) {\n              FUN_00212300(*piVar4);\n              *(undefined4 *)(iVar6 + 0x110) = uVar3;\n              return;\n            }\n            if (uVar8 == 0x2a) {\n              FUN_00212a20(*piVar4);\n              *(undefined4 *)(iVar6 + 0x110) = uVar3;\n              return;\n            }\n            if (uVar8 == 2) {\n              uVar5 = *(undefined4 *)(iVar6 + 0x114);\n              *(undefined4 *)(iVar6 + 0x114) = 0;\n              FUN_0020ca20();\n              *(undefined4 *)(iVar6 + 0x114) = uVar5;\n              iVar7 = *(int *)(iVar6 + 0x100);\n              if ((uVar15 & 0x400000000) == 0) {\n                puVar14 = (undefined1 *)(unaff_EDI + 0x264d2);\n                uVar12 = 0x3a;\n                while( true ) {\n                  if (iVar7 == 0xff) {\n                    *(undefined1 *)(iVar6 + 0xff) = 0;\n                    (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                    *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                    iVar11 = 1;\n                    iVar7 = 0;\n                  }\n                  else {\n                    iVar11 = iVar7 + 1;\n                  }\n                  puVar14 = puVar14 + 1;\n                  *(int *)(iVar6 + 0x100) = iVar11;\n                  *(undefined1 *)(iVar6 + iVar7) = uVar12;\n                  *(undefined1 *)(iVar6 + 0x104) = uVar12;\n                  if (puVar14 == (undefined1 *)(unaff_EDI + 0x264d4)) break;\n                  uVar12 = *puVar14;\n                  iVar7 = iVar11;\n                }\n              }\n              else {\n                iVar11 = iVar7 + 1;\n                if (iVar7 == 0xff) {\n                  *(undefined1 *)(iVar6 + 0xff) = 0;\n                  (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                  *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                  iVar11 = 1;\n                  iVar7 = 0;\n                }\n                *(int *)(iVar6 + 0x100) = iVar11;\n                *(undefined1 *)(iVar6 + iVar7) = 0x2e;\n                *(undefined1 *)(iVar6 + 0x104) = 0x2e;\n              }\n              local_44 = *(uint **)(piVar4[1] + 0xc);\n              uVar8 = *local_44;\n              if (uVar8 == 0x46) {\n                cVar10 = (code)0x7b;\n                pcVar13 = ioctl + unaff_EDI + 4;\n                iVar7 = *(int *)(iVar6 + 0x100);\n                while( true ) {\n                  if (iVar7 == 0xff) {\n                    *(undefined1 *)(iVar6 + 0xff) = 0;\n                    (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                    *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                    iVar11 = 1;\n                    iVar7 = 0;\n                  }\n                  else {\n                    iVar11 = iVar7 + 1;\n                  }\n                  *(int *)(iVar6 + 0x100) = iVar11;\n                  *(code *)(iVar6 + iVar7) = cVar10;\n                  *(code *)(iVar6 + 0x104) = cVar10;\n                  if (pcVar13 == wcrtomb + unaff_EDI) break;\n                  cVar10 = *pcVar13;\n                  pcVar13 = pcVar13 + 1;\n                  iVar7 = iVar11;\n                }\n                __s = local_35;\n                sprintf(__s,(char *)((int)&__DT_REL[0x263a].r_offset + unaff_EDI + 2),\n                        local_44[3] + 1);\n                sVar9 = strlen(__s);\n                iVar7 = *(int *)(iVar6 + 0x100);\n                if (sVar9 != 0) {\n                  pcVar1 = __s + sVar9;\n                  iVar11 = iVar7;\n                  do {\n                    cVar2 = *__s;\n                    if (iVar11 == 0xff) {\n                      *(undefined1 *)(iVar6 + 0xff) = 0;\n                      (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                      *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                      iVar7 = 1;\n                      iVar11 = 0;\n                    }\n                    else {\n                      iVar7 = iVar11 + 1;\n                    }\n                    __s = __s + 1;\n                    *(int *)(iVar6 + 0x100) = iVar7;\n                    *(char *)(iVar6 + iVar11) = cVar2;\n                    *(char *)(iVar6 + 0x104) = cVar2;\n                    iVar11 = iVar7;\n                  } while (pcVar1 != __s);\n                }\n                puVar14 = (undefined1 *)(unaff_EDI + 0x264d1);\n                uVar12 = 0x7d;\n                do {\n                  if (iVar7 == 0xff) {\n                    *(undefined1 *)(iVar6 + 0xff) = 0;\n                    (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                    *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                    iVar11 = 1;\n                    iVar7 = 0;\n                  }\n                  else {\n                    iVar11 = iVar7 + 1;\n                  }\n                  puVar14 = puVar14 + 1;\n                  *(int *)(iVar6 + 0x100) = iVar11;\n                  *(undefined1 *)(iVar6 + iVar7) = uVar12;\n                  *(undefined1 *)(iVar6 + 0x104) = uVar12;\n                  if ((undefined1 *)(unaff_EDI + 0x264d4) == puVar14) goto LAB_002127e9;\n                  uVar12 = *puVar14;\n                  iVar7 = iVar11;\n                } while( true );\n              }\n              do {\n                if (uVar8 != 0x4c) {\n                  if (uVar8 < 0x4d) {\n                    if (4 < uVar8 - 0x1c) {\nLAB_0021277d:\n                      FUN_0020ca20();\n                      *(undefined4 *)(iVar6 + 0x110) = uVar3;\n                      return;\n                    }\n                  }\n                  else if (1 < uVar8 - 0x4e) goto LAB_0021277d;\n                }\nLAB_002127e9:\n                local_44 = (uint *)local_44[2];\n                uVar8 = *local_44;\n              } while( true );\n            }\n            FUN_00211980();\n            *(undefined4 *)(iVar6 + 0x110) = uVar3;\n          }\n        }\n      }" if (parenthesized_expression "(piVar4[2] == 0)" ( (binary_expression "piVar4[2] == 0" (subscript_expression "piVar4[2]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n        uVar8 = *(uint *)piVar4[1];\n        if (param_1 != 0) goto LAB_00212668;\n        if (uVar8 != 0x4c) {\n          if (uVar8 < 0x4d) {\n            if (4 < uVar8 - 0x1c) goto LAB_00212668;\n          }\n          else if (1 < uVar8 - 0x4e) {\nLAB_00212668:\n            uVar3 = *(undefined4 *)(iVar6 + 0x110);\n            piVar4[2] = 1;\n            *(int *)(iVar6 + 0x110) = piVar4[3];\n            if (uVar8 == 0x29) {\n              FUN_00212300(*piVar4);\n              *(undefined4 *)(iVar6 + 0x110) = uVar3;\n              return;\n            }\n            if (uVar8 == 0x2a) {\n              FUN_00212a20(*piVar4);\n              *(undefined4 *)(iVar6 + 0x110) = uVar3;\n              return;\n            }\n            if (uVar8 == 2) {\n              uVar5 = *(undefined4 *)(iVar6 + 0x114);\n              *(undefined4 *)(iVar6 + 0x114) = 0;\n              FUN_0020ca20();\n              *(undefined4 *)(iVar6 + 0x114) = uVar5;\n              iVar7 = *(int *)(iVar6 + 0x100);\n              if ((uVar15 & 0x400000000) == 0) {\n                puVar14 = (undefined1 *)(unaff_EDI + 0x264d2);\n                uVar12 = 0x3a;\n                while( true ) {\n                  if (iVar7 == 0xff) {\n                    *(undefined1 *)(iVar6 + 0xff) = 0;\n                    (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                    *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                    iVar11 = 1;\n                    iVar7 = 0;\n                  }\n                  else {\n                    iVar11 = iVar7 + 1;\n                  }\n                  puVar14 = puVar14 + 1;\n                  *(int *)(iVar6 + 0x100) = iVar11;\n                  *(undefined1 *)(iVar6 + iVar7) = uVar12;\n                  *(undefined1 *)(iVar6 + 0x104) = uVar12;\n                  if (puVar14 == (undefined1 *)(unaff_EDI + 0x264d4)) break;\n                  uVar12 = *puVar14;\n                  iVar7 = iVar11;\n                }\n              }\n              else {\n                iVar11 = iVar7 + 1;\n                if (iVar7 == 0xff) {\n                  *(undefined1 *)(iVar6 + 0xff) = 0;\n                  (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                  *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                  iVar11 = 1;\n                  iVar7 = 0;\n                }\n                *(int *)(iVar6 + 0x100) = iVar11;\n                *(undefined1 *)(iVar6 + iVar7) = 0x2e;\n                *(undefined1 *)(iVar6 + 0x104) = 0x2e;\n              }\n              local_44 = *(uint **)(piVar4[1] + 0xc);\n              uVar8 = *local_44;\n              if (uVar8 == 0x46) {\n                cVar10 = (code)0x7b;\n                pcVar13 = ioctl + unaff_EDI + 4;\n                iVar7 = *(int *)(iVar6 + 0x100);\n                while( true ) {\n                  if (iVar7 == 0xff) {\n                    *(undefined1 *)(iVar6 + 0xff) = 0;\n                    (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                    *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                    iVar11 = 1;\n                    iVar7 = 0;\n                  }\n                  else {\n                    iVar11 = iVar7 + 1;\n                  }\n                  *(int *)(iVar6 + 0x100) = iVar11;\n                  *(code *)(iVar6 + iVar7) = cVar10;\n                  *(code *)(iVar6 + 0x104) = cVar10;\n                  if (pcVar13 == wcrtomb + unaff_EDI) break;\n                  cVar10 = *pcVar13;\n                  pcVar13 = pcVar13 + 1;\n                  iVar7 = iVar11;\n                }\n                __s = local_35;\n                sprintf(__s,(char *)((int)&__DT_REL[0x263a].r_offset + unaff_EDI + 2),\n                        local_44[3] + 1);\n                sVar9 = strlen(__s);\n                iVar7 = *(int *)(iVar6 + 0x100);\n                if (sVar9 != 0) {\n                  pcVar1 = __s + sVar9;\n                  iVar11 = iVar7;\n                  do {\n                    cVar2 = *__s;\n                    if (iVar11 == 0xff) {\n                      *(undefined1 *)(iVar6 + 0xff) = 0;\n                      (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                      *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                      iVar7 = 1;\n                      iVar11 = 0;\n                    }\n                    else {\n                      iVar7 = iVar11 + 1;\n                    }\n                    __s = __s + 1;\n                    *(int *)(iVar6 + 0x100) = iVar7;\n                    *(char *)(iVar6 + iVar11) = cVar2;\n                    *(char *)(iVar6 + 0x104) = cVar2;\n                    iVar11 = iVar7;\n                  } while (pcVar1 != __s);\n                }\n                puVar14 = (undefined1 *)(unaff_EDI + 0x264d1);\n                uVar12 = 0x7d;\n                do {\n                  if (iVar7 == 0xff) {\n                    *(undefined1 *)(iVar6 + 0xff) = 0;\n                    (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                    *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                    iVar11 = 1;\n                    iVar7 = 0;\n                  }\n                  else {\n                    iVar11 = iVar7 + 1;\n                  }\n                  puVar14 = puVar14 + 1;\n                  *(int *)(iVar6 + 0x100) = iVar11;\n                  *(undefined1 *)(iVar6 + iVar7) = uVar12;\n                  *(undefined1 *)(iVar6 + 0x104) = uVar12;\n                  if ((undefined1 *)(unaff_EDI + 0x264d4) == puVar14) goto LAB_002127e9;\n                  uVar12 = *puVar14;\n                  iVar7 = iVar11;\n                } while( true );\n              }\n              do {\n                if (uVar8 != 0x4c) {\n                  if (uVar8 < 0x4d) {\n                    if (4 < uVar8 - 0x1c) {\nLAB_0021277d:\n                      FUN_0020ca20();\n                      *(undefined4 *)(iVar6 + 0x110) = uVar3;\n                      return;\n                    }\n                  }\n                  else if (1 < uVar8 - 0x4e) goto LAB_0021277d;\n                }\nLAB_002127e9:\n                local_44 = (uint *)local_44[2];\n                uVar8 = *local_44;\n              } while( true );\n            }\n            FUN_00211980();\n            *(undefined4 *)(iVar6 + 0x110) = uVar3;\n          }\n        }\n      }" { (expression_statement "uVar8 = *(uint *)piVar4[1];" (assignment_expression "uVar8 = *(uint *)piVar4[1]" identifier = (pointer_expression "*(uint *)piVar4[1]" * (cast_expression "(uint *)piVar4[1]" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar4[1]" identifier [ number_literal ])))) ;) (if_statement "if (param_1 != 0) goto LAB_00212668;" if (parenthesized_expression "(param_1 != 0)" ( (binary_expression "param_1 != 0" identifier != number_literal) )) (goto_statement "goto LAB_00212668;" goto statement_identifier ;)) (if_statement "if (uVar8 != 0x4c) {\n          if (uVar8 < 0x4d) {\n            if (4 < uVar8 - 0x1c) goto LAB_00212668;\n          }\n          else if (1 < uVar8 - 0x4e) {\nLAB_00212668:\n            uVar3 = *(undefined4 *)(iVar6 + 0x110);\n            piVar4[2] = 1;\n            *(int *)(iVar6 + 0x110) = piVar4[3];\n            if (uVar8 == 0x29) {\n              FUN_00212300(*piVar4);\n              *(undefined4 *)(iVar6 + 0x110) = uVar3;\n              return;\n            }\n            if (uVar8 == 0x2a) {\n              FUN_00212a20(*piVar4);\n              *(undefined4 *)(iVar6 + 0x110) = uVar3;\n              return;\n            }\n            if (uVar8 == 2) {\n              uVar5 = *(undefined4 *)(iVar6 + 0x114);\n              *(undefined4 *)(iVar6 + 0x114) = 0;\n              FUN_0020ca20();\n              *(undefined4 *)(iVar6 + 0x114) = uVar5;\n              iVar7 = *(int *)(iVar6 + 0x100);\n              if ((uVar15 & 0x400000000) == 0) {\n                puVar14 = (undefined1 *)(unaff_EDI + 0x264d2);\n                uVar12 = 0x3a;\n                while( true ) {\n                  if (iVar7 == 0xff) {\n                    *(undefined1 *)(iVar6 + 0xff) = 0;\n                    (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                    *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                    iVar11 = 1;\n                    iVar7 = 0;\n                  }\n                  else {\n                    iVar11 = iVar7 + 1;\n                  }\n                  puVar14 = puVar14 + 1;\n                  *(int *)(iVar6 + 0x100) = iVar11;\n                  *(undefined1 *)(iVar6 + iVar7) = uVar12;\n                  *(undefined1 *)(iVar6 + 0x104) = uVar12;\n                  if (puVar14 == (undefined1 *)(unaff_EDI + 0x264d4)) break;\n                  uVar12 = *puVar14;\n                  iVar7 = iVar11;\n                }\n              }\n              else {\n                iVar11 = iVar7 + 1;\n                if (iVar7 == 0xff) {\n                  *(undefined1 *)(iVar6 + 0xff) = 0;\n                  (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                  *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                  iVar11 = 1;\n                  iVar7 = 0;\n                }\n                *(int *)(iVar6 + 0x100) = iVar11;\n                *(undefined1 *)(iVar6 + iVar7) = 0x2e;\n                *(undefined1 *)(iVar6 + 0x104) = 0x2e;\n              }\n              local_44 = *(uint **)(piVar4[1] + 0xc);\n              uVar8 = *local_44;\n              if (uVar8 == 0x46) {\n                cVar10 = (code)0x7b;\n                pcVar13 = ioctl + unaff_EDI + 4;\n                iVar7 = *(int *)(iVar6 + 0x100);\n                while( true ) {\n                  if (iVar7 == 0xff) {\n                    *(undefined1 *)(iVar6 + 0xff) = 0;\n                    (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                    *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                    iVar11 = 1;\n                    iVar7 = 0;\n                  }\n                  else {\n                    iVar11 = iVar7 + 1;\n                  }\n                  *(int *)(iVar6 + 0x100) = iVar11;\n                  *(code *)(iVar6 + iVar7) = cVar10;\n                  *(code *)(iVar6 + 0x104) = cVar10;\n                  if (pcVar13 == wcrtomb + unaff_EDI) break;\n                  cVar10 = *pcVar13;\n                  pcVar13 = pcVar13 + 1;\n                  iVar7 = iVar11;\n                }\n                __s = local_35;\n                sprintf(__s,(char *)((int)&__DT_REL[0x263a].r_offset + unaff_EDI + 2),\n                        local_44[3] + 1);\n                sVar9 = strlen(__s);\n                iVar7 = *(int *)(iVar6 + 0x100);\n                if (sVar9 != 0) {\n                  pcVar1 = __s + sVar9;\n                  iVar11 = iVar7;\n                  do {\n                    cVar2 = *__s;\n                    if (iVar11 == 0xff) {\n                      *(undefined1 *)(iVar6 + 0xff) = 0;\n                      (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                      *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                      iVar7 = 1;\n                      iVar11 = 0;\n                    }\n                    else {\n                      iVar7 = iVar11 + 1;\n                    }\n                    __s = __s + 1;\n                    *(int *)(iVar6 + 0x100) = iVar7;\n                    *(char *)(iVar6 + iVar11) = cVar2;\n                    *(char *)(iVar6 + 0x104) = cVar2;\n                    iVar11 = iVar7;\n                  } while (pcVar1 != __s);\n                }\n                puVar14 = (undefined1 *)(unaff_EDI + 0x264d1);\n                uVar12 = 0x7d;\n                do {\n                  if (iVar7 == 0xff) {\n                    *(undefined1 *)(iVar6 + 0xff) = 0;\n                    (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                    *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                    iVar11 = 1;\n                    iVar7 = 0;\n                  }\n                  else {\n                    iVar11 = iVar7 + 1;\n                  }\n                  puVar14 = puVar14 + 1;\n                  *(int *)(iVar6 + 0x100) = iVar11;\n                  *(undefined1 *)(iVar6 + iVar7) = uVar12;\n                  *(undefined1 *)(iVar6 + 0x104) = uVar12;\n                  if ((undefined1 *)(unaff_EDI + 0x264d4) == puVar14) goto LAB_002127e9;\n                  uVar12 = *puVar14;\n                  iVar7 = iVar11;\n                } while( true );\n              }\n              do {\n                if (uVar8 != 0x4c) {\n                  if (uVar8 < 0x4d) {\n                    if (4 < uVar8 - 0x1c) {\nLAB_0021277d:\n                      FUN_0020ca20();\n                      *(undefined4 *)(iVar6 + 0x110) = uVar3;\n                      return;\n                    }\n                  }\n                  else if (1 < uVar8 - 0x4e) goto LAB_0021277d;\n                }\nLAB_002127e9:\n                local_44 = (uint *)local_44[2];\n                uVar8 = *local_44;\n              } while( true );\n            }\n            FUN_00211980();\n            *(undefined4 *)(iVar6 + 0x110) = uVar3;\n          }\n        }" if (parenthesized_expression "(uVar8 != 0x4c)" ( (binary_expression "uVar8 != 0x4c" identifier != number_literal) )) (compound_statement "{\n          if (uVar8 < 0x4d) {\n            if (4 < uVar8 - 0x1c) goto LAB_00212668;\n          }\n          else if (1 < uVar8 - 0x4e) {\nLAB_00212668:\n            uVar3 = *(undefined4 *)(iVar6 + 0x110);\n            piVar4[2] = 1;\n            *(int *)(iVar6 + 0x110) = piVar4[3];\n            if (uVar8 == 0x29) {\n              FUN_00212300(*piVar4);\n              *(undefined4 *)(iVar6 + 0x110) = uVar3;\n              return;\n            }\n            if (uVar8 == 0x2a) {\n              FUN_00212a20(*piVar4);\n              *(undefined4 *)(iVar6 + 0x110) = uVar3;\n              return;\n            }\n            if (uVar8 == 2) {\n              uVar5 = *(undefined4 *)(iVar6 + 0x114);\n              *(undefined4 *)(iVar6 + 0x114) = 0;\n              FUN_0020ca20();\n              *(undefined4 *)(iVar6 + 0x114) = uVar5;\n              iVar7 = *(int *)(iVar6 + 0x100);\n              if ((uVar15 & 0x400000000) == 0) {\n                puVar14 = (undefined1 *)(unaff_EDI + 0x264d2);\n                uVar12 = 0x3a;\n                while( true ) {\n                  if (iVar7 == 0xff) {\n                    *(undefined1 *)(iVar6 + 0xff) = 0;\n                    (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                    *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                    iVar11 = 1;\n                    iVar7 = 0;\n                  }\n                  else {\n                    iVar11 = iVar7 + 1;\n                  }\n                  puVar14 = puVar14 + 1;\n                  *(int *)(iVar6 + 0x100) = iVar11;\n                  *(undefined1 *)(iVar6 + iVar7) = uVar12;\n                  *(undefined1 *)(iVar6 + 0x104) = uVar12;\n                  if (puVar14 == (undefined1 *)(unaff_EDI + 0x264d4)) break;\n                  uVar12 = *puVar14;\n                  iVar7 = iVar11;\n                }\n              }\n              else {\n                iVar11 = iVar7 + 1;\n                if (iVar7 == 0xff) {\n                  *(undefined1 *)(iVar6 + 0xff) = 0;\n                  (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                  *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                  iVar11 = 1;\n                  iVar7 = 0;\n                }\n                *(int *)(iVar6 + 0x100) = iVar11;\n                *(undefined1 *)(iVar6 + iVar7) = 0x2e;\n                *(undefined1 *)(iVar6 + 0x104) = 0x2e;\n              }\n              local_44 = *(uint **)(piVar4[1] + 0xc);\n              uVar8 = *local_44;\n              if (uVar8 == 0x46) {\n                cVar10 = (code)0x7b;\n                pcVar13 = ioctl + unaff_EDI + 4;\n                iVar7 = *(int *)(iVar6 + 0x100);\n                while( true ) {\n                  if (iVar7 == 0xff) {\n                    *(undefined1 *)(iVar6 + 0xff) = 0;\n                    (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                    *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                    iVar11 = 1;\n                    iVar7 = 0;\n                  }\n                  else {\n                    iVar11 = iVar7 + 1;\n                  }\n                  *(int *)(iVar6 + 0x100) = iVar11;\n                  *(code *)(iVar6 + iVar7) = cVar10;\n                  *(code *)(iVar6 + 0x104) = cVar10;\n                  if (pcVar13 == wcrtomb + unaff_EDI) break;\n                  cVar10 = *pcVar13;\n                  pcVar13 = pcVar13 + 1;\n                  iVar7 = iVar11;\n                }\n                __s = local_35;\n                sprintf(__s,(char *)((int)&__DT_REL[0x263a].r_offset + unaff_EDI + 2),\n                        local_44[3] + 1);\n                sVar9 = strlen(__s);\n                iVar7 = *(int *)(iVar6 + 0x100);\n                if (sVar9 != 0) {\n                  pcVar1 = __s + sVar9;\n                  iVar11 = iVar7;\n                  do {\n                    cVar2 = *__s;\n                    if (iVar11 == 0xff) {\n                      *(undefined1 *)(iVar6 + 0xff) = 0;\n                      (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                      *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                      iVar7 = 1;\n                      iVar11 = 0;\n                    }\n                    else {\n                      iVar7 = iVar11 + 1;\n                    }\n                    __s = __s + 1;\n                    *(int *)(iVar6 + 0x100) = iVar7;\n                    *(char *)(iVar6 + iVar11) = cVar2;\n                    *(char *)(iVar6 + 0x104) = cVar2;\n                    iVar11 = iVar7;\n                  } while (pcVar1 != __s);\n                }\n                puVar14 = (undefined1 *)(unaff_EDI + 0x264d1);\n                uVar12 = 0x7d;\n                do {\n                  if (iVar7 == 0xff) {\n                    *(undefined1 *)(iVar6 + 0xff) = 0;\n                    (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                    *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                    iVar11 = 1;\n                    iVar7 = 0;\n                  }\n                  else {\n                    iVar11 = iVar7 + 1;\n                  }\n                  puVar14 = puVar14 + 1;\n                  *(int *)(iVar6 + 0x100) = iVar11;\n                  *(undefined1 *)(iVar6 + iVar7) = uVar12;\n                  *(undefined1 *)(iVar6 + 0x104) = uVar12;\n                  if ((undefined1 *)(unaff_EDI + 0x264d4) == puVar14) goto LAB_002127e9;\n                  uVar12 = *puVar14;\n                  iVar7 = iVar11;\n                } while( true );\n              }\n              do {\n                if (uVar8 != 0x4c) {\n                  if (uVar8 < 0x4d) {\n                    if (4 < uVar8 - 0x1c) {\nLAB_0021277d:\n                      FUN_0020ca20();\n                      *(undefined4 *)(iVar6 + 0x110) = uVar3;\n                      return;\n                    }\n                  }\n                  else if (1 < uVar8 - 0x4e) goto LAB_0021277d;\n                }\nLAB_002127e9:\n                local_44 = (uint *)local_44[2];\n                uVar8 = *local_44;\n              } while( true );\n            }\n            FUN_00211980();\n            *(undefined4 *)(iVar6 + 0x110) = uVar3;\n          }\n        }" { (if_statement "if (uVar8 < 0x4d) {\n            if (4 < uVar8 - 0x1c) goto LAB_00212668;\n          }\n          else if (1 < uVar8 - 0x4e) {\nLAB_00212668:\n            uVar3 = *(undefined4 *)(iVar6 + 0x110);\n            piVar4[2] = 1;\n            *(int *)(iVar6 + 0x110) = piVar4[3];\n            if (uVar8 == 0x29) {\n              FUN_00212300(*piVar4);\n              *(undefined4 *)(iVar6 + 0x110) = uVar3;\n              return;\n            }\n            if (uVar8 == 0x2a) {\n              FUN_00212a20(*piVar4);\n              *(undefined4 *)(iVar6 + 0x110) = uVar3;\n              return;\n            }\n            if (uVar8 == 2) {\n              uVar5 = *(undefined4 *)(iVar6 + 0x114);\n              *(undefined4 *)(iVar6 + 0x114) = 0;\n              FUN_0020ca20();\n              *(undefined4 *)(iVar6 + 0x114) = uVar5;\n              iVar7 = *(int *)(iVar6 + 0x100);\n              if ((uVar15 & 0x400000000) == 0) {\n                puVar14 = (undefined1 *)(unaff_EDI + 0x264d2);\n                uVar12 = 0x3a;\n                while( true ) {\n                  if (iVar7 == 0xff) {\n                    *(undefined1 *)(iVar6 + 0xff) = 0;\n                    (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                    *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                    iVar11 = 1;\n                    iVar7 = 0;\n                  }\n                  else {\n                    iVar11 = iVar7 + 1;\n                  }\n                  puVar14 = puVar14 + 1;\n                  *(int *)(iVar6 + 0x100) = iVar11;\n                  *(undefined1 *)(iVar6 + iVar7) = uVar12;\n                  *(undefined1 *)(iVar6 + 0x104) = uVar12;\n                  if (puVar14 == (undefined1 *)(unaff_EDI + 0x264d4)) break;\n                  uVar12 = *puVar14;\n                  iVar7 = iVar11;\n                }\n              }\n              else {\n                iVar11 = iVar7 + 1;\n                if (iVar7 == 0xff) {\n                  *(undefined1 *)(iVar6 + 0xff) = 0;\n                  (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                  *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                  iVar11 = 1;\n                  iVar7 = 0;\n                }\n                *(int *)(iVar6 + 0x100) = iVar11;\n                *(undefined1 *)(iVar6 + iVar7) = 0x2e;\n                *(undefined1 *)(iVar6 + 0x104) = 0x2e;\n              }\n              local_44 = *(uint **)(piVar4[1] + 0xc);\n              uVar8 = *local_44;\n              if (uVar8 == 0x46) {\n                cVar10 = (code)0x7b;\n                pcVar13 = ioctl + unaff_EDI + 4;\n                iVar7 = *(int *)(iVar6 + 0x100);\n                while( true ) {\n                  if (iVar7 == 0xff) {\n                    *(undefined1 *)(iVar6 + 0xff) = 0;\n                    (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                    *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                    iVar11 = 1;\n                    iVar7 = 0;\n                  }\n                  else {\n                    iVar11 = iVar7 + 1;\n                  }\n                  *(int *)(iVar6 + 0x100) = iVar11;\n                  *(code *)(iVar6 + iVar7) = cVar10;\n                  *(code *)(iVar6 + 0x104) = cVar10;\n                  if (pcVar13 == wcrtomb + unaff_EDI) break;\n                  cVar10 = *pcVar13;\n                  pcVar13 = pcVar13 + 1;\n                  iVar7 = iVar11;\n                }\n                __s = local_35;\n                sprintf(__s,(char *)((int)&__DT_REL[0x263a].r_offset + unaff_EDI + 2),\n                        local_44[3] + 1);\n                sVar9 = strlen(__s);\n                iVar7 = *(int *)(iVar6 + 0x100);\n                if (sVar9 != 0) {\n                  pcVar1 = __s + sVar9;\n                  iVar11 = iVar7;\n                  do {\n                    cVar2 = *__s;\n                    if (iVar11 == 0xff) {\n                      *(undefined1 *)(iVar6 + 0xff) = 0;\n                      (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                      *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                      iVar7 = 1;\n                      iVar11 = 0;\n                    }\n                    else {\n                      iVar7 = iVar11 + 1;\n                    }\n                    __s = __s + 1;\n                    *(int *)(iVar6 + 0x100) = iVar7;\n                    *(char *)(iVar6 + iVar11) = cVar2;\n                    *(char *)(iVar6 + 0x104) = cVar2;\n                    iVar11 = iVar7;\n                  } while (pcVar1 != __s);\n                }\n                puVar14 = (undefined1 *)(unaff_EDI + 0x264d1);\n                uVar12 = 0x7d;\n                do {\n                  if (iVar7 == 0xff) {\n                    *(undefined1 *)(iVar6 + 0xff) = 0;\n                    (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                    *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                    iVar11 = 1;\n                    iVar7 = 0;\n                  }\n                  else {\n                    iVar11 = iVar7 + 1;\n                  }\n                  puVar14 = puVar14 + 1;\n                  *(int *)(iVar6 + 0x100) = iVar11;\n                  *(undefined1 *)(iVar6 + iVar7) = uVar12;\n                  *(undefined1 *)(iVar6 + 0x104) = uVar12;\n                  if ((undefined1 *)(unaff_EDI + 0x264d4) == puVar14) goto LAB_002127e9;\n                  uVar12 = *puVar14;\n                  iVar7 = iVar11;\n                } while( true );\n              }\n              do {\n                if (uVar8 != 0x4c) {\n                  if (uVar8 < 0x4d) {\n                    if (4 < uVar8 - 0x1c) {\nLAB_0021277d:\n                      FUN_0020ca20();\n                      *(undefined4 *)(iVar6 + 0x110) = uVar3;\n                      return;\n                    }\n                  }\n                  else if (1 < uVar8 - 0x4e) goto LAB_0021277d;\n                }\nLAB_002127e9:\n                local_44 = (uint *)local_44[2];\n                uVar8 = *local_44;\n              } while( true );\n            }\n            FUN_00211980();\n            *(undefined4 *)(iVar6 + 0x110) = uVar3;\n          }" if (parenthesized_expression "(uVar8 < 0x4d)" ( (binary_expression "uVar8 < 0x4d" identifier < number_literal) )) (compound_statement "{\n            if (4 < uVar8 - 0x1c) goto LAB_00212668;\n          }" { (if_statement "if (4 < uVar8 - 0x1c) goto LAB_00212668;" if (parenthesized_expression "(4 < uVar8 - 0x1c)" ( (binary_expression "4 < uVar8 - 0x1c" number_literal < (binary_expression "uVar8 - 0x1c" identifier - number_literal)) )) (goto_statement "goto LAB_00212668;" goto statement_identifier ;)) }) (else_clause "else if (1 < uVar8 - 0x4e) {\nLAB_00212668:\n            uVar3 = *(undefined4 *)(iVar6 + 0x110);\n            piVar4[2] = 1;\n            *(int *)(iVar6 + 0x110) = piVar4[3];\n            if (uVar8 == 0x29) {\n              FUN_00212300(*piVar4);\n              *(undefined4 *)(iVar6 + 0x110) = uVar3;\n              return;\n            }\n            if (uVar8 == 0x2a) {\n              FUN_00212a20(*piVar4);\n              *(undefined4 *)(iVar6 + 0x110) = uVar3;\n              return;\n            }\n            if (uVar8 == 2) {\n              uVar5 = *(undefined4 *)(iVar6 + 0x114);\n              *(undefined4 *)(iVar6 + 0x114) = 0;\n              FUN_0020ca20();\n              *(undefined4 *)(iVar6 + 0x114) = uVar5;\n              iVar7 = *(int *)(iVar6 + 0x100);\n              if ((uVar15 & 0x400000000) == 0) {\n                puVar14 = (undefined1 *)(unaff_EDI + 0x264d2);\n                uVar12 = 0x3a;\n                while( true ) {\n                  if (iVar7 == 0xff) {\n                    *(undefined1 *)(iVar6 + 0xff) = 0;\n                    (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                    *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                    iVar11 = 1;\n                    iVar7 = 0;\n                  }\n                  else {\n                    iVar11 = iVar7 + 1;\n                  }\n                  puVar14 = puVar14 + 1;\n                  *(int *)(iVar6 + 0x100) = iVar11;\n                  *(undefined1 *)(iVar6 + iVar7) = uVar12;\n                  *(undefined1 *)(iVar6 + 0x104) = uVar12;\n                  if (puVar14 == (undefined1 *)(unaff_EDI + 0x264d4)) break;\n                  uVar12 = *puVar14;\n                  iVar7 = iVar11;\n                }\n              }\n              else {\n                iVar11 = iVar7 + 1;\n                if (iVar7 == 0xff) {\n                  *(undefined1 *)(iVar6 + 0xff) = 0;\n                  (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                  *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                  iVar11 = 1;\n                  iVar7 = 0;\n                }\n                *(int *)(iVar6 + 0x100) = iVar11;\n                *(undefined1 *)(iVar6 + iVar7) = 0x2e;\n                *(undefined1 *)(iVar6 + 0x104) = 0x2e;\n              }\n              local_44 = *(uint **)(piVar4[1] + 0xc);\n              uVar8 = *local_44;\n              if (uVar8 == 0x46) {\n                cVar10 = (code)0x7b;\n                pcVar13 = ioctl + unaff_EDI + 4;\n                iVar7 = *(int *)(iVar6 + 0x100);\n                while( true ) {\n                  if (iVar7 == 0xff) {\n                    *(undefined1 *)(iVar6 + 0xff) = 0;\n                    (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                    *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                    iVar11 = 1;\n                    iVar7 = 0;\n                  }\n                  else {\n                    iVar11 = iVar7 + 1;\n                  }\n                  *(int *)(iVar6 + 0x100) = iVar11;\n                  *(code *)(iVar6 + iVar7) = cVar10;\n                  *(code *)(iVar6 + 0x104) = cVar10;\n                  if (pcVar13 == wcrtomb + unaff_EDI) break;\n                  cVar10 = *pcVar13;\n                  pcVar13 = pcVar13 + 1;\n                  iVar7 = iVar11;\n                }\n                __s = local_35;\n                sprintf(__s,(char *)((int)&__DT_REL[0x263a].r_offset + unaff_EDI + 2),\n                        local_44[3] + 1);\n                sVar9 = strlen(__s);\n                iVar7 = *(int *)(iVar6 + 0x100);\n                if (sVar9 != 0) {\n                  pcVar1 = __s + sVar9;\n                  iVar11 = iVar7;\n                  do {\n                    cVar2 = *__s;\n                    if (iVar11 == 0xff) {\n                      *(undefined1 *)(iVar6 + 0xff) = 0;\n                      (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                      *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                      iVar7 = 1;\n                      iVar11 = 0;\n                    }\n                    else {\n                      iVar7 = iVar11 + 1;\n                    }\n                    __s = __s + 1;\n                    *(int *)(iVar6 + 0x100) = iVar7;\n                    *(char *)(iVar6 + iVar11) = cVar2;\n                    *(char *)(iVar6 + 0x104) = cVar2;\n                    iVar11 = iVar7;\n                  } while (pcVar1 != __s);\n                }\n                puVar14 = (undefined1 *)(unaff_EDI + 0x264d1);\n                uVar12 = 0x7d;\n                do {\n                  if (iVar7 == 0xff) {\n                    *(undefined1 *)(iVar6 + 0xff) = 0;\n                    (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                    *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                    iVar11 = 1;\n                    iVar7 = 0;\n                  }\n                  else {\n                    iVar11 = iVar7 + 1;\n                  }\n                  puVar14 = puVar14 + 1;\n                  *(int *)(iVar6 + 0x100) = iVar11;\n                  *(undefined1 *)(iVar6 + iVar7) = uVar12;\n                  *(undefined1 *)(iVar6 + 0x104) = uVar12;\n                  if ((undefined1 *)(unaff_EDI + 0x264d4) == puVar14) goto LAB_002127e9;\n                  uVar12 = *puVar14;\n                  iVar7 = iVar11;\n                } while( true );\n              }\n              do {\n                if (uVar8 != 0x4c) {\n                  if (uVar8 < 0x4d) {\n                    if (4 < uVar8 - 0x1c) {\nLAB_0021277d:\n                      FUN_0020ca20();\n                      *(undefined4 *)(iVar6 + 0x110) = uVar3;\n                      return;\n                    }\n                  }\n                  else if (1 < uVar8 - 0x4e) goto LAB_0021277d;\n                }\nLAB_002127e9:\n                local_44 = (uint *)local_44[2];\n                uVar8 = *local_44;\n              } while( true );\n            }\n            FUN_00211980();\n            *(undefined4 *)(iVar6 + 0x110) = uVar3;\n          }" else (if_statement "if (1 < uVar8 - 0x4e) {\nLAB_00212668:\n            uVar3 = *(undefined4 *)(iVar6 + 0x110);\n            piVar4[2] = 1;\n            *(int *)(iVar6 + 0x110) = piVar4[3];\n            if (uVar8 == 0x29) {\n              FUN_00212300(*piVar4);\n              *(undefined4 *)(iVar6 + 0x110) = uVar3;\n              return;\n            }\n            if (uVar8 == 0x2a) {\n              FUN_00212a20(*piVar4);\n              *(undefined4 *)(iVar6 + 0x110) = uVar3;\n              return;\n            }\n            if (uVar8 == 2) {\n              uVar5 = *(undefined4 *)(iVar6 + 0x114);\n              *(undefined4 *)(iVar6 + 0x114) = 0;\n              FUN_0020ca20();\n              *(undefined4 *)(iVar6 + 0x114) = uVar5;\n              iVar7 = *(int *)(iVar6 + 0x100);\n              if ((uVar15 & 0x400000000) == 0) {\n                puVar14 = (undefined1 *)(unaff_EDI + 0x264d2);\n                uVar12 = 0x3a;\n                while( true ) {\n                  if (iVar7 == 0xff) {\n                    *(undefined1 *)(iVar6 + 0xff) = 0;\n                    (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                    *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                    iVar11 = 1;\n                    iVar7 = 0;\n                  }\n                  else {\n                    iVar11 = iVar7 + 1;\n                  }\n                  puVar14 = puVar14 + 1;\n                  *(int *)(iVar6 + 0x100) = iVar11;\n                  *(undefined1 *)(iVar6 + iVar7) = uVar12;\n                  *(undefined1 *)(iVar6 + 0x104) = uVar12;\n                  if (puVar14 == (undefined1 *)(unaff_EDI + 0x264d4)) break;\n                  uVar12 = *puVar14;\n                  iVar7 = iVar11;\n                }\n              }\n              else {\n                iVar11 = iVar7 + 1;\n                if (iVar7 == 0xff) {\n                  *(undefined1 *)(iVar6 + 0xff) = 0;\n                  (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                  *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                  iVar11 = 1;\n                  iVar7 = 0;\n                }\n                *(int *)(iVar6 + 0x100) = iVar11;\n                *(undefined1 *)(iVar6 + iVar7) = 0x2e;\n                *(undefined1 *)(iVar6 + 0x104) = 0x2e;\n              }\n              local_44 = *(uint **)(piVar4[1] + 0xc);\n              uVar8 = *local_44;\n              if (uVar8 == 0x46) {\n                cVar10 = (code)0x7b;\n                pcVar13 = ioctl + unaff_EDI + 4;\n                iVar7 = *(int *)(iVar6 + 0x100);\n                while( true ) {\n                  if (iVar7 == 0xff) {\n                    *(undefined1 *)(iVar6 + 0xff) = 0;\n                    (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                    *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                    iVar11 = 1;\n                    iVar7 = 0;\n                  }\n                  else {\n                    iVar11 = iVar7 + 1;\n                  }\n                  *(int *)(iVar6 + 0x100) = iVar11;\n                  *(code *)(iVar6 + iVar7) = cVar10;\n                  *(code *)(iVar6 + 0x104) = cVar10;\n                  if (pcVar13 == wcrtomb + unaff_EDI) break;\n                  cVar10 = *pcVar13;\n                  pcVar13 = pcVar13 + 1;\n                  iVar7 = iVar11;\n                }\n                __s = local_35;\n                sprintf(__s,(char *)((int)&__DT_REL[0x263a].r_offset + unaff_EDI + 2),\n                        local_44[3] + 1);\n                sVar9 = strlen(__s);\n                iVar7 = *(int *)(iVar6 + 0x100);\n                if (sVar9 != 0) {\n                  pcVar1 = __s + sVar9;\n                  iVar11 = iVar7;\n                  do {\n                    cVar2 = *__s;\n                    if (iVar11 == 0xff) {\n                      *(undefined1 *)(iVar6 + 0xff) = 0;\n                      (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                      *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                      iVar7 = 1;\n                      iVar11 = 0;\n                    }\n                    else {\n                      iVar7 = iVar11 + 1;\n                    }\n                    __s = __s + 1;\n                    *(int *)(iVar6 + 0x100) = iVar7;\n                    *(char *)(iVar6 + iVar11) = cVar2;\n                    *(char *)(iVar6 + 0x104) = cVar2;\n                    iVar11 = iVar7;\n                  } while (pcVar1 != __s);\n                }\n                puVar14 = (undefined1 *)(unaff_EDI + 0x264d1);\n                uVar12 = 0x7d;\n                do {\n                  if (iVar7 == 0xff) {\n                    *(undefined1 *)(iVar6 + 0xff) = 0;\n                    (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                    *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                    iVar11 = 1;\n                    iVar7 = 0;\n                  }\n                  else {\n                    iVar11 = iVar7 + 1;\n                  }\n                  puVar14 = puVar14 + 1;\n                  *(int *)(iVar6 + 0x100) = iVar11;\n                  *(undefined1 *)(iVar6 + iVar7) = uVar12;\n                  *(undefined1 *)(iVar6 + 0x104) = uVar12;\n                  if ((undefined1 *)(unaff_EDI + 0x264d4) == puVar14) goto LAB_002127e9;\n                  uVar12 = *puVar14;\n                  iVar7 = iVar11;\n                } while( true );\n              }\n              do {\n                if (uVar8 != 0x4c) {\n                  if (uVar8 < 0x4d) {\n                    if (4 < uVar8 - 0x1c) {\nLAB_0021277d:\n                      FUN_0020ca20();\n                      *(undefined4 *)(iVar6 + 0x110) = uVar3;\n                      return;\n                    }\n                  }\n                  else if (1 < uVar8 - 0x4e) goto LAB_0021277d;\n                }\nLAB_002127e9:\n                local_44 = (uint *)local_44[2];\n                uVar8 = *local_44;\n              } while( true );\n            }\n            FUN_00211980();\n            *(undefined4 *)(iVar6 + 0x110) = uVar3;\n          }" if (parenthesized_expression "(1 < uVar8 - 0x4e)" ( (binary_expression "1 < uVar8 - 0x4e" number_literal < (binary_expression "uVar8 - 0x4e" identifier - number_literal)) )) (compound_statement "{\nLAB_00212668:\n            uVar3 = *(undefined4 *)(iVar6 + 0x110);\n            piVar4[2] = 1;\n            *(int *)(iVar6 + 0x110) = piVar4[3];\n            if (uVar8 == 0x29) {\n              FUN_00212300(*piVar4);\n              *(undefined4 *)(iVar6 + 0x110) = uVar3;\n              return;\n            }\n            if (uVar8 == 0x2a) {\n              FUN_00212a20(*piVar4);\n              *(undefined4 *)(iVar6 + 0x110) = uVar3;\n              return;\n            }\n            if (uVar8 == 2) {\n              uVar5 = *(undefined4 *)(iVar6 + 0x114);\n              *(undefined4 *)(iVar6 + 0x114) = 0;\n              FUN_0020ca20();\n              *(undefined4 *)(iVar6 + 0x114) = uVar5;\n              iVar7 = *(int *)(iVar6 + 0x100);\n              if ((uVar15 & 0x400000000) == 0) {\n                puVar14 = (undefined1 *)(unaff_EDI + 0x264d2);\n                uVar12 = 0x3a;\n                while( true ) {\n                  if (iVar7 == 0xff) {\n                    *(undefined1 *)(iVar6 + 0xff) = 0;\n                    (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                    *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                    iVar11 = 1;\n                    iVar7 = 0;\n                  }\n                  else {\n                    iVar11 = iVar7 + 1;\n                  }\n                  puVar14 = puVar14 + 1;\n                  *(int *)(iVar6 + 0x100) = iVar11;\n                  *(undefined1 *)(iVar6 + iVar7) = uVar12;\n                  *(undefined1 *)(iVar6 + 0x104) = uVar12;\n                  if (puVar14 == (undefined1 *)(unaff_EDI + 0x264d4)) break;\n                  uVar12 = *puVar14;\n                  iVar7 = iVar11;\n                }\n              }\n              else {\n                iVar11 = iVar7 + 1;\n                if (iVar7 == 0xff) {\n                  *(undefined1 *)(iVar6 + 0xff) = 0;\n                  (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                  *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                  iVar11 = 1;\n                  iVar7 = 0;\n                }\n                *(int *)(iVar6 + 0x100) = iVar11;\n                *(undefined1 *)(iVar6 + iVar7) = 0x2e;\n                *(undefined1 *)(iVar6 + 0x104) = 0x2e;\n              }\n              local_44 = *(uint **)(piVar4[1] + 0xc);\n              uVar8 = *local_44;\n              if (uVar8 == 0x46) {\n                cVar10 = (code)0x7b;\n                pcVar13 = ioctl + unaff_EDI + 4;\n                iVar7 = *(int *)(iVar6 + 0x100);\n                while( true ) {\n                  if (iVar7 == 0xff) {\n                    *(undefined1 *)(iVar6 + 0xff) = 0;\n                    (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                    *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                    iVar11 = 1;\n                    iVar7 = 0;\n                  }\n                  else {\n                    iVar11 = iVar7 + 1;\n                  }\n                  *(int *)(iVar6 + 0x100) = iVar11;\n                  *(code *)(iVar6 + iVar7) = cVar10;\n                  *(code *)(iVar6 + 0x104) = cVar10;\n                  if (pcVar13 == wcrtomb + unaff_EDI) break;\n                  cVar10 = *pcVar13;\n                  pcVar13 = pcVar13 + 1;\n                  iVar7 = iVar11;\n                }\n                __s = local_35;\n                sprintf(__s,(char *)((int)&__DT_REL[0x263a].r_offset + unaff_EDI + 2),\n                        local_44[3] + 1);\n                sVar9 = strlen(__s);\n                iVar7 = *(int *)(iVar6 + 0x100);\n                if (sVar9 != 0) {\n                  pcVar1 = __s + sVar9;\n                  iVar11 = iVar7;\n                  do {\n                    cVar2 = *__s;\n                    if (iVar11 == 0xff) {\n                      *(undefined1 *)(iVar6 + 0xff) = 0;\n                      (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                      *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                      iVar7 = 1;\n                      iVar11 = 0;\n                    }\n                    else {\n                      iVar7 = iVar11 + 1;\n                    }\n                    __s = __s + 1;\n                    *(int *)(iVar6 + 0x100) = iVar7;\n                    *(char *)(iVar6 + iVar11) = cVar2;\n                    *(char *)(iVar6 + 0x104) = cVar2;\n                    iVar11 = iVar7;\n                  } while (pcVar1 != __s);\n                }\n                puVar14 = (undefined1 *)(unaff_EDI + 0x264d1);\n                uVar12 = 0x7d;\n                do {\n                  if (iVar7 == 0xff) {\n                    *(undefined1 *)(iVar6 + 0xff) = 0;\n                    (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                    *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                    iVar11 = 1;\n                    iVar7 = 0;\n                  }\n                  else {\n                    iVar11 = iVar7 + 1;\n                  }\n                  puVar14 = puVar14 + 1;\n                  *(int *)(iVar6 + 0x100) = iVar11;\n                  *(undefined1 *)(iVar6 + iVar7) = uVar12;\n                  *(undefined1 *)(iVar6 + 0x104) = uVar12;\n                  if ((undefined1 *)(unaff_EDI + 0x264d4) == puVar14) goto LAB_002127e9;\n                  uVar12 = *puVar14;\n                  iVar7 = iVar11;\n                } while( true );\n              }\n              do {\n                if (uVar8 != 0x4c) {\n                  if (uVar8 < 0x4d) {\n                    if (4 < uVar8 - 0x1c) {\nLAB_0021277d:\n                      FUN_0020ca20();\n                      *(undefined4 *)(iVar6 + 0x110) = uVar3;\n                      return;\n                    }\n                  }\n                  else if (1 < uVar8 - 0x4e) goto LAB_0021277d;\n                }\nLAB_002127e9:\n                local_44 = (uint *)local_44[2];\n                uVar8 = *local_44;\n              } while( true );\n            }\n            FUN_00211980();\n            *(undefined4 *)(iVar6 + 0x110) = uVar3;\n          }" { (labeled_statement "LAB_00212668:\n            uVar3 = *(undefined4 *)(iVar6 + 0x110);" statement_identifier : (expression_statement "uVar3 = *(undefined4 *)(iVar6 + 0x110);" (assignment_expression "uVar3 = *(undefined4 *)(iVar6 + 0x110)" identifier = (pointer_expression "*(undefined4 *)(iVar6 + 0x110)" * (cast_expression "(undefined4 *)(iVar6 + 0x110)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x110)" ( (binary_expression "iVar6 + 0x110" identifier + number_literal) ))))) ;)) (expression_statement "piVar4[2] = 1;" (assignment_expression "piVar4[2] = 1" (subscript_expression "piVar4[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*(int *)(iVar6 + 0x110) = piVar4[3];" (assignment_expression "*(int *)(iVar6 + 0x110) = piVar4[3]" (pointer_expression "*(int *)(iVar6 + 0x110)" * (cast_expression "(int *)(iVar6 + 0x110)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x110)" ( (binary_expression "iVar6 + 0x110" identifier + number_literal) )))) = (subscript_expression "piVar4[3]" identifier [ number_literal ])) ;) (if_statement "if (uVar8 == 0x29) {\n              FUN_00212300(*piVar4);\n              *(undefined4 *)(iVar6 + 0x110) = uVar3;\n              return;\n            }" if (parenthesized_expression "(uVar8 == 0x29)" ( (binary_expression "uVar8 == 0x29" identifier == number_literal) )) (compound_statement "{\n              FUN_00212300(*piVar4);\n              *(undefined4 *)(iVar6 + 0x110) = uVar3;\n              return;\n            }" { (expression_statement "FUN_00212300(*piVar4);" (call_expression "FUN_00212300(*piVar4)" identifier (argument_list "(*piVar4)" ( (pointer_expression "*piVar4" * identifier) ))) ;) (expression_statement "*(undefined4 *)(iVar6 + 0x110) = uVar3;" (assignment_expression "*(undefined4 *)(iVar6 + 0x110) = uVar3" (pointer_expression "*(undefined4 *)(iVar6 + 0x110)" * (cast_expression "(undefined4 *)(iVar6 + 0x110)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x110)" ( (binary_expression "iVar6 + 0x110" identifier + number_literal) )))) = identifier) ;) (return_statement "return;" return ;) })) (if_statement "if (uVar8 == 0x2a) {\n              FUN_00212a20(*piVar4);\n              *(undefined4 *)(iVar6 + 0x110) = uVar3;\n              return;\n            }" if (parenthesized_expression "(uVar8 == 0x2a)" ( (binary_expression "uVar8 == 0x2a" identifier == number_literal) )) (compound_statement "{\n              FUN_00212a20(*piVar4);\n              *(undefined4 *)(iVar6 + 0x110) = uVar3;\n              return;\n            }" { (expression_statement "FUN_00212a20(*piVar4);" (call_expression "FUN_00212a20(*piVar4)" identifier (argument_list "(*piVar4)" ( (pointer_expression "*piVar4" * identifier) ))) ;) (expression_statement "*(undefined4 *)(iVar6 + 0x110) = uVar3;" (assignment_expression "*(undefined4 *)(iVar6 + 0x110) = uVar3" (pointer_expression "*(undefined4 *)(iVar6 + 0x110)" * (cast_expression "(undefined4 *)(iVar6 + 0x110)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x110)" ( (binary_expression "iVar6 + 0x110" identifier + number_literal) )))) = identifier) ;) (return_statement "return;" return ;) })) (if_statement "if (uVar8 == 2) {\n              uVar5 = *(undefined4 *)(iVar6 + 0x114);\n              *(undefined4 *)(iVar6 + 0x114) = 0;\n              FUN_0020ca20();\n              *(undefined4 *)(iVar6 + 0x114) = uVar5;\n              iVar7 = *(int *)(iVar6 + 0x100);\n              if ((uVar15 & 0x400000000) == 0) {\n                puVar14 = (undefined1 *)(unaff_EDI + 0x264d2);\n                uVar12 = 0x3a;\n                while( true ) {\n                  if (iVar7 == 0xff) {\n                    *(undefined1 *)(iVar6 + 0xff) = 0;\n                    (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                    *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                    iVar11 = 1;\n                    iVar7 = 0;\n                  }\n                  else {\n                    iVar11 = iVar7 + 1;\n                  }\n                  puVar14 = puVar14 + 1;\n                  *(int *)(iVar6 + 0x100) = iVar11;\n                  *(undefined1 *)(iVar6 + iVar7) = uVar12;\n                  *(undefined1 *)(iVar6 + 0x104) = uVar12;\n                  if (puVar14 == (undefined1 *)(unaff_EDI + 0x264d4)) break;\n                  uVar12 = *puVar14;\n                  iVar7 = iVar11;\n                }\n              }\n              else {\n                iVar11 = iVar7 + 1;\n                if (iVar7 == 0xff) {\n                  *(undefined1 *)(iVar6 + 0xff) = 0;\n                  (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                  *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                  iVar11 = 1;\n                  iVar7 = 0;\n                }\n                *(int *)(iVar6 + 0x100) = iVar11;\n                *(undefined1 *)(iVar6 + iVar7) = 0x2e;\n                *(undefined1 *)(iVar6 + 0x104) = 0x2e;\n              }\n              local_44 = *(uint **)(piVar4[1] + 0xc);\n              uVar8 = *local_44;\n              if (uVar8 == 0x46) {\n                cVar10 = (code)0x7b;\n                pcVar13 = ioctl + unaff_EDI + 4;\n                iVar7 = *(int *)(iVar6 + 0x100);\n                while( true ) {\n                  if (iVar7 == 0xff) {\n                    *(undefined1 *)(iVar6 + 0xff) = 0;\n                    (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                    *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                    iVar11 = 1;\n                    iVar7 = 0;\n                  }\n                  else {\n                    iVar11 = iVar7 + 1;\n                  }\n                  *(int *)(iVar6 + 0x100) = iVar11;\n                  *(code *)(iVar6 + iVar7) = cVar10;\n                  *(code *)(iVar6 + 0x104) = cVar10;\n                  if (pcVar13 == wcrtomb + unaff_EDI) break;\n                  cVar10 = *pcVar13;\n                  pcVar13 = pcVar13 + 1;\n                  iVar7 = iVar11;\n                }\n                __s = local_35;\n                sprintf(__s,(char *)((int)&__DT_REL[0x263a].r_offset + unaff_EDI + 2),\n                        local_44[3] + 1);\n                sVar9 = strlen(__s);\n                iVar7 = *(int *)(iVar6 + 0x100);\n                if (sVar9 != 0) {\n                  pcVar1 = __s + sVar9;\n                  iVar11 = iVar7;\n                  do {\n                    cVar2 = *__s;\n                    if (iVar11 == 0xff) {\n                      *(undefined1 *)(iVar6 + 0xff) = 0;\n                      (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                      *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                      iVar7 = 1;\n                      iVar11 = 0;\n                    }\n                    else {\n                      iVar7 = iVar11 + 1;\n                    }\n                    __s = __s + 1;\n                    *(int *)(iVar6 + 0x100) = iVar7;\n                    *(char *)(iVar6 + iVar11) = cVar2;\n                    *(char *)(iVar6 + 0x104) = cVar2;\n                    iVar11 = iVar7;\n                  } while (pcVar1 != __s);\n                }\n                puVar14 = (undefined1 *)(unaff_EDI + 0x264d1);\n                uVar12 = 0x7d;\n                do {\n                  if (iVar7 == 0xff) {\n                    *(undefined1 *)(iVar6 + 0xff) = 0;\n                    (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                    *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                    iVar11 = 1;\n                    iVar7 = 0;\n                  }\n                  else {\n                    iVar11 = iVar7 + 1;\n                  }\n                  puVar14 = puVar14 + 1;\n                  *(int *)(iVar6 + 0x100) = iVar11;\n                  *(undefined1 *)(iVar6 + iVar7) = uVar12;\n                  *(undefined1 *)(iVar6 + 0x104) = uVar12;\n                  if ((undefined1 *)(unaff_EDI + 0x264d4) == puVar14) goto LAB_002127e9;\n                  uVar12 = *puVar14;\n                  iVar7 = iVar11;\n                } while( true );\n              }\n              do {\n                if (uVar8 != 0x4c) {\n                  if (uVar8 < 0x4d) {\n                    if (4 < uVar8 - 0x1c) {\nLAB_0021277d:\n                      FUN_0020ca20();\n                      *(undefined4 *)(iVar6 + 0x110) = uVar3;\n                      return;\n                    }\n                  }\n                  else if (1 < uVar8 - 0x4e) goto LAB_0021277d;\n                }\nLAB_002127e9:\n                local_44 = (uint *)local_44[2];\n                uVar8 = *local_44;\n              } while( true );\n            }" if (parenthesized_expression "(uVar8 == 2)" ( (binary_expression "uVar8 == 2" identifier == number_literal) )) (compound_statement "{\n              uVar5 = *(undefined4 *)(iVar6 + 0x114);\n              *(undefined4 *)(iVar6 + 0x114) = 0;\n              FUN_0020ca20();\n              *(undefined4 *)(iVar6 + 0x114) = uVar5;\n              iVar7 = *(int *)(iVar6 + 0x100);\n              if ((uVar15 & 0x400000000) == 0) {\n                puVar14 = (undefined1 *)(unaff_EDI + 0x264d2);\n                uVar12 = 0x3a;\n                while( true ) {\n                  if (iVar7 == 0xff) {\n                    *(undefined1 *)(iVar6 + 0xff) = 0;\n                    (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                    *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                    iVar11 = 1;\n                    iVar7 = 0;\n                  }\n                  else {\n                    iVar11 = iVar7 + 1;\n                  }\n                  puVar14 = puVar14 + 1;\n                  *(int *)(iVar6 + 0x100) = iVar11;\n                  *(undefined1 *)(iVar6 + iVar7) = uVar12;\n                  *(undefined1 *)(iVar6 + 0x104) = uVar12;\n                  if (puVar14 == (undefined1 *)(unaff_EDI + 0x264d4)) break;\n                  uVar12 = *puVar14;\n                  iVar7 = iVar11;\n                }\n              }\n              else {\n                iVar11 = iVar7 + 1;\n                if (iVar7 == 0xff) {\n                  *(undefined1 *)(iVar6 + 0xff) = 0;\n                  (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                  *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                  iVar11 = 1;\n                  iVar7 = 0;\n                }\n                *(int *)(iVar6 + 0x100) = iVar11;\n                *(undefined1 *)(iVar6 + iVar7) = 0x2e;\n                *(undefined1 *)(iVar6 + 0x104) = 0x2e;\n              }\n              local_44 = *(uint **)(piVar4[1] + 0xc);\n              uVar8 = *local_44;\n              if (uVar8 == 0x46) {\n                cVar10 = (code)0x7b;\n                pcVar13 = ioctl + unaff_EDI + 4;\n                iVar7 = *(int *)(iVar6 + 0x100);\n                while( true ) {\n                  if (iVar7 == 0xff) {\n                    *(undefined1 *)(iVar6 + 0xff) = 0;\n                    (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                    *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                    iVar11 = 1;\n                    iVar7 = 0;\n                  }\n                  else {\n                    iVar11 = iVar7 + 1;\n                  }\n                  *(int *)(iVar6 + 0x100) = iVar11;\n                  *(code *)(iVar6 + iVar7) = cVar10;\n                  *(code *)(iVar6 + 0x104) = cVar10;\n                  if (pcVar13 == wcrtomb + unaff_EDI) break;\n                  cVar10 = *pcVar13;\n                  pcVar13 = pcVar13 + 1;\n                  iVar7 = iVar11;\n                }\n                __s = local_35;\n                sprintf(__s,(char *)((int)&__DT_REL[0x263a].r_offset + unaff_EDI + 2),\n                        local_44[3] + 1);\n                sVar9 = strlen(__s);\n                iVar7 = *(int *)(iVar6 + 0x100);\n                if (sVar9 != 0) {\n                  pcVar1 = __s + sVar9;\n                  iVar11 = iVar7;\n                  do {\n                    cVar2 = *__s;\n                    if (iVar11 == 0xff) {\n                      *(undefined1 *)(iVar6 + 0xff) = 0;\n                      (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                      *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                      iVar7 = 1;\n                      iVar11 = 0;\n                    }\n                    else {\n                      iVar7 = iVar11 + 1;\n                    }\n                    __s = __s + 1;\n                    *(int *)(iVar6 + 0x100) = iVar7;\n                    *(char *)(iVar6 + iVar11) = cVar2;\n                    *(char *)(iVar6 + 0x104) = cVar2;\n                    iVar11 = iVar7;\n                  } while (pcVar1 != __s);\n                }\n                puVar14 = (undefined1 *)(unaff_EDI + 0x264d1);\n                uVar12 = 0x7d;\n                do {\n                  if (iVar7 == 0xff) {\n                    *(undefined1 *)(iVar6 + 0xff) = 0;\n                    (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                    *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                    iVar11 = 1;\n                    iVar7 = 0;\n                  }\n                  else {\n                    iVar11 = iVar7 + 1;\n                  }\n                  puVar14 = puVar14 + 1;\n                  *(int *)(iVar6 + 0x100) = iVar11;\n                  *(undefined1 *)(iVar6 + iVar7) = uVar12;\n                  *(undefined1 *)(iVar6 + 0x104) = uVar12;\n                  if ((undefined1 *)(unaff_EDI + 0x264d4) == puVar14) goto LAB_002127e9;\n                  uVar12 = *puVar14;\n                  iVar7 = iVar11;\n                } while( true );\n              }\n              do {\n                if (uVar8 != 0x4c) {\n                  if (uVar8 < 0x4d) {\n                    if (4 < uVar8 - 0x1c) {\nLAB_0021277d:\n                      FUN_0020ca20();\n                      *(undefined4 *)(iVar6 + 0x110) = uVar3;\n                      return;\n                    }\n                  }\n                  else if (1 < uVar8 - 0x4e) goto LAB_0021277d;\n                }\nLAB_002127e9:\n                local_44 = (uint *)local_44[2];\n                uVar8 = *local_44;\n              } while( true );\n            }" { (expression_statement "uVar5 = *(undefined4 *)(iVar6 + 0x114);" (assignment_expression "uVar5 = *(undefined4 *)(iVar6 + 0x114)" identifier = (pointer_expression "*(undefined4 *)(iVar6 + 0x114)" * (cast_expression "(undefined4 *)(iVar6 + 0x114)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x114)" ( (binary_expression "iVar6 + 0x114" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(iVar6 + 0x114) = 0;" (assignment_expression "*(undefined4 *)(iVar6 + 0x114) = 0" (pointer_expression "*(undefined4 *)(iVar6 + 0x114)" * (cast_expression "(undefined4 *)(iVar6 + 0x114)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x114)" ( (binary_expression "iVar6 + 0x114" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_0020ca20();" (call_expression "FUN_0020ca20()" identifier (argument_list "()" ( ))) ;) (expression_statement "*(undefined4 *)(iVar6 + 0x114) = uVar5;" (assignment_expression "*(undefined4 *)(iVar6 + 0x114) = uVar5" (pointer_expression "*(undefined4 *)(iVar6 + 0x114)" * (cast_expression "(undefined4 *)(iVar6 + 0x114)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x114)" ( (binary_expression "iVar6 + 0x114" identifier + number_literal) )))) = identifier) ;) (expression_statement "iVar7 = *(int *)(iVar6 + 0x100);" (assignment_expression "iVar7 = *(int *)(iVar6 + 0x100)" identifier = (pointer_expression "*(int *)(iVar6 + 0x100)" * (cast_expression "(int *)(iVar6 + 0x100)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x100)" ( (binary_expression "iVar6 + 0x100" identifier + number_literal) ))))) ;) (if_statement "if ((uVar15 & 0x400000000) == 0) {\n                puVar14 = (undefined1 *)(unaff_EDI + 0x264d2);\n                uVar12 = 0x3a;\n                while( true ) {\n                  if (iVar7 == 0xff) {\n                    *(undefined1 *)(iVar6 + 0xff) = 0;\n                    (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                    *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                    iVar11 = 1;\n                    iVar7 = 0;\n                  }\n                  else {\n                    iVar11 = iVar7 + 1;\n                  }\n                  puVar14 = puVar14 + 1;\n                  *(int *)(iVar6 + 0x100) = iVar11;\n                  *(undefined1 *)(iVar6 + iVar7) = uVar12;\n                  *(undefined1 *)(iVar6 + 0x104) = uVar12;\n                  if (puVar14 == (undefined1 *)(unaff_EDI + 0x264d4)) break;\n                  uVar12 = *puVar14;\n                  iVar7 = iVar11;\n                }\n              }\n              else {\n                iVar11 = iVar7 + 1;\n                if (iVar7 == 0xff) {\n                  *(undefined1 *)(iVar6 + 0xff) = 0;\n                  (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                  *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                  iVar11 = 1;\n                  iVar7 = 0;\n                }\n                *(int *)(iVar6 + 0x100) = iVar11;\n                *(undefined1 *)(iVar6 + iVar7) = 0x2e;\n                *(undefined1 *)(iVar6 + 0x104) = 0x2e;\n              }" if (parenthesized_expression "((uVar15 & 0x400000000) == 0)" ( (binary_expression "(uVar15 & 0x400000000) == 0" (parenthesized_expression "(uVar15 & 0x400000000)" ( (binary_expression "uVar15 & 0x400000000" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n                puVar14 = (undefined1 *)(unaff_EDI + 0x264d2);\n                uVar12 = 0x3a;\n                while( true ) {\n                  if (iVar7 == 0xff) {\n                    *(undefined1 *)(iVar6 + 0xff) = 0;\n                    (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                    *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                    iVar11 = 1;\n                    iVar7 = 0;\n                  }\n                  else {\n                    iVar11 = iVar7 + 1;\n                  }\n                  puVar14 = puVar14 + 1;\n                  *(int *)(iVar6 + 0x100) = iVar11;\n                  *(undefined1 *)(iVar6 + iVar7) = uVar12;\n                  *(undefined1 *)(iVar6 + 0x104) = uVar12;\n                  if (puVar14 == (undefined1 *)(unaff_EDI + 0x264d4)) break;\n                  uVar12 = *puVar14;\n                  iVar7 = iVar11;\n                }\n              }" { (expression_statement "puVar14 = (undefined1 *)(unaff_EDI + 0x264d2);" (assignment_expression "puVar14 = (undefined1 *)(unaff_EDI + 0x264d2)" identifier = (cast_expression "(undefined1 *)(unaff_EDI + 0x264d2)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EDI + 0x264d2)" ( (binary_expression "unaff_EDI + 0x264d2" identifier + number_literal) )))) ;) (expression_statement "uVar12 = 0x3a;" (assignment_expression "uVar12 = 0x3a" identifier = number_literal) ;) (while_statement "while( true ) {\n                  if (iVar7 == 0xff) {\n                    *(undefined1 *)(iVar6 + 0xff) = 0;\n                    (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                    *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                    iVar11 = 1;\n                    iVar7 = 0;\n                  }\n                  else {\n                    iVar11 = iVar7 + 1;\n                  }\n                  puVar14 = puVar14 + 1;\n                  *(int *)(iVar6 + 0x100) = iVar11;\n                  *(undefined1 *)(iVar6 + iVar7) = uVar12;\n                  *(undefined1 *)(iVar6 + 0x104) = uVar12;\n                  if (puVar14 == (undefined1 *)(unaff_EDI + 0x264d4)) break;\n                  uVar12 = *puVar14;\n                  iVar7 = iVar11;\n                }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n                  if (iVar7 == 0xff) {\n                    *(undefined1 *)(iVar6 + 0xff) = 0;\n                    (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                    *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                    iVar11 = 1;\n                    iVar7 = 0;\n                  }\n                  else {\n                    iVar11 = iVar7 + 1;\n                  }\n                  puVar14 = puVar14 + 1;\n                  *(int *)(iVar6 + 0x100) = iVar11;\n                  *(undefined1 *)(iVar6 + iVar7) = uVar12;\n                  *(undefined1 *)(iVar6 + 0x104) = uVar12;\n                  if (puVar14 == (undefined1 *)(unaff_EDI + 0x264d4)) break;\n                  uVar12 = *puVar14;\n                  iVar7 = iVar11;\n                }" { (if_statement "if (iVar7 == 0xff) {\n                    *(undefined1 *)(iVar6 + 0xff) = 0;\n                    (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                    *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                    iVar11 = 1;\n                    iVar7 = 0;\n                  }\n                  else {\n                    iVar11 = iVar7 + 1;\n                  }" if (parenthesized_expression "(iVar7 == 0xff)" ( (binary_expression "iVar7 == 0xff" identifier == number_literal) )) (compound_statement "{\n                    *(undefined1 *)(iVar6 + 0xff) = 0;\n                    (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                    *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                    iVar11 = 1;\n                    iVar7 = 0;\n                  }" { (expression_statement "*(undefined1 *)(iVar6 + 0xff) = 0;" (assignment_expression "*(undefined1 *)(iVar6 + 0xff) = 0" (pointer_expression "*(undefined1 *)(iVar6 + 0xff)" * (cast_expression "(undefined1 *)(iVar6 + 0xff)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0xff)" ( (binary_expression "iVar6 + 0xff" identifier + number_literal) )))) = number_literal) ;) (expression_statement "(**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));" (call_expression "(**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c))" (parenthesized_expression "(**(code **)(iVar6 + 0x108))" ( (pointer_expression "**(code **)(iVar6 + 0x108)" * (pointer_expression "*(code **)(iVar6 + 0x108)" * (cast_expression "(code **)(iVar6 + 0x108)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar6 + 0x108)" ( (binary_expression "iVar6 + 0x108" identifier + number_literal) ))))) )) (argument_list "(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c))" ( identifier , number_literal , (pointer_expression "*(undefined4 *)(iVar6 + 0x10c)" * (cast_expression "(undefined4 *)(iVar6 + 0x10c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x10c)" ( (binary_expression "iVar6 + 0x10c" identifier + number_literal) )))) ))) ;) (expression_statement "*(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;" (assignment_expression "*(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1" (pointer_expression "*(int *)(iVar6 + 0x128)" * (cast_expression "(int *)(iVar6 + 0x128)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x128)" ( (binary_expression "iVar6 + 0x128" identifier + number_literal) )))) = (binary_expression "*(int *)(iVar6 + 0x128) + 1" (pointer_expression "*(int *)(iVar6 + 0x128)" * (cast_expression "(int *)(iVar6 + 0x128)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x128)" ( (binary_expression "iVar6 + 0x128" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "iVar11 = 1;" (assignment_expression "iVar11 = 1" identifier = number_literal) ;) (expression_statement "iVar7 = 0;" (assignment_expression "iVar7 = 0" identifier = number_literal) ;) }) (else_clause "else {\n                    iVar11 = iVar7 + 1;\n                  }" else (compound_statement "{\n                    iVar11 = iVar7 + 1;\n                  }" { (expression_statement "iVar11 = iVar7 + 1;" (assignment_expression "iVar11 = iVar7 + 1" identifier = (binary_expression "iVar7 + 1" identifier + number_literal)) ;) }))) (expression_statement "puVar14 = puVar14 + 1;" (assignment_expression "puVar14 = puVar14 + 1" identifier = (binary_expression "puVar14 + 1" identifier + number_literal)) ;) (expression_statement "*(int *)(iVar6 + 0x100) = iVar11;" (assignment_expression "*(int *)(iVar6 + 0x100) = iVar11" (pointer_expression "*(int *)(iVar6 + 0x100)" * (cast_expression "(int *)(iVar6 + 0x100)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x100)" ( (binary_expression "iVar6 + 0x100" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined1 *)(iVar6 + iVar7) = uVar12;" (assignment_expression "*(undefined1 *)(iVar6 + iVar7) = uVar12" (pointer_expression "*(undefined1 *)(iVar6 + iVar7)" * (cast_expression "(undefined1 *)(iVar6 + iVar7)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + iVar7)" ( (binary_expression "iVar6 + iVar7" identifier + identifier) )))) = identifier) ;) (expression_statement "*(undefined1 *)(iVar6 + 0x104) = uVar12;" (assignment_expression "*(undefined1 *)(iVar6 + 0x104) = uVar12" (pointer_expression "*(undefined1 *)(iVar6 + 0x104)" * (cast_expression "(undefined1 *)(iVar6 + 0x104)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x104)" ( (binary_expression "iVar6 + 0x104" identifier + number_literal) )))) = identifier) ;) (if_statement "if (puVar14 == (undefined1 *)(unaff_EDI + 0x264d4)) break;" if (parenthesized_expression "(puVar14 == (undefined1 *)(unaff_EDI + 0x264d4))" ( (binary_expression "puVar14 == (undefined1 *)(unaff_EDI + 0x264d4)" identifier == (cast_expression "(undefined1 *)(unaff_EDI + 0x264d4)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EDI + 0x264d4)" ( (binary_expression "unaff_EDI + 0x264d4" identifier + number_literal) )))) )) (break_statement "break;" break ;)) (expression_statement "uVar12 = *puVar14;" (assignment_expression "uVar12 = *puVar14" identifier = (pointer_expression "*puVar14" * identifier)) ;) (expression_statement "iVar7 = iVar11;" (assignment_expression "iVar7 = iVar11" identifier = identifier) ;) })) }) (else_clause "else {\n                iVar11 = iVar7 + 1;\n                if (iVar7 == 0xff) {\n                  *(undefined1 *)(iVar6 + 0xff) = 0;\n                  (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                  *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                  iVar11 = 1;\n                  iVar7 = 0;\n                }\n                *(int *)(iVar6 + 0x100) = iVar11;\n                *(undefined1 *)(iVar6 + iVar7) = 0x2e;\n                *(undefined1 *)(iVar6 + 0x104) = 0x2e;\n              }" else (compound_statement "{\n                iVar11 = iVar7 + 1;\n                if (iVar7 == 0xff) {\n                  *(undefined1 *)(iVar6 + 0xff) = 0;\n                  (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                  *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                  iVar11 = 1;\n                  iVar7 = 0;\n                }\n                *(int *)(iVar6 + 0x100) = iVar11;\n                *(undefined1 *)(iVar6 + iVar7) = 0x2e;\n                *(undefined1 *)(iVar6 + 0x104) = 0x2e;\n              }" { (expression_statement "iVar11 = iVar7 + 1;" (assignment_expression "iVar11 = iVar7 + 1" identifier = (binary_expression "iVar7 + 1" identifier + number_literal)) ;) (if_statement "if (iVar7 == 0xff) {\n                  *(undefined1 *)(iVar6 + 0xff) = 0;\n                  (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                  *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                  iVar11 = 1;\n                  iVar7 = 0;\n                }" if (parenthesized_expression "(iVar7 == 0xff)" ( (binary_expression "iVar7 == 0xff" identifier == number_literal) )) (compound_statement "{\n                  *(undefined1 *)(iVar6 + 0xff) = 0;\n                  (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                  *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                  iVar11 = 1;\n                  iVar7 = 0;\n                }" { (expression_statement "*(undefined1 *)(iVar6 + 0xff) = 0;" (assignment_expression "*(undefined1 *)(iVar6 + 0xff) = 0" (pointer_expression "*(undefined1 *)(iVar6 + 0xff)" * (cast_expression "(undefined1 *)(iVar6 + 0xff)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0xff)" ( (binary_expression "iVar6 + 0xff" identifier + number_literal) )))) = number_literal) ;) (expression_statement "(**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));" (call_expression "(**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c))" (parenthesized_expression "(**(code **)(iVar6 + 0x108))" ( (pointer_expression "**(code **)(iVar6 + 0x108)" * (pointer_expression "*(code **)(iVar6 + 0x108)" * (cast_expression "(code **)(iVar6 + 0x108)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar6 + 0x108)" ( (binary_expression "iVar6 + 0x108" identifier + number_literal) ))))) )) (argument_list "(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c))" ( identifier , number_literal , (pointer_expression "*(undefined4 *)(iVar6 + 0x10c)" * (cast_expression "(undefined4 *)(iVar6 + 0x10c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x10c)" ( (binary_expression "iVar6 + 0x10c" identifier + number_literal) )))) ))) ;) (expression_statement "*(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;" (assignment_expression "*(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1" (pointer_expression "*(int *)(iVar6 + 0x128)" * (cast_expression "(int *)(iVar6 + 0x128)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x128)" ( (binary_expression "iVar6 + 0x128" identifier + number_literal) )))) = (binary_expression "*(int *)(iVar6 + 0x128) + 1" (pointer_expression "*(int *)(iVar6 + 0x128)" * (cast_expression "(int *)(iVar6 + 0x128)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x128)" ( (binary_expression "iVar6 + 0x128" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "iVar11 = 1;" (assignment_expression "iVar11 = 1" identifier = number_literal) ;) (expression_statement "iVar7 = 0;" (assignment_expression "iVar7 = 0" identifier = number_literal) ;) })) (expression_statement "*(int *)(iVar6 + 0x100) = iVar11;" (assignment_expression "*(int *)(iVar6 + 0x100) = iVar11" (pointer_expression "*(int *)(iVar6 + 0x100)" * (cast_expression "(int *)(iVar6 + 0x100)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x100)" ( (binary_expression "iVar6 + 0x100" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined1 *)(iVar6 + iVar7) = 0x2e;" (assignment_expression "*(undefined1 *)(iVar6 + iVar7) = 0x2e" (pointer_expression "*(undefined1 *)(iVar6 + iVar7)" * (cast_expression "(undefined1 *)(iVar6 + iVar7)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + iVar7)" ( (binary_expression "iVar6 + iVar7" identifier + identifier) )))) = number_literal) ;) (expression_statement "*(undefined1 *)(iVar6 + 0x104) = 0x2e;" (assignment_expression "*(undefined1 *)(iVar6 + 0x104) = 0x2e" (pointer_expression "*(undefined1 *)(iVar6 + 0x104)" * (cast_expression "(undefined1 *)(iVar6 + 0x104)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x104)" ( (binary_expression "iVar6 + 0x104" identifier + number_literal) )))) = number_literal) ;) }))) (expression_statement "local_44 = *(uint **)(piVar4[1] + 0xc);" (assignment_expression "local_44 = *(uint **)(piVar4[1] + 0xc)" identifier = (pointer_expression "*(uint **)(piVar4[1] + 0xc)" * (cast_expression "(uint **)(piVar4[1] + 0xc)" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(piVar4[1] + 0xc)" ( (binary_expression "piVar4[1] + 0xc" (subscript_expression "piVar4[1]" identifier [ number_literal ]) + number_literal) ))))) ;) (expression_statement "uVar8 = *local_44;" (assignment_expression "uVar8 = *local_44" identifier = (pointer_expression "*local_44" * identifier)) ;) (if_statement "if (uVar8 == 0x46) {\n                cVar10 = (code)0x7b;\n                pcVar13 = ioctl + unaff_EDI + 4;\n                iVar7 = *(int *)(iVar6 + 0x100);\n                while( true ) {\n                  if (iVar7 == 0xff) {\n                    *(undefined1 *)(iVar6 + 0xff) = 0;\n                    (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                    *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                    iVar11 = 1;\n                    iVar7 = 0;\n                  }\n                  else {\n                    iVar11 = iVar7 + 1;\n                  }\n                  *(int *)(iVar6 + 0x100) = iVar11;\n                  *(code *)(iVar6 + iVar7) = cVar10;\n                  *(code *)(iVar6 + 0x104) = cVar10;\n                  if (pcVar13 == wcrtomb + unaff_EDI) break;\n                  cVar10 = *pcVar13;\n                  pcVar13 = pcVar13 + 1;\n                  iVar7 = iVar11;\n                }\n                __s = local_35;\n                sprintf(__s,(char *)((int)&__DT_REL[0x263a].r_offset + unaff_EDI + 2),\n                        local_44[3] + 1);\n                sVar9 = strlen(__s);\n                iVar7 = *(int *)(iVar6 + 0x100);\n                if (sVar9 != 0) {\n                  pcVar1 = __s + sVar9;\n                  iVar11 = iVar7;\n                  do {\n                    cVar2 = *__s;\n                    if (iVar11 == 0xff) {\n                      *(undefined1 *)(iVar6 + 0xff) = 0;\n                      (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                      *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                      iVar7 = 1;\n                      iVar11 = 0;\n                    }\n                    else {\n                      iVar7 = iVar11 + 1;\n                    }\n                    __s = __s + 1;\n                    *(int *)(iVar6 + 0x100) = iVar7;\n                    *(char *)(iVar6 + iVar11) = cVar2;\n                    *(char *)(iVar6 + 0x104) = cVar2;\n                    iVar11 = iVar7;\n                  } while (pcVar1 != __s);\n                }\n                puVar14 = (undefined1 *)(unaff_EDI + 0x264d1);\n                uVar12 = 0x7d;\n                do {\n                  if (iVar7 == 0xff) {\n                    *(undefined1 *)(iVar6 + 0xff) = 0;\n                    (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                    *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                    iVar11 = 1;\n                    iVar7 = 0;\n                  }\n                  else {\n                    iVar11 = iVar7 + 1;\n                  }\n                  puVar14 = puVar14 + 1;\n                  *(int *)(iVar6 + 0x100) = iVar11;\n                  *(undefined1 *)(iVar6 + iVar7) = uVar12;\n                  *(undefined1 *)(iVar6 + 0x104) = uVar12;\n                  if ((undefined1 *)(unaff_EDI + 0x264d4) == puVar14) goto LAB_002127e9;\n                  uVar12 = *puVar14;\n                  iVar7 = iVar11;\n                } while( true );\n              }" if (parenthesized_expression "(uVar8 == 0x46)" ( (binary_expression "uVar8 == 0x46" identifier == number_literal) )) (compound_statement "{\n                cVar10 = (code)0x7b;\n                pcVar13 = ioctl + unaff_EDI + 4;\n                iVar7 = *(int *)(iVar6 + 0x100);\n                while( true ) {\n                  if (iVar7 == 0xff) {\n                    *(undefined1 *)(iVar6 + 0xff) = 0;\n                    (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                    *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                    iVar11 = 1;\n                    iVar7 = 0;\n                  }\n                  else {\n                    iVar11 = iVar7 + 1;\n                  }\n                  *(int *)(iVar6 + 0x100) = iVar11;\n                  *(code *)(iVar6 + iVar7) = cVar10;\n                  *(code *)(iVar6 + 0x104) = cVar10;\n                  if (pcVar13 == wcrtomb + unaff_EDI) break;\n                  cVar10 = *pcVar13;\n                  pcVar13 = pcVar13 + 1;\n                  iVar7 = iVar11;\n                }\n                __s = local_35;\n                sprintf(__s,(char *)((int)&__DT_REL[0x263a].r_offset + unaff_EDI + 2),\n                        local_44[3] + 1);\n                sVar9 = strlen(__s);\n                iVar7 = *(int *)(iVar6 + 0x100);\n                if (sVar9 != 0) {\n                  pcVar1 = __s + sVar9;\n                  iVar11 = iVar7;\n                  do {\n                    cVar2 = *__s;\n                    if (iVar11 == 0xff) {\n                      *(undefined1 *)(iVar6 + 0xff) = 0;\n                      (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                      *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                      iVar7 = 1;\n                      iVar11 = 0;\n                    }\n                    else {\n                      iVar7 = iVar11 + 1;\n                    }\n                    __s = __s + 1;\n                    *(int *)(iVar6 + 0x100) = iVar7;\n                    *(char *)(iVar6 + iVar11) = cVar2;\n                    *(char *)(iVar6 + 0x104) = cVar2;\n                    iVar11 = iVar7;\n                  } while (pcVar1 != __s);\n                }\n                puVar14 = (undefined1 *)(unaff_EDI + 0x264d1);\n                uVar12 = 0x7d;\n                do {\n                  if (iVar7 == 0xff) {\n                    *(undefined1 *)(iVar6 + 0xff) = 0;\n                    (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                    *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                    iVar11 = 1;\n                    iVar7 = 0;\n                  }\n                  else {\n                    iVar11 = iVar7 + 1;\n                  }\n                  puVar14 = puVar14 + 1;\n                  *(int *)(iVar6 + 0x100) = iVar11;\n                  *(undefined1 *)(iVar6 + iVar7) = uVar12;\n                  *(undefined1 *)(iVar6 + 0x104) = uVar12;\n                  if ((undefined1 *)(unaff_EDI + 0x264d4) == puVar14) goto LAB_002127e9;\n                  uVar12 = *puVar14;\n                  iVar7 = iVar11;\n                } while( true );\n              }" { (expression_statement "cVar10 = (code)0x7b;" (assignment_expression "cVar10 = (code)0x7b" identifier = (cast_expression "(code)0x7b" ( (type_descriptor "code" type_identifier) ) number_literal)) ;) (expression_statement "pcVar13 = ioctl + unaff_EDI + 4;" (assignment_expression "pcVar13 = ioctl + unaff_EDI + 4" identifier = (binary_expression "ioctl + unaff_EDI + 4" (binary_expression "ioctl + unaff_EDI" identifier + identifier) + number_literal)) ;) (expression_statement "iVar7 = *(int *)(iVar6 + 0x100);" (assignment_expression "iVar7 = *(int *)(iVar6 + 0x100)" identifier = (pointer_expression "*(int *)(iVar6 + 0x100)" * (cast_expression "(int *)(iVar6 + 0x100)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x100)" ( (binary_expression "iVar6 + 0x100" identifier + number_literal) ))))) ;) (while_statement "while( true ) {\n                  if (iVar7 == 0xff) {\n                    *(undefined1 *)(iVar6 + 0xff) = 0;\n                    (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                    *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                    iVar11 = 1;\n                    iVar7 = 0;\n                  }\n                  else {\n                    iVar11 = iVar7 + 1;\n                  }\n                  *(int *)(iVar6 + 0x100) = iVar11;\n                  *(code *)(iVar6 + iVar7) = cVar10;\n                  *(code *)(iVar6 + 0x104) = cVar10;\n                  if (pcVar13 == wcrtomb + unaff_EDI) break;\n                  cVar10 = *pcVar13;\n                  pcVar13 = pcVar13 + 1;\n                  iVar7 = iVar11;\n                }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n                  if (iVar7 == 0xff) {\n                    *(undefined1 *)(iVar6 + 0xff) = 0;\n                    (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                    *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                    iVar11 = 1;\n                    iVar7 = 0;\n                  }\n                  else {\n                    iVar11 = iVar7 + 1;\n                  }\n                  *(int *)(iVar6 + 0x100) = iVar11;\n                  *(code *)(iVar6 + iVar7) = cVar10;\n                  *(code *)(iVar6 + 0x104) = cVar10;\n                  if (pcVar13 == wcrtomb + unaff_EDI) break;\n                  cVar10 = *pcVar13;\n                  pcVar13 = pcVar13 + 1;\n                  iVar7 = iVar11;\n                }" { (if_statement "if (iVar7 == 0xff) {\n                    *(undefined1 *)(iVar6 + 0xff) = 0;\n                    (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                    *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                    iVar11 = 1;\n                    iVar7 = 0;\n                  }\n                  else {\n                    iVar11 = iVar7 + 1;\n                  }" if (parenthesized_expression "(iVar7 == 0xff)" ( (binary_expression "iVar7 == 0xff" identifier == number_literal) )) (compound_statement "{\n                    *(undefined1 *)(iVar6 + 0xff) = 0;\n                    (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                    *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                    iVar11 = 1;\n                    iVar7 = 0;\n                  }" { (expression_statement "*(undefined1 *)(iVar6 + 0xff) = 0;" (assignment_expression "*(undefined1 *)(iVar6 + 0xff) = 0" (pointer_expression "*(undefined1 *)(iVar6 + 0xff)" * (cast_expression "(undefined1 *)(iVar6 + 0xff)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0xff)" ( (binary_expression "iVar6 + 0xff" identifier + number_literal) )))) = number_literal) ;) (expression_statement "(**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));" (call_expression "(**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c))" (parenthesized_expression "(**(code **)(iVar6 + 0x108))" ( (pointer_expression "**(code **)(iVar6 + 0x108)" * (pointer_expression "*(code **)(iVar6 + 0x108)" * (cast_expression "(code **)(iVar6 + 0x108)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar6 + 0x108)" ( (binary_expression "iVar6 + 0x108" identifier + number_literal) ))))) )) (argument_list "(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c))" ( identifier , number_literal , (pointer_expression "*(undefined4 *)(iVar6 + 0x10c)" * (cast_expression "(undefined4 *)(iVar6 + 0x10c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x10c)" ( (binary_expression "iVar6 + 0x10c" identifier + number_literal) )))) ))) ;) (expression_statement "*(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;" (assignment_expression "*(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1" (pointer_expression "*(int *)(iVar6 + 0x128)" * (cast_expression "(int *)(iVar6 + 0x128)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x128)" ( (binary_expression "iVar6 + 0x128" identifier + number_literal) )))) = (binary_expression "*(int *)(iVar6 + 0x128) + 1" (pointer_expression "*(int *)(iVar6 + 0x128)" * (cast_expression "(int *)(iVar6 + 0x128)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x128)" ( (binary_expression "iVar6 + 0x128" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "iVar11 = 1;" (assignment_expression "iVar11 = 1" identifier = number_literal) ;) (expression_statement "iVar7 = 0;" (assignment_expression "iVar7 = 0" identifier = number_literal) ;) }) (else_clause "else {\n                    iVar11 = iVar7 + 1;\n                  }" else (compound_statement "{\n                    iVar11 = iVar7 + 1;\n                  }" { (expression_statement "iVar11 = iVar7 + 1;" (assignment_expression "iVar11 = iVar7 + 1" identifier = (binary_expression "iVar7 + 1" identifier + number_literal)) ;) }))) (expression_statement "*(int *)(iVar6 + 0x100) = iVar11;" (assignment_expression "*(int *)(iVar6 + 0x100) = iVar11" (pointer_expression "*(int *)(iVar6 + 0x100)" * (cast_expression "(int *)(iVar6 + 0x100)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x100)" ( (binary_expression "iVar6 + 0x100" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(code *)(iVar6 + iVar7) = cVar10;" (assignment_expression "*(code *)(iVar6 + iVar7) = cVar10" (pointer_expression "*(code *)(iVar6 + iVar7)" * (cast_expression "(code *)(iVar6 + iVar7)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + iVar7)" ( (binary_expression "iVar6 + iVar7" identifier + identifier) )))) = identifier) ;) (expression_statement "*(code *)(iVar6 + 0x104) = cVar10;" (assignment_expression "*(code *)(iVar6 + 0x104) = cVar10" (pointer_expression "*(code *)(iVar6 + 0x104)" * (cast_expression "(code *)(iVar6 + 0x104)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x104)" ( (binary_expression "iVar6 + 0x104" identifier + number_literal) )))) = identifier) ;) (if_statement "if (pcVar13 == wcrtomb + unaff_EDI) break;" if (parenthesized_expression "(pcVar13 == wcrtomb + unaff_EDI)" ( (binary_expression "pcVar13 == wcrtomb + unaff_EDI" identifier == (binary_expression "wcrtomb + unaff_EDI" identifier + identifier)) )) (break_statement "break;" break ;)) (expression_statement "cVar10 = *pcVar13;" (assignment_expression "cVar10 = *pcVar13" identifier = (pointer_expression "*pcVar13" * identifier)) ;) (expression_statement "pcVar13 = pcVar13 + 1;" (assignment_expression "pcVar13 = pcVar13 + 1" identifier = (binary_expression "pcVar13 + 1" identifier + number_literal)) ;) (expression_statement "iVar7 = iVar11;" (assignment_expression "iVar7 = iVar11" identifier = identifier) ;) })) (expression_statement "__s = local_35;" (assignment_expression "__s = local_35" identifier = identifier) ;) (expression_statement "sprintf(__s,(char *)((int)&__DT_REL[0x263a].r_offset + unaff_EDI + 2),\n                        local_44[3] + 1);" (call_expression "sprintf(__s,(char *)((int)&__DT_REL[0x263a].r_offset + unaff_EDI + 2),\n                        local_44[3] + 1)" identifier (argument_list "(__s,(char *)((int)&__DT_REL[0x263a].r_offset + unaff_EDI + 2),\n                        local_44[3] + 1)" ( identifier , (cast_expression "(char *)((int)&__DT_REL[0x263a].r_offset + unaff_EDI + 2)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&__DT_REL[0x263a].r_offset + unaff_EDI + 2)" ( (binary_expression "(int)&__DT_REL[0x263a].r_offset + unaff_EDI + 2" (binary_expression "(int)&__DT_REL[0x263a].r_offset + unaff_EDI" (cast_expression "(int)&__DT_REL[0x263a].r_offset" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&__DT_REL[0x263a].r_offset" & (field_expression "__DT_REL[0x263a].r_offset" (subscript_expression "__DT_REL[0x263a]" identifier [ number_literal ]) . field_identifier))) + identifier) + number_literal) ))) , (binary_expression "local_44[3] + 1" (subscript_expression "local_44[3]" identifier [ number_literal ]) + number_literal) ))) ;) (expression_statement "sVar9 = strlen(__s);" (assignment_expression "sVar9 = strlen(__s)" identifier = (call_expression "strlen(__s)" identifier (argument_list "(__s)" ( identifier )))) ;) (expression_statement "iVar7 = *(int *)(iVar6 + 0x100);" (assignment_expression "iVar7 = *(int *)(iVar6 + 0x100)" identifier = (pointer_expression "*(int *)(iVar6 + 0x100)" * (cast_expression "(int *)(iVar6 + 0x100)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x100)" ( (binary_expression "iVar6 + 0x100" identifier + number_literal) ))))) ;) (if_statement "if (sVar9 != 0) {\n                  pcVar1 = __s + sVar9;\n                  iVar11 = iVar7;\n                  do {\n                    cVar2 = *__s;\n                    if (iVar11 == 0xff) {\n                      *(undefined1 *)(iVar6 + 0xff) = 0;\n                      (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                      *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                      iVar7 = 1;\n                      iVar11 = 0;\n                    }\n                    else {\n                      iVar7 = iVar11 + 1;\n                    }\n                    __s = __s + 1;\n                    *(int *)(iVar6 + 0x100) = iVar7;\n                    *(char *)(iVar6 + iVar11) = cVar2;\n                    *(char *)(iVar6 + 0x104) = cVar2;\n                    iVar11 = iVar7;\n                  } while (pcVar1 != __s);\n                }" if (parenthesized_expression "(sVar9 != 0)" ( (binary_expression "sVar9 != 0" identifier != number_literal) )) (compound_statement "{\n                  pcVar1 = __s + sVar9;\n                  iVar11 = iVar7;\n                  do {\n                    cVar2 = *__s;\n                    if (iVar11 == 0xff) {\n                      *(undefined1 *)(iVar6 + 0xff) = 0;\n                      (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                      *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                      iVar7 = 1;\n                      iVar11 = 0;\n                    }\n                    else {\n                      iVar7 = iVar11 + 1;\n                    }\n                    __s = __s + 1;\n                    *(int *)(iVar6 + 0x100) = iVar7;\n                    *(char *)(iVar6 + iVar11) = cVar2;\n                    *(char *)(iVar6 + 0x104) = cVar2;\n                    iVar11 = iVar7;\n                  } while (pcVar1 != __s);\n                }" { (expression_statement "pcVar1 = __s + sVar9;" (assignment_expression "pcVar1 = __s + sVar9" identifier = (binary_expression "__s + sVar9" identifier + identifier)) ;) (expression_statement "iVar11 = iVar7;" (assignment_expression "iVar11 = iVar7" identifier = identifier) ;) (do_statement "do {\n                    cVar2 = *__s;\n                    if (iVar11 == 0xff) {\n                      *(undefined1 *)(iVar6 + 0xff) = 0;\n                      (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                      *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                      iVar7 = 1;\n                      iVar11 = 0;\n                    }\n                    else {\n                      iVar7 = iVar11 + 1;\n                    }\n                    __s = __s + 1;\n                    *(int *)(iVar6 + 0x100) = iVar7;\n                    *(char *)(iVar6 + iVar11) = cVar2;\n                    *(char *)(iVar6 + 0x104) = cVar2;\n                    iVar11 = iVar7;\n                  } while (pcVar1 != __s);" do (compound_statement "{\n                    cVar2 = *__s;\n                    if (iVar11 == 0xff) {\n                      *(undefined1 *)(iVar6 + 0xff) = 0;\n                      (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                      *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                      iVar7 = 1;\n                      iVar11 = 0;\n                    }\n                    else {\n                      iVar7 = iVar11 + 1;\n                    }\n                    __s = __s + 1;\n                    *(int *)(iVar6 + 0x100) = iVar7;\n                    *(char *)(iVar6 + iVar11) = cVar2;\n                    *(char *)(iVar6 + 0x104) = cVar2;\n                    iVar11 = iVar7;\n                  }" { (expression_statement "cVar2 = *__s;" (assignment_expression "cVar2 = *__s" identifier = (pointer_expression "*__s" * identifier)) ;) (if_statement "if (iVar11 == 0xff) {\n                      *(undefined1 *)(iVar6 + 0xff) = 0;\n                      (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                      *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                      iVar7 = 1;\n                      iVar11 = 0;\n                    }\n                    else {\n                      iVar7 = iVar11 + 1;\n                    }" if (parenthesized_expression "(iVar11 == 0xff)" ( (binary_expression "iVar11 == 0xff" identifier == number_literal) )) (compound_statement "{\n                      *(undefined1 *)(iVar6 + 0xff) = 0;\n                      (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                      *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                      iVar7 = 1;\n                      iVar11 = 0;\n                    }" { (expression_statement "*(undefined1 *)(iVar6 + 0xff) = 0;" (assignment_expression "*(undefined1 *)(iVar6 + 0xff) = 0" (pointer_expression "*(undefined1 *)(iVar6 + 0xff)" * (cast_expression "(undefined1 *)(iVar6 + 0xff)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0xff)" ( (binary_expression "iVar6 + 0xff" identifier + number_literal) )))) = number_literal) ;) (expression_statement "(**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));" (call_expression "(**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c))" (parenthesized_expression "(**(code **)(iVar6 + 0x108))" ( (pointer_expression "**(code **)(iVar6 + 0x108)" * (pointer_expression "*(code **)(iVar6 + 0x108)" * (cast_expression "(code **)(iVar6 + 0x108)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar6 + 0x108)" ( (binary_expression "iVar6 + 0x108" identifier + number_literal) ))))) )) (argument_list "(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c))" ( identifier , number_literal , (pointer_expression "*(undefined4 *)(iVar6 + 0x10c)" * (cast_expression "(undefined4 *)(iVar6 + 0x10c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x10c)" ( (binary_expression "iVar6 + 0x10c" identifier + number_literal) )))) ))) ;) (expression_statement "*(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;" (assignment_expression "*(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1" (pointer_expression "*(int *)(iVar6 + 0x128)" * (cast_expression "(int *)(iVar6 + 0x128)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x128)" ( (binary_expression "iVar6 + 0x128" identifier + number_literal) )))) = (binary_expression "*(int *)(iVar6 + 0x128) + 1" (pointer_expression "*(int *)(iVar6 + 0x128)" * (cast_expression "(int *)(iVar6 + 0x128)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x128)" ( (binary_expression "iVar6 + 0x128" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "iVar7 = 1;" (assignment_expression "iVar7 = 1" identifier = number_literal) ;) (expression_statement "iVar11 = 0;" (assignment_expression "iVar11 = 0" identifier = number_literal) ;) }) (else_clause "else {\n                      iVar7 = iVar11 + 1;\n                    }" else (compound_statement "{\n                      iVar7 = iVar11 + 1;\n                    }" { (expression_statement "iVar7 = iVar11 + 1;" (assignment_expression "iVar7 = iVar11 + 1" identifier = (binary_expression "iVar11 + 1" identifier + number_literal)) ;) }))) (expression_statement "__s = __s + 1;" (assignment_expression "__s = __s + 1" identifier = (binary_expression "__s + 1" identifier + number_literal)) ;) (expression_statement "*(int *)(iVar6 + 0x100) = iVar7;" (assignment_expression "*(int *)(iVar6 + 0x100) = iVar7" (pointer_expression "*(int *)(iVar6 + 0x100)" * (cast_expression "(int *)(iVar6 + 0x100)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x100)" ( (binary_expression "iVar6 + 0x100" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(char *)(iVar6 + iVar11) = cVar2;" (assignment_expression "*(char *)(iVar6 + iVar11) = cVar2" (pointer_expression "*(char *)(iVar6 + iVar11)" * (cast_expression "(char *)(iVar6 + iVar11)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + iVar11)" ( (binary_expression "iVar6 + iVar11" identifier + identifier) )))) = identifier) ;) (expression_statement "*(char *)(iVar6 + 0x104) = cVar2;" (assignment_expression "*(char *)(iVar6 + 0x104) = cVar2" (pointer_expression "*(char *)(iVar6 + 0x104)" * (cast_expression "(char *)(iVar6 + 0x104)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x104)" ( (binary_expression "iVar6 + 0x104" identifier + number_literal) )))) = identifier) ;) (expression_statement "iVar11 = iVar7;" (assignment_expression "iVar11 = iVar7" identifier = identifier) ;) }) while (parenthesized_expression "(pcVar1 != __s)" ( (binary_expression "pcVar1 != __s" identifier != identifier) )) ;) })) (expression_statement "puVar14 = (undefined1 *)(unaff_EDI + 0x264d1);" (assignment_expression "puVar14 = (undefined1 *)(unaff_EDI + 0x264d1)" identifier = (cast_expression "(undefined1 *)(unaff_EDI + 0x264d1)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EDI + 0x264d1)" ( (binary_expression "unaff_EDI + 0x264d1" identifier + number_literal) )))) ;) (expression_statement "uVar12 = 0x7d;" (assignment_expression "uVar12 = 0x7d" identifier = number_literal) ;) (do_statement "do {\n                  if (iVar7 == 0xff) {\n                    *(undefined1 *)(iVar6 + 0xff) = 0;\n                    (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                    *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                    iVar11 = 1;\n                    iVar7 = 0;\n                  }\n                  else {\n                    iVar11 = iVar7 + 1;\n                  }\n                  puVar14 = puVar14 + 1;\n                  *(int *)(iVar6 + 0x100) = iVar11;\n                  *(undefined1 *)(iVar6 + iVar7) = uVar12;\n                  *(undefined1 *)(iVar6 + 0x104) = uVar12;\n                  if ((undefined1 *)(unaff_EDI + 0x264d4) == puVar14) goto LAB_002127e9;\n                  uVar12 = *puVar14;\n                  iVar7 = iVar11;\n                } while( true );" do (compound_statement "{\n                  if (iVar7 == 0xff) {\n                    *(undefined1 *)(iVar6 + 0xff) = 0;\n                    (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                    *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                    iVar11 = 1;\n                    iVar7 = 0;\n                  }\n                  else {\n                    iVar11 = iVar7 + 1;\n                  }\n                  puVar14 = puVar14 + 1;\n                  *(int *)(iVar6 + 0x100) = iVar11;\n                  *(undefined1 *)(iVar6 + iVar7) = uVar12;\n                  *(undefined1 *)(iVar6 + 0x104) = uVar12;\n                  if ((undefined1 *)(unaff_EDI + 0x264d4) == puVar14) goto LAB_002127e9;\n                  uVar12 = *puVar14;\n                  iVar7 = iVar11;\n                }" { (if_statement "if (iVar7 == 0xff) {\n                    *(undefined1 *)(iVar6 + 0xff) = 0;\n                    (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                    *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                    iVar11 = 1;\n                    iVar7 = 0;\n                  }\n                  else {\n                    iVar11 = iVar7 + 1;\n                  }" if (parenthesized_expression "(iVar7 == 0xff)" ( (binary_expression "iVar7 == 0xff" identifier == number_literal) )) (compound_statement "{\n                    *(undefined1 *)(iVar6 + 0xff) = 0;\n                    (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                    *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                    iVar11 = 1;\n                    iVar7 = 0;\n                  }" { (expression_statement "*(undefined1 *)(iVar6 + 0xff) = 0;" (assignment_expression "*(undefined1 *)(iVar6 + 0xff) = 0" (pointer_expression "*(undefined1 *)(iVar6 + 0xff)" * (cast_expression "(undefined1 *)(iVar6 + 0xff)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0xff)" ( (binary_expression "iVar6 + 0xff" identifier + number_literal) )))) = number_literal) ;) (expression_statement "(**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));" (call_expression "(**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c))" (parenthesized_expression "(**(code **)(iVar6 + 0x108))" ( (pointer_expression "**(code **)(iVar6 + 0x108)" * (pointer_expression "*(code **)(iVar6 + 0x108)" * (cast_expression "(code **)(iVar6 + 0x108)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar6 + 0x108)" ( (binary_expression "iVar6 + 0x108" identifier + number_literal) ))))) )) (argument_list "(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c))" ( identifier , number_literal , (pointer_expression "*(undefined4 *)(iVar6 + 0x10c)" * (cast_expression "(undefined4 *)(iVar6 + 0x10c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x10c)" ( (binary_expression "iVar6 + 0x10c" identifier + number_literal) )))) ))) ;) (expression_statement "*(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;" (assignment_expression "*(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1" (pointer_expression "*(int *)(iVar6 + 0x128)" * (cast_expression "(int *)(iVar6 + 0x128)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x128)" ( (binary_expression "iVar6 + 0x128" identifier + number_literal) )))) = (binary_expression "*(int *)(iVar6 + 0x128) + 1" (pointer_expression "*(int *)(iVar6 + 0x128)" * (cast_expression "(int *)(iVar6 + 0x128)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x128)" ( (binary_expression "iVar6 + 0x128" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "iVar11 = 1;" (assignment_expression "iVar11 = 1" identifier = number_literal) ;) (expression_statement "iVar7 = 0;" (assignment_expression "iVar7 = 0" identifier = number_literal) ;) }) (else_clause "else {\n                    iVar11 = iVar7 + 1;\n                  }" else (compound_statement "{\n                    iVar11 = iVar7 + 1;\n                  }" { (expression_statement "iVar11 = iVar7 + 1;" (assignment_expression "iVar11 = iVar7 + 1" identifier = (binary_expression "iVar7 + 1" identifier + number_literal)) ;) }))) (expression_statement "puVar14 = puVar14 + 1;" (assignment_expression "puVar14 = puVar14 + 1" identifier = (binary_expression "puVar14 + 1" identifier + number_literal)) ;) (expression_statement "*(int *)(iVar6 + 0x100) = iVar11;" (assignment_expression "*(int *)(iVar6 + 0x100) = iVar11" (pointer_expression "*(int *)(iVar6 + 0x100)" * (cast_expression "(int *)(iVar6 + 0x100)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x100)" ( (binary_expression "iVar6 + 0x100" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined1 *)(iVar6 + iVar7) = uVar12;" (assignment_expression "*(undefined1 *)(iVar6 + iVar7) = uVar12" (pointer_expression "*(undefined1 *)(iVar6 + iVar7)" * (cast_expression "(undefined1 *)(iVar6 + iVar7)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + iVar7)" ( (binary_expression "iVar6 + iVar7" identifier + identifier) )))) = identifier) ;) (expression_statement "*(undefined1 *)(iVar6 + 0x104) = uVar12;" (assignment_expression "*(undefined1 *)(iVar6 + 0x104) = uVar12" (pointer_expression "*(undefined1 *)(iVar6 + 0x104)" * (cast_expression "(undefined1 *)(iVar6 + 0x104)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x104)" ( (binary_expression "iVar6 + 0x104" identifier + number_literal) )))) = identifier) ;) (if_statement "if ((undefined1 *)(unaff_EDI + 0x264d4) == puVar14) goto LAB_002127e9;" if (parenthesized_expression "((undefined1 *)(unaff_EDI + 0x264d4) == puVar14)" ( (binary_expression "(undefined1 *)(unaff_EDI + 0x264d4) == puVar14" (cast_expression "(undefined1 *)(unaff_EDI + 0x264d4)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EDI + 0x264d4)" ( (binary_expression "unaff_EDI + 0x264d4" identifier + number_literal) ))) == identifier) )) (goto_statement "goto LAB_002127e9;" goto statement_identifier ;)) (expression_statement "uVar12 = *puVar14;" (assignment_expression "uVar12 = *puVar14" identifier = (pointer_expression "*puVar14" * identifier)) ;) (expression_statement "iVar7 = iVar11;" (assignment_expression "iVar7 = iVar11" identifier = identifier) ;) }) while (parenthesized_expression "( true )" ( true )) ;) })) (do_statement "do {\n                if (uVar8 != 0x4c) {\n                  if (uVar8 < 0x4d) {\n                    if (4 < uVar8 - 0x1c) {\nLAB_0021277d:\n                      FUN_0020ca20();\n                      *(undefined4 *)(iVar6 + 0x110) = uVar3;\n                      return;\n                    }\n                  }\n                  else if (1 < uVar8 - 0x4e) goto LAB_0021277d;\n                }\nLAB_002127e9:\n                local_44 = (uint *)local_44[2];\n                uVar8 = *local_44;\n              } while( true );" do (compound_statement "{\n                if (uVar8 != 0x4c) {\n                  if (uVar8 < 0x4d) {\n                    if (4 < uVar8 - 0x1c) {\nLAB_0021277d:\n                      FUN_0020ca20();\n                      *(undefined4 *)(iVar6 + 0x110) = uVar3;\n                      return;\n                    }\n                  }\n                  else if (1 < uVar8 - 0x4e) goto LAB_0021277d;\n                }\nLAB_002127e9:\n                local_44 = (uint *)local_44[2];\n                uVar8 = *local_44;\n              }" { (if_statement "if (uVar8 != 0x4c) {\n                  if (uVar8 < 0x4d) {\n                    if (4 < uVar8 - 0x1c) {\nLAB_0021277d:\n                      FUN_0020ca20();\n                      *(undefined4 *)(iVar6 + 0x110) = uVar3;\n                      return;\n                    }\n                  }\n                  else if (1 < uVar8 - 0x4e) goto LAB_0021277d;\n                }" if (parenthesized_expression "(uVar8 != 0x4c)" ( (binary_expression "uVar8 != 0x4c" identifier != number_literal) )) (compound_statement "{\n                  if (uVar8 < 0x4d) {\n                    if (4 < uVar8 - 0x1c) {\nLAB_0021277d:\n                      FUN_0020ca20();\n                      *(undefined4 *)(iVar6 + 0x110) = uVar3;\n                      return;\n                    }\n                  }\n                  else if (1 < uVar8 - 0x4e) goto LAB_0021277d;\n                }" { (if_statement "if (uVar8 < 0x4d) {\n                    if (4 < uVar8 - 0x1c) {\nLAB_0021277d:\n                      FUN_0020ca20();\n                      *(undefined4 *)(iVar6 + 0x110) = uVar3;\n                      return;\n                    }\n                  }\n                  else if (1 < uVar8 - 0x4e) goto LAB_0021277d;" if (parenthesized_expression "(uVar8 < 0x4d)" ( (binary_expression "uVar8 < 0x4d" identifier < number_literal) )) (compound_statement "{\n                    if (4 < uVar8 - 0x1c) {\nLAB_0021277d:\n                      FUN_0020ca20();\n                      *(undefined4 *)(iVar6 + 0x110) = uVar3;\n                      return;\n                    }\n                  }" { (if_statement "if (4 < uVar8 - 0x1c) {\nLAB_0021277d:\n                      FUN_0020ca20();\n                      *(undefined4 *)(iVar6 + 0x110) = uVar3;\n                      return;\n                    }" if (parenthesized_expression "(4 < uVar8 - 0x1c)" ( (binary_expression "4 < uVar8 - 0x1c" number_literal < (binary_expression "uVar8 - 0x1c" identifier - number_literal)) )) (compound_statement "{\nLAB_0021277d:\n                      FUN_0020ca20();\n                      *(undefined4 *)(iVar6 + 0x110) = uVar3;\n                      return;\n                    }" { (labeled_statement "LAB_0021277d:\n                      FUN_0020ca20();" statement_identifier : (expression_statement "FUN_0020ca20();" (call_expression "FUN_0020ca20()" identifier (argument_list "()" ( ))) ;)) (expression_statement "*(undefined4 *)(iVar6 + 0x110) = uVar3;" (assignment_expression "*(undefined4 *)(iVar6 + 0x110) = uVar3" (pointer_expression "*(undefined4 *)(iVar6 + 0x110)" * (cast_expression "(undefined4 *)(iVar6 + 0x110)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x110)" ( (binary_expression "iVar6 + 0x110" identifier + number_literal) )))) = identifier) ;) (return_statement "return;" return ;) })) }) (else_clause "else if (1 < uVar8 - 0x4e) goto LAB_0021277d;" else (if_statement "if (1 < uVar8 - 0x4e) goto LAB_0021277d;" if (parenthesized_expression "(1 < uVar8 - 0x4e)" ( (binary_expression "1 < uVar8 - 0x4e" number_literal < (binary_expression "uVar8 - 0x4e" identifier - number_literal)) )) (goto_statement "goto LAB_0021277d;" goto statement_identifier ;)))) })) (labeled_statement "LAB_002127e9:\n                local_44 = (uint *)local_44[2];" statement_identifier : (expression_statement "local_44 = (uint *)local_44[2];" (assignment_expression "local_44 = (uint *)local_44[2]" identifier = (cast_expression "(uint *)local_44[2]" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "local_44[2]" identifier [ number_literal ]))) ;)) (expression_statement "uVar8 = *local_44;" (assignment_expression "uVar8 = *local_44" identifier = (pointer_expression "*local_44" * identifier)) ;) }) while (parenthesized_expression "( true )" ( true )) ;) })) (expression_statement "FUN_00211980();" (call_expression "FUN_00211980()" identifier (argument_list "()" ( ))) ;) (expression_statement "*(undefined4 *)(iVar6 + 0x110) = uVar3;" (assignment_expression "*(undefined4 *)(iVar6 + 0x110) = uVar3" (pointer_expression "*(undefined4 *)(iVar6 + 0x110)" * (cast_expression "(undefined4 *)(iVar6 + 0x110)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x110)" ( (binary_expression "iVar6 + 0x110" identifier + number_literal) )))) = identifier) ;) })))) })) })) (expression_statement "piVar4 = (int *)*piVar4;" (assignment_expression "piVar4 = (int *)*piVar4" identifier = (cast_expression "(int *)*piVar4" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar4" * identifier))) ;) (if_statement "if (piVar4 == (int *)0x0) {\n        return;\n      }" if (parenthesized_expression "(piVar4 == (int *)0x0)" ( (binary_expression "piVar4 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        return;\n      }" { (return_statement "return;" return ;) })) (expression_statement "iVar7 = *(int *)(iVar6 + 0x118);" (assignment_expression "iVar7 = *(int *)(iVar6 + 0x118)" identifier = (pointer_expression "*(int *)(iVar6 + 0x118)" * (cast_expression "(int *)(iVar6 + 0x118)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x118)" ( (binary_expression "iVar6 + 0x118" identifier + number_literal) ))))) ;) })) })) (return_statement "return;" return ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE IDENT) ))) (compound_statement { (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (while_statement while (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ])))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression LIT < (binary_expression IDENT - LIT)) )) (goto_statement goto statement_identifier ;)) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression LIT < (binary_expression IDENT - LIT)) )) (compound_statement { (labeled_statement statement_identifier : (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 (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (subscript_expression IDENT [ LIT ])) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (pointer_expression * IDENT) ))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (return_statement return ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (pointer_expression * IDENT) ))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (return_statement return ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (while_statement while (parenthesized_expression ( BOOL )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (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 ( IDENT , LIT , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }))) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + IDENT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) })) }) (else_clause else (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 (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , LIT , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) })) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + IDENT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) }))) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + IDENT) + LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (while_statement while (parenthesized_expression ( BOOL )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (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 ( IDENT , LIT , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }))) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + IDENT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (binary_expression IDENT + IDENT)) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) (pointer_expression & (field_expression (subscript_expression IDENT [ LIT ]) . field_identifier))) + IDENT) + LIT) ))) , (binary_expression (subscript_expression IDENT [ LIT ]) + LIT) ))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (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 ( IDENT , LIT , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }))) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + IDENT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) while (parenthesized_expression ( (binary_expression IDENT != IDENT) )) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (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 ( IDENT , LIT , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }))) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + IDENT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))) == IDENT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) while (parenthesized_expression ( BOOL )) ;) })) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression LIT < (binary_expression IDENT - LIT)) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( ))) ;)) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (return_statement return ;) })) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression LIT < (binary_expression IDENT - LIT)) )) (goto_statement goto statement_identifier ;)))) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;)) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) }) while (parenthesized_expression ( BOOL )) ;) })) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) })))) })) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (return_statement return ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) })) })) (return_statement return ;) })))
(function_definition "void FUN_00212620(int param_1)\n\n{\n  char *pcVar1;\n  char cVar2;\n  undefined4 uVar3;\n  int *piVar4;\n  undefined4 uVar5;\n  int iVar6;\n  int iVar7;\n  uint uVar8;\n  size_t sVar9;\n  int *extraout_ECX;\n  code cVar10;\n  int iVar11;\n  undefined1 uVar12;\n  code *pcVar13;\n  undefined1 *puVar14;\n  char *__s;\n  int unaff_EDI;\n  ulonglong uVar15;\n  uint *local_44;\n  char local_35 [37];\n  \n  uVar15 = FUN_0004fb7e();\n  iVar6 = (int)uVar15;\n  if (extraout_ECX != (int *)0x0) {\n    iVar7 = *(int *)(iVar6 + 0x118);\n    piVar4 = extraout_ECX;\n    while (iVar7 == 0) {\n      if (piVar4[2] == 0) {\n        uVar8 = *(uint *)piVar4[1];\n        if (param_1 != 0) goto LAB_00212668;\n        if (uVar8 != 0x4c) {\n          if (uVar8 < 0x4d) {\n            if (4 < uVar8 - 0x1c) goto LAB_00212668;\n          }\n          else if (1 < uVar8 - 0x4e) {\nLAB_00212668:\n            uVar3 = *(undefined4 *)(iVar6 + 0x110);\n            piVar4[2] = 1;\n            *(int *)(iVar6 + 0x110) = piVar4[3];\n            if (uVar8 == 0x29) {\n              FUN_00212300(*piVar4);\n              *(undefined4 *)(iVar6 + 0x110) = uVar3;\n              return;\n            }\n            if (uVar8 == 0x2a) {\n              FUN_00212a20(*piVar4);\n              *(undefined4 *)(iVar6 + 0x110) = uVar3;\n              return;\n            }\n            if (uVar8 == 2) {\n              uVar5 = *(undefined4 *)(iVar6 + 0x114);\n              *(undefined4 *)(iVar6 + 0x114) = 0;\n              FUN_0020ca20();\n              *(undefined4 *)(iVar6 + 0x114) = uVar5;\n              iVar7 = *(int *)(iVar6 + 0x100);\n              if ((uVar15 & 0x400000000) == 0) {\n                puVar14 = (undefined1 *)(unaff_EDI + 0x264d2);\n                uVar12 = 0x3a;\n                while( true ) {\n                  if (iVar7 == 0xff) {\n                    *(undefined1 *)(iVar6 + 0xff) = 0;\n                    (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                    *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                    iVar11 = 1;\n                    iVar7 = 0;\n                  }\n                  else {\n                    iVar11 = iVar7 + 1;\n                  }\n                  puVar14 = puVar14 + 1;\n                  *(int *)(iVar6 + 0x100) = iVar11;\n                  *(undefined1 *)(iVar6 + iVar7) = uVar12;\n                  *(undefined1 *)(iVar6 + 0x104) = uVar12;\n                  if (puVar14 == (undefined1 *)(unaff_EDI + 0x264d4)) break;\n                  uVar12 = *puVar14;\n                  iVar7 = iVar11;\n                }\n              }\n              else {\n                iVar11 = iVar7 + 1;\n                if (iVar7 == 0xff) {\n                  *(undefined1 *)(iVar6 + 0xff) = 0;\n                  (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                  *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                  iVar11 = 1;\n                  iVar7 = 0;\n                }\n                *(int *)(iVar6 + 0x100) = iVar11;\n                *(undefined1 *)(iVar6 + iVar7) = 0x2e;\n                *(undefined1 *)(iVar6 + 0x104) = 0x2e;\n              }\n              local_44 = *(uint **)(piVar4[1] + 0xc);\n              uVar8 = *local_44;\n              if (uVar8 == 0x46) {\n                cVar10 = (code)0x7b;\n                pcVar13 = ioctl + unaff_EDI + 4;\n                iVar7 = *(int *)(iVar6 + 0x100);\n                while( true ) {\n                  if (iVar7 == 0xff) {\n                    *(undefined1 *)(iVar6 + 0xff) = 0;\n                    (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                    *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                    iVar11 = 1;\n                    iVar7 = 0;\n                  }\n                  else {\n                    iVar11 = iVar7 + 1;\n                  }\n                  *(int *)(iVar6 + 0x100) = iVar11;\n                  *(code *)(iVar6 + iVar7) = cVar10;\n                  *(code *)(iVar6 + 0x104) = cVar10;\n                  if (pcVar13 == wcrtomb + unaff_EDI) break;\n                  cVar10 = *pcVar13;\n                  pcVar13 = pcVar13 + 1;\n                  iVar7 = iVar11;\n                }\n                __s = local_35;\n                sprintf(__s,(char *)((int)&__DT_REL[0x263a].r_offset + unaff_EDI + 2),\n                        local_44[3] + 1);\n                sVar9 = strlen(__s);\n                iVar7 = *(int *)(iVar6 + 0x100);\n                if (sVar9 != 0) {\n                  pcVar1 = __s + sVar9;\n                  iVar11 = iVar7;\n                  do {\n                    cVar2 = *__s;\n                    if (iVar11 == 0xff) {\n                      *(undefined1 *)(iVar6 + 0xff) = 0;\n                      (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                      *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                      iVar7 = 1;\n                      iVar11 = 0;\n                    }\n                    else {\n                      iVar7 = iVar11 + 1;\n                    }\n                    __s = __s + 1;\n                    *(int *)(iVar6 + 0x100) = iVar7;\n                    *(char *)(iVar6 + iVar11) = cVar2;\n                    *(char *)(iVar6 + 0x104) = cVar2;\n                    iVar11 = iVar7;\n                  } while (pcVar1 != __s);\n                }\n                puVar14 = (undefined1 *)(unaff_EDI + 0x264d1);\n                uVar12 = 0x7d;\n                do {\n                  if (iVar7 == 0xff) {\n                    *(undefined1 *)(iVar6 + 0xff) = 0;\n                    (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                    *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                    iVar11 = 1;\n                    iVar7 = 0;\n                  }\n                  else {\n                    iVar11 = iVar7 + 1;\n                  }\n                  puVar14 = puVar14 + 1;\n                  *(int *)(iVar6 + 0x100) = iVar11;\n                  *(undefined1 *)(iVar6 + iVar7) = uVar12;\n                  *(undefined1 *)(iVar6 + 0x104) = uVar12;\n                  if ((undefined1 *)(unaff_EDI + 0x264d4) == puVar14) goto LAB_002127e9;\n                  uVar12 = *puVar14;\n                  iVar7 = iVar11;\n                } while( true );\n              }\n              do {\n                if (uVar8 != 0x4c) {\n                  if (uVar8 < 0x4d) {\n                    if (4 < uVar8 - 0x1c) {\nLAB_0021277d:\n                      FUN_0020ca20();\n                      *(undefined4 *)(iVar6 + 0x110) = uVar3;\n                      return;\n                    }\n                  }\n                  else if (1 < uVar8 - 0x4e) goto LAB_0021277d;\n                }\nLAB_002127e9:\n                local_44 = (uint *)local_44[2];\n                uVar8 = *local_44;\n              } while( true );\n            }\n            FUN_00211980();\n            *(undefined4 *)(iVar6 + 0x110) = uVar3;\n          }\n        }\n      }\n      piVar4 = (int *)*piVar4;\n      if (piVar4 == (int *)0x0) {\n        return;\n      }\n      iVar7 = *(int *)(iVar6 + 0x118);\n    }\n  }\n  return;\n}" (primitive_type "void") (function_declarator "FUN_00212620(int param_1)" (identifier "FUN_00212620") (parameter_list "(int param_1)" (( "(") (parameter_declaration "int param_1" (primitive_type "int") (identifier "param_1")) () ")"))) (compound_statement "{\n  char *pcVar1;\n  char cVar2;\n  undefined4 uVar3;\n  int *piVar4;\n  undefined4 uVar5;\n  int iVar6;\n  int iVar7;\n  uint uVar8;\n  size_t sVar9;\n  int *extraout_ECX;\n  code cVar10;\n  int iVar11;\n  undefined1 uVar12;\n  code *pcVar13;\n  undefined1 *puVar14;\n  char *__s;\n  int unaff_EDI;\n  ulonglong uVar15;\n  uint *local_44;\n  char local_35 [37];\n  \n  uVar15 = FUN_0004fb7e();\n  iVar6 = (int)uVar15;\n  if (extraout_ECX != (int *)0x0) {\n    iVar7 = *(int *)(iVar6 + 0x118);\n    piVar4 = extraout_ECX;\n    while (iVar7 == 0) {\n      if (piVar4[2] == 0) {\n        uVar8 = *(uint *)piVar4[1];\n        if (param_1 != 0) goto LAB_00212668;\n        if (uVar8 != 0x4c) {\n          if (uVar8 < 0x4d) {\n            if (4 < uVar8 - 0x1c) goto LAB_00212668;\n          }\n          else if (1 < uVar8 - 0x4e) {\nLAB_00212668:\n            uVar3 = *(undefined4 *)(iVar6 + 0x110);\n            piVar4[2] = 1;\n            *(int *)(iVar6 + 0x110) = piVar4[3];\n            if (uVar8 == 0x29) {\n              FUN_00212300(*piVar4);\n              *(undefined4 *)(iVar6 + 0x110) = uVar3;\n              return;\n            }\n            if (uVar8 == 0x2a) {\n              FUN_00212a20(*piVar4);\n              *(undefined4 *)(iVar6 + 0x110) = uVar3;\n              return;\n            }\n            if (uVar8 == 2) {\n              uVar5 = *(undefined4 *)(iVar6 + 0x114);\n              *(undefined4 *)(iVar6 + 0x114) = 0;\n              FUN_0020ca20();\n              *(undefined4 *)(iVar6 + 0x114) = uVar5;\n              iVar7 = *(int *)(iVar6 + 0x100);\n              if ((uVar15 & 0x400000000) == 0) {\n                puVar14 = (undefined1 *)(unaff_EDI + 0x264d2);\n                uVar12 = 0x3a;\n                while( true ) {\n                  if (iVar7 == 0xff) {\n                    *(undefined1 *)(iVar6 + 0xff) = 0;\n                    (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                    *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                    iVar11 = 1;\n                    iVar7 = 0;\n                  }\n                  else {\n                    iVar11 = iVar7 + 1;\n                  }\n                  puVar14 = puVar14 + 1;\n                  *(int *)(iVar6 + 0x100) = iVar11;\n                  *(undefined1 *)(iVar6 + iVar7) = uVar12;\n                  *(undefined1 *)(iVar6 + 0x104) = uVar12;\n                  if (puVar14 == (undefined1 *)(unaff_EDI + 0x264d4)) break;\n                  uVar12 = *puVar14;\n                  iVar7 = iVar11;\n                }\n              }\n              else {\n                iVar11 = iVar7 + 1;\n                if (iVar7 == 0xff) {\n                  *(undefined1 *)(iVar6 + 0xff) = 0;\n                  (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                  *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                  iVar11 = 1;\n                  iVar7 = 0;\n                }\n                *(int *)(iVar6 + 0x100) = iVar11;\n                *(undefined1 *)(iVar6 + iVar7) = 0x2e;\n                *(undefined1 *)(iVar6 + 0x104) = 0x2e;\n              }\n              local_44 = *(uint **)(piVar4[1] + 0xc);\n              uVar8 = *local_44;\n              if (uVar8 == 0x46) {\n                cVar10 = (code)0x7b;\n                pcVar13 = ioctl + unaff_EDI + 4;\n                iVar7 = *(int *)(iVar6 + 0x100);\n                while( true ) {\n                  if (iVar7 == 0xff) {\n                    *(undefined1 *)(iVar6 + 0xff) = 0;\n                    (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                    *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                    iVar11 = 1;\n                    iVar7 = 0;\n                  }\n                  else {\n                    iVar11 = iVar7 + 1;\n                  }\n                  *(int *)(iVar6 + 0x100) = iVar11;\n                  *(code *)(iVar6 + iVar7) = cVar10;\n                  *(code *)(iVar6 + 0x104) = cVar10;\n                  if (pcVar13 == wcrtomb + unaff_EDI) break;\n                  cVar10 = *pcVar13;\n                  pcVar13 = pcVar13 + 1;\n                  iVar7 = iVar11;\n                }\n                __s = local_35;\n                sprintf(__s,(char *)((int)&__DT_REL[0x263a].r_offset + unaff_EDI + 2),\n                        local_44[3] + 1);\n                sVar9 = strlen(__s);\n                iVar7 = *(int *)(iVar6 + 0x100);\n                if (sVar9 != 0) {\n                  pcVar1 = __s + sVar9;\n                  iVar11 = iVar7;\n                  do {\n                    cVar2 = *__s;\n                    if (iVar11 == 0xff) {\n                      *(undefined1 *)(iVar6 + 0xff) = 0;\n                      (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                      *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                      iVar7 = 1;\n                      iVar11 = 0;\n                    }\n                    else {\n                      iVar7 = iVar11 + 1;\n                    }\n                    __s = __s + 1;\n                    *(int *)(iVar6 + 0x100) = iVar7;\n                    *(char *)(iVar6 + iVar11) = cVar2;\n                    *(char *)(iVar6 + 0x104) = cVar2;\n                    iVar11 = iVar7;\n                  } while (pcVar1 != __s);\n                }\n                puVar14 = (undefined1 *)(unaff_EDI + 0x264d1);\n                uVar12 = 0x7d;\n                do {\n                  if (iVar7 == 0xff) {\n                    *(undefined1 *)(iVar6 + 0xff) = 0;\n                    (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                    *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                    iVar11 = 1;\n                    iVar7 = 0;\n                  }\n                  else {\n                    iVar11 = iVar7 + 1;\n                  }\n                  puVar14 = puVar14 + 1;\n                  *(int *)(iVar6 + 0x100) = iVar11;\n                  *(undefined1 *)(iVar6 + iVar7) = uVar12;\n                  *(undefined1 *)(iVar6 + 0x104) = uVar12;\n                  if ((undefined1 *)(unaff_EDI + 0x264d4) == puVar14) goto LAB_002127e9;\n                  uVar12 = *puVar14;\n                  iVar7 = iVar11;\n                } while( true );\n              }\n              do {\n                if (uVar8 != 0x4c) {\n                  if (uVar8 < 0x4d) {\n                    if (4 < uVar8 - 0x1c) {\nLAB_0021277d:\n                      FUN_0020ca20();\n                      *(undefined4 *)(iVar6 + 0x110) = uVar3;\n                      return;\n                    }\n                  }\n                  else if (1 < uVar8 - 0x4e) goto LAB_0021277d;\n                }\nLAB_002127e9:\n                local_44 = (uint *)local_44[2];\n                uVar8 = *local_44;\n              } while( true );\n            }\n            FUN_00211980();\n            *(undefined4 *)(iVar6 + 0x110) = uVar3;\n          }\n        }\n      }\n      piVar4 = (int *)*piVar4;\n      if (piVar4 == (int *)0x0) {\n        return;\n      }\n      iVar7 = *(int *)(iVar6 + 0x118);\n    }\n  }\n  return;\n}" ({ "{") (declaration "char *pcVar1;" (primitive_type "char") (pointer_declarator "*pcVar1" (* "*") (identifier "pcVar1")) (; ";")) (declaration "char cVar2;" (primitive_type "char") (identifier "cVar2") (; ";")) (declaration "undefined4 uVar3;" (type_identifier "undefined4") (identifier "uVar3") (; ";")) (declaration "int *piVar4;" (primitive_type "int") (pointer_declarator "*piVar4" (* "*") (identifier "piVar4")) (; ";")) (declaration "undefined4 uVar5;" (type_identifier "undefined4") (identifier "uVar5") (; ";")) (declaration "int iVar6;" (primitive_type "int") (identifier "iVar6") (; ";")) (declaration "int iVar7;" (primitive_type "int") (identifier "iVar7") (; ";")) (declaration "uint uVar8;" (type_identifier "uint") (identifier "uVar8") (; ";")) (declaration "size_t sVar9;" (primitive_type "size_t") (identifier "sVar9") (; ";")) (declaration "int *extraout_ECX;" (primitive_type "int") (pointer_declarator "*extraout_ECX" (* "*") (identifier "extraout_ECX")) (; ";")) (declaration "code cVar10;" (type_identifier "code") (identifier "cVar10") (; ";")) (declaration "int iVar11;" (primitive_type "int") (identifier "iVar11") (; ";")) (declaration "undefined1 uVar12;" (type_identifier "undefined1") (identifier "uVar12") (; ";")) (declaration "code *pcVar13;" (type_identifier "code") (pointer_declarator "*pcVar13" (* "*") (identifier "pcVar13")) (; ";")) (declaration "undefined1 *puVar14;" (type_identifier "undefined1") (pointer_declarator "*puVar14" (* "*") (identifier "puVar14")) (; ";")) (declaration "char *__s;" (primitive_type "char") (pointer_declarator "*__s" (* "*") (identifier "__s")) (; ";")) (declaration "int unaff_EDI;" (primitive_type "int") (identifier "unaff_EDI") (; ";")) (declaration "ulonglong uVar15;" (type_identifier "ulonglong") (identifier "uVar15") (; ";")) (declaration "uint *local_44;" (type_identifier "uint") (pointer_declarator "*local_44" (* "*") (identifier "local_44")) (; ";")) (declaration "char local_35 [37];" (primitive_type "char") (array_declarator "local_35 [37]" (identifier "local_35") ([ "[") (number_literal "37") (] "]")) (; ";")) (expression_statement "uVar15 = FUN_0004fb7e();" (assignment_expression "uVar15 = FUN_0004fb7e()" (identifier "uVar15") (= "=") (call_expression "FUN_0004fb7e()" (identifier "FUN_0004fb7e") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "iVar6 = (int)uVar15;" (assignment_expression "iVar6 = (int)uVar15" (identifier "iVar6") (= "=") (cast_expression "(int)uVar15" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar15"))) (; ";")) (if_statement "if (extraout_ECX != (int *)0x0) {\n    iVar7 = *(int *)(iVar6 + 0x118);\n    piVar4 = extraout_ECX;\n    while (iVar7 == 0) {\n      if (piVar4[2] == 0) {\n        uVar8 = *(uint *)piVar4[1];\n        if (param_1 != 0) goto LAB_00212668;\n        if (uVar8 != 0x4c) {\n          if (uVar8 < 0x4d) {\n            if (4 < uVar8 - 0x1c) goto LAB_00212668;\n          }\n          else if (1 < uVar8 - 0x4e) {\nLAB_00212668:\n            uVar3 = *(undefined4 *)(iVar6 + 0x110);\n            piVar4[2] = 1;\n            *(int *)(iVar6 + 0x110) = piVar4[3];\n            if (uVar8 == 0x29) {\n              FUN_00212300(*piVar4);\n              *(undefined4 *)(iVar6 + 0x110) = uVar3;\n              return;\n            }\n            if (uVar8 == 0x2a) {\n              FUN_00212a20(*piVar4);\n              *(undefined4 *)(iVar6 + 0x110) = uVar3;\n              return;\n            }\n            if (uVar8 == 2) {\n              uVar5 = *(undefined4 *)(iVar6 + 0x114);\n              *(undefined4 *)(iVar6 + 0x114) = 0;\n              FUN_0020ca20();\n              *(undefined4 *)(iVar6 + 0x114) = uVar5;\n              iVar7 = *(int *)(iVar6 + 0x100);\n              if ((uVar15 & 0x400000000) == 0) {\n                puVar14 = (undefined1 *)(unaff_EDI + 0x264d2);\n                uVar12 = 0x3a;\n                while( true ) {\n                  if (iVar7 == 0xff) {\n                    *(undefined1 *)(iVar6 + 0xff) = 0;\n                    (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                    *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                    iVar11 = 1;\n                    iVar7 = 0;\n                  }\n                  else {\n                    iVar11 = iVar7 + 1;\n                  }\n                  puVar14 = puVar14 + 1;\n                  *(int *)(iVar6 + 0x100) = iVar11;\n                  *(undefined1 *)(iVar6 + iVar7) = uVar12;\n                  *(undefined1 *)(iVar6 + 0x104) = uVar12;\n                  if (puVar14 == (undefined1 *)(unaff_EDI + 0x264d4)) break;\n                  uVar12 = *puVar14;\n                  iVar7 = iVar11;\n                }\n              }\n              else {\n                iVar11 = iVar7 + 1;\n                if (iVar7 == 0xff) {\n                  *(undefined1 *)(iVar6 + 0xff) = 0;\n                  (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                  *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                  iVar11 = 1;\n                  iVar7 = 0;\n                }\n                *(int *)(iVar6 + 0x100) = iVar11;\n                *(undefined1 *)(iVar6 + iVar7) = 0x2e;\n                *(undefined1 *)(iVar6 + 0x104) = 0x2e;\n              }\n              local_44 = *(uint **)(piVar4[1] + 0xc);\n              uVar8 = *local_44;\n              if (uVar8 == 0x46) {\n                cVar10 = (code)0x7b;\n                pcVar13 = ioctl + unaff_EDI + 4;\n                iVar7 = *(int *)(iVar6 + 0x100);\n                while( true ) {\n                  if (iVar7 == 0xff) {\n                    *(undefined1 *)(iVar6 + 0xff) = 0;\n                    (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                    *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                    iVar11 = 1;\n                    iVar7 = 0;\n                  }\n                  else {\n                    iVar11 = iVar7 + 1;\n                  }\n                  *(int *)(iVar6 + 0x100) = iVar11;\n                  *(code *)(iVar6 + iVar7) = cVar10;\n                  *(code *)(iVar6 + 0x104) = cVar10;\n                  if (pcVar13 == wcrtomb + unaff_EDI) break;\n                  cVar10 = *pcVar13;\n                  pcVar13 = pcVar13 + 1;\n                  iVar7 = iVar11;\n                }\n                __s = local_35;\n                sprintf(__s,(char *)((int)&__DT_REL[0x263a].r_offset + unaff_EDI + 2),\n                        local_44[3] + 1);\n                sVar9 = strlen(__s);\n                iVar7 = *(int *)(iVar6 + 0x100);\n                if (sVar9 != 0) {\n                  pcVar1 = __s + sVar9;\n                  iVar11 = iVar7;\n                  do {\n                    cVar2 = *__s;\n                    if (iVar11 == 0xff) {\n                      *(undefined1 *)(iVar6 + 0xff) = 0;\n                      (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                      *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                      iVar7 = 1;\n                      iVar11 = 0;\n                    }\n                    else {\n                      iVar7 = iVar11 + 1;\n                    }\n                    __s = __s + 1;\n                    *(int *)(iVar6 + 0x100) = iVar7;\n                    *(char *)(iVar6 + iVar11) = cVar2;\n                    *(char *)(iVar6 + 0x104) = cVar2;\n                    iVar11 = iVar7;\n                  } while (pcVar1 != __s);\n                }\n                puVar14 = (undefined1 *)(unaff_EDI + 0x264d1);\n                uVar12 = 0x7d;\n                do {\n                  if (iVar7 == 0xff) {\n                    *(undefined1 *)(iVar6 + 0xff) = 0;\n                    (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                    *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                    iVar11 = 1;\n                    iVar7 = 0;\n                  }\n                  else {\n                    iVar11 = iVar7 + 1;\n                  }\n                  puVar14 = puVar14 + 1;\n                  *(int *)(iVar6 + 0x100) = iVar11;\n                  *(undefined1 *)(iVar6 + iVar7) = uVar12;\n                  *(undefined1 *)(iVar6 + 0x104) = uVar12;\n                  if ((undefined1 *)(unaff_EDI + 0x264d4) == puVar14) goto LAB_002127e9;\n                  uVar12 = *puVar14;\n                  iVar7 = iVar11;\n                } while( true );\n              }\n              do {\n                if (uVar8 != 0x4c) {\n                  if (uVar8 < 0x4d) {\n                    if (4 < uVar8 - 0x1c) {\nLAB_0021277d:\n                      FUN_0020ca20();\n                      *(undefined4 *)(iVar6 + 0x110) = uVar3;\n                      return;\n                    }\n                  }\n                  else if (1 < uVar8 - 0x4e) goto LAB_0021277d;\n                }\nLAB_002127e9:\n                local_44 = (uint *)local_44[2];\n                uVar8 = *local_44;\n              } while( true );\n            }\n            FUN_00211980();\n            *(undefined4 *)(iVar6 + 0x110) = uVar3;\n          }\n        }\n      }\n      piVar4 = (int *)*piVar4;\n      if (piVar4 == (int *)0x0) {\n        return;\n      }\n      iVar7 = *(int *)(iVar6 + 0x118);\n    }\n  }" (if "if") (parenthesized_expression "(extraout_ECX != (int *)0x0)" (( "(") (binary_expression "extraout_ECX != (int *)0x0" (identifier "extraout_ECX") (!= "!=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n    iVar7 = *(int *)(iVar6 + 0x118);\n    piVar4 = extraout_ECX;\n    while (iVar7 == 0) {\n      if (piVar4[2] == 0) {\n        uVar8 = *(uint *)piVar4[1];\n        if (param_1 != 0) goto LAB_00212668;\n        if (uVar8 != 0x4c) {\n          if (uVar8 < 0x4d) {\n            if (4 < uVar8 - 0x1c) goto LAB_00212668;\n          }\n          else if (1 < uVar8 - 0x4e) {\nLAB_00212668:\n            uVar3 = *(undefined4 *)(iVar6 + 0x110);\n            piVar4[2] = 1;\n            *(int *)(iVar6 + 0x110) = piVar4[3];\n            if (uVar8 == 0x29) {\n              FUN_00212300(*piVar4);\n              *(undefined4 *)(iVar6 + 0x110) = uVar3;\n              return;\n            }\n            if (uVar8 == 0x2a) {\n              FUN_00212a20(*piVar4);\n              *(undefined4 *)(iVar6 + 0x110) = uVar3;\n              return;\n            }\n            if (uVar8 == 2) {\n              uVar5 = *(undefined4 *)(iVar6 + 0x114);\n              *(undefined4 *)(iVar6 + 0x114) = 0;\n              FUN_0020ca20();\n              *(undefined4 *)(iVar6 + 0x114) = uVar5;\n              iVar7 = *(int *)(iVar6 + 0x100);\n              if ((uVar15 & 0x400000000) == 0) {\n                puVar14 = (undefined1 *)(unaff_EDI + 0x264d2);\n                uVar12 = 0x3a;\n                while( true ) {\n                  if (iVar7 == 0xff) {\n                    *(undefined1 *)(iVar6 + 0xff) = 0;\n                    (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                    *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                    iVar11 = 1;\n                    iVar7 = 0;\n                  }\n                  else {\n                    iVar11 = iVar7 + 1;\n                  }\n                  puVar14 = puVar14 + 1;\n                  *(int *)(iVar6 + 0x100) = iVar11;\n                  *(undefined1 *)(iVar6 + iVar7) = uVar12;\n                  *(undefined1 *)(iVar6 + 0x104) = uVar12;\n                  if (puVar14 == (undefined1 *)(unaff_EDI + 0x264d4)) break;\n                  uVar12 = *puVar14;\n                  iVar7 = iVar11;\n                }\n              }\n              else {\n                iVar11 = iVar7 + 1;\n                if (iVar7 == 0xff) {\n                  *(undefined1 *)(iVar6 + 0xff) = 0;\n                  (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                  *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                  iVar11 = 1;\n                  iVar7 = 0;\n                }\n                *(int *)(iVar6 + 0x100) = iVar11;\n                *(undefined1 *)(iVar6 + iVar7) = 0x2e;\n                *(undefined1 *)(iVar6 + 0x104) = 0x2e;\n              }\n              local_44 = *(uint **)(piVar4[1] + 0xc);\n              uVar8 = *local_44;\n              if (uVar8 == 0x46) {\n                cVar10 = (code)0x7b;\n                pcVar13 = ioctl + unaff_EDI + 4;\n                iVar7 = *(int *)(iVar6 + 0x100);\n                while( true ) {\n                  if (iVar7 == 0xff) {\n                    *(undefined1 *)(iVar6 + 0xff) = 0;\n                    (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                    *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                    iVar11 = 1;\n                    iVar7 = 0;\n                  }\n                  else {\n                    iVar11 = iVar7 + 1;\n                  }\n                  *(int *)(iVar6 + 0x100) = iVar11;\n                  *(code *)(iVar6 + iVar7) = cVar10;\n                  *(code *)(iVar6 + 0x104) = cVar10;\n                  if (pcVar13 == wcrtomb + unaff_EDI) break;\n                  cVar10 = *pcVar13;\n                  pcVar13 = pcVar13 + 1;\n                  iVar7 = iVar11;\n                }\n                __s = local_35;\n                sprintf(__s,(char *)((int)&__DT_REL[0x263a].r_offset + unaff_EDI + 2),\n                        local_44[3] + 1);\n                sVar9 = strlen(__s);\n                iVar7 = *(int *)(iVar6 + 0x100);\n                if (sVar9 != 0) {\n                  pcVar1 = __s + sVar9;\n                  iVar11 = iVar7;\n                  do {\n                    cVar2 = *__s;\n                    if (iVar11 == 0xff) {\n                      *(undefined1 *)(iVar6 + 0xff) = 0;\n                      (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                      *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                      iVar7 = 1;\n                      iVar11 = 0;\n                    }\n                    else {\n                      iVar7 = iVar11 + 1;\n                    }\n                    __s = __s + 1;\n                    *(int *)(iVar6 + 0x100) = iVar7;\n                    *(char *)(iVar6 + iVar11) = cVar2;\n                    *(char *)(iVar6 + 0x104) = cVar2;\n                    iVar11 = iVar7;\n                  } while (pcVar1 != __s);\n                }\n                puVar14 = (undefined1 *)(unaff_EDI + 0x264d1);\n                uVar12 = 0x7d;\n                do {\n                  if (iVar7 == 0xff) {\n                    *(undefined1 *)(iVar6 + 0xff) = 0;\n                    (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                    *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                    iVar11 = 1;\n                    iVar7 = 0;\n                  }\n                  else {\n                    iVar11 = iVar7 + 1;\n                  }\n                  puVar14 = puVar14 + 1;\n                  *(int *)(iVar6 + 0x100) = iVar11;\n                  *(undefined1 *)(iVar6 + iVar7) = uVar12;\n                  *(undefined1 *)(iVar6 + 0x104) = uVar12;\n                  if ((undefined1 *)(unaff_EDI + 0x264d4) == puVar14) goto LAB_002127e9;\n                  uVar12 = *puVar14;\n                  iVar7 = iVar11;\n                } while( true );\n              }\n              do {\n                if (uVar8 != 0x4c) {\n                  if (uVar8 < 0x4d) {\n                    if (4 < uVar8 - 0x1c) {\nLAB_0021277d:\n                      FUN_0020ca20();\n                      *(undefined4 *)(iVar6 + 0x110) = uVar3;\n                      return;\n                    }\n                  }\n                  else if (1 < uVar8 - 0x4e) goto LAB_0021277d;\n                }\nLAB_002127e9:\n                local_44 = (uint *)local_44[2];\n                uVar8 = *local_44;\n              } while( true );\n            }\n            FUN_00211980();\n            *(undefined4 *)(iVar6 + 0x110) = uVar3;\n          }\n        }\n      }\n      piVar4 = (int *)*piVar4;\n      if (piVar4 == (int *)0x0) {\n        return;\n      }\n      iVar7 = *(int *)(iVar6 + 0x118);\n    }\n  }" ({ "{") (expression_statement "iVar7 = *(int *)(iVar6 + 0x118);" (assignment_expression "iVar7 = *(int *)(iVar6 + 0x118)" (identifier "iVar7") (= "=") (pointer_expression "*(int *)(iVar6 + 0x118)" (* "*") (cast_expression "(int *)(iVar6 + 0x118)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar6 + 0x118)" (( "(") (binary_expression "iVar6 + 0x118" (identifier "iVar6") (+ "+") (number_literal "0x118")) () ")"))))) (; ";")) (expression_statement "piVar4 = extraout_ECX;" (assignment_expression "piVar4 = extraout_ECX" (identifier "piVar4") (= "=") (identifier "extraout_ECX")) (; ";")) (while_statement "while (iVar7 == 0) {\n      if (piVar4[2] == 0) {\n        uVar8 = *(uint *)piVar4[1];\n        if (param_1 != 0) goto LAB_00212668;\n        if (uVar8 != 0x4c) {\n          if (uVar8 < 0x4d) {\n            if (4 < uVar8 - 0x1c) goto LAB_00212668;\n          }\n          else if (1 < uVar8 - 0x4e) {\nLAB_00212668:\n            uVar3 = *(undefined4 *)(iVar6 + 0x110);\n            piVar4[2] = 1;\n            *(int *)(iVar6 + 0x110) = piVar4[3];\n            if (uVar8 == 0x29) {\n              FUN_00212300(*piVar4);\n              *(undefined4 *)(iVar6 + 0x110) = uVar3;\n              return;\n            }\n            if (uVar8 == 0x2a) {\n              FUN_00212a20(*piVar4);\n              *(undefined4 *)(iVar6 + 0x110) = uVar3;\n              return;\n            }\n            if (uVar8 == 2) {\n              uVar5 = *(undefined4 *)(iVar6 + 0x114);\n              *(undefined4 *)(iVar6 + 0x114) = 0;\n              FUN_0020ca20();\n              *(undefined4 *)(iVar6 + 0x114) = uVar5;\n              iVar7 = *(int *)(iVar6 + 0x100);\n              if ((uVar15 & 0x400000000) == 0) {\n                puVar14 = (undefined1 *)(unaff_EDI + 0x264d2);\n                uVar12 = 0x3a;\n                while( true ) {\n                  if (iVar7 == 0xff) {\n                    *(undefined1 *)(iVar6 + 0xff) = 0;\n                    (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                    *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                    iVar11 = 1;\n                    iVar7 = 0;\n                  }\n                  else {\n                    iVar11 = iVar7 + 1;\n                  }\n                  puVar14 = puVar14 + 1;\n                  *(int *)(iVar6 + 0x100) = iVar11;\n                  *(undefined1 *)(iVar6 + iVar7) = uVar12;\n                  *(undefined1 *)(iVar6 + 0x104) = uVar12;\n                  if (puVar14 == (undefined1 *)(unaff_EDI + 0x264d4)) break;\n                  uVar12 = *puVar14;\n                  iVar7 = iVar11;\n                }\n              }\n              else {\n                iVar11 = iVar7 + 1;\n                if (iVar7 == 0xff) {\n                  *(undefined1 *)(iVar6 + 0xff) = 0;\n                  (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                  *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                  iVar11 = 1;\n                  iVar7 = 0;\n                }\n                *(int *)(iVar6 + 0x100) = iVar11;\n                *(undefined1 *)(iVar6 + iVar7) = 0x2e;\n                *(undefined1 *)(iVar6 + 0x104) = 0x2e;\n              }\n              local_44 = *(uint **)(piVar4[1] + 0xc);\n              uVar8 = *local_44;\n              if (uVar8 == 0x46) {\n                cVar10 = (code)0x7b;\n                pcVar13 = ioctl + unaff_EDI + 4;\n                iVar7 = *(int *)(iVar6 + 0x100);\n                while( true ) {\n                  if (iVar7 == 0xff) {\n                    *(undefined1 *)(iVar6 + 0xff) = 0;\n                    (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                    *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                    iVar11 = 1;\n                    iVar7 = 0;\n                  }\n                  else {\n                    iVar11 = iVar7 + 1;\n                  }\n                  *(int *)(iVar6 + 0x100) = iVar11;\n                  *(code *)(iVar6 + iVar7) = cVar10;\n                  *(code *)(iVar6 + 0x104) = cVar10;\n                  if (pcVar13 == wcrtomb + unaff_EDI) break;\n                  cVar10 = *pcVar13;\n                  pcVar13 = pcVar13 + 1;\n                  iVar7 = iVar11;\n                }\n                __s = local_35;\n                sprintf(__s,(char *)((int)&__DT_REL[0x263a].r_offset + unaff_EDI + 2),\n                        local_44[3] + 1);\n                sVar9 = strlen(__s);\n                iVar7 = *(int *)(iVar6 + 0x100);\n                if (sVar9 != 0) {\n                  pcVar1 = __s + sVar9;\n                  iVar11 = iVar7;\n                  do {\n                    cVar2 = *__s;\n                    if (iVar11 == 0xff) {\n                      *(undefined1 *)(iVar6 + 0xff) = 0;\n                      (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                      *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                      iVar7 = 1;\n                      iVar11 = 0;\n                    }\n                    else {\n                      iVar7 = iVar11 + 1;\n                    }\n                    __s = __s + 1;\n                    *(int *)(iVar6 + 0x100) = iVar7;\n                    *(char *)(iVar6 + iVar11) = cVar2;\n                    *(char *)(iVar6 + 0x104) = cVar2;\n                    iVar11 = iVar7;\n                  } while (pcVar1 != __s);\n                }\n                puVar14 = (undefined1 *)(unaff_EDI + 0x264d1);\n                uVar12 = 0x7d;\n                do {\n                  if (iVar7 == 0xff) {\n                    *(undefined1 *)(iVar6 + 0xff) = 0;\n                    (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                    *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                    iVar11 = 1;\n                    iVar7 = 0;\n                  }\n                  else {\n                    iVar11 = iVar7 + 1;\n                  }\n                  puVar14 = puVar14 + 1;\n                  *(int *)(iVar6 + 0x100) = iVar11;\n                  *(undefined1 *)(iVar6 + iVar7) = uVar12;\n                  *(undefined1 *)(iVar6 + 0x104) = uVar12;\n                  if ((undefined1 *)(unaff_EDI + 0x264d4) == puVar14) goto LAB_002127e9;\n                  uVar12 = *puVar14;\n                  iVar7 = iVar11;\n                } while( true );\n              }\n              do {\n                if (uVar8 != 0x4c) {\n                  if (uVar8 < 0x4d) {\n                    if (4 < uVar8 - 0x1c) {\nLAB_0021277d:\n                      FUN_0020ca20();\n                      *(undefined4 *)(iVar6 + 0x110) = uVar3;\n                      return;\n                    }\n                  }\n                  else if (1 < uVar8 - 0x4e) goto LAB_0021277d;\n                }\nLAB_002127e9:\n                local_44 = (uint *)local_44[2];\n                uVar8 = *local_44;\n              } while( true );\n            }\n            FUN_00211980();\n            *(undefined4 *)(iVar6 + 0x110) = uVar3;\n          }\n        }\n      }\n      piVar4 = (int *)*piVar4;\n      if (piVar4 == (int *)0x0) {\n        return;\n      }\n      iVar7 = *(int *)(iVar6 + 0x118);\n    }" (while "while") (parenthesized_expression "(iVar7 == 0)" (( "(") (binary_expression "iVar7 == 0" (identifier "iVar7") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      if (piVar4[2] == 0) {\n        uVar8 = *(uint *)piVar4[1];\n        if (param_1 != 0) goto LAB_00212668;\n        if (uVar8 != 0x4c) {\n          if (uVar8 < 0x4d) {\n            if (4 < uVar8 - 0x1c) goto LAB_00212668;\n          }\n          else if (1 < uVar8 - 0x4e) {\nLAB_00212668:\n            uVar3 = *(undefined4 *)(iVar6 + 0x110);\n            piVar4[2] = 1;\n            *(int *)(iVar6 + 0x110) = piVar4[3];\n            if (uVar8 == 0x29) {\n              FUN_00212300(*piVar4);\n              *(undefined4 *)(iVar6 + 0x110) = uVar3;\n              return;\n            }\n            if (uVar8 == 0x2a) {\n              FUN_00212a20(*piVar4);\n              *(undefined4 *)(iVar6 + 0x110) = uVar3;\n              return;\n            }\n            if (uVar8 == 2) {\n              uVar5 = *(undefined4 *)(iVar6 + 0x114);\n              *(undefined4 *)(iVar6 + 0x114) = 0;\n              FUN_0020ca20();\n              *(undefined4 *)(iVar6 + 0x114) = uVar5;\n              iVar7 = *(int *)(iVar6 + 0x100);\n              if ((uVar15 & 0x400000000) == 0) {\n                puVar14 = (undefined1 *)(unaff_EDI + 0x264d2);\n                uVar12 = 0x3a;\n                while( true ) {\n                  if (iVar7 == 0xff) {\n                    *(undefined1 *)(iVar6 + 0xff) = 0;\n                    (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                    *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                    iVar11 = 1;\n                    iVar7 = 0;\n                  }\n                  else {\n                    iVar11 = iVar7 + 1;\n                  }\n                  puVar14 = puVar14 + 1;\n                  *(int *)(iVar6 + 0x100) = iVar11;\n                  *(undefined1 *)(iVar6 + iVar7) = uVar12;\n                  *(undefined1 *)(iVar6 + 0x104) = uVar12;\n                  if (puVar14 == (undefined1 *)(unaff_EDI + 0x264d4)) break;\n                  uVar12 = *puVar14;\n                  iVar7 = iVar11;\n                }\n              }\n              else {\n                iVar11 = iVar7 + 1;\n                if (iVar7 == 0xff) {\n                  *(undefined1 *)(iVar6 + 0xff) = 0;\n                  (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                  *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                  iVar11 = 1;\n                  iVar7 = 0;\n                }\n                *(int *)(iVar6 + 0x100) = iVar11;\n                *(undefined1 *)(iVar6 + iVar7) = 0x2e;\n                *(undefined1 *)(iVar6 + 0x104) = 0x2e;\n              }\n              local_44 = *(uint **)(piVar4[1] + 0xc);\n              uVar8 = *local_44;\n              if (uVar8 == 0x46) {\n                cVar10 = (code)0x7b;\n                pcVar13 = ioctl + unaff_EDI + 4;\n                iVar7 = *(int *)(iVar6 + 0x100);\n                while( true ) {\n                  if (iVar7 == 0xff) {\n                    *(undefined1 *)(iVar6 + 0xff) = 0;\n                    (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                    *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                    iVar11 = 1;\n                    iVar7 = 0;\n                  }\n                  else {\n                    iVar11 = iVar7 + 1;\n                  }\n                  *(int *)(iVar6 + 0x100) = iVar11;\n                  *(code *)(iVar6 + iVar7) = cVar10;\n                  *(code *)(iVar6 + 0x104) = cVar10;\n                  if (pcVar13 == wcrtomb + unaff_EDI) break;\n                  cVar10 = *pcVar13;\n                  pcVar13 = pcVar13 + 1;\n                  iVar7 = iVar11;\n                }\n                __s = local_35;\n                sprintf(__s,(char *)((int)&__DT_REL[0x263a].r_offset + unaff_EDI + 2),\n                        local_44[3] + 1);\n                sVar9 = strlen(__s);\n                iVar7 = *(int *)(iVar6 + 0x100);\n                if (sVar9 != 0) {\n                  pcVar1 = __s + sVar9;\n                  iVar11 = iVar7;\n                  do {\n                    cVar2 = *__s;\n                    if (iVar11 == 0xff) {\n                      *(undefined1 *)(iVar6 + 0xff) = 0;\n                      (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                      *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                      iVar7 = 1;\n                      iVar11 = 0;\n                    }\n                    else {\n                      iVar7 = iVar11 + 1;\n                    }\n                    __s = __s + 1;\n                    *(int *)(iVar6 + 0x100) = iVar7;\n                    *(char *)(iVar6 + iVar11) = cVar2;\n                    *(char *)(iVar6 + 0x104) = cVar2;\n                    iVar11 = iVar7;\n                  } while (pcVar1 != __s);\n                }\n                puVar14 = (undefined1 *)(unaff_EDI + 0x264d1);\n                uVar12 = 0x7d;\n                do {\n                  if (iVar7 == 0xff) {\n                    *(undefined1 *)(iVar6 + 0xff) = 0;\n                    (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                    *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                    iVar11 = 1;\n                    iVar7 = 0;\n                  }\n                  else {\n                    iVar11 = iVar7 + 1;\n                  }\n                  puVar14 = puVar14 + 1;\n                  *(int *)(iVar6 + 0x100) = iVar11;\n                  *(undefined1 *)(iVar6 + iVar7) = uVar12;\n                  *(undefined1 *)(iVar6 + 0x104) = uVar12;\n                  if ((undefined1 *)(unaff_EDI + 0x264d4) == puVar14) goto LAB_002127e9;\n                  uVar12 = *puVar14;\n                  iVar7 = iVar11;\n                } while( true );\n              }\n              do {\n                if (uVar8 != 0x4c) {\n                  if (uVar8 < 0x4d) {\n                    if (4 < uVar8 - 0x1c) {\nLAB_0021277d:\n                      FUN_0020ca20();\n                      *(undefined4 *)(iVar6 + 0x110) = uVar3;\n                      return;\n                    }\n                  }\n                  else if (1 < uVar8 - 0x4e) goto LAB_0021277d;\n                }\nLAB_002127e9:\n                local_44 = (uint *)local_44[2];\n                uVar8 = *local_44;\n              } while( true );\n            }\n            FUN_00211980();\n            *(undefined4 *)(iVar6 + 0x110) = uVar3;\n          }\n        }\n      }\n      piVar4 = (int *)*piVar4;\n      if (piVar4 == (int *)0x0) {\n        return;\n      }\n      iVar7 = *(int *)(iVar6 + 0x118);\n    }" ({ "{") (if_statement "if (piVar4[2] == 0) {\n        uVar8 = *(uint *)piVar4[1];\n        if (param_1 != 0) goto LAB_00212668;\n        if (uVar8 != 0x4c) {\n          if (uVar8 < 0x4d) {\n            if (4 < uVar8 - 0x1c) goto LAB_00212668;\n          }\n          else if (1 < uVar8 - 0x4e) {\nLAB_00212668:\n            uVar3 = *(undefined4 *)(iVar6 + 0x110);\n            piVar4[2] = 1;\n            *(int *)(iVar6 + 0x110) = piVar4[3];\n            if (uVar8 == 0x29) {\n              FUN_00212300(*piVar4);\n              *(undefined4 *)(iVar6 + 0x110) = uVar3;\n              return;\n            }\n            if (uVar8 == 0x2a) {\n              FUN_00212a20(*piVar4);\n              *(undefined4 *)(iVar6 + 0x110) = uVar3;\n              return;\n            }\n            if (uVar8 == 2) {\n              uVar5 = *(undefined4 *)(iVar6 + 0x114);\n              *(undefined4 *)(iVar6 + 0x114) = 0;\n              FUN_0020ca20();\n              *(undefined4 *)(iVar6 + 0x114) = uVar5;\n              iVar7 = *(int *)(iVar6 + 0x100);\n              if ((uVar15 & 0x400000000) == 0) {\n                puVar14 = (undefined1 *)(unaff_EDI + 0x264d2);\n                uVar12 = 0x3a;\n                while( true ) {\n                  if (iVar7 == 0xff) {\n                    *(undefined1 *)(iVar6 + 0xff) = 0;\n                    (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                    *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                    iVar11 = 1;\n                    iVar7 = 0;\n                  }\n                  else {\n                    iVar11 = iVar7 + 1;\n                  }\n                  puVar14 = puVar14 + 1;\n                  *(int *)(iVar6 + 0x100) = iVar11;\n                  *(undefined1 *)(iVar6 + iVar7) = uVar12;\n                  *(undefined1 *)(iVar6 + 0x104) = uVar12;\n                  if (puVar14 == (undefined1 *)(unaff_EDI + 0x264d4)) break;\n                  uVar12 = *puVar14;\n                  iVar7 = iVar11;\n                }\n              }\n              else {\n                iVar11 = iVar7 + 1;\n                if (iVar7 == 0xff) {\n                  *(undefined1 *)(iVar6 + 0xff) = 0;\n                  (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                  *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                  iVar11 = 1;\n                  iVar7 = 0;\n                }\n                *(int *)(iVar6 + 0x100) = iVar11;\n                *(undefined1 *)(iVar6 + iVar7) = 0x2e;\n                *(undefined1 *)(iVar6 + 0x104) = 0x2e;\n              }\n              local_44 = *(uint **)(piVar4[1] + 0xc);\n              uVar8 = *local_44;\n              if (uVar8 == 0x46) {\n                cVar10 = (code)0x7b;\n                pcVar13 = ioctl + unaff_EDI + 4;\n                iVar7 = *(int *)(iVar6 + 0x100);\n                while( true ) {\n                  if (iVar7 == 0xff) {\n                    *(undefined1 *)(iVar6 + 0xff) = 0;\n                    (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                    *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                    iVar11 = 1;\n                    iVar7 = 0;\n                  }\n                  else {\n                    iVar11 = iVar7 + 1;\n                  }\n                  *(int *)(iVar6 + 0x100) = iVar11;\n                  *(code *)(iVar6 + iVar7) = cVar10;\n                  *(code *)(iVar6 + 0x104) = cVar10;\n                  if (pcVar13 == wcrtomb + unaff_EDI) break;\n                  cVar10 = *pcVar13;\n                  pcVar13 = pcVar13 + 1;\n                  iVar7 = iVar11;\n                }\n                __s = local_35;\n                sprintf(__s,(char *)((int)&__DT_REL[0x263a].r_offset + unaff_EDI + 2),\n                        local_44[3] + 1);\n                sVar9 = strlen(__s);\n                iVar7 = *(int *)(iVar6 + 0x100);\n                if (sVar9 != 0) {\n                  pcVar1 = __s + sVar9;\n                  iVar11 = iVar7;\n                  do {\n                    cVar2 = *__s;\n                    if (iVar11 == 0xff) {\n                      *(undefined1 *)(iVar6 + 0xff) = 0;\n                      (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                      *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                      iVar7 = 1;\n                      iVar11 = 0;\n                    }\n                    else {\n                      iVar7 = iVar11 + 1;\n                    }\n                    __s = __s + 1;\n                    *(int *)(iVar6 + 0x100) = iVar7;\n                    *(char *)(iVar6 + iVar11) = cVar2;\n                    *(char *)(iVar6 + 0x104) = cVar2;\n                    iVar11 = iVar7;\n                  } while (pcVar1 != __s);\n                }\n                puVar14 = (undefined1 *)(unaff_EDI + 0x264d1);\n                uVar12 = 0x7d;\n                do {\n                  if (iVar7 == 0xff) {\n                    *(undefined1 *)(iVar6 + 0xff) = 0;\n                    (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                    *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                    iVar11 = 1;\n                    iVar7 = 0;\n                  }\n                  else {\n                    iVar11 = iVar7 + 1;\n                  }\n                  puVar14 = puVar14 + 1;\n                  *(int *)(iVar6 + 0x100) = iVar11;\n                  *(undefined1 *)(iVar6 + iVar7) = uVar12;\n                  *(undefined1 *)(iVar6 + 0x104) = uVar12;\n                  if ((undefined1 *)(unaff_EDI + 0x264d4) == puVar14) goto LAB_002127e9;\n                  uVar12 = *puVar14;\n                  iVar7 = iVar11;\n                } while( true );\n              }\n              do {\n                if (uVar8 != 0x4c) {\n                  if (uVar8 < 0x4d) {\n                    if (4 < uVar8 - 0x1c) {\nLAB_0021277d:\n                      FUN_0020ca20();\n                      *(undefined4 *)(iVar6 + 0x110) = uVar3;\n                      return;\n                    }\n                  }\n                  else if (1 < uVar8 - 0x4e) goto LAB_0021277d;\n                }\nLAB_002127e9:\n                local_44 = (uint *)local_44[2];\n                uVar8 = *local_44;\n              } while( true );\n            }\n            FUN_00211980();\n            *(undefined4 *)(iVar6 + 0x110) = uVar3;\n          }\n        }\n      }" (if "if") (parenthesized_expression "(piVar4[2] == 0)" (( "(") (binary_expression "piVar4[2] == 0" (subscript_expression "piVar4[2]" (identifier "piVar4") ([ "[") (number_literal "2") (] "]")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        uVar8 = *(uint *)piVar4[1];\n        if (param_1 != 0) goto LAB_00212668;\n        if (uVar8 != 0x4c) {\n          if (uVar8 < 0x4d) {\n            if (4 < uVar8 - 0x1c) goto LAB_00212668;\n          }\n          else if (1 < uVar8 - 0x4e) {\nLAB_00212668:\n            uVar3 = *(undefined4 *)(iVar6 + 0x110);\n            piVar4[2] = 1;\n            *(int *)(iVar6 + 0x110) = piVar4[3];\n            if (uVar8 == 0x29) {\n              FUN_00212300(*piVar4);\n              *(undefined4 *)(iVar6 + 0x110) = uVar3;\n              return;\n            }\n            if (uVar8 == 0x2a) {\n              FUN_00212a20(*piVar4);\n              *(undefined4 *)(iVar6 + 0x110) = uVar3;\n              return;\n            }\n            if (uVar8 == 2) {\n              uVar5 = *(undefined4 *)(iVar6 + 0x114);\n              *(undefined4 *)(iVar6 + 0x114) = 0;\n              FUN_0020ca20();\n              *(undefined4 *)(iVar6 + 0x114) = uVar5;\n              iVar7 = *(int *)(iVar6 + 0x100);\n              if ((uVar15 & 0x400000000) == 0) {\n                puVar14 = (undefined1 *)(unaff_EDI + 0x264d2);\n                uVar12 = 0x3a;\n                while( true ) {\n                  if (iVar7 == 0xff) {\n                    *(undefined1 *)(iVar6 + 0xff) = 0;\n                    (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                    *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                    iVar11 = 1;\n                    iVar7 = 0;\n                  }\n                  else {\n                    iVar11 = iVar7 + 1;\n                  }\n                  puVar14 = puVar14 + 1;\n                  *(int *)(iVar6 + 0x100) = iVar11;\n                  *(undefined1 *)(iVar6 + iVar7) = uVar12;\n                  *(undefined1 *)(iVar6 + 0x104) = uVar12;\n                  if (puVar14 == (undefined1 *)(unaff_EDI + 0x264d4)) break;\n                  uVar12 = *puVar14;\n                  iVar7 = iVar11;\n                }\n              }\n              else {\n                iVar11 = iVar7 + 1;\n                if (iVar7 == 0xff) {\n                  *(undefined1 *)(iVar6 + 0xff) = 0;\n                  (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                  *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                  iVar11 = 1;\n                  iVar7 = 0;\n                }\n                *(int *)(iVar6 + 0x100) = iVar11;\n                *(undefined1 *)(iVar6 + iVar7) = 0x2e;\n                *(undefined1 *)(iVar6 + 0x104) = 0x2e;\n              }\n              local_44 = *(uint **)(piVar4[1] + 0xc);\n              uVar8 = *local_44;\n              if (uVar8 == 0x46) {\n                cVar10 = (code)0x7b;\n                pcVar13 = ioctl + unaff_EDI + 4;\n                iVar7 = *(int *)(iVar6 + 0x100);\n                while( true ) {\n                  if (iVar7 == 0xff) {\n                    *(undefined1 *)(iVar6 + 0xff) = 0;\n                    (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                    *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                    iVar11 = 1;\n                    iVar7 = 0;\n                  }\n                  else {\n                    iVar11 = iVar7 + 1;\n                  }\n                  *(int *)(iVar6 + 0x100) = iVar11;\n                  *(code *)(iVar6 + iVar7) = cVar10;\n                  *(code *)(iVar6 + 0x104) = cVar10;\n                  if (pcVar13 == wcrtomb + unaff_EDI) break;\n                  cVar10 = *pcVar13;\n                  pcVar13 = pcVar13 + 1;\n                  iVar7 = iVar11;\n                }\n                __s = local_35;\n                sprintf(__s,(char *)((int)&__DT_REL[0x263a].r_offset + unaff_EDI + 2),\n                        local_44[3] + 1);\n                sVar9 = strlen(__s);\n                iVar7 = *(int *)(iVar6 + 0x100);\n                if (sVar9 != 0) {\n                  pcVar1 = __s + sVar9;\n                  iVar11 = iVar7;\n                  do {\n                    cVar2 = *__s;\n                    if (iVar11 == 0xff) {\n                      *(undefined1 *)(iVar6 + 0xff) = 0;\n                      (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                      *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                      iVar7 = 1;\n                      iVar11 = 0;\n                    }\n                    else {\n                      iVar7 = iVar11 + 1;\n                    }\n                    __s = __s + 1;\n                    *(int *)(iVar6 + 0x100) = iVar7;\n                    *(char *)(iVar6 + iVar11) = cVar2;\n                    *(char *)(iVar6 + 0x104) = cVar2;\n                    iVar11 = iVar7;\n                  } while (pcVar1 != __s);\n                }\n                puVar14 = (undefined1 *)(unaff_EDI + 0x264d1);\n                uVar12 = 0x7d;\n                do {\n                  if (iVar7 == 0xff) {\n                    *(undefined1 *)(iVar6 + 0xff) = 0;\n                    (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                    *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                    iVar11 = 1;\n                    iVar7 = 0;\n                  }\n                  else {\n                    iVar11 = iVar7 + 1;\n                  }\n                  puVar14 = puVar14 + 1;\n                  *(int *)(iVar6 + 0x100) = iVar11;\n                  *(undefined1 *)(iVar6 + iVar7) = uVar12;\n                  *(undefined1 *)(iVar6 + 0x104) = uVar12;\n                  if ((undefined1 *)(unaff_EDI + 0x264d4) == puVar14) goto LAB_002127e9;\n                  uVar12 = *puVar14;\n                  iVar7 = iVar11;\n                } while( true );\n              }\n              do {\n                if (uVar8 != 0x4c) {\n                  if (uVar8 < 0x4d) {\n                    if (4 < uVar8 - 0x1c) {\nLAB_0021277d:\n                      FUN_0020ca20();\n                      *(undefined4 *)(iVar6 + 0x110) = uVar3;\n                      return;\n                    }\n                  }\n                  else if (1 < uVar8 - 0x4e) goto LAB_0021277d;\n                }\nLAB_002127e9:\n                local_44 = (uint *)local_44[2];\n                uVar8 = *local_44;\n              } while( true );\n            }\n            FUN_00211980();\n            *(undefined4 *)(iVar6 + 0x110) = uVar3;\n          }\n        }\n      }" ({ "{") (expression_statement "uVar8 = *(uint *)piVar4[1];" (assignment_expression "uVar8 = *(uint *)piVar4[1]" (identifier "uVar8") (= "=") (pointer_expression "*(uint *)piVar4[1]" (* "*") (cast_expression "(uint *)piVar4[1]" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "piVar4[1]" (identifier "piVar4") ([ "[") (number_literal "1") (] "]"))))) (; ";")) (if_statement "if (param_1 != 0) goto LAB_00212668;" (if "if") (parenthesized_expression "(param_1 != 0)" (( "(") (binary_expression "param_1 != 0" (identifier "param_1") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_00212668;" (goto "goto") (statement_identifier "LAB_00212668") (; ";"))) (if_statement "if (uVar8 != 0x4c) {\n          if (uVar8 < 0x4d) {\n            if (4 < uVar8 - 0x1c) goto LAB_00212668;\n          }\n          else if (1 < uVar8 - 0x4e) {\nLAB_00212668:\n            uVar3 = *(undefined4 *)(iVar6 + 0x110);\n            piVar4[2] = 1;\n            *(int *)(iVar6 + 0x110) = piVar4[3];\n            if (uVar8 == 0x29) {\n              FUN_00212300(*piVar4);\n              *(undefined4 *)(iVar6 + 0x110) = uVar3;\n              return;\n            }\n            if (uVar8 == 0x2a) {\n              FUN_00212a20(*piVar4);\n              *(undefined4 *)(iVar6 + 0x110) = uVar3;\n              return;\n            }\n            if (uVar8 == 2) {\n              uVar5 = *(undefined4 *)(iVar6 + 0x114);\n              *(undefined4 *)(iVar6 + 0x114) = 0;\n              FUN_0020ca20();\n              *(undefined4 *)(iVar6 + 0x114) = uVar5;\n              iVar7 = *(int *)(iVar6 + 0x100);\n              if ((uVar15 & 0x400000000) == 0) {\n                puVar14 = (undefined1 *)(unaff_EDI + 0x264d2);\n                uVar12 = 0x3a;\n                while( true ) {\n                  if (iVar7 == 0xff) {\n                    *(undefined1 *)(iVar6 + 0xff) = 0;\n                    (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                    *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                    iVar11 = 1;\n                    iVar7 = 0;\n                  }\n                  else {\n                    iVar11 = iVar7 + 1;\n                  }\n                  puVar14 = puVar14 + 1;\n                  *(int *)(iVar6 + 0x100) = iVar11;\n                  *(undefined1 *)(iVar6 + iVar7) = uVar12;\n                  *(undefined1 *)(iVar6 + 0x104) = uVar12;\n                  if (puVar14 == (undefined1 *)(unaff_EDI + 0x264d4)) break;\n                  uVar12 = *puVar14;\n                  iVar7 = iVar11;\n                }\n              }\n              else {\n                iVar11 = iVar7 + 1;\n                if (iVar7 == 0xff) {\n                  *(undefined1 *)(iVar6 + 0xff) = 0;\n                  (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                  *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                  iVar11 = 1;\n                  iVar7 = 0;\n                }\n                *(int *)(iVar6 + 0x100) = iVar11;\n                *(undefined1 *)(iVar6 + iVar7) = 0x2e;\n                *(undefined1 *)(iVar6 + 0x104) = 0x2e;\n              }\n              local_44 = *(uint **)(piVar4[1] + 0xc);\n              uVar8 = *local_44;\n              if (uVar8 == 0x46) {\n                cVar10 = (code)0x7b;\n                pcVar13 = ioctl + unaff_EDI + 4;\n                iVar7 = *(int *)(iVar6 + 0x100);\n                while( true ) {\n                  if (iVar7 == 0xff) {\n                    *(undefined1 *)(iVar6 + 0xff) = 0;\n                    (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                    *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                    iVar11 = 1;\n                    iVar7 = 0;\n                  }\n                  else {\n                    iVar11 = iVar7 + 1;\n                  }\n                  *(int *)(iVar6 + 0x100) = iVar11;\n                  *(code *)(iVar6 + iVar7) = cVar10;\n                  *(code *)(iVar6 + 0x104) = cVar10;\n                  if (pcVar13 == wcrtomb + unaff_EDI) break;\n                  cVar10 = *pcVar13;\n                  pcVar13 = pcVar13 + 1;\n                  iVar7 = iVar11;\n                }\n                __s = local_35;\n                sprintf(__s,(char *)((int)&__DT_REL[0x263a].r_offset + unaff_EDI + 2),\n                        local_44[3] + 1);\n                sVar9 = strlen(__s);\n                iVar7 = *(int *)(iVar6 + 0x100);\n                if (sVar9 != 0) {\n                  pcVar1 = __s + sVar9;\n                  iVar11 = iVar7;\n                  do {\n                    cVar2 = *__s;\n                    if (iVar11 == 0xff) {\n                      *(undefined1 *)(iVar6 + 0xff) = 0;\n                      (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                      *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                      iVar7 = 1;\n                      iVar11 = 0;\n                    }\n                    else {\n                      iVar7 = iVar11 + 1;\n                    }\n                    __s = __s + 1;\n                    *(int *)(iVar6 + 0x100) = iVar7;\n                    *(char *)(iVar6 + iVar11) = cVar2;\n                    *(char *)(iVar6 + 0x104) = cVar2;\n                    iVar11 = iVar7;\n                  } while (pcVar1 != __s);\n                }\n                puVar14 = (undefined1 *)(unaff_EDI + 0x264d1);\n                uVar12 = 0x7d;\n                do {\n                  if (iVar7 == 0xff) {\n                    *(undefined1 *)(iVar6 + 0xff) = 0;\n                    (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                    *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                    iVar11 = 1;\n                    iVar7 = 0;\n                  }\n                  else {\n                    iVar11 = iVar7 + 1;\n                  }\n                  puVar14 = puVar14 + 1;\n                  *(int *)(iVar6 + 0x100) = iVar11;\n                  *(undefined1 *)(iVar6 + iVar7) = uVar12;\n                  *(undefined1 *)(iVar6 + 0x104) = uVar12;\n                  if ((undefined1 *)(unaff_EDI + 0x264d4) == puVar14) goto LAB_002127e9;\n                  uVar12 = *puVar14;\n                  iVar7 = iVar11;\n                } while( true );\n              }\n              do {\n                if (uVar8 != 0x4c) {\n                  if (uVar8 < 0x4d) {\n                    if (4 < uVar8 - 0x1c) {\nLAB_0021277d:\n                      FUN_0020ca20();\n                      *(undefined4 *)(iVar6 + 0x110) = uVar3;\n                      return;\n                    }\n                  }\n                  else if (1 < uVar8 - 0x4e) goto LAB_0021277d;\n                }\nLAB_002127e9:\n                local_44 = (uint *)local_44[2];\n                uVar8 = *local_44;\n              } while( true );\n            }\n            FUN_00211980();\n            *(undefined4 *)(iVar6 + 0x110) = uVar3;\n          }\n        }" (if "if") (parenthesized_expression "(uVar8 != 0x4c)" (( "(") (binary_expression "uVar8 != 0x4c" (identifier "uVar8") (!= "!=") (number_literal "0x4c")) () ")")) (compound_statement "{\n          if (uVar8 < 0x4d) {\n            if (4 < uVar8 - 0x1c) goto LAB_00212668;\n          }\n          else if (1 < uVar8 - 0x4e) {\nLAB_00212668:\n            uVar3 = *(undefined4 *)(iVar6 + 0x110);\n            piVar4[2] = 1;\n            *(int *)(iVar6 + 0x110) = piVar4[3];\n            if (uVar8 == 0x29) {\n              FUN_00212300(*piVar4);\n              *(undefined4 *)(iVar6 + 0x110) = uVar3;\n              return;\n            }\n            if (uVar8 == 0x2a) {\n              FUN_00212a20(*piVar4);\n              *(undefined4 *)(iVar6 + 0x110) = uVar3;\n              return;\n            }\n            if (uVar8 == 2) {\n              uVar5 = *(undefined4 *)(iVar6 + 0x114);\n              *(undefined4 *)(iVar6 + 0x114) = 0;\n              FUN_0020ca20();\n              *(undefined4 *)(iVar6 + 0x114) = uVar5;\n              iVar7 = *(int *)(iVar6 + 0x100);\n              if ((uVar15 & 0x400000000) == 0) {\n                puVar14 = (undefined1 *)(unaff_EDI + 0x264d2);\n                uVar12 = 0x3a;\n                while( true ) {\n                  if (iVar7 == 0xff) {\n                    *(undefined1 *)(iVar6 + 0xff) = 0;\n                    (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                    *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                    iVar11 = 1;\n                    iVar7 = 0;\n                  }\n                  else {\n                    iVar11 = iVar7 + 1;\n                  }\n                  puVar14 = puVar14 + 1;\n                  *(int *)(iVar6 + 0x100) = iVar11;\n                  *(undefined1 *)(iVar6 + iVar7) = uVar12;\n                  *(undefined1 *)(iVar6 + 0x104) = uVar12;\n                  if (puVar14 == (undefined1 *)(unaff_EDI + 0x264d4)) break;\n                  uVar12 = *puVar14;\n                  iVar7 = iVar11;\n                }\n              }\n              else {\n                iVar11 = iVar7 + 1;\n                if (iVar7 == 0xff) {\n                  *(undefined1 *)(iVar6 + 0xff) = 0;\n                  (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                  *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                  iVar11 = 1;\n                  iVar7 = 0;\n                }\n                *(int *)(iVar6 + 0x100) = iVar11;\n                *(undefined1 *)(iVar6 + iVar7) = 0x2e;\n                *(undefined1 *)(iVar6 + 0x104) = 0x2e;\n              }\n              local_44 = *(uint **)(piVar4[1] + 0xc);\n              uVar8 = *local_44;\n              if (uVar8 == 0x46) {\n                cVar10 = (code)0x7b;\n                pcVar13 = ioctl + unaff_EDI + 4;\n                iVar7 = *(int *)(iVar6 + 0x100);\n                while( true ) {\n                  if (iVar7 == 0xff) {\n                    *(undefined1 *)(iVar6 + 0xff) = 0;\n                    (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                    *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                    iVar11 = 1;\n                    iVar7 = 0;\n                  }\n                  else {\n                    iVar11 = iVar7 + 1;\n                  }\n                  *(int *)(iVar6 + 0x100) = iVar11;\n                  *(code *)(iVar6 + iVar7) = cVar10;\n                  *(code *)(iVar6 + 0x104) = cVar10;\n                  if (pcVar13 == wcrtomb + unaff_EDI) break;\n                  cVar10 = *pcVar13;\n                  pcVar13 = pcVar13 + 1;\n                  iVar7 = iVar11;\n                }\n                __s = local_35;\n                sprintf(__s,(char *)((int)&__DT_REL[0x263a].r_offset + unaff_EDI + 2),\n                        local_44[3] + 1);\n                sVar9 = strlen(__s);\n                iVar7 = *(int *)(iVar6 + 0x100);\n                if (sVar9 != 0) {\n                  pcVar1 = __s + sVar9;\n                  iVar11 = iVar7;\n                  do {\n                    cVar2 = *__s;\n                    if (iVar11 == 0xff) {\n                      *(undefined1 *)(iVar6 + 0xff) = 0;\n                      (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                      *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                      iVar7 = 1;\n                      iVar11 = 0;\n                    }\n                    else {\n                      iVar7 = iVar11 + 1;\n                    }\n                    __s = __s + 1;\n                    *(int *)(iVar6 + 0x100) = iVar7;\n                    *(char *)(iVar6 + iVar11) = cVar2;\n                    *(char *)(iVar6 + 0x104) = cVar2;\n                    iVar11 = iVar7;\n                  } while (pcVar1 != __s);\n                }\n                puVar14 = (undefined1 *)(unaff_EDI + 0x264d1);\n                uVar12 = 0x7d;\n                do {\n                  if (iVar7 == 0xff) {\n                    *(undefined1 *)(iVar6 + 0xff) = 0;\n                    (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                    *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                    iVar11 = 1;\n                    iVar7 = 0;\n                  }\n                  else {\n                    iVar11 = iVar7 + 1;\n                  }\n                  puVar14 = puVar14 + 1;\n                  *(int *)(iVar6 + 0x100) = iVar11;\n                  *(undefined1 *)(iVar6 + iVar7) = uVar12;\n                  *(undefined1 *)(iVar6 + 0x104) = uVar12;\n                  if ((undefined1 *)(unaff_EDI + 0x264d4) == puVar14) goto LAB_002127e9;\n                  uVar12 = *puVar14;\n                  iVar7 = iVar11;\n                } while( true );\n              }\n              do {\n                if (uVar8 != 0x4c) {\n                  if (uVar8 < 0x4d) {\n                    if (4 < uVar8 - 0x1c) {\nLAB_0021277d:\n                      FUN_0020ca20();\n                      *(undefined4 *)(iVar6 + 0x110) = uVar3;\n                      return;\n                    }\n                  }\n                  else if (1 < uVar8 - 0x4e) goto LAB_0021277d;\n                }\nLAB_002127e9:\n                local_44 = (uint *)local_44[2];\n                uVar8 = *local_44;\n              } while( true );\n            }\n            FUN_00211980();\n            *(undefined4 *)(iVar6 + 0x110) = uVar3;\n          }\n        }" ({ "{") (if_statement "if (uVar8 < 0x4d) {\n            if (4 < uVar8 - 0x1c) goto LAB_00212668;\n          }\n          else if (1 < uVar8 - 0x4e) {\nLAB_00212668:\n            uVar3 = *(undefined4 *)(iVar6 + 0x110);\n            piVar4[2] = 1;\n            *(int *)(iVar6 + 0x110) = piVar4[3];\n            if (uVar8 == 0x29) {\n              FUN_00212300(*piVar4);\n              *(undefined4 *)(iVar6 + 0x110) = uVar3;\n              return;\n            }\n            if (uVar8 == 0x2a) {\n              FUN_00212a20(*piVar4);\n              *(undefined4 *)(iVar6 + 0x110) = uVar3;\n              return;\n            }\n            if (uVar8 == 2) {\n              uVar5 = *(undefined4 *)(iVar6 + 0x114);\n              *(undefined4 *)(iVar6 + 0x114) = 0;\n              FUN_0020ca20();\n              *(undefined4 *)(iVar6 + 0x114) = uVar5;\n              iVar7 = *(int *)(iVar6 + 0x100);\n              if ((uVar15 & 0x400000000) == 0) {\n                puVar14 = (undefined1 *)(unaff_EDI + 0x264d2);\n                uVar12 = 0x3a;\n                while( true ) {\n                  if (iVar7 == 0xff) {\n                    *(undefined1 *)(iVar6 + 0xff) = 0;\n                    (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                    *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                    iVar11 = 1;\n                    iVar7 = 0;\n                  }\n                  else {\n                    iVar11 = iVar7 + 1;\n                  }\n                  puVar14 = puVar14 + 1;\n                  *(int *)(iVar6 + 0x100) = iVar11;\n                  *(undefined1 *)(iVar6 + iVar7) = uVar12;\n                  *(undefined1 *)(iVar6 + 0x104) = uVar12;\n                  if (puVar14 == (undefined1 *)(unaff_EDI + 0x264d4)) break;\n                  uVar12 = *puVar14;\n                  iVar7 = iVar11;\n                }\n              }\n              else {\n                iVar11 = iVar7 + 1;\n                if (iVar7 == 0xff) {\n                  *(undefined1 *)(iVar6 + 0xff) = 0;\n                  (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                  *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                  iVar11 = 1;\n                  iVar7 = 0;\n                }\n                *(int *)(iVar6 + 0x100) = iVar11;\n                *(undefined1 *)(iVar6 + iVar7) = 0x2e;\n                *(undefined1 *)(iVar6 + 0x104) = 0x2e;\n              }\n              local_44 = *(uint **)(piVar4[1] + 0xc);\n              uVar8 = *local_44;\n              if (uVar8 == 0x46) {\n                cVar10 = (code)0x7b;\n                pcVar13 = ioctl + unaff_EDI + 4;\n                iVar7 = *(int *)(iVar6 + 0x100);\n                while( true ) {\n                  if (iVar7 == 0xff) {\n                    *(undefined1 *)(iVar6 + 0xff) = 0;\n                    (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                    *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                    iVar11 = 1;\n                    iVar7 = 0;\n                  }\n                  else {\n                    iVar11 = iVar7 + 1;\n                  }\n                  *(int *)(iVar6 + 0x100) = iVar11;\n                  *(code *)(iVar6 + iVar7) = cVar10;\n                  *(code *)(iVar6 + 0x104) = cVar10;\n                  if (pcVar13 == wcrtomb + unaff_EDI) break;\n                  cVar10 = *pcVar13;\n                  pcVar13 = pcVar13 + 1;\n                  iVar7 = iVar11;\n                }\n                __s = local_35;\n                sprintf(__s,(char *)((int)&__DT_REL[0x263a].r_offset + unaff_EDI + 2),\n                        local_44[3] + 1);\n                sVar9 = strlen(__s);\n                iVar7 = *(int *)(iVar6 + 0x100);\n                if (sVar9 != 0) {\n                  pcVar1 = __s + sVar9;\n                  iVar11 = iVar7;\n                  do {\n                    cVar2 = *__s;\n                    if (iVar11 == 0xff) {\n                      *(undefined1 *)(iVar6 + 0xff) = 0;\n                      (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                      *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                      iVar7 = 1;\n                      iVar11 = 0;\n                    }\n                    else {\n                      iVar7 = iVar11 + 1;\n                    }\n                    __s = __s + 1;\n                    *(int *)(iVar6 + 0x100) = iVar7;\n                    *(char *)(iVar6 + iVar11) = cVar2;\n                    *(char *)(iVar6 + 0x104) = cVar2;\n                    iVar11 = iVar7;\n                  } while (pcVar1 != __s);\n                }\n                puVar14 = (undefined1 *)(unaff_EDI + 0x264d1);\n                uVar12 = 0x7d;\n                do {\n                  if (iVar7 == 0xff) {\n                    *(undefined1 *)(iVar6 + 0xff) = 0;\n                    (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                    *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                    iVar11 = 1;\n                    iVar7 = 0;\n                  }\n                  else {\n                    iVar11 = iVar7 + 1;\n                  }\n                  puVar14 = puVar14 + 1;\n                  *(int *)(iVar6 + 0x100) = iVar11;\n                  *(undefined1 *)(iVar6 + iVar7) = uVar12;\n                  *(undefined1 *)(iVar6 + 0x104) = uVar12;\n                  if ((undefined1 *)(unaff_EDI + 0x264d4) == puVar14) goto LAB_002127e9;\n                  uVar12 = *puVar14;\n                  iVar7 = iVar11;\n                } while( true );\n              }\n              do {\n                if (uVar8 != 0x4c) {\n                  if (uVar8 < 0x4d) {\n                    if (4 < uVar8 - 0x1c) {\nLAB_0021277d:\n                      FUN_0020ca20();\n                      *(undefined4 *)(iVar6 + 0x110) = uVar3;\n                      return;\n                    }\n                  }\n                  else if (1 < uVar8 - 0x4e) goto LAB_0021277d;\n                }\nLAB_002127e9:\n                local_44 = (uint *)local_44[2];\n                uVar8 = *local_44;\n              } while( true );\n            }\n            FUN_00211980();\n            *(undefined4 *)(iVar6 + 0x110) = uVar3;\n          }" (if "if") (parenthesized_expression "(uVar8 < 0x4d)" (( "(") (binary_expression "uVar8 < 0x4d" (identifier "uVar8") (< "<") (number_literal "0x4d")) () ")")) (compound_statement "{\n            if (4 < uVar8 - 0x1c) goto LAB_00212668;\n          }" ({ "{") (if_statement "if (4 < uVar8 - 0x1c) goto LAB_00212668;" (if "if") (parenthesized_expression "(4 < uVar8 - 0x1c)" (( "(") (binary_expression "4 < uVar8 - 0x1c" (number_literal "4") (< "<") (binary_expression "uVar8 - 0x1c" (identifier "uVar8") (- "-") (number_literal "0x1c"))) () ")")) (goto_statement "goto LAB_00212668;" (goto "goto") (statement_identifier "LAB_00212668") (; ";"))) (} "}")) (else_clause "else if (1 < uVar8 - 0x4e) {\nLAB_00212668:\n            uVar3 = *(undefined4 *)(iVar6 + 0x110);\n            piVar4[2] = 1;\n            *(int *)(iVar6 + 0x110) = piVar4[3];\n            if (uVar8 == 0x29) {\n              FUN_00212300(*piVar4);\n              *(undefined4 *)(iVar6 + 0x110) = uVar3;\n              return;\n            }\n            if (uVar8 == 0x2a) {\n              FUN_00212a20(*piVar4);\n              *(undefined4 *)(iVar6 + 0x110) = uVar3;\n              return;\n            }\n            if (uVar8 == 2) {\n              uVar5 = *(undefined4 *)(iVar6 + 0x114);\n              *(undefined4 *)(iVar6 + 0x114) = 0;\n              FUN_0020ca20();\n              *(undefined4 *)(iVar6 + 0x114) = uVar5;\n              iVar7 = *(int *)(iVar6 + 0x100);\n              if ((uVar15 & 0x400000000) == 0) {\n                puVar14 = (undefined1 *)(unaff_EDI + 0x264d2);\n                uVar12 = 0x3a;\n                while( true ) {\n                  if (iVar7 == 0xff) {\n                    *(undefined1 *)(iVar6 + 0xff) = 0;\n                    (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                    *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                    iVar11 = 1;\n                    iVar7 = 0;\n                  }\n                  else {\n                    iVar11 = iVar7 + 1;\n                  }\n                  puVar14 = puVar14 + 1;\n                  *(int *)(iVar6 + 0x100) = iVar11;\n                  *(undefined1 *)(iVar6 + iVar7) = uVar12;\n                  *(undefined1 *)(iVar6 + 0x104) = uVar12;\n                  if (puVar14 == (undefined1 *)(unaff_EDI + 0x264d4)) break;\n                  uVar12 = *puVar14;\n                  iVar7 = iVar11;\n                }\n              }\n              else {\n                iVar11 = iVar7 + 1;\n                if (iVar7 == 0xff) {\n                  *(undefined1 *)(iVar6 + 0xff) = 0;\n                  (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                  *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                  iVar11 = 1;\n                  iVar7 = 0;\n                }\n                *(int *)(iVar6 + 0x100) = iVar11;\n                *(undefined1 *)(iVar6 + iVar7) = 0x2e;\n                *(undefined1 *)(iVar6 + 0x104) = 0x2e;\n              }\n              local_44 = *(uint **)(piVar4[1] + 0xc);\n              uVar8 = *local_44;\n              if (uVar8 == 0x46) {\n                cVar10 = (code)0x7b;\n                pcVar13 = ioctl + unaff_EDI + 4;\n                iVar7 = *(int *)(iVar6 + 0x100);\n                while( true ) {\n                  if (iVar7 == 0xff) {\n                    *(undefined1 *)(iVar6 + 0xff) = 0;\n                    (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                    *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                    iVar11 = 1;\n                    iVar7 = 0;\n                  }\n                  else {\n                    iVar11 = iVar7 + 1;\n                  }\n                  *(int *)(iVar6 + 0x100) = iVar11;\n                  *(code *)(iVar6 + iVar7) = cVar10;\n                  *(code *)(iVar6 + 0x104) = cVar10;\n                  if (pcVar13 == wcrtomb + unaff_EDI) break;\n                  cVar10 = *pcVar13;\n                  pcVar13 = pcVar13 + 1;\n                  iVar7 = iVar11;\n                }\n                __s = local_35;\n                sprintf(__s,(char *)((int)&__DT_REL[0x263a].r_offset + unaff_EDI + 2),\n                        local_44[3] + 1);\n                sVar9 = strlen(__s);\n                iVar7 = *(int *)(iVar6 + 0x100);\n                if (sVar9 != 0) {\n                  pcVar1 = __s + sVar9;\n                  iVar11 = iVar7;\n                  do {\n                    cVar2 = *__s;\n                    if (iVar11 == 0xff) {\n                      *(undefined1 *)(iVar6 + 0xff) = 0;\n                      (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                      *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                      iVar7 = 1;\n                      iVar11 = 0;\n                    }\n                    else {\n                      iVar7 = iVar11 + 1;\n                    }\n                    __s = __s + 1;\n                    *(int *)(iVar6 + 0x100) = iVar7;\n                    *(char *)(iVar6 + iVar11) = cVar2;\n                    *(char *)(iVar6 + 0x104) = cVar2;\n                    iVar11 = iVar7;\n                  } while (pcVar1 != __s);\n                }\n                puVar14 = (undefined1 *)(unaff_EDI + 0x264d1);\n                uVar12 = 0x7d;\n                do {\n                  if (iVar7 == 0xff) {\n                    *(undefined1 *)(iVar6 + 0xff) = 0;\n                    (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                    *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                    iVar11 = 1;\n                    iVar7 = 0;\n                  }\n                  else {\n                    iVar11 = iVar7 + 1;\n                  }\n                  puVar14 = puVar14 + 1;\n                  *(int *)(iVar6 + 0x100) = iVar11;\n                  *(undefined1 *)(iVar6 + iVar7) = uVar12;\n                  *(undefined1 *)(iVar6 + 0x104) = uVar12;\n                  if ((undefined1 *)(unaff_EDI + 0x264d4) == puVar14) goto LAB_002127e9;\n                  uVar12 = *puVar14;\n                  iVar7 = iVar11;\n                } while( true );\n              }\n              do {\n                if (uVar8 != 0x4c) {\n                  if (uVar8 < 0x4d) {\n                    if (4 < uVar8 - 0x1c) {\nLAB_0021277d:\n                      FUN_0020ca20();\n                      *(undefined4 *)(iVar6 + 0x110) = uVar3;\n                      return;\n                    }\n                  }\n                  else if (1 < uVar8 - 0x4e) goto LAB_0021277d;\n                }\nLAB_002127e9:\n                local_44 = (uint *)local_44[2];\n                uVar8 = *local_44;\n              } while( true );\n            }\n            FUN_00211980();\n            *(undefined4 *)(iVar6 + 0x110) = uVar3;\n          }" (else "else") (if_statement "if (1 < uVar8 - 0x4e) {\nLAB_00212668:\n            uVar3 = *(undefined4 *)(iVar6 + 0x110);\n            piVar4[2] = 1;\n            *(int *)(iVar6 + 0x110) = piVar4[3];\n            if (uVar8 == 0x29) {\n              FUN_00212300(*piVar4);\n              *(undefined4 *)(iVar6 + 0x110) = uVar3;\n              return;\n            }\n            if (uVar8 == 0x2a) {\n              FUN_00212a20(*piVar4);\n              *(undefined4 *)(iVar6 + 0x110) = uVar3;\n              return;\n            }\n            if (uVar8 == 2) {\n              uVar5 = *(undefined4 *)(iVar6 + 0x114);\n              *(undefined4 *)(iVar6 + 0x114) = 0;\n              FUN_0020ca20();\n              *(undefined4 *)(iVar6 + 0x114) = uVar5;\n              iVar7 = *(int *)(iVar6 + 0x100);\n              if ((uVar15 & 0x400000000) == 0) {\n                puVar14 = (undefined1 *)(unaff_EDI + 0x264d2);\n                uVar12 = 0x3a;\n                while( true ) {\n                  if (iVar7 == 0xff) {\n                    *(undefined1 *)(iVar6 + 0xff) = 0;\n                    (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                    *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                    iVar11 = 1;\n                    iVar7 = 0;\n                  }\n                  else {\n                    iVar11 = iVar7 + 1;\n                  }\n                  puVar14 = puVar14 + 1;\n                  *(int *)(iVar6 + 0x100) = iVar11;\n                  *(undefined1 *)(iVar6 + iVar7) = uVar12;\n                  *(undefined1 *)(iVar6 + 0x104) = uVar12;\n                  if (puVar14 == (undefined1 *)(unaff_EDI + 0x264d4)) break;\n                  uVar12 = *puVar14;\n                  iVar7 = iVar11;\n                }\n              }\n              else {\n                iVar11 = iVar7 + 1;\n                if (iVar7 == 0xff) {\n                  *(undefined1 *)(iVar6 + 0xff) = 0;\n                  (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                  *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                  iVar11 = 1;\n                  iVar7 = 0;\n                }\n                *(int *)(iVar6 + 0x100) = iVar11;\n                *(undefined1 *)(iVar6 + iVar7) = 0x2e;\n                *(undefined1 *)(iVar6 + 0x104) = 0x2e;\n              }\n              local_44 = *(uint **)(piVar4[1] + 0xc);\n              uVar8 = *local_44;\n              if (uVar8 == 0x46) {\n                cVar10 = (code)0x7b;\n                pcVar13 = ioctl + unaff_EDI + 4;\n                iVar7 = *(int *)(iVar6 + 0x100);\n                while( true ) {\n                  if (iVar7 == 0xff) {\n                    *(undefined1 *)(iVar6 + 0xff) = 0;\n                    (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                    *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                    iVar11 = 1;\n                    iVar7 = 0;\n                  }\n                  else {\n                    iVar11 = iVar7 + 1;\n                  }\n                  *(int *)(iVar6 + 0x100) = iVar11;\n                  *(code *)(iVar6 + iVar7) = cVar10;\n                  *(code *)(iVar6 + 0x104) = cVar10;\n                  if (pcVar13 == wcrtomb + unaff_EDI) break;\n                  cVar10 = *pcVar13;\n                  pcVar13 = pcVar13 + 1;\n                  iVar7 = iVar11;\n                }\n                __s = local_35;\n                sprintf(__s,(char *)((int)&__DT_REL[0x263a].r_offset + unaff_EDI + 2),\n                        local_44[3] + 1);\n                sVar9 = strlen(__s);\n                iVar7 = *(int *)(iVar6 + 0x100);\n                if (sVar9 != 0) {\n                  pcVar1 = __s + sVar9;\n                  iVar11 = iVar7;\n                  do {\n                    cVar2 = *__s;\n                    if (iVar11 == 0xff) {\n                      *(undefined1 *)(iVar6 + 0xff) = 0;\n                      (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                      *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                      iVar7 = 1;\n                      iVar11 = 0;\n                    }\n                    else {\n                      iVar7 = iVar11 + 1;\n                    }\n                    __s = __s + 1;\n                    *(int *)(iVar6 + 0x100) = iVar7;\n                    *(char *)(iVar6 + iVar11) = cVar2;\n                    *(char *)(iVar6 + 0x104) = cVar2;\n                    iVar11 = iVar7;\n                  } while (pcVar1 != __s);\n                }\n                puVar14 = (undefined1 *)(unaff_EDI + 0x264d1);\n                uVar12 = 0x7d;\n                do {\n                  if (iVar7 == 0xff) {\n                    *(undefined1 *)(iVar6 + 0xff) = 0;\n                    (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                    *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                    iVar11 = 1;\n                    iVar7 = 0;\n                  }\n                  else {\n                    iVar11 = iVar7 + 1;\n                  }\n                  puVar14 = puVar14 + 1;\n                  *(int *)(iVar6 + 0x100) = iVar11;\n                  *(undefined1 *)(iVar6 + iVar7) = uVar12;\n                  *(undefined1 *)(iVar6 + 0x104) = uVar12;\n                  if ((undefined1 *)(unaff_EDI + 0x264d4) == puVar14) goto LAB_002127e9;\n                  uVar12 = *puVar14;\n                  iVar7 = iVar11;\n                } while( true );\n              }\n              do {\n                if (uVar8 != 0x4c) {\n                  if (uVar8 < 0x4d) {\n                    if (4 < uVar8 - 0x1c) {\nLAB_0021277d:\n                      FUN_0020ca20();\n                      *(undefined4 *)(iVar6 + 0x110) = uVar3;\n                      return;\n                    }\n                  }\n                  else if (1 < uVar8 - 0x4e) goto LAB_0021277d;\n                }\nLAB_002127e9:\n                local_44 = (uint *)local_44[2];\n                uVar8 = *local_44;\n              } while( true );\n            }\n            FUN_00211980();\n            *(undefined4 *)(iVar6 + 0x110) = uVar3;\n          }" (if "if") (parenthesized_expression "(1 < uVar8 - 0x4e)" (( "(") (binary_expression "1 < uVar8 - 0x4e" (number_literal "1") (< "<") (binary_expression "uVar8 - 0x4e" (identifier "uVar8") (- "-") (number_literal "0x4e"))) () ")")) (compound_statement "{\nLAB_00212668:\n            uVar3 = *(undefined4 *)(iVar6 + 0x110);\n            piVar4[2] = 1;\n            *(int *)(iVar6 + 0x110) = piVar4[3];\n            if (uVar8 == 0x29) {\n              FUN_00212300(*piVar4);\n              *(undefined4 *)(iVar6 + 0x110) = uVar3;\n              return;\n            }\n            if (uVar8 == 0x2a) {\n              FUN_00212a20(*piVar4);\n              *(undefined4 *)(iVar6 + 0x110) = uVar3;\n              return;\n            }\n            if (uVar8 == 2) {\n              uVar5 = *(undefined4 *)(iVar6 + 0x114);\n              *(undefined4 *)(iVar6 + 0x114) = 0;\n              FUN_0020ca20();\n              *(undefined4 *)(iVar6 + 0x114) = uVar5;\n              iVar7 = *(int *)(iVar6 + 0x100);\n              if ((uVar15 & 0x400000000) == 0) {\n                puVar14 = (undefined1 *)(unaff_EDI + 0x264d2);\n                uVar12 = 0x3a;\n                while( true ) {\n                  if (iVar7 == 0xff) {\n                    *(undefined1 *)(iVar6 + 0xff) = 0;\n                    (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                    *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                    iVar11 = 1;\n                    iVar7 = 0;\n                  }\n                  else {\n                    iVar11 = iVar7 + 1;\n                  }\n                  puVar14 = puVar14 + 1;\n                  *(int *)(iVar6 + 0x100) = iVar11;\n                  *(undefined1 *)(iVar6 + iVar7) = uVar12;\n                  *(undefined1 *)(iVar6 + 0x104) = uVar12;\n                  if (puVar14 == (undefined1 *)(unaff_EDI + 0x264d4)) break;\n                  uVar12 = *puVar14;\n                  iVar7 = iVar11;\n                }\n              }\n              else {\n                iVar11 = iVar7 + 1;\n                if (iVar7 == 0xff) {\n                  *(undefined1 *)(iVar6 + 0xff) = 0;\n                  (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                  *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                  iVar11 = 1;\n                  iVar7 = 0;\n                }\n                *(int *)(iVar6 + 0x100) = iVar11;\n                *(undefined1 *)(iVar6 + iVar7) = 0x2e;\n                *(undefined1 *)(iVar6 + 0x104) = 0x2e;\n              }\n              local_44 = *(uint **)(piVar4[1] + 0xc);\n              uVar8 = *local_44;\n              if (uVar8 == 0x46) {\n                cVar10 = (code)0x7b;\n                pcVar13 = ioctl + unaff_EDI + 4;\n                iVar7 = *(int *)(iVar6 + 0x100);\n                while( true ) {\n                  if (iVar7 == 0xff) {\n                    *(undefined1 *)(iVar6 + 0xff) = 0;\n                    (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                    *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                    iVar11 = 1;\n                    iVar7 = 0;\n                  }\n                  else {\n                    iVar11 = iVar7 + 1;\n                  }\n                  *(int *)(iVar6 + 0x100) = iVar11;\n                  *(code *)(iVar6 + iVar7) = cVar10;\n                  *(code *)(iVar6 + 0x104) = cVar10;\n                  if (pcVar13 == wcrtomb + unaff_EDI) break;\n                  cVar10 = *pcVar13;\n                  pcVar13 = pcVar13 + 1;\n                  iVar7 = iVar11;\n                }\n                __s = local_35;\n                sprintf(__s,(char *)((int)&__DT_REL[0x263a].r_offset + unaff_EDI + 2),\n                        local_44[3] + 1);\n                sVar9 = strlen(__s);\n                iVar7 = *(int *)(iVar6 + 0x100);\n                if (sVar9 != 0) {\n                  pcVar1 = __s + sVar9;\n                  iVar11 = iVar7;\n                  do {\n                    cVar2 = *__s;\n                    if (iVar11 == 0xff) {\n                      *(undefined1 *)(iVar6 + 0xff) = 0;\n                      (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                      *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                      iVar7 = 1;\n                      iVar11 = 0;\n                    }\n                    else {\n                      iVar7 = iVar11 + 1;\n                    }\n                    __s = __s + 1;\n                    *(int *)(iVar6 + 0x100) = iVar7;\n                    *(char *)(iVar6 + iVar11) = cVar2;\n                    *(char *)(iVar6 + 0x104) = cVar2;\n                    iVar11 = iVar7;\n                  } while (pcVar1 != __s);\n                }\n                puVar14 = (undefined1 *)(unaff_EDI + 0x264d1);\n                uVar12 = 0x7d;\n                do {\n                  if (iVar7 == 0xff) {\n                    *(undefined1 *)(iVar6 + 0xff) = 0;\n                    (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                    *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                    iVar11 = 1;\n                    iVar7 = 0;\n                  }\n                  else {\n                    iVar11 = iVar7 + 1;\n                  }\n                  puVar14 = puVar14 + 1;\n                  *(int *)(iVar6 + 0x100) = iVar11;\n                  *(undefined1 *)(iVar6 + iVar7) = uVar12;\n                  *(undefined1 *)(iVar6 + 0x104) = uVar12;\n                  if ((undefined1 *)(unaff_EDI + 0x264d4) == puVar14) goto LAB_002127e9;\n                  uVar12 = *puVar14;\n                  iVar7 = iVar11;\n                } while( true );\n              }\n              do {\n                if (uVar8 != 0x4c) {\n                  if (uVar8 < 0x4d) {\n                    if (4 < uVar8 - 0x1c) {\nLAB_0021277d:\n                      FUN_0020ca20();\n                      *(undefined4 *)(iVar6 + 0x110) = uVar3;\n                      return;\n                    }\n                  }\n                  else if (1 < uVar8 - 0x4e) goto LAB_0021277d;\n                }\nLAB_002127e9:\n                local_44 = (uint *)local_44[2];\n                uVar8 = *local_44;\n              } while( true );\n            }\n            FUN_00211980();\n            *(undefined4 *)(iVar6 + 0x110) = uVar3;\n          }" ({ "{") (labeled_statement "LAB_00212668:\n            uVar3 = *(undefined4 *)(iVar6 + 0x110);" (statement_identifier "LAB_00212668") (: ":") (expression_statement "uVar3 = *(undefined4 *)(iVar6 + 0x110);" (assignment_expression "uVar3 = *(undefined4 *)(iVar6 + 0x110)" (identifier "uVar3") (= "=") (pointer_expression "*(undefined4 *)(iVar6 + 0x110)" (* "*") (cast_expression "(undefined4 *)(iVar6 + 0x110)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar6 + 0x110)" (( "(") (binary_expression "iVar6 + 0x110" (identifier "iVar6") (+ "+") (number_literal "0x110")) () ")"))))) (; ";"))) (expression_statement "piVar4[2] = 1;" (assignment_expression "piVar4[2] = 1" (subscript_expression "piVar4[2]" (identifier "piVar4") ([ "[") (number_literal "2") (] "]")) (= "=") (number_literal "1")) (; ";")) (expression_statement "*(int *)(iVar6 + 0x110) = piVar4[3];" (assignment_expression "*(int *)(iVar6 + 0x110) = piVar4[3]" (pointer_expression "*(int *)(iVar6 + 0x110)" (* "*") (cast_expression "(int *)(iVar6 + 0x110)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar6 + 0x110)" (( "(") (binary_expression "iVar6 + 0x110" (identifier "iVar6") (+ "+") (number_literal "0x110")) () ")")))) (= "=") (subscript_expression "piVar4[3]" (identifier "piVar4") ([ "[") (number_literal "3") (] "]"))) (; ";")) (if_statement "if (uVar8 == 0x29) {\n              FUN_00212300(*piVar4);\n              *(undefined4 *)(iVar6 + 0x110) = uVar3;\n              return;\n            }" (if "if") (parenthesized_expression "(uVar8 == 0x29)" (( "(") (binary_expression "uVar8 == 0x29" (identifier "uVar8") (== "==") (number_literal "0x29")) () ")")) (compound_statement "{\n              FUN_00212300(*piVar4);\n              *(undefined4 *)(iVar6 + 0x110) = uVar3;\n              return;\n            }" ({ "{") (expression_statement "FUN_00212300(*piVar4);" (call_expression "FUN_00212300(*piVar4)" (identifier "FUN_00212300") (argument_list "(*piVar4)" (( "(") (pointer_expression "*piVar4" (* "*") (identifier "piVar4")) () ")"))) (; ";")) (expression_statement "*(undefined4 *)(iVar6 + 0x110) = uVar3;" (assignment_expression "*(undefined4 *)(iVar6 + 0x110) = uVar3" (pointer_expression "*(undefined4 *)(iVar6 + 0x110)" (* "*") (cast_expression "(undefined4 *)(iVar6 + 0x110)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar6 + 0x110)" (( "(") (binary_expression "iVar6 + 0x110" (identifier "iVar6") (+ "+") (number_literal "0x110")) () ")")))) (= "=") (identifier "uVar3")) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}"))) (if_statement "if (uVar8 == 0x2a) {\n              FUN_00212a20(*piVar4);\n              *(undefined4 *)(iVar6 + 0x110) = uVar3;\n              return;\n            }" (if "if") (parenthesized_expression "(uVar8 == 0x2a)" (( "(") (binary_expression "uVar8 == 0x2a" (identifier "uVar8") (== "==") (number_literal "0x2a")) () ")")) (compound_statement "{\n              FUN_00212a20(*piVar4);\n              *(undefined4 *)(iVar6 + 0x110) = uVar3;\n              return;\n            }" ({ "{") (expression_statement "FUN_00212a20(*piVar4);" (call_expression "FUN_00212a20(*piVar4)" (identifier "FUN_00212a20") (argument_list "(*piVar4)" (( "(") (pointer_expression "*piVar4" (* "*") (identifier "piVar4")) () ")"))) (; ";")) (expression_statement "*(undefined4 *)(iVar6 + 0x110) = uVar3;" (assignment_expression "*(undefined4 *)(iVar6 + 0x110) = uVar3" (pointer_expression "*(undefined4 *)(iVar6 + 0x110)" (* "*") (cast_expression "(undefined4 *)(iVar6 + 0x110)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar6 + 0x110)" (( "(") (binary_expression "iVar6 + 0x110" (identifier "iVar6") (+ "+") (number_literal "0x110")) () ")")))) (= "=") (identifier "uVar3")) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}"))) (if_statement "if (uVar8 == 2) {\n              uVar5 = *(undefined4 *)(iVar6 + 0x114);\n              *(undefined4 *)(iVar6 + 0x114) = 0;\n              FUN_0020ca20();\n              *(undefined4 *)(iVar6 + 0x114) = uVar5;\n              iVar7 = *(int *)(iVar6 + 0x100);\n              if ((uVar15 & 0x400000000) == 0) {\n                puVar14 = (undefined1 *)(unaff_EDI + 0x264d2);\n                uVar12 = 0x3a;\n                while( true ) {\n                  if (iVar7 == 0xff) {\n                    *(undefined1 *)(iVar6 + 0xff) = 0;\n                    (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                    *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                    iVar11 = 1;\n                    iVar7 = 0;\n                  }\n                  else {\n                    iVar11 = iVar7 + 1;\n                  }\n                  puVar14 = puVar14 + 1;\n                  *(int *)(iVar6 + 0x100) = iVar11;\n                  *(undefined1 *)(iVar6 + iVar7) = uVar12;\n                  *(undefined1 *)(iVar6 + 0x104) = uVar12;\n                  if (puVar14 == (undefined1 *)(unaff_EDI + 0x264d4)) break;\n                  uVar12 = *puVar14;\n                  iVar7 = iVar11;\n                }\n              }\n              else {\n                iVar11 = iVar7 + 1;\n                if (iVar7 == 0xff) {\n                  *(undefined1 *)(iVar6 + 0xff) = 0;\n                  (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                  *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                  iVar11 = 1;\n                  iVar7 = 0;\n                }\n                *(int *)(iVar6 + 0x100) = iVar11;\n                *(undefined1 *)(iVar6 + iVar7) = 0x2e;\n                *(undefined1 *)(iVar6 + 0x104) = 0x2e;\n              }\n              local_44 = *(uint **)(piVar4[1] + 0xc);\n              uVar8 = *local_44;\n              if (uVar8 == 0x46) {\n                cVar10 = (code)0x7b;\n                pcVar13 = ioctl + unaff_EDI + 4;\n                iVar7 = *(int *)(iVar6 + 0x100);\n                while( true ) {\n                  if (iVar7 == 0xff) {\n                    *(undefined1 *)(iVar6 + 0xff) = 0;\n                    (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                    *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                    iVar11 = 1;\n                    iVar7 = 0;\n                  }\n                  else {\n                    iVar11 = iVar7 + 1;\n                  }\n                  *(int *)(iVar6 + 0x100) = iVar11;\n                  *(code *)(iVar6 + iVar7) = cVar10;\n                  *(code *)(iVar6 + 0x104) = cVar10;\n                  if (pcVar13 == wcrtomb + unaff_EDI) break;\n                  cVar10 = *pcVar13;\n                  pcVar13 = pcVar13 + 1;\n                  iVar7 = iVar11;\n                }\n                __s = local_35;\n                sprintf(__s,(char *)((int)&__DT_REL[0x263a].r_offset + unaff_EDI + 2),\n                        local_44[3] + 1);\n                sVar9 = strlen(__s);\n                iVar7 = *(int *)(iVar6 + 0x100);\n                if (sVar9 != 0) {\n                  pcVar1 = __s + sVar9;\n                  iVar11 = iVar7;\n                  do {\n                    cVar2 = *__s;\n                    if (iVar11 == 0xff) {\n                      *(undefined1 *)(iVar6 + 0xff) = 0;\n                      (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                      *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                      iVar7 = 1;\n                      iVar11 = 0;\n                    }\n                    else {\n                      iVar7 = iVar11 + 1;\n                    }\n                    __s = __s + 1;\n                    *(int *)(iVar6 + 0x100) = iVar7;\n                    *(char *)(iVar6 + iVar11) = cVar2;\n                    *(char *)(iVar6 + 0x104) = cVar2;\n                    iVar11 = iVar7;\n                  } while (pcVar1 != __s);\n                }\n                puVar14 = (undefined1 *)(unaff_EDI + 0x264d1);\n                uVar12 = 0x7d;\n                do {\n                  if (iVar7 == 0xff) {\n                    *(undefined1 *)(iVar6 + 0xff) = 0;\n                    (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                    *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                    iVar11 = 1;\n                    iVar7 = 0;\n                  }\n                  else {\n                    iVar11 = iVar7 + 1;\n                  }\n                  puVar14 = puVar14 + 1;\n                  *(int *)(iVar6 + 0x100) = iVar11;\n                  *(undefined1 *)(iVar6 + iVar7) = uVar12;\n                  *(undefined1 *)(iVar6 + 0x104) = uVar12;\n                  if ((undefined1 *)(unaff_EDI + 0x264d4) == puVar14) goto LAB_002127e9;\n                  uVar12 = *puVar14;\n                  iVar7 = iVar11;\n                } while( true );\n              }\n              do {\n                if (uVar8 != 0x4c) {\n                  if (uVar8 < 0x4d) {\n                    if (4 < uVar8 - 0x1c) {\nLAB_0021277d:\n                      FUN_0020ca20();\n                      *(undefined4 *)(iVar6 + 0x110) = uVar3;\n                      return;\n                    }\n                  }\n                  else if (1 < uVar8 - 0x4e) goto LAB_0021277d;\n                }\nLAB_002127e9:\n                local_44 = (uint *)local_44[2];\n                uVar8 = *local_44;\n              } while( true );\n            }" (if "if") (parenthesized_expression "(uVar8 == 2)" (( "(") (binary_expression "uVar8 == 2" (identifier "uVar8") (== "==") (number_literal "2")) () ")")) (compound_statement "{\n              uVar5 = *(undefined4 *)(iVar6 + 0x114);\n              *(undefined4 *)(iVar6 + 0x114) = 0;\n              FUN_0020ca20();\n              *(undefined4 *)(iVar6 + 0x114) = uVar5;\n              iVar7 = *(int *)(iVar6 + 0x100);\n              if ((uVar15 & 0x400000000) == 0) {\n                puVar14 = (undefined1 *)(unaff_EDI + 0x264d2);\n                uVar12 = 0x3a;\n                while( true ) {\n                  if (iVar7 == 0xff) {\n                    *(undefined1 *)(iVar6 + 0xff) = 0;\n                    (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                    *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                    iVar11 = 1;\n                    iVar7 = 0;\n                  }\n                  else {\n                    iVar11 = iVar7 + 1;\n                  }\n                  puVar14 = puVar14 + 1;\n                  *(int *)(iVar6 + 0x100) = iVar11;\n                  *(undefined1 *)(iVar6 + iVar7) = uVar12;\n                  *(undefined1 *)(iVar6 + 0x104) = uVar12;\n                  if (puVar14 == (undefined1 *)(unaff_EDI + 0x264d4)) break;\n                  uVar12 = *puVar14;\n                  iVar7 = iVar11;\n                }\n              }\n              else {\n                iVar11 = iVar7 + 1;\n                if (iVar7 == 0xff) {\n                  *(undefined1 *)(iVar6 + 0xff) = 0;\n                  (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                  *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                  iVar11 = 1;\n                  iVar7 = 0;\n                }\n                *(int *)(iVar6 + 0x100) = iVar11;\n                *(undefined1 *)(iVar6 + iVar7) = 0x2e;\n                *(undefined1 *)(iVar6 + 0x104) = 0x2e;\n              }\n              local_44 = *(uint **)(piVar4[1] + 0xc);\n              uVar8 = *local_44;\n              if (uVar8 == 0x46) {\n                cVar10 = (code)0x7b;\n                pcVar13 = ioctl + unaff_EDI + 4;\n                iVar7 = *(int *)(iVar6 + 0x100);\n                while( true ) {\n                  if (iVar7 == 0xff) {\n                    *(undefined1 *)(iVar6 + 0xff) = 0;\n                    (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                    *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                    iVar11 = 1;\n                    iVar7 = 0;\n                  }\n                  else {\n                    iVar11 = iVar7 + 1;\n                  }\n                  *(int *)(iVar6 + 0x100) = iVar11;\n                  *(code *)(iVar6 + iVar7) = cVar10;\n                  *(code *)(iVar6 + 0x104) = cVar10;\n                  if (pcVar13 == wcrtomb + unaff_EDI) break;\n                  cVar10 = *pcVar13;\n                  pcVar13 = pcVar13 + 1;\n                  iVar7 = iVar11;\n                }\n                __s = local_35;\n                sprintf(__s,(char *)((int)&__DT_REL[0x263a].r_offset + unaff_EDI + 2),\n                        local_44[3] + 1);\n                sVar9 = strlen(__s);\n                iVar7 = *(int *)(iVar6 + 0x100);\n                if (sVar9 != 0) {\n                  pcVar1 = __s + sVar9;\n                  iVar11 = iVar7;\n                  do {\n                    cVar2 = *__s;\n                    if (iVar11 == 0xff) {\n                      *(undefined1 *)(iVar6 + 0xff) = 0;\n                      (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                      *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                      iVar7 = 1;\n                      iVar11 = 0;\n                    }\n                    else {\n                      iVar7 = iVar11 + 1;\n                    }\n                    __s = __s + 1;\n                    *(int *)(iVar6 + 0x100) = iVar7;\n                    *(char *)(iVar6 + iVar11) = cVar2;\n                    *(char *)(iVar6 + 0x104) = cVar2;\n                    iVar11 = iVar7;\n                  } while (pcVar1 != __s);\n                }\n                puVar14 = (undefined1 *)(unaff_EDI + 0x264d1);\n                uVar12 = 0x7d;\n                do {\n                  if (iVar7 == 0xff) {\n                    *(undefined1 *)(iVar6 + 0xff) = 0;\n                    (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                    *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                    iVar11 = 1;\n                    iVar7 = 0;\n                  }\n                  else {\n                    iVar11 = iVar7 + 1;\n                  }\n                  puVar14 = puVar14 + 1;\n                  *(int *)(iVar6 + 0x100) = iVar11;\n                  *(undefined1 *)(iVar6 + iVar7) = uVar12;\n                  *(undefined1 *)(iVar6 + 0x104) = uVar12;\n                  if ((undefined1 *)(unaff_EDI + 0x264d4) == puVar14) goto LAB_002127e9;\n                  uVar12 = *puVar14;\n                  iVar7 = iVar11;\n                } while( true );\n              }\n              do {\n                if (uVar8 != 0x4c) {\n                  if (uVar8 < 0x4d) {\n                    if (4 < uVar8 - 0x1c) {\nLAB_0021277d:\n                      FUN_0020ca20();\n                      *(undefined4 *)(iVar6 + 0x110) = uVar3;\n                      return;\n                    }\n                  }\n                  else if (1 < uVar8 - 0x4e) goto LAB_0021277d;\n                }\nLAB_002127e9:\n                local_44 = (uint *)local_44[2];\n                uVar8 = *local_44;\n              } while( true );\n            }" ({ "{") (expression_statement "uVar5 = *(undefined4 *)(iVar6 + 0x114);" (assignment_expression "uVar5 = *(undefined4 *)(iVar6 + 0x114)" (identifier "uVar5") (= "=") (pointer_expression "*(undefined4 *)(iVar6 + 0x114)" (* "*") (cast_expression "(undefined4 *)(iVar6 + 0x114)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar6 + 0x114)" (( "(") (binary_expression "iVar6 + 0x114" (identifier "iVar6") (+ "+") (number_literal "0x114")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(iVar6 + 0x114) = 0;" (assignment_expression "*(undefined4 *)(iVar6 + 0x114) = 0" (pointer_expression "*(undefined4 *)(iVar6 + 0x114)" (* "*") (cast_expression "(undefined4 *)(iVar6 + 0x114)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar6 + 0x114)" (( "(") (binary_expression "iVar6 + 0x114" (identifier "iVar6") (+ "+") (number_literal "0x114")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "FUN_0020ca20();" (call_expression "FUN_0020ca20()" (identifier "FUN_0020ca20") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "*(undefined4 *)(iVar6 + 0x114) = uVar5;" (assignment_expression "*(undefined4 *)(iVar6 + 0x114) = uVar5" (pointer_expression "*(undefined4 *)(iVar6 + 0x114)" (* "*") (cast_expression "(undefined4 *)(iVar6 + 0x114)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar6 + 0x114)" (( "(") (binary_expression "iVar6 + 0x114" (identifier "iVar6") (+ "+") (number_literal "0x114")) () ")")))) (= "=") (identifier "uVar5")) (; ";")) (expression_statement "iVar7 = *(int *)(iVar6 + 0x100);" (assignment_expression "iVar7 = *(int *)(iVar6 + 0x100)" (identifier "iVar7") (= "=") (pointer_expression "*(int *)(iVar6 + 0x100)" (* "*") (cast_expression "(int *)(iVar6 + 0x100)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar6 + 0x100)" (( "(") (binary_expression "iVar6 + 0x100" (identifier "iVar6") (+ "+") (number_literal "0x100")) () ")"))))) (; ";")) (if_statement "if ((uVar15 & 0x400000000) == 0) {\n                puVar14 = (undefined1 *)(unaff_EDI + 0x264d2);\n                uVar12 = 0x3a;\n                while( true ) {\n                  if (iVar7 == 0xff) {\n                    *(undefined1 *)(iVar6 + 0xff) = 0;\n                    (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                    *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                    iVar11 = 1;\n                    iVar7 = 0;\n                  }\n                  else {\n                    iVar11 = iVar7 + 1;\n                  }\n                  puVar14 = puVar14 + 1;\n                  *(int *)(iVar6 + 0x100) = iVar11;\n                  *(undefined1 *)(iVar6 + iVar7) = uVar12;\n                  *(undefined1 *)(iVar6 + 0x104) = uVar12;\n                  if (puVar14 == (undefined1 *)(unaff_EDI + 0x264d4)) break;\n                  uVar12 = *puVar14;\n                  iVar7 = iVar11;\n                }\n              }\n              else {\n                iVar11 = iVar7 + 1;\n                if (iVar7 == 0xff) {\n                  *(undefined1 *)(iVar6 + 0xff) = 0;\n                  (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                  *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                  iVar11 = 1;\n                  iVar7 = 0;\n                }\n                *(int *)(iVar6 + 0x100) = iVar11;\n                *(undefined1 *)(iVar6 + iVar7) = 0x2e;\n                *(undefined1 *)(iVar6 + 0x104) = 0x2e;\n              }" (if "if") (parenthesized_expression "((uVar15 & 0x400000000) == 0)" (( "(") (binary_expression "(uVar15 & 0x400000000) == 0" (parenthesized_expression "(uVar15 & 0x400000000)" (( "(") (binary_expression "uVar15 & 0x400000000" (identifier "uVar15") (& "&") (number_literal "0x400000000")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                puVar14 = (undefined1 *)(unaff_EDI + 0x264d2);\n                uVar12 = 0x3a;\n                while( true ) {\n                  if (iVar7 == 0xff) {\n                    *(undefined1 *)(iVar6 + 0xff) = 0;\n                    (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                    *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                    iVar11 = 1;\n                    iVar7 = 0;\n                  }\n                  else {\n                    iVar11 = iVar7 + 1;\n                  }\n                  puVar14 = puVar14 + 1;\n                  *(int *)(iVar6 + 0x100) = iVar11;\n                  *(undefined1 *)(iVar6 + iVar7) = uVar12;\n                  *(undefined1 *)(iVar6 + 0x104) = uVar12;\n                  if (puVar14 == (undefined1 *)(unaff_EDI + 0x264d4)) break;\n                  uVar12 = *puVar14;\n                  iVar7 = iVar11;\n                }\n              }" ({ "{") (expression_statement "puVar14 = (undefined1 *)(unaff_EDI + 0x264d2);" (assignment_expression "puVar14 = (undefined1 *)(unaff_EDI + 0x264d2)" (identifier "puVar14") (= "=") (cast_expression "(undefined1 *)(unaff_EDI + 0x264d2)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(unaff_EDI + 0x264d2)" (( "(") (binary_expression "unaff_EDI + 0x264d2" (identifier "unaff_EDI") (+ "+") (number_literal "0x264d2")) () ")")))) (; ";")) (expression_statement "uVar12 = 0x3a;" (assignment_expression "uVar12 = 0x3a" (identifier "uVar12") (= "=") (number_literal "0x3a")) (; ";")) (while_statement "while( true ) {\n                  if (iVar7 == 0xff) {\n                    *(undefined1 *)(iVar6 + 0xff) = 0;\n                    (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                    *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                    iVar11 = 1;\n                    iVar7 = 0;\n                  }\n                  else {\n                    iVar11 = iVar7 + 1;\n                  }\n                  puVar14 = puVar14 + 1;\n                  *(int *)(iVar6 + 0x100) = iVar11;\n                  *(undefined1 *)(iVar6 + iVar7) = uVar12;\n                  *(undefined1 *)(iVar6 + 0x104) = uVar12;\n                  if (puVar14 == (undefined1 *)(unaff_EDI + 0x264d4)) break;\n                  uVar12 = *puVar14;\n                  iVar7 = iVar11;\n                }" (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (compound_statement "{\n                  if (iVar7 == 0xff) {\n                    *(undefined1 *)(iVar6 + 0xff) = 0;\n                    (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                    *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                    iVar11 = 1;\n                    iVar7 = 0;\n                  }\n                  else {\n                    iVar11 = iVar7 + 1;\n                  }\n                  puVar14 = puVar14 + 1;\n                  *(int *)(iVar6 + 0x100) = iVar11;\n                  *(undefined1 *)(iVar6 + iVar7) = uVar12;\n                  *(undefined1 *)(iVar6 + 0x104) = uVar12;\n                  if (puVar14 == (undefined1 *)(unaff_EDI + 0x264d4)) break;\n                  uVar12 = *puVar14;\n                  iVar7 = iVar11;\n                }" ({ "{") (if_statement "if (iVar7 == 0xff) {\n                    *(undefined1 *)(iVar6 + 0xff) = 0;\n                    (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                    *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                    iVar11 = 1;\n                    iVar7 = 0;\n                  }\n                  else {\n                    iVar11 = iVar7 + 1;\n                  }" (if "if") (parenthesized_expression "(iVar7 == 0xff)" (( "(") (binary_expression "iVar7 == 0xff" (identifier "iVar7") (== "==") (number_literal "0xff")) () ")")) (compound_statement "{\n                    *(undefined1 *)(iVar6 + 0xff) = 0;\n                    (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                    *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                    iVar11 = 1;\n                    iVar7 = 0;\n                  }" ({ "{") (expression_statement "*(undefined1 *)(iVar6 + 0xff) = 0;" (assignment_expression "*(undefined1 *)(iVar6 + 0xff) = 0" (pointer_expression "*(undefined1 *)(iVar6 + 0xff)" (* "*") (cast_expression "(undefined1 *)(iVar6 + 0xff)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar6 + 0xff)" (( "(") (binary_expression "iVar6 + 0xff" (identifier "iVar6") (+ "+") (number_literal "0xff")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "(**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));" (call_expression "(**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c))" (parenthesized_expression "(**(code **)(iVar6 + 0x108))" (( "(") (pointer_expression "**(code **)(iVar6 + 0x108)" (* "*") (pointer_expression "*(code **)(iVar6 + 0x108)" (* "*") (cast_expression "(code **)(iVar6 + 0x108)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar6 + 0x108)" (( "(") (binary_expression "iVar6 + 0x108" (identifier "iVar6") (+ "+") (number_literal "0x108")) () ")"))))) () ")")) (argument_list "(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c))" (( "(") (identifier "iVar6") (, ",") (number_literal "0xff") (, ",") (pointer_expression "*(undefined4 *)(iVar6 + 0x10c)" (* "*") (cast_expression "(undefined4 *)(iVar6 + 0x10c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar6 + 0x10c)" (( "(") (binary_expression "iVar6 + 0x10c" (identifier "iVar6") (+ "+") (number_literal "0x10c")) () ")")))) () ")"))) (; ";")) (expression_statement "*(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;" (assignment_expression "*(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1" (pointer_expression "*(int *)(iVar6 + 0x128)" (* "*") (cast_expression "(int *)(iVar6 + 0x128)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar6 + 0x128)" (( "(") (binary_expression "iVar6 + 0x128" (identifier "iVar6") (+ "+") (number_literal "0x128")) () ")")))) (= "=") (binary_expression "*(int *)(iVar6 + 0x128) + 1" (pointer_expression "*(int *)(iVar6 + 0x128)" (* "*") (cast_expression "(int *)(iVar6 + 0x128)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar6 + 0x128)" (( "(") (binary_expression "iVar6 + 0x128" (identifier "iVar6") (+ "+") (number_literal "0x128")) () ")")))) (+ "+") (number_literal "1"))) (; ";")) (expression_statement "iVar11 = 1;" (assignment_expression "iVar11 = 1" (identifier "iVar11") (= "=") (number_literal "1")) (; ";")) (expression_statement "iVar7 = 0;" (assignment_expression "iVar7 = 0" (identifier "iVar7") (= "=") (number_literal "0")) (; ";")) (} "}")) (else_clause "else {\n                    iVar11 = iVar7 + 1;\n                  }" (else "else") (compound_statement "{\n                    iVar11 = iVar7 + 1;\n                  }" ({ "{") (expression_statement "iVar11 = iVar7 + 1;" (assignment_expression "iVar11 = iVar7 + 1" (identifier "iVar11") (= "=") (binary_expression "iVar7 + 1" (identifier "iVar7") (+ "+") (number_literal "1"))) (; ";")) (} "}")))) (expression_statement "puVar14 = puVar14 + 1;" (assignment_expression "puVar14 = puVar14 + 1" (identifier "puVar14") (= "=") (binary_expression "puVar14 + 1" (identifier "puVar14") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "*(int *)(iVar6 + 0x100) = iVar11;" (assignment_expression "*(int *)(iVar6 + 0x100) = iVar11" (pointer_expression "*(int *)(iVar6 + 0x100)" (* "*") (cast_expression "(int *)(iVar6 + 0x100)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar6 + 0x100)" (( "(") (binary_expression "iVar6 + 0x100" (identifier "iVar6") (+ "+") (number_literal "0x100")) () ")")))) (= "=") (identifier "iVar11")) (; ";")) (expression_statement "*(undefined1 *)(iVar6 + iVar7) = uVar12;" (assignment_expression "*(undefined1 *)(iVar6 + iVar7) = uVar12" (pointer_expression "*(undefined1 *)(iVar6 + iVar7)" (* "*") (cast_expression "(undefined1 *)(iVar6 + iVar7)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar6 + iVar7)" (( "(") (binary_expression "iVar6 + iVar7" (identifier "iVar6") (+ "+") (identifier "iVar7")) () ")")))) (= "=") (identifier "uVar12")) (; ";")) (expression_statement "*(undefined1 *)(iVar6 + 0x104) = uVar12;" (assignment_expression "*(undefined1 *)(iVar6 + 0x104) = uVar12" (pointer_expression "*(undefined1 *)(iVar6 + 0x104)" (* "*") (cast_expression "(undefined1 *)(iVar6 + 0x104)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar6 + 0x104)" (( "(") (binary_expression "iVar6 + 0x104" (identifier "iVar6") (+ "+") (number_literal "0x104")) () ")")))) (= "=") (identifier "uVar12")) (; ";")) (if_statement "if (puVar14 == (undefined1 *)(unaff_EDI + 0x264d4)) break;" (if "if") (parenthesized_expression "(puVar14 == (undefined1 *)(unaff_EDI + 0x264d4))" (( "(") (binary_expression "puVar14 == (undefined1 *)(unaff_EDI + 0x264d4)" (identifier "puVar14") (== "==") (cast_expression "(undefined1 *)(unaff_EDI + 0x264d4)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(unaff_EDI + 0x264d4)" (( "(") (binary_expression "unaff_EDI + 0x264d4" (identifier "unaff_EDI") (+ "+") (number_literal "0x264d4")) () ")")))) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "uVar12 = *puVar14;" (assignment_expression "uVar12 = *puVar14" (identifier "uVar12") (= "=") (pointer_expression "*puVar14" (* "*") (identifier "puVar14"))) (; ";")) (expression_statement "iVar7 = iVar11;" (assignment_expression "iVar7 = iVar11" (identifier "iVar7") (= "=") (identifier "iVar11")) (; ";")) (} "}"))) (} "}")) (else_clause "else {\n                iVar11 = iVar7 + 1;\n                if (iVar7 == 0xff) {\n                  *(undefined1 *)(iVar6 + 0xff) = 0;\n                  (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                  *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                  iVar11 = 1;\n                  iVar7 = 0;\n                }\n                *(int *)(iVar6 + 0x100) = iVar11;\n                *(undefined1 *)(iVar6 + iVar7) = 0x2e;\n                *(undefined1 *)(iVar6 + 0x104) = 0x2e;\n              }" (else "else") (compound_statement "{\n                iVar11 = iVar7 + 1;\n                if (iVar7 == 0xff) {\n                  *(undefined1 *)(iVar6 + 0xff) = 0;\n                  (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                  *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                  iVar11 = 1;\n                  iVar7 = 0;\n                }\n                *(int *)(iVar6 + 0x100) = iVar11;\n                *(undefined1 *)(iVar6 + iVar7) = 0x2e;\n                *(undefined1 *)(iVar6 + 0x104) = 0x2e;\n              }" ({ "{") (expression_statement "iVar11 = iVar7 + 1;" (assignment_expression "iVar11 = iVar7 + 1" (identifier "iVar11") (= "=") (binary_expression "iVar7 + 1" (identifier "iVar7") (+ "+") (number_literal "1"))) (; ";")) (if_statement "if (iVar7 == 0xff) {\n                  *(undefined1 *)(iVar6 + 0xff) = 0;\n                  (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                  *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                  iVar11 = 1;\n                  iVar7 = 0;\n                }" (if "if") (parenthesized_expression "(iVar7 == 0xff)" (( "(") (binary_expression "iVar7 == 0xff" (identifier "iVar7") (== "==") (number_literal "0xff")) () ")")) (compound_statement "{\n                  *(undefined1 *)(iVar6 + 0xff) = 0;\n                  (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                  *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                  iVar11 = 1;\n                  iVar7 = 0;\n                }" ({ "{") (expression_statement "*(undefined1 *)(iVar6 + 0xff) = 0;" (assignment_expression "*(undefined1 *)(iVar6 + 0xff) = 0" (pointer_expression "*(undefined1 *)(iVar6 + 0xff)" (* "*") (cast_expression "(undefined1 *)(iVar6 + 0xff)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar6 + 0xff)" (( "(") (binary_expression "iVar6 + 0xff" (identifier "iVar6") (+ "+") (number_literal "0xff")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "(**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));" (call_expression "(**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c))" (parenthesized_expression "(**(code **)(iVar6 + 0x108))" (( "(") (pointer_expression "**(code **)(iVar6 + 0x108)" (* "*") (pointer_expression "*(code **)(iVar6 + 0x108)" (* "*") (cast_expression "(code **)(iVar6 + 0x108)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar6 + 0x108)" (( "(") (binary_expression "iVar6 + 0x108" (identifier "iVar6") (+ "+") (number_literal "0x108")) () ")"))))) () ")")) (argument_list "(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c))" (( "(") (identifier "iVar6") (, ",") (number_literal "0xff") (, ",") (pointer_expression "*(undefined4 *)(iVar6 + 0x10c)" (* "*") (cast_expression "(undefined4 *)(iVar6 + 0x10c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar6 + 0x10c)" (( "(") (binary_expression "iVar6 + 0x10c" (identifier "iVar6") (+ "+") (number_literal "0x10c")) () ")")))) () ")"))) (; ";")) (expression_statement "*(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;" (assignment_expression "*(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1" (pointer_expression "*(int *)(iVar6 + 0x128)" (* "*") (cast_expression "(int *)(iVar6 + 0x128)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar6 + 0x128)" (( "(") (binary_expression "iVar6 + 0x128" (identifier "iVar6") (+ "+") (number_literal "0x128")) () ")")))) (= "=") (binary_expression "*(int *)(iVar6 + 0x128) + 1" (pointer_expression "*(int *)(iVar6 + 0x128)" (* "*") (cast_expression "(int *)(iVar6 + 0x128)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar6 + 0x128)" (( "(") (binary_expression "iVar6 + 0x128" (identifier "iVar6") (+ "+") (number_literal "0x128")) () ")")))) (+ "+") (number_literal "1"))) (; ";")) (expression_statement "iVar11 = 1;" (assignment_expression "iVar11 = 1" (identifier "iVar11") (= "=") (number_literal "1")) (; ";")) (expression_statement "iVar7 = 0;" (assignment_expression "iVar7 = 0" (identifier "iVar7") (= "=") (number_literal "0")) (; ";")) (} "}"))) (expression_statement "*(int *)(iVar6 + 0x100) = iVar11;" (assignment_expression "*(int *)(iVar6 + 0x100) = iVar11" (pointer_expression "*(int *)(iVar6 + 0x100)" (* "*") (cast_expression "(int *)(iVar6 + 0x100)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar6 + 0x100)" (( "(") (binary_expression "iVar6 + 0x100" (identifier "iVar6") (+ "+") (number_literal "0x100")) () ")")))) (= "=") (identifier "iVar11")) (; ";")) (expression_statement "*(undefined1 *)(iVar6 + iVar7) = 0x2e;" (assignment_expression "*(undefined1 *)(iVar6 + iVar7) = 0x2e" (pointer_expression "*(undefined1 *)(iVar6 + iVar7)" (* "*") (cast_expression "(undefined1 *)(iVar6 + iVar7)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar6 + iVar7)" (( "(") (binary_expression "iVar6 + iVar7" (identifier "iVar6") (+ "+") (identifier "iVar7")) () ")")))) (= "=") (number_literal "0x2e")) (; ";")) (expression_statement "*(undefined1 *)(iVar6 + 0x104) = 0x2e;" (assignment_expression "*(undefined1 *)(iVar6 + 0x104) = 0x2e" (pointer_expression "*(undefined1 *)(iVar6 + 0x104)" (* "*") (cast_expression "(undefined1 *)(iVar6 + 0x104)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar6 + 0x104)" (( "(") (binary_expression "iVar6 + 0x104" (identifier "iVar6") (+ "+") (number_literal "0x104")) () ")")))) (= "=") (number_literal "0x2e")) (; ";")) (} "}")))) (expression_statement "local_44 = *(uint **)(piVar4[1] + 0xc);" (assignment_expression "local_44 = *(uint **)(piVar4[1] + 0xc)" (identifier "local_44") (= "=") (pointer_expression "*(uint **)(piVar4[1] + 0xc)" (* "*") (cast_expression "(uint **)(piVar4[1] + 0xc)" (( "(") (type_descriptor "uint **" (type_identifier "uint") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(piVar4[1] + 0xc)" (( "(") (binary_expression "piVar4[1] + 0xc" (subscript_expression "piVar4[1]" (identifier "piVar4") ([ "[") (number_literal "1") (] "]")) (+ "+") (number_literal "0xc")) () ")"))))) (; ";")) (expression_statement "uVar8 = *local_44;" (assignment_expression "uVar8 = *local_44" (identifier "uVar8") (= "=") (pointer_expression "*local_44" (* "*") (identifier "local_44"))) (; ";")) (if_statement "if (uVar8 == 0x46) {\n                cVar10 = (code)0x7b;\n                pcVar13 = ioctl + unaff_EDI + 4;\n                iVar7 = *(int *)(iVar6 + 0x100);\n                while( true ) {\n                  if (iVar7 == 0xff) {\n                    *(undefined1 *)(iVar6 + 0xff) = 0;\n                    (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                    *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                    iVar11 = 1;\n                    iVar7 = 0;\n                  }\n                  else {\n                    iVar11 = iVar7 + 1;\n                  }\n                  *(int *)(iVar6 + 0x100) = iVar11;\n                  *(code *)(iVar6 + iVar7) = cVar10;\n                  *(code *)(iVar6 + 0x104) = cVar10;\n                  if (pcVar13 == wcrtomb + unaff_EDI) break;\n                  cVar10 = *pcVar13;\n                  pcVar13 = pcVar13 + 1;\n                  iVar7 = iVar11;\n                }\n                __s = local_35;\n                sprintf(__s,(char *)((int)&__DT_REL[0x263a].r_offset + unaff_EDI + 2),\n                        local_44[3] + 1);\n                sVar9 = strlen(__s);\n                iVar7 = *(int *)(iVar6 + 0x100);\n                if (sVar9 != 0) {\n                  pcVar1 = __s + sVar9;\n                  iVar11 = iVar7;\n                  do {\n                    cVar2 = *__s;\n                    if (iVar11 == 0xff) {\n                      *(undefined1 *)(iVar6 + 0xff) = 0;\n                      (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                      *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                      iVar7 = 1;\n                      iVar11 = 0;\n                    }\n                    else {\n                      iVar7 = iVar11 + 1;\n                    }\n                    __s = __s + 1;\n                    *(int *)(iVar6 + 0x100) = iVar7;\n                    *(char *)(iVar6 + iVar11) = cVar2;\n                    *(char *)(iVar6 + 0x104) = cVar2;\n                    iVar11 = iVar7;\n                  } while (pcVar1 != __s);\n                }\n                puVar14 = (undefined1 *)(unaff_EDI + 0x264d1);\n                uVar12 = 0x7d;\n                do {\n                  if (iVar7 == 0xff) {\n                    *(undefined1 *)(iVar6 + 0xff) = 0;\n                    (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                    *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                    iVar11 = 1;\n                    iVar7 = 0;\n                  }\n                  else {\n                    iVar11 = iVar7 + 1;\n                  }\n                  puVar14 = puVar14 + 1;\n                  *(int *)(iVar6 + 0x100) = iVar11;\n                  *(undefined1 *)(iVar6 + iVar7) = uVar12;\n                  *(undefined1 *)(iVar6 + 0x104) = uVar12;\n                  if ((undefined1 *)(unaff_EDI + 0x264d4) == puVar14) goto LAB_002127e9;\n                  uVar12 = *puVar14;\n                  iVar7 = iVar11;\n                } while( true );\n              }" (if "if") (parenthesized_expression "(uVar8 == 0x46)" (( "(") (binary_expression "uVar8 == 0x46" (identifier "uVar8") (== "==") (number_literal "0x46")) () ")")) (compound_statement "{\n                cVar10 = (code)0x7b;\n                pcVar13 = ioctl + unaff_EDI + 4;\n                iVar7 = *(int *)(iVar6 + 0x100);\n                while( true ) {\n                  if (iVar7 == 0xff) {\n                    *(undefined1 *)(iVar6 + 0xff) = 0;\n                    (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                    *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                    iVar11 = 1;\n                    iVar7 = 0;\n                  }\n                  else {\n                    iVar11 = iVar7 + 1;\n                  }\n                  *(int *)(iVar6 + 0x100) = iVar11;\n                  *(code *)(iVar6 + iVar7) = cVar10;\n                  *(code *)(iVar6 + 0x104) = cVar10;\n                  if (pcVar13 == wcrtomb + unaff_EDI) break;\n                  cVar10 = *pcVar13;\n                  pcVar13 = pcVar13 + 1;\n                  iVar7 = iVar11;\n                }\n                __s = local_35;\n                sprintf(__s,(char *)((int)&__DT_REL[0x263a].r_offset + unaff_EDI + 2),\n                        local_44[3] + 1);\n                sVar9 = strlen(__s);\n                iVar7 = *(int *)(iVar6 + 0x100);\n                if (sVar9 != 0) {\n                  pcVar1 = __s + sVar9;\n                  iVar11 = iVar7;\n                  do {\n                    cVar2 = *__s;\n                    if (iVar11 == 0xff) {\n                      *(undefined1 *)(iVar6 + 0xff) = 0;\n                      (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                      *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                      iVar7 = 1;\n                      iVar11 = 0;\n                    }\n                    else {\n                      iVar7 = iVar11 + 1;\n                    }\n                    __s = __s + 1;\n                    *(int *)(iVar6 + 0x100) = iVar7;\n                    *(char *)(iVar6 + iVar11) = cVar2;\n                    *(char *)(iVar6 + 0x104) = cVar2;\n                    iVar11 = iVar7;\n                  } while (pcVar1 != __s);\n                }\n                puVar14 = (undefined1 *)(unaff_EDI + 0x264d1);\n                uVar12 = 0x7d;\n                do {\n                  if (iVar7 == 0xff) {\n                    *(undefined1 *)(iVar6 + 0xff) = 0;\n                    (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                    *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                    iVar11 = 1;\n                    iVar7 = 0;\n                  }\n                  else {\n                    iVar11 = iVar7 + 1;\n                  }\n                  puVar14 = puVar14 + 1;\n                  *(int *)(iVar6 + 0x100) = iVar11;\n                  *(undefined1 *)(iVar6 + iVar7) = uVar12;\n                  *(undefined1 *)(iVar6 + 0x104) = uVar12;\n                  if ((undefined1 *)(unaff_EDI + 0x264d4) == puVar14) goto LAB_002127e9;\n                  uVar12 = *puVar14;\n                  iVar7 = iVar11;\n                } while( true );\n              }" ({ "{") (expression_statement "cVar10 = (code)0x7b;" (assignment_expression "cVar10 = (code)0x7b" (identifier "cVar10") (= "=") (cast_expression "(code)0x7b" (( "(") (type_descriptor "code" (type_identifier "code")) () ")") (number_literal "0x7b"))) (; ";")) (expression_statement "pcVar13 = ioctl + unaff_EDI + 4;" (assignment_expression "pcVar13 = ioctl + unaff_EDI + 4" (identifier "pcVar13") (= "=") (binary_expression "ioctl + unaff_EDI + 4" (binary_expression "ioctl + unaff_EDI" (identifier "ioctl") (+ "+") (identifier "unaff_EDI")) (+ "+") (number_literal "4"))) (; ";")) (expression_statement "iVar7 = *(int *)(iVar6 + 0x100);" (assignment_expression "iVar7 = *(int *)(iVar6 + 0x100)" (identifier "iVar7") (= "=") (pointer_expression "*(int *)(iVar6 + 0x100)" (* "*") (cast_expression "(int *)(iVar6 + 0x100)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar6 + 0x100)" (( "(") (binary_expression "iVar6 + 0x100" (identifier "iVar6") (+ "+") (number_literal "0x100")) () ")"))))) (; ";")) (while_statement "while( true ) {\n                  if (iVar7 == 0xff) {\n                    *(undefined1 *)(iVar6 + 0xff) = 0;\n                    (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                    *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                    iVar11 = 1;\n                    iVar7 = 0;\n                  }\n                  else {\n                    iVar11 = iVar7 + 1;\n                  }\n                  *(int *)(iVar6 + 0x100) = iVar11;\n                  *(code *)(iVar6 + iVar7) = cVar10;\n                  *(code *)(iVar6 + 0x104) = cVar10;\n                  if (pcVar13 == wcrtomb + unaff_EDI) break;\n                  cVar10 = *pcVar13;\n                  pcVar13 = pcVar13 + 1;\n                  iVar7 = iVar11;\n                }" (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (compound_statement "{\n                  if (iVar7 == 0xff) {\n                    *(undefined1 *)(iVar6 + 0xff) = 0;\n                    (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                    *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                    iVar11 = 1;\n                    iVar7 = 0;\n                  }\n                  else {\n                    iVar11 = iVar7 + 1;\n                  }\n                  *(int *)(iVar6 + 0x100) = iVar11;\n                  *(code *)(iVar6 + iVar7) = cVar10;\n                  *(code *)(iVar6 + 0x104) = cVar10;\n                  if (pcVar13 == wcrtomb + unaff_EDI) break;\n                  cVar10 = *pcVar13;\n                  pcVar13 = pcVar13 + 1;\n                  iVar7 = iVar11;\n                }" ({ "{") (if_statement "if (iVar7 == 0xff) {\n                    *(undefined1 *)(iVar6 + 0xff) = 0;\n                    (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                    *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                    iVar11 = 1;\n                    iVar7 = 0;\n                  }\n                  else {\n                    iVar11 = iVar7 + 1;\n                  }" (if "if") (parenthesized_expression "(iVar7 == 0xff)" (( "(") (binary_expression "iVar7 == 0xff" (identifier "iVar7") (== "==") (number_literal "0xff")) () ")")) (compound_statement "{\n                    *(undefined1 *)(iVar6 + 0xff) = 0;\n                    (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                    *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                    iVar11 = 1;\n                    iVar7 = 0;\n                  }" ({ "{") (expression_statement "*(undefined1 *)(iVar6 + 0xff) = 0;" (assignment_expression "*(undefined1 *)(iVar6 + 0xff) = 0" (pointer_expression "*(undefined1 *)(iVar6 + 0xff)" (* "*") (cast_expression "(undefined1 *)(iVar6 + 0xff)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar6 + 0xff)" (( "(") (binary_expression "iVar6 + 0xff" (identifier "iVar6") (+ "+") (number_literal "0xff")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "(**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));" (call_expression "(**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c))" (parenthesized_expression "(**(code **)(iVar6 + 0x108))" (( "(") (pointer_expression "**(code **)(iVar6 + 0x108)" (* "*") (pointer_expression "*(code **)(iVar6 + 0x108)" (* "*") (cast_expression "(code **)(iVar6 + 0x108)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar6 + 0x108)" (( "(") (binary_expression "iVar6 + 0x108" (identifier "iVar6") (+ "+") (number_literal "0x108")) () ")"))))) () ")")) (argument_list "(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c))" (( "(") (identifier "iVar6") (, ",") (number_literal "0xff") (, ",") (pointer_expression "*(undefined4 *)(iVar6 + 0x10c)" (* "*") (cast_expression "(undefined4 *)(iVar6 + 0x10c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar6 + 0x10c)" (( "(") (binary_expression "iVar6 + 0x10c" (identifier "iVar6") (+ "+") (number_literal "0x10c")) () ")")))) () ")"))) (; ";")) (expression_statement "*(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;" (assignment_expression "*(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1" (pointer_expression "*(int *)(iVar6 + 0x128)" (* "*") (cast_expression "(int *)(iVar6 + 0x128)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar6 + 0x128)" (( "(") (binary_expression "iVar6 + 0x128" (identifier "iVar6") (+ "+") (number_literal "0x128")) () ")")))) (= "=") (binary_expression "*(int *)(iVar6 + 0x128) + 1" (pointer_expression "*(int *)(iVar6 + 0x128)" (* "*") (cast_expression "(int *)(iVar6 + 0x128)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar6 + 0x128)" (( "(") (binary_expression "iVar6 + 0x128" (identifier "iVar6") (+ "+") (number_literal "0x128")) () ")")))) (+ "+") (number_literal "1"))) (; ";")) (expression_statement "iVar11 = 1;" (assignment_expression "iVar11 = 1" (identifier "iVar11") (= "=") (number_literal "1")) (; ";")) (expression_statement "iVar7 = 0;" (assignment_expression "iVar7 = 0" (identifier "iVar7") (= "=") (number_literal "0")) (; ";")) (} "}")) (else_clause "else {\n                    iVar11 = iVar7 + 1;\n                  }" (else "else") (compound_statement "{\n                    iVar11 = iVar7 + 1;\n                  }" ({ "{") (expression_statement "iVar11 = iVar7 + 1;" (assignment_expression "iVar11 = iVar7 + 1" (identifier "iVar11") (= "=") (binary_expression "iVar7 + 1" (identifier "iVar7") (+ "+") (number_literal "1"))) (; ";")) (} "}")))) (expression_statement "*(int *)(iVar6 + 0x100) = iVar11;" (assignment_expression "*(int *)(iVar6 + 0x100) = iVar11" (pointer_expression "*(int *)(iVar6 + 0x100)" (* "*") (cast_expression "(int *)(iVar6 + 0x100)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar6 + 0x100)" (( "(") (binary_expression "iVar6 + 0x100" (identifier "iVar6") (+ "+") (number_literal "0x100")) () ")")))) (= "=") (identifier "iVar11")) (; ";")) (expression_statement "*(code *)(iVar6 + iVar7) = cVar10;" (assignment_expression "*(code *)(iVar6 + iVar7) = cVar10" (pointer_expression "*(code *)(iVar6 + iVar7)" (* "*") (cast_expression "(code *)(iVar6 + iVar7)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar6 + iVar7)" (( "(") (binary_expression "iVar6 + iVar7" (identifier "iVar6") (+ "+") (identifier "iVar7")) () ")")))) (= "=") (identifier "cVar10")) (; ";")) (expression_statement "*(code *)(iVar6 + 0x104) = cVar10;" (assignment_expression "*(code *)(iVar6 + 0x104) = cVar10" (pointer_expression "*(code *)(iVar6 + 0x104)" (* "*") (cast_expression "(code *)(iVar6 + 0x104)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar6 + 0x104)" (( "(") (binary_expression "iVar6 + 0x104" (identifier "iVar6") (+ "+") (number_literal "0x104")) () ")")))) (= "=") (identifier "cVar10")) (; ";")) (if_statement "if (pcVar13 == wcrtomb + unaff_EDI) break;" (if "if") (parenthesized_expression "(pcVar13 == wcrtomb + unaff_EDI)" (( "(") (binary_expression "pcVar13 == wcrtomb + unaff_EDI" (identifier "pcVar13") (== "==") (binary_expression "wcrtomb + unaff_EDI" (identifier "wcrtomb") (+ "+") (identifier "unaff_EDI"))) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "cVar10 = *pcVar13;" (assignment_expression "cVar10 = *pcVar13" (identifier "cVar10") (= "=") (pointer_expression "*pcVar13" (* "*") (identifier "pcVar13"))) (; ";")) (expression_statement "pcVar13 = pcVar13 + 1;" (assignment_expression "pcVar13 = pcVar13 + 1" (identifier "pcVar13") (= "=") (binary_expression "pcVar13 + 1" (identifier "pcVar13") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "iVar7 = iVar11;" (assignment_expression "iVar7 = iVar11" (identifier "iVar7") (= "=") (identifier "iVar11")) (; ";")) (} "}"))) (expression_statement "__s = local_35;" (assignment_expression "__s = local_35" (identifier "__s") (= "=") (identifier "local_35")) (; ";")) (expression_statement "sprintf(__s,(char *)((int)&__DT_REL[0x263a].r_offset + unaff_EDI + 2),\n                        local_44[3] + 1);" (call_expression "sprintf(__s,(char *)((int)&__DT_REL[0x263a].r_offset + unaff_EDI + 2),\n                        local_44[3] + 1)" (identifier "sprintf") (argument_list "(__s,(char *)((int)&__DT_REL[0x263a].r_offset + unaff_EDI + 2),\n                        local_44[3] + 1)" (( "(") (identifier "__s") (, ",") (cast_expression "(char *)((int)&__DT_REL[0x263a].r_offset + unaff_EDI + 2)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)&__DT_REL[0x263a].r_offset + unaff_EDI + 2)" (( "(") (binary_expression "(int)&__DT_REL[0x263a].r_offset + unaff_EDI + 2" (binary_expression "(int)&__DT_REL[0x263a].r_offset + unaff_EDI" (cast_expression "(int)&__DT_REL[0x263a].r_offset" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (pointer_expression "&__DT_REL[0x263a].r_offset" (& "&") (field_expression "__DT_REL[0x263a].r_offset" (subscript_expression "__DT_REL[0x263a]" (identifier "__DT_REL") ([ "[") (number_literal "0x263a") (] "]")) (. ".") (field_identifier "r_offset")))) (+ "+") (identifier "unaff_EDI")) (+ "+") (number_literal "2")) () ")"))) (, ",") (binary_expression "local_44[3] + 1" (subscript_expression "local_44[3]" (identifier "local_44") ([ "[") (number_literal "3") (] "]")) (+ "+") (number_literal "1")) () ")"))) (; ";")) (expression_statement "sVar9 = strlen(__s);" (assignment_expression "sVar9 = strlen(__s)" (identifier "sVar9") (= "=") (call_expression "strlen(__s)" (identifier "strlen") (argument_list "(__s)" (( "(") (identifier "__s") () ")")))) (; ";")) (expression_statement "iVar7 = *(int *)(iVar6 + 0x100);" (assignment_expression "iVar7 = *(int *)(iVar6 + 0x100)" (identifier "iVar7") (= "=") (pointer_expression "*(int *)(iVar6 + 0x100)" (* "*") (cast_expression "(int *)(iVar6 + 0x100)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar6 + 0x100)" (( "(") (binary_expression "iVar6 + 0x100" (identifier "iVar6") (+ "+") (number_literal "0x100")) () ")"))))) (; ";")) (if_statement "if (sVar9 != 0) {\n                  pcVar1 = __s + sVar9;\n                  iVar11 = iVar7;\n                  do {\n                    cVar2 = *__s;\n                    if (iVar11 == 0xff) {\n                      *(undefined1 *)(iVar6 + 0xff) = 0;\n                      (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                      *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                      iVar7 = 1;\n                      iVar11 = 0;\n                    }\n                    else {\n                      iVar7 = iVar11 + 1;\n                    }\n                    __s = __s + 1;\n                    *(int *)(iVar6 + 0x100) = iVar7;\n                    *(char *)(iVar6 + iVar11) = cVar2;\n                    *(char *)(iVar6 + 0x104) = cVar2;\n                    iVar11 = iVar7;\n                  } while (pcVar1 != __s);\n                }" (if "if") (parenthesized_expression "(sVar9 != 0)" (( "(") (binary_expression "sVar9 != 0" (identifier "sVar9") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n                  pcVar1 = __s + sVar9;\n                  iVar11 = iVar7;\n                  do {\n                    cVar2 = *__s;\n                    if (iVar11 == 0xff) {\n                      *(undefined1 *)(iVar6 + 0xff) = 0;\n                      (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                      *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                      iVar7 = 1;\n                      iVar11 = 0;\n                    }\n                    else {\n                      iVar7 = iVar11 + 1;\n                    }\n                    __s = __s + 1;\n                    *(int *)(iVar6 + 0x100) = iVar7;\n                    *(char *)(iVar6 + iVar11) = cVar2;\n                    *(char *)(iVar6 + 0x104) = cVar2;\n                    iVar11 = iVar7;\n                  } while (pcVar1 != __s);\n                }" ({ "{") (expression_statement "pcVar1 = __s + sVar9;" (assignment_expression "pcVar1 = __s + sVar9" (identifier "pcVar1") (= "=") (binary_expression "__s + sVar9" (identifier "__s") (+ "+") (identifier "sVar9"))) (; ";")) (expression_statement "iVar11 = iVar7;" (assignment_expression "iVar11 = iVar7" (identifier "iVar11") (= "=") (identifier "iVar7")) (; ";")) (do_statement "do {\n                    cVar2 = *__s;\n                    if (iVar11 == 0xff) {\n                      *(undefined1 *)(iVar6 + 0xff) = 0;\n                      (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                      *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                      iVar7 = 1;\n                      iVar11 = 0;\n                    }\n                    else {\n                      iVar7 = iVar11 + 1;\n                    }\n                    __s = __s + 1;\n                    *(int *)(iVar6 + 0x100) = iVar7;\n                    *(char *)(iVar6 + iVar11) = cVar2;\n                    *(char *)(iVar6 + 0x104) = cVar2;\n                    iVar11 = iVar7;\n                  } while (pcVar1 != __s);" (do "do") (compound_statement "{\n                    cVar2 = *__s;\n                    if (iVar11 == 0xff) {\n                      *(undefined1 *)(iVar6 + 0xff) = 0;\n                      (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                      *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                      iVar7 = 1;\n                      iVar11 = 0;\n                    }\n                    else {\n                      iVar7 = iVar11 + 1;\n                    }\n                    __s = __s + 1;\n                    *(int *)(iVar6 + 0x100) = iVar7;\n                    *(char *)(iVar6 + iVar11) = cVar2;\n                    *(char *)(iVar6 + 0x104) = cVar2;\n                    iVar11 = iVar7;\n                  }" ({ "{") (expression_statement "cVar2 = *__s;" (assignment_expression "cVar2 = *__s" (identifier "cVar2") (= "=") (pointer_expression "*__s" (* "*") (identifier "__s"))) (; ";")) (if_statement "if (iVar11 == 0xff) {\n                      *(undefined1 *)(iVar6 + 0xff) = 0;\n                      (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                      *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                      iVar7 = 1;\n                      iVar11 = 0;\n                    }\n                    else {\n                      iVar7 = iVar11 + 1;\n                    }" (if "if") (parenthesized_expression "(iVar11 == 0xff)" (( "(") (binary_expression "iVar11 == 0xff" (identifier "iVar11") (== "==") (number_literal "0xff")) () ")")) (compound_statement "{\n                      *(undefined1 *)(iVar6 + 0xff) = 0;\n                      (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                      *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                      iVar7 = 1;\n                      iVar11 = 0;\n                    }" ({ "{") (expression_statement "*(undefined1 *)(iVar6 + 0xff) = 0;" (assignment_expression "*(undefined1 *)(iVar6 + 0xff) = 0" (pointer_expression "*(undefined1 *)(iVar6 + 0xff)" (* "*") (cast_expression "(undefined1 *)(iVar6 + 0xff)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar6 + 0xff)" (( "(") (binary_expression "iVar6 + 0xff" (identifier "iVar6") (+ "+") (number_literal "0xff")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "(**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));" (call_expression "(**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c))" (parenthesized_expression "(**(code **)(iVar6 + 0x108))" (( "(") (pointer_expression "**(code **)(iVar6 + 0x108)" (* "*") (pointer_expression "*(code **)(iVar6 + 0x108)" (* "*") (cast_expression "(code **)(iVar6 + 0x108)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar6 + 0x108)" (( "(") (binary_expression "iVar6 + 0x108" (identifier "iVar6") (+ "+") (number_literal "0x108")) () ")"))))) () ")")) (argument_list "(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c))" (( "(") (identifier "iVar6") (, ",") (number_literal "0xff") (, ",") (pointer_expression "*(undefined4 *)(iVar6 + 0x10c)" (* "*") (cast_expression "(undefined4 *)(iVar6 + 0x10c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar6 + 0x10c)" (( "(") (binary_expression "iVar6 + 0x10c" (identifier "iVar6") (+ "+") (number_literal "0x10c")) () ")")))) () ")"))) (; ";")) (expression_statement "*(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;" (assignment_expression "*(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1" (pointer_expression "*(int *)(iVar6 + 0x128)" (* "*") (cast_expression "(int *)(iVar6 + 0x128)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar6 + 0x128)" (( "(") (binary_expression "iVar6 + 0x128" (identifier "iVar6") (+ "+") (number_literal "0x128")) () ")")))) (= "=") (binary_expression "*(int *)(iVar6 + 0x128) + 1" (pointer_expression "*(int *)(iVar6 + 0x128)" (* "*") (cast_expression "(int *)(iVar6 + 0x128)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar6 + 0x128)" (( "(") (binary_expression "iVar6 + 0x128" (identifier "iVar6") (+ "+") (number_literal "0x128")) () ")")))) (+ "+") (number_literal "1"))) (; ";")) (expression_statement "iVar7 = 1;" (assignment_expression "iVar7 = 1" (identifier "iVar7") (= "=") (number_literal "1")) (; ";")) (expression_statement "iVar11 = 0;" (assignment_expression "iVar11 = 0" (identifier "iVar11") (= "=") (number_literal "0")) (; ";")) (} "}")) (else_clause "else {\n                      iVar7 = iVar11 + 1;\n                    }" (else "else") (compound_statement "{\n                      iVar7 = iVar11 + 1;\n                    }" ({ "{") (expression_statement "iVar7 = iVar11 + 1;" (assignment_expression "iVar7 = iVar11 + 1" (identifier "iVar7") (= "=") (binary_expression "iVar11 + 1" (identifier "iVar11") (+ "+") (number_literal "1"))) (; ";")) (} "}")))) (expression_statement "__s = __s + 1;" (assignment_expression "__s = __s + 1" (identifier "__s") (= "=") (binary_expression "__s + 1" (identifier "__s") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "*(int *)(iVar6 + 0x100) = iVar7;" (assignment_expression "*(int *)(iVar6 + 0x100) = iVar7" (pointer_expression "*(int *)(iVar6 + 0x100)" (* "*") (cast_expression "(int *)(iVar6 + 0x100)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar6 + 0x100)" (( "(") (binary_expression "iVar6 + 0x100" (identifier "iVar6") (+ "+") (number_literal "0x100")) () ")")))) (= "=") (identifier "iVar7")) (; ";")) (expression_statement "*(char *)(iVar6 + iVar11) = cVar2;" (assignment_expression "*(char *)(iVar6 + iVar11) = cVar2" (pointer_expression "*(char *)(iVar6 + iVar11)" (* "*") (cast_expression "(char *)(iVar6 + iVar11)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar6 + iVar11)" (( "(") (binary_expression "iVar6 + iVar11" (identifier "iVar6") (+ "+") (identifier "iVar11")) () ")")))) (= "=") (identifier "cVar2")) (; ";")) (expression_statement "*(char *)(iVar6 + 0x104) = cVar2;" (assignment_expression "*(char *)(iVar6 + 0x104) = cVar2" (pointer_expression "*(char *)(iVar6 + 0x104)" (* "*") (cast_expression "(char *)(iVar6 + 0x104)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar6 + 0x104)" (( "(") (binary_expression "iVar6 + 0x104" (identifier "iVar6") (+ "+") (number_literal "0x104")) () ")")))) (= "=") (identifier "cVar2")) (; ";")) (expression_statement "iVar11 = iVar7;" (assignment_expression "iVar11 = iVar7" (identifier "iVar11") (= "=") (identifier "iVar7")) (; ";")) (} "}")) (while "while") (parenthesized_expression "(pcVar1 != __s)" (( "(") (binary_expression "pcVar1 != __s" (identifier "pcVar1") (!= "!=") (identifier "__s")) () ")")) (; ";")) (} "}"))) (expression_statement "puVar14 = (undefined1 *)(unaff_EDI + 0x264d1);" (assignment_expression "puVar14 = (undefined1 *)(unaff_EDI + 0x264d1)" (identifier "puVar14") (= "=") (cast_expression "(undefined1 *)(unaff_EDI + 0x264d1)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(unaff_EDI + 0x264d1)" (( "(") (binary_expression "unaff_EDI + 0x264d1" (identifier "unaff_EDI") (+ "+") (number_literal "0x264d1")) () ")")))) (; ";")) (expression_statement "uVar12 = 0x7d;" (assignment_expression "uVar12 = 0x7d" (identifier "uVar12") (= "=") (number_literal "0x7d")) (; ";")) (do_statement "do {\n                  if (iVar7 == 0xff) {\n                    *(undefined1 *)(iVar6 + 0xff) = 0;\n                    (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                    *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                    iVar11 = 1;\n                    iVar7 = 0;\n                  }\n                  else {\n                    iVar11 = iVar7 + 1;\n                  }\n                  puVar14 = puVar14 + 1;\n                  *(int *)(iVar6 + 0x100) = iVar11;\n                  *(undefined1 *)(iVar6 + iVar7) = uVar12;\n                  *(undefined1 *)(iVar6 + 0x104) = uVar12;\n                  if ((undefined1 *)(unaff_EDI + 0x264d4) == puVar14) goto LAB_002127e9;\n                  uVar12 = *puVar14;\n                  iVar7 = iVar11;\n                } while( true );" (do "do") (compound_statement "{\n                  if (iVar7 == 0xff) {\n                    *(undefined1 *)(iVar6 + 0xff) = 0;\n                    (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                    *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                    iVar11 = 1;\n                    iVar7 = 0;\n                  }\n                  else {\n                    iVar11 = iVar7 + 1;\n                  }\n                  puVar14 = puVar14 + 1;\n                  *(int *)(iVar6 + 0x100) = iVar11;\n                  *(undefined1 *)(iVar6 + iVar7) = uVar12;\n                  *(undefined1 *)(iVar6 + 0x104) = uVar12;\n                  if ((undefined1 *)(unaff_EDI + 0x264d4) == puVar14) goto LAB_002127e9;\n                  uVar12 = *puVar14;\n                  iVar7 = iVar11;\n                }" ({ "{") (if_statement "if (iVar7 == 0xff) {\n                    *(undefined1 *)(iVar6 + 0xff) = 0;\n                    (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                    *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                    iVar11 = 1;\n                    iVar7 = 0;\n                  }\n                  else {\n                    iVar11 = iVar7 + 1;\n                  }" (if "if") (parenthesized_expression "(iVar7 == 0xff)" (( "(") (binary_expression "iVar7 == 0xff" (identifier "iVar7") (== "==") (number_literal "0xff")) () ")")) (compound_statement "{\n                    *(undefined1 *)(iVar6 + 0xff) = 0;\n                    (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));\n                    *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;\n                    iVar11 = 1;\n                    iVar7 = 0;\n                  }" ({ "{") (expression_statement "*(undefined1 *)(iVar6 + 0xff) = 0;" (assignment_expression "*(undefined1 *)(iVar6 + 0xff) = 0" (pointer_expression "*(undefined1 *)(iVar6 + 0xff)" (* "*") (cast_expression "(undefined1 *)(iVar6 + 0xff)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar6 + 0xff)" (( "(") (binary_expression "iVar6 + 0xff" (identifier "iVar6") (+ "+") (number_literal "0xff")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "(**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));" (call_expression "(**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c))" (parenthesized_expression "(**(code **)(iVar6 + 0x108))" (( "(") (pointer_expression "**(code **)(iVar6 + 0x108)" (* "*") (pointer_expression "*(code **)(iVar6 + 0x108)" (* "*") (cast_expression "(code **)(iVar6 + 0x108)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar6 + 0x108)" (( "(") (binary_expression "iVar6 + 0x108" (identifier "iVar6") (+ "+") (number_literal "0x108")) () ")"))))) () ")")) (argument_list "(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c))" (( "(") (identifier "iVar6") (, ",") (number_literal "0xff") (, ",") (pointer_expression "*(undefined4 *)(iVar6 + 0x10c)" (* "*") (cast_expression "(undefined4 *)(iVar6 + 0x10c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar6 + 0x10c)" (( "(") (binary_expression "iVar6 + 0x10c" (identifier "iVar6") (+ "+") (number_literal "0x10c")) () ")")))) () ")"))) (; ";")) (expression_statement "*(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;" (assignment_expression "*(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1" (pointer_expression "*(int *)(iVar6 + 0x128)" (* "*") (cast_expression "(int *)(iVar6 + 0x128)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar6 + 0x128)" (( "(") (binary_expression "iVar6 + 0x128" (identifier "iVar6") (+ "+") (number_literal "0x128")) () ")")))) (= "=") (binary_expression "*(int *)(iVar6 + 0x128) + 1" (pointer_expression "*(int *)(iVar6 + 0x128)" (* "*") (cast_expression "(int *)(iVar6 + 0x128)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar6 + 0x128)" (( "(") (binary_expression "iVar6 + 0x128" (identifier "iVar6") (+ "+") (number_literal "0x128")) () ")")))) (+ "+") (number_literal "1"))) (; ";")) (expression_statement "iVar11 = 1;" (assignment_expression "iVar11 = 1" (identifier "iVar11") (= "=") (number_literal "1")) (; ";")) (expression_statement "iVar7 = 0;" (assignment_expression "iVar7 = 0" (identifier "iVar7") (= "=") (number_literal "0")) (; ";")) (} "}")) (else_clause "else {\n                    iVar11 = iVar7 + 1;\n                  }" (else "else") (compound_statement "{\n                    iVar11 = iVar7 + 1;\n                  }" ({ "{") (expression_statement "iVar11 = iVar7 + 1;" (assignment_expression "iVar11 = iVar7 + 1" (identifier "iVar11") (= "=") (binary_expression "iVar7 + 1" (identifier "iVar7") (+ "+") (number_literal "1"))) (; ";")) (} "}")))) (expression_statement "puVar14 = puVar14 + 1;" (assignment_expression "puVar14 = puVar14 + 1" (identifier "puVar14") (= "=") (binary_expression "puVar14 + 1" (identifier "puVar14") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "*(int *)(iVar6 + 0x100) = iVar11;" (assignment_expression "*(int *)(iVar6 + 0x100) = iVar11" (pointer_expression "*(int *)(iVar6 + 0x100)" (* "*") (cast_expression "(int *)(iVar6 + 0x100)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar6 + 0x100)" (( "(") (binary_expression "iVar6 + 0x100" (identifier "iVar6") (+ "+") (number_literal "0x100")) () ")")))) (= "=") (identifier "iVar11")) (; ";")) (expression_statement "*(undefined1 *)(iVar6 + iVar7) = uVar12;" (assignment_expression "*(undefined1 *)(iVar6 + iVar7) = uVar12" (pointer_expression "*(undefined1 *)(iVar6 + iVar7)" (* "*") (cast_expression "(undefined1 *)(iVar6 + iVar7)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar6 + iVar7)" (( "(") (binary_expression "iVar6 + iVar7" (identifier "iVar6") (+ "+") (identifier "iVar7")) () ")")))) (= "=") (identifier "uVar12")) (; ";")) (expression_statement "*(undefined1 *)(iVar6 + 0x104) = uVar12;" (assignment_expression "*(undefined1 *)(iVar6 + 0x104) = uVar12" (pointer_expression "*(undefined1 *)(iVar6 + 0x104)" (* "*") (cast_expression "(undefined1 *)(iVar6 + 0x104)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar6 + 0x104)" (( "(") (binary_expression "iVar6 + 0x104" (identifier "iVar6") (+ "+") (number_literal "0x104")) () ")")))) (= "=") (identifier "uVar12")) (; ";")) (if_statement "if ((undefined1 *)(unaff_EDI + 0x264d4) == puVar14) goto LAB_002127e9;" (if "if") (parenthesized_expression "((undefined1 *)(unaff_EDI + 0x264d4) == puVar14)" (( "(") (binary_expression "(undefined1 *)(unaff_EDI + 0x264d4) == puVar14" (cast_expression "(undefined1 *)(unaff_EDI + 0x264d4)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(unaff_EDI + 0x264d4)" (( "(") (binary_expression "unaff_EDI + 0x264d4" (identifier "unaff_EDI") (+ "+") (number_literal "0x264d4")) () ")"))) (== "==") (identifier "puVar14")) () ")")) (goto_statement "goto LAB_002127e9;" (goto "goto") (statement_identifier "LAB_002127e9") (; ";"))) (expression_statement "uVar12 = *puVar14;" (assignment_expression "uVar12 = *puVar14" (identifier "uVar12") (= "=") (pointer_expression "*puVar14" (* "*") (identifier "puVar14"))) (; ";")) (expression_statement "iVar7 = iVar11;" (assignment_expression "iVar7 = iVar11" (identifier "iVar7") (= "=") (identifier "iVar11")) (; ";")) (} "}")) (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (; ";")) (} "}"))) (do_statement "do {\n                if (uVar8 != 0x4c) {\n                  if (uVar8 < 0x4d) {\n                    if (4 < uVar8 - 0x1c) {\nLAB_0021277d:\n                      FUN_0020ca20();\n                      *(undefined4 *)(iVar6 + 0x110) = uVar3;\n                      return;\n                    }\n                  }\n                  else if (1 < uVar8 - 0x4e) goto LAB_0021277d;\n                }\nLAB_002127e9:\n                local_44 = (uint *)local_44[2];\n                uVar8 = *local_44;\n              } while( true );" (do "do") (compound_statement "{\n                if (uVar8 != 0x4c) {\n                  if (uVar8 < 0x4d) {\n                    if (4 < uVar8 - 0x1c) {\nLAB_0021277d:\n                      FUN_0020ca20();\n                      *(undefined4 *)(iVar6 + 0x110) = uVar3;\n                      return;\n                    }\n                  }\n                  else if (1 < uVar8 - 0x4e) goto LAB_0021277d;\n                }\nLAB_002127e9:\n                local_44 = (uint *)local_44[2];\n                uVar8 = *local_44;\n              }" ({ "{") (if_statement "if (uVar8 != 0x4c) {\n                  if (uVar8 < 0x4d) {\n                    if (4 < uVar8 - 0x1c) {\nLAB_0021277d:\n                      FUN_0020ca20();\n                      *(undefined4 *)(iVar6 + 0x110) = uVar3;\n                      return;\n                    }\n                  }\n                  else if (1 < uVar8 - 0x4e) goto LAB_0021277d;\n                }" (if "if") (parenthesized_expression "(uVar8 != 0x4c)" (( "(") (binary_expression "uVar8 != 0x4c" (identifier "uVar8") (!= "!=") (number_literal "0x4c")) () ")")) (compound_statement "{\n                  if (uVar8 < 0x4d) {\n                    if (4 < uVar8 - 0x1c) {\nLAB_0021277d:\n                      FUN_0020ca20();\n                      *(undefined4 *)(iVar6 + 0x110) = uVar3;\n                      return;\n                    }\n                  }\n                  else if (1 < uVar8 - 0x4e) goto LAB_0021277d;\n                }" ({ "{") (if_statement "if (uVar8 < 0x4d) {\n                    if (4 < uVar8 - 0x1c) {\nLAB_0021277d:\n                      FUN_0020ca20();\n                      *(undefined4 *)(iVar6 + 0x110) = uVar3;\n                      return;\n                    }\n                  }\n                  else if (1 < uVar8 - 0x4e) goto LAB_0021277d;" (if "if") (parenthesized_expression "(uVar8 < 0x4d)" (( "(") (binary_expression "uVar8 < 0x4d" (identifier "uVar8") (< "<") (number_literal "0x4d")) () ")")) (compound_statement "{\n                    if (4 < uVar8 - 0x1c) {\nLAB_0021277d:\n                      FUN_0020ca20();\n                      *(undefined4 *)(iVar6 + 0x110) = uVar3;\n                      return;\n                    }\n                  }" ({ "{") (if_statement "if (4 < uVar8 - 0x1c) {\nLAB_0021277d:\n                      FUN_0020ca20();\n                      *(undefined4 *)(iVar6 + 0x110) = uVar3;\n                      return;\n                    }" (if "if") (parenthesized_expression "(4 < uVar8 - 0x1c)" (( "(") (binary_expression "4 < uVar8 - 0x1c" (number_literal "4") (< "<") (binary_expression "uVar8 - 0x1c" (identifier "uVar8") (- "-") (number_literal "0x1c"))) () ")")) (compound_statement "{\nLAB_0021277d:\n                      FUN_0020ca20();\n                      *(undefined4 *)(iVar6 + 0x110) = uVar3;\n                      return;\n                    }" ({ "{") (labeled_statement "LAB_0021277d:\n                      FUN_0020ca20();" (statement_identifier "LAB_0021277d") (: ":") (expression_statement "FUN_0020ca20();" (call_expression "FUN_0020ca20()" (identifier "FUN_0020ca20") (argument_list "()" (( "(") () ")"))) (; ";"))) (expression_statement "*(undefined4 *)(iVar6 + 0x110) = uVar3;" (assignment_expression "*(undefined4 *)(iVar6 + 0x110) = uVar3" (pointer_expression "*(undefined4 *)(iVar6 + 0x110)" (* "*") (cast_expression "(undefined4 *)(iVar6 + 0x110)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar6 + 0x110)" (( "(") (binary_expression "iVar6 + 0x110" (identifier "iVar6") (+ "+") (number_literal "0x110")) () ")")))) (= "=") (identifier "uVar3")) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}"))) (} "}")) (else_clause "else if (1 < uVar8 - 0x4e) goto LAB_0021277d;" (else "else") (if_statement "if (1 < uVar8 - 0x4e) goto LAB_0021277d;" (if "if") (parenthesized_expression "(1 < uVar8 - 0x4e)" (( "(") (binary_expression "1 < uVar8 - 0x4e" (number_literal "1") (< "<") (binary_expression "uVar8 - 0x4e" (identifier "uVar8") (- "-") (number_literal "0x4e"))) () ")")) (goto_statement "goto LAB_0021277d;" (goto "goto") (statement_identifier "LAB_0021277d") (; ";"))))) (} "}"))) (labeled_statement "LAB_002127e9:\n                local_44 = (uint *)local_44[2];" (statement_identifier "LAB_002127e9") (: ":") (expression_statement "local_44 = (uint *)local_44[2];" (assignment_expression "local_44 = (uint *)local_44[2]" (identifier "local_44") (= "=") (cast_expression "(uint *)local_44[2]" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "local_44[2]" (identifier "local_44") ([ "[") (number_literal "2") (] "]")))) (; ";"))) (expression_statement "uVar8 = *local_44;" (assignment_expression "uVar8 = *local_44" (identifier "uVar8") (= "=") (pointer_expression "*local_44" (* "*") (identifier "local_44"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (; ";")) (} "}"))) (expression_statement "FUN_00211980();" (call_expression "FUN_00211980()" (identifier "FUN_00211980") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "*(undefined4 *)(iVar6 + 0x110) = uVar3;" (assignment_expression "*(undefined4 *)(iVar6 + 0x110) = uVar3" (pointer_expression "*(undefined4 *)(iVar6 + 0x110)" (* "*") (cast_expression "(undefined4 *)(iVar6 + 0x110)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar6 + 0x110)" (( "(") (binary_expression "iVar6 + 0x110" (identifier "iVar6") (+ "+") (number_literal "0x110")) () ")")))) (= "=") (identifier "uVar3")) (; ";")) (} "}"))))) (} "}"))) (} "}"))) (expression_statement "piVar4 = (int *)*piVar4;" (assignment_expression "piVar4 = (int *)*piVar4" (identifier "piVar4") (= "=") (cast_expression "(int *)*piVar4" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*piVar4" (* "*") (identifier "piVar4")))) (; ";")) (if_statement "if (piVar4 == (int *)0x0) {\n        return;\n      }" (if "if") (parenthesized_expression "(piVar4 == (int *)0x0)" (( "(") (binary_expression "piVar4 == (int *)0x0" (identifier "piVar4") (== "==") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n        return;\n      }" ({ "{") (return_statement "return;" (return "return") (; ";")) (} "}"))) (expression_statement "iVar7 = *(int *)(iVar6 + 0x118);" (assignment_expression "iVar7 = *(int *)(iVar6 + 0x118)" (identifier "iVar7") (= "=") (pointer_expression "*(int *)(iVar6 + 0x118)" (* "*") (cast_expression "(int *)(iVar6 + 0x118)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar6 + 0x118)" (( "(") (binary_expression "iVar6 + 0x118" (identifier "iVar6") (+ "+") (number_literal "0x118")) () ")"))))) (; ";")) (} "}"))) (} "}"))) (return_statement "return;" (return "return") (; ";")) (} "}")))

void function_1(int var_5)

{
  char *var_21;
  char cVar2;
  type_1 uVar3;
  int *var_23;
  type_1 uVar5;
  int var_3;
  int var_4;
  type_2 var_6;
  size_t var_18;
  int *var_2;
  type_3 cVar10;
  int var_20;
  type_4 uVar12;
  type_3 *var_14;
  type_4 *var_12;
  char *var_19;
  int var_11;
  type_5 var_10;
  type_2 *local_44;
  char local_35 [37];
  
  var_10 = var_1();
  var_3 = (int)var_10;
  if (var_2 != (int *)0x0) {
    var_4 = *(int *)(var_3 + 0x118);
    var_23 = var_2;
    while (var_4 == 0) {
      if (var_23[2] == 0) {
        var_6 = *(type_2 *)var_23[1];
        if (var_5 != 0) goto LAB_00212668;
        if (var_6 != 0x4c) {
          if (var_6 < 0x4d) {
            if (4 < var_6 - 0x1c) goto LAB_00212668;
          }
          else if (1 < var_6 - 0x4e) {
LAB_00212668:
            uVar3 = *(type_1 *)(var_3 + 0x110);
            var_23[2] = 1;
            *(int *)(var_3 + 0x110) = var_23[3];
            if (var_6 == 0x29) {
              var_7(*var_23);
              *(type_1 *)(var_3 + 0x110) = uVar3;
              return;
            }
            if (var_6 == 0x2a) {
              var_8(*var_23);
              *(type_1 *)(var_3 + 0x110) = uVar3;
              return;
            }
            if (var_6 == 2) {
              uVar5 = *(type_1 *)(var_3 + 0x114);
              *(type_1 *)(var_3 + 0x114) = 0;
              var_9();
              *(type_1 *)(var_3 + 0x114) = uVar5;
              var_4 = *(int *)(var_3 + 0x100);
              if ((var_10 & 0x400000000) == 0) {
                var_12 = (type_4 *)(var_11 + 0x264d2);
                uVar12 = 0x3a;
                while( true ) {
                  if (var_4 == 0xff) {
                    *(type_4 *)(var_3 + 0xff) = 0;
                    (**(type_3 **)(var_3 + 0x108))(var_3,0xff,*(type_1 *)(var_3 + 0x10c));
                    *(int *)(var_3 + 0x128) = *(int *)(var_3 + 0x128) + 1;
                    var_20 = 1;
                    var_4 = 0;
                  }
                  else {
                    var_20 = var_4 + 1;
                  }
                  var_12 = var_12 + 1;
                  *(int *)(var_3 + 0x100) = var_20;
                  *(type_4 *)(var_3 + var_4) = uVar12;
                  *(type_4 *)(var_3 + 0x104) = uVar12;
                  if (var_12 == (type_4 *)(var_11 + 0x264d4)) break;
                  uVar12 = *var_12;
                  var_4 = var_20;
                }
              }
              else {
                var_20 = var_4 + 1;
                if (var_4 == 0xff) {
                  *(type_4 *)(var_3 + 0xff) = 0;
                  (**(type_3 **)(var_3 + 0x108))(var_3,0xff,*(type_1 *)(var_3 + 0x10c));
                  *(int *)(var_3 + 0x128) = *(int *)(var_3 + 0x128) + 1;
                  var_20 = 1;
                  var_4 = 0;
                }
                *(int *)(var_3 + 0x100) = var_20;
                *(type_4 *)(var_3 + var_4) = 0x2e;
                *(type_4 *)(var_3 + 0x104) = 0x2e;
              }
              local_44 = *(type_2 **)(var_23[1] + 0xc);
              var_6 = *local_44;
              if (var_6 == 0x46) {
                cVar10 = (type_3)0x7b;
                var_14 = var_13 + var_11 + 4;
                var_4 = *(int *)(var_3 + 0x100);
                while( true ) {
                  if (var_4 == 0xff) {
                    *(type_4 *)(var_3 + 0xff) = 0;
                    (**(type_3 **)(var_3 + 0x108))(var_3,0xff,*(type_1 *)(var_3 + 0x10c));
                    *(int *)(var_3 + 0x128) = *(int *)(var_3 + 0x128) + 1;
                    var_20 = 1;
                    var_4 = 0;
                  }
                  else {
                    var_20 = var_4 + 1;
                  }
                  *(int *)(var_3 + 0x100) = var_20;
                  *(type_3 *)(var_3 + var_4) = cVar10;
                  *(type_3 *)(var_3 + 0x104) = cVar10;
                  if (var_14 == var_15 + var_11) break;
                  cVar10 = *var_14;
                  var_14 = var_14 + 1;
                  var_4 = var_20;
                }
                var_19 = local_35;
                var_16(var_19,(char *)((int)&__DT_REL[0x263a].r_offset + var_11 + 2),
                        local_44[3] + 1);
                var_18 = var_17(var_19);
                var_4 = *(int *)(var_3 + 0x100);
                if (var_18 != 0) {
                  var_21 = var_19 + var_18;
                  var_20 = var_4;
                  do {
                    cVar2 = *var_19;
                    if (var_20 == 0xff) {
                      *(type_4 *)(var_3 + 0xff) = 0;
                      (**(type_3 **)(var_3 + 0x108))(var_3,0xff,*(type_1 *)(var_3 + 0x10c));
                      *(int *)(var_3 + 0x128) = *(int *)(var_3 + 0x128) + 1;
                      var_4 = 1;
                      var_20 = 0;
                    }
                    else {
                      var_4 = var_20 + 1;
                    }
                    var_19 = var_19 + 1;
                    *(int *)(var_3 + 0x100) = var_4;
                    *(char *)(var_3 + var_20) = cVar2;
                    *(char *)(var_3 + 0x104) = cVar2;
                    var_20 = var_4;
                  } while (var_21 != var_19);
                }
                var_12 = (type_4 *)(var_11 + 0x264d1);
                uVar12 = 0x7d;
                do {
                  if (var_4 == 0xff) {
                    *(type_4 *)(var_3 + 0xff) = 0;
                    (**(type_3 **)(var_3 + 0x108))(var_3,0xff,*(type_1 *)(var_3 + 0x10c));
                    *(int *)(var_3 + 0x128) = *(int *)(var_3 + 0x128) + 1;
                    var_20 = 1;
                    var_4 = 0;
                  }
                  else {
                    var_20 = var_4 + 1;
                  }
                  var_12 = var_12 + 1;
                  *(int *)(var_3 + 0x100) = var_20;
                  *(type_4 *)(var_3 + var_4) = uVar12;
                  *(type_4 *)(var_3 + 0x104) = uVar12;
                  if ((type_4 *)(var_11 + 0x264d4) == var_12) goto LAB_002127e9;
                  uVar12 = *var_12;
                  var_4 = var_20;
                } while( true );
              }
              do {
                if (var_6 != 0x4c) {
                  if (var_6 < 0x4d) {
                    if (4 < var_6 - 0x1c) {
LAB_0021277d:
                      var_9();
                      *(type_1 *)(var_3 + 0x110) = uVar3;
                      return;
                    }
                  }
                  else if (1 < var_6 - 0x4e) goto LAB_0021277d;
                }
LAB_002127e9:
                local_44 = (type_2 *)local_44[2];
                var_6 = *local_44;
              } while( true );
            }
            var_22();
            *(type_1 *)(var_3 + 0x110) = uVar3;
          }
        }
      }
      var_23 = (int *)*var_23;
      if (var_23 == (int *)0x0) {
        return;
      }
      var_4 = *(int *)(var_3 + 0x118);
    }
  }
  return;
}


(translation_unit (function_definition type: (primitive_type) declarator: (function_declarator declarator: (identifier) parameters: (parameter_list (parameter_declaration type: (primitive_type) declarator: (identifier)))) body: (compound_statement (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (array_declarator declarator: (identifier) size: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (while_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) body: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (subscript_expression argument: (identifier) index: (number_literal)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (binary_expression left: (identifier) right: (number_literal)))) consequence: (goto_statement label: (statement_identifier)))) alternative: (else_clause (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (binary_expression left: (identifier) right: (number_literal)))) consequence: (compound_statement (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (subscript_expression argument: (identifier) index: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) (return_statement))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) (return_statement))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (expression_statement (call_expression function: (identifier) arguments: (argument_list))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (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: (number_literal))) (while_statement condition: (parenthesized_expression (true)) body: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (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 (identifier) (number_literal) (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal)))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))))) right: (identifier))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) consequence: (break_statement)) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (identifier)))))) alternative: (else_clause (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: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier) (number_literal) (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))))) right: (number_literal))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (while_statement condition: (parenthesized_expression (true)) body: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (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 (identifier) (number_literal) (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal)))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))))) right: (identifier))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier)))) consequence: (break_statement)) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (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: (identifier))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (pointer_expression argument: (field_expression argument: (subscript_expression argument: (identifier) index: (number_literal)) field: (field_identifier)))) right: (identifier)) right: (number_literal)))) (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) 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: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (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: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (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 (identifier) (number_literal) (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal)))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))))) right: (identifier))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier)))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (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: (number_literal))) (do_statement body: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (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 (identifier) (number_literal) (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal)))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))))) right: (identifier))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))) right: (identifier))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (identifier)))) condition: (parenthesized_expression (true))))) (do_statement body: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (binary_expression left: (identifier) right: (number_literal)))) consequence: (compound_statement (labeled_statement label: (statement_identifier) (expression_statement (call_expression function: (identifier) arguments: (argument_list)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) (return_statement)))) alternative: (else_clause (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (binary_expression left: (identifier) right: (number_literal)))) consequence: (goto_statement label: (statement_identifier))))))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (subscript_expression argument: (identifier) index: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier))))) condition: (parenthesized_expression (true))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))))))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (return_statement))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))))))) (return_statement))))

void MASKED(int param_1)

{
  char *pcVar1;
  char cVar2;
  undefined4 uVar3;
  int *piVar4;
  undefined4 uVar5;
  int iVar6;
  int iVar7;
  uint uVar8;
  size_t sVar9;
  int *extraout_ECX;
  code cVar10;
  int iVar11;
  undefined1 uVar12;
  code *pcVar13;
  undefined1 *puVar14;
  char *__s;
  int unaff_EDI;
  ulonglong uVar15;
  uint *local_44;
  char local_35 [37];
  
  uVar15 = FUN_0004fb7e();
  iVar6 = (int)uVar15;
  if (extraout_ECX != (int *)0x0) {
    iVar7 = *(int *)(iVar6 + 0x118);
    piVar4 = extraout_ECX;
    while (iVar7 == 0) {
      if (piVar4[2] == 0) {
        uVar8 = *(uint *)piVar4[1];
        if (param_1 != 0) goto LAB_00212668;
        if (uVar8 != 0x4c) {
          if (uVar8 < 0x4d) {
            if (4 < uVar8 - 0x1c) goto LAB_00212668;
          }
          else if (1 < uVar8 - 0x4e) {
LAB_00212668:
            uVar3 = *(undefined4 *)(iVar6 + 0x110);
            piVar4[2] = 1;
            *(int *)(iVar6 + 0x110) = piVar4[3];
            if (uVar8 == 0x29) {
              FUN_00212300(*piVar4);
              *(undefined4 *)(iVar6 + 0x110) = uVar3;
              return;
            }
            if (uVar8 == 0x2a) {
              FUN_00212a20(*piVar4);
              *(undefined4 *)(iVar6 + 0x110) = uVar3;
              return;
            }
            if (uVar8 == 2) {
              uVar5 = *(undefined4 *)(iVar6 + 0x114);
              *(undefined4 *)(iVar6 + 0x114) = 0;
              FUN_0020ca20();
              *(undefined4 *)(iVar6 + 0x114) = uVar5;
              iVar7 = *(int *)(iVar6 + 0x100);
              if ((uVar15 & 0x400000000) == 0) {
                puVar14 = (undefined1 *)(unaff_EDI + 0x264d2);
                uVar12 = 0x3a;
                while( true ) {
                  if (iVar7 == 0xff) {
                    *(undefined1 *)(iVar6 + 0xff) = 0;
                    (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));
                    *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;
                    iVar11 = 1;
                    iVar7 = 0;
                  }
                  else {
                    iVar11 = iVar7 + 1;
                  }
                  puVar14 = puVar14 + 1;
                  *(int *)(iVar6 + 0x100) = iVar11;
                  *(undefined1 *)(iVar6 + iVar7) = uVar12;
                  *(undefined1 *)(iVar6 + 0x104) = uVar12;
                  if (puVar14 == (undefined1 *)(unaff_EDI + 0x264d4)) break;
                  uVar12 = *puVar14;
                  iVar7 = iVar11;
                }
              }
              else {
                iVar11 = iVar7 + 1;
                if (iVar7 == 0xff) {
                  *(undefined1 *)(iVar6 + 0xff) = 0;
                  (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));
                  *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;
                  iVar11 = 1;
                  iVar7 = 0;
                }
                *(int *)(iVar6 + 0x100) = iVar11;
                *(undefined1 *)(iVar6 + iVar7) = 0x2e;
                *(undefined1 *)(iVar6 + 0x104) = 0x2e;
              }
              local_44 = *(uint **)(piVar4[1] + 0xc);
              uVar8 = *local_44;
              if (uVar8 == 0x46) {
                cVar10 = (code)0x7b;
                pcVar13 = ioctl + unaff_EDI + 4;
                iVar7 = *(int *)(iVar6 + 0x100);
                while( true ) {
                  if (iVar7 == 0xff) {
                    *(undefined1 *)(iVar6 + 0xff) = 0;
                    (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));
                    *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;
                    iVar11 = 1;
                    iVar7 = 0;
                  }
                  else {
                    iVar11 = iVar7 + 1;
                  }
                  *(int *)(iVar6 + 0x100) = iVar11;
                  *(code *)(iVar6 + iVar7) = cVar10;
                  *(code *)(iVar6 + 0x104) = cVar10;
                  if (pcVar13 == wcrtomb + unaff_EDI) break;
                  cVar10 = *pcVar13;
                  pcVar13 = pcVar13 + 1;
                  iVar7 = iVar11;
                }
                __s = local_35;
                sprintf(__s,(char *)((int)&__DT_REL[0x263a].r_offset + unaff_EDI + 2),
                        local_44[3] + 1);
                sVar9 = strlen(__s);
                iVar7 = *(int *)(iVar6 + 0x100);
                if (sVar9 != 0) {
                  pcVar1 = __s + sVar9;
                  iVar11 = iVar7;
                  do {
                    cVar2 = *__s;
                    if (iVar11 == 0xff) {
                      *(undefined1 *)(iVar6 + 0xff) = 0;
                      (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));
                      *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;
                      iVar7 = 1;
                      iVar11 = 0;
                    }
                    else {
                      iVar7 = iVar11 + 1;
                    }
                    __s = __s + 1;
                    *(int *)(iVar6 + 0x100) = iVar7;
                    *(char *)(iVar6 + iVar11) = cVar2;
                    *(char *)(iVar6 + 0x104) = cVar2;
                    iVar11 = iVar7;
                  } while (pcVar1 != __s);
                }
                puVar14 = (undefined1 *)(unaff_EDI + 0x264d1);
                uVar12 = 0x7d;
                do {
                  if (iVar7 == 0xff) {
                    *(undefined1 *)(iVar6 + 0xff) = 0;
                    (**(code **)(iVar6 + 0x108))(iVar6,0xff,*(undefined4 *)(iVar6 + 0x10c));
                    *(int *)(iVar6 + 0x128) = *(int *)(iVar6 + 0x128) + 1;
                    iVar11 = 1;
                    iVar7 = 0;
                  }
                  else {
                    iVar11 = iVar7 + 1;
                  }
                  puVar14 = puVar14 + 1;
                  *(int *)(iVar6 + 0x100) = iVar11;
                  *(undefined1 *)(iVar6 + iVar7) = uVar12;
                  *(undefined1 *)(iVar6 + 0x104) = uVar12;
                  if ((undefined1 *)(unaff_EDI + 0x264d4) == puVar14) goto LAB_002127e9;
                  uVar12 = *puVar14;
                  iVar7 = iVar11;
                } while( true );
              }
              do {
                if (uVar8 != 0x4c) {
                  if (uVar8 < 0x4d) {
                    if (4 < uVar8 - 0x1c) {
LAB_0021277d:
                      FUN_0020ca20();
                      *(undefined4 *)(iVar6 + 0x110) = uVar3;
                      return;
                    }
                  }
                  else if (1 < uVar8 - 0x4e) goto LAB_0021277d;
                }
LAB_002127e9:
                local_44 = (uint *)local_44[2];
                uVar8 = *local_44;
              } while( true );
            }
            FUN_00211980();
            *(undefined4 *)(iVar6 + 0x110) = uVar3;
          }
        }
      }
      piVar4 = (int *)*piVar4;
      if (piVar4 == (int *)0x0) {
        return;
      }
      iVar7 = *(int *)(iVar6 + 0x118);
    }
  }
  return;
}

