
/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */
/* WARNING: Type propagation algorithm not settling */
/* WARNING: Enum "anon_enum_32": Some values do not have unique names */

char * format_telnet_command(SockAddr addr,int port,Conf *conf)

{
  int iVar1;
  byte bVar2;
  char cVar3;
  byte bVar4;
  char *pcVar5;
  int iVar6;
  int iVar7;
  char *pcVar8;
  size_t sVar9;
  uint uVar10;
  uint uVar11;
  char *pcVar12;
  uint *puVar13;
  undefined4 *puVar14;
  uint *puVar15;
  int in_GS_OFFSET;
  bool bVar16;
  byte bVar17;
  int local_244;
  char *local_240;
  size_t local_23c;
  char *local_238;
  int local_234;
  int local_230;
  char acStack_227 [7];
  char dest [512];
  
  bVar17 = 0;
  local_244 = 0;
  iVar1 = *(int *)(in_GS_OFFSET + 0x14);
  pcVar5 = conf_get_str(conf,0x12);
  local_23c = 0;
  local_234 = 0;
  local_238 = (char *)0x0;
LAB_00021c20:
  do {
    pcVar12 = pcVar5 + local_244;
    cVar3 = *pcVar12;
    iVar7 = local_244;
joined_r0x00021c28:
    if (cVar3 == '\0') {
LAB_00021e3b:
      if (local_234 < (int)local_23c) goto LAB_00021e4d;
LAB_00021eed:
      local_238 = (char *)saferealloc(local_238,local_234 + 0x201,1);
LAB_00021e4d:
      local_238[local_234] = '\0';
      if (iVar1 != *(int *)(in_GS_OFFSET + 0x14)) {
                    /* WARNING: Subroutine does not return */
        __stack_chk_fail_local();
      }
      return local_238;
    }
    local_240 = pcVar12;
    local_230 = iVar7;
    if (cVar3 != '%') {
      if (cVar3 != '\\') {
        do {
          local_244 = local_230 + 1;
          cVar3 = pcVar5[local_244];
          if ((cVar3 == '\0') || (cVar3 == '%')) {
            if (cVar3 == '\0') goto LAB_00021e99;
            break;
          }
          local_230 = local_244;
        } while (cVar3 != '\\');
        local_240 = pcVar5 + local_244;
        local_230 = local_244;
        if (iVar7 != local_244) {
          iVar6 = local_234 + (local_244 - iVar7);
          if ((int)local_23c < iVar6) {
            local_23c = iVar6 + 0x200;
            local_238 = (char *)saferealloc(local_238,local_23c,1);
          }
          memcpy(local_238 + local_234,pcVar12,local_244 - iVar7);
          local_234 = local_234 + (local_244 - iVar7);
          local_230 = local_244;
        }
        goto LAB_00021cd4;
      }
      local_244 = iVar7 + 1;
      cVar3 = pcVar5[iVar7 + 1];
      if (cVar3 != '\0') goto LAB_00021f38;
LAB_00021e99:
      if (iVar7 == local_244) goto LAB_00021e3b;
      iVar6 = local_234 + (local_244 - iVar7);
      if ((int)local_23c < iVar6) {
        local_23c = iVar6 + 0x200;
        local_238 = (char *)saferealloc(local_238,local_23c,1);
      }
      memcpy(local_238 + local_234,pcVar5 + iVar7,local_244 - iVar7);
      local_234 = local_234 + (local_244 - iVar7);
      if (local_234 < (int)local_23c) goto LAB_00021e4d;
      goto LAB_00021eed;
    }
LAB_00021cd4:
    local_244 = local_230 + 1;
    pcVar12 = pcVar5 + local_244;
    cVar3 = *pcVar12;
    iVar7 = local_230;
    if (cVar3 == '\0') goto LAB_00021e99;
    if (*local_240 == '\\') {
LAB_00021f38:
      iVar7 = local_234 + 1;
      if (cVar3 == 'n') {
        if ((int)local_23c <= local_234) {
          local_23c = local_234 + 0x201;
          local_238 = (char *)saferealloc(local_238,local_23c,1);
        }
        local_238[local_234] = '\n';
        local_244 = local_230 + 2;
        local_234 = iVar7;
        goto LAB_00021c20;
      }
      if (cVar3 < 'o') {
        if (cVar3 == 'X') {
LAB_000223b0:
          cVar3 = pcVar5[local_244 + 1];
          bVar4 = cVar3 - 0x30;
          if (bVar4 < 10) {
LAB_000223db:
            cVar3 = pcVar5[local_244 + 2];
            bVar2 = cVar3 - 0x30;
            if (9 < bVar2) {
              if ((byte)(cVar3 + 0x9fU) < 6) {
                bVar2 = cVar3 + 0xa9;
              }
              else {
                if (5 < (byte)(cVar3 + 0xbfU)) goto LAB_00022a16;
                bVar2 = cVar3 - 0x37;
              }
            }
            if ((int)local_23c <= local_234) {
              local_23c = local_234 + 0x201;
              local_238 = (char *)saferealloc(local_238,local_23c,1);
            }
            local_238[local_234] = bVar2 + bVar4 * '\x10';
            local_244 = local_244 + 3;
            local_234 = iVar7;
          }
          else {
            if ((byte)(cVar3 + 0x9fU) < 6) {
              bVar4 = cVar3 + 0xa9;
              goto LAB_000223db;
            }
            if ((byte)(cVar3 + 0xbfU) < 6) {
              bVar4 = cVar3 - 0x37;
              goto LAB_000223db;
            }
LAB_00022a16:
            if ((int)local_23c <= local_234) {
              local_23c = local_234 + 0x201;
              local_238 = (char *)saferealloc(local_238,local_23c,1);
            }
            local_238[local_234] = '\\';
            local_234 = iVar7;
          }
          goto LAB_00021c20;
        }
        if (cVar3 == '\\') {
          if ((int)local_23c <= local_234) {
            local_23c = local_234 + 0x201;
            local_238 = (char *)saferealloc(local_238,local_23c,1);
          }
          local_238[local_234] = '\\';
          local_244 = local_230 + 2;
          local_234 = iVar7;
          goto LAB_00021c20;
        }
        if (cVar3 == '%') {
          if ((int)local_23c <= local_234) {
            local_23c = local_234 + 0x201;
            local_238 = (char *)saferealloc(local_238,local_23c,1);
          }
          local_238[local_234] = '%';
          local_244 = local_230 + 2;
          local_234 = iVar7;
          goto LAB_00021c20;
        }
      }
      else {
        if (cVar3 == 't') {
          if ((int)local_23c <= local_234) {
            local_23c = local_234 + 0x201;
            local_238 = (char *)saferealloc(local_238,local_23c,1);
          }
          local_238[local_234] = '\t';
          local_244 = local_230 + 2;
          local_234 = iVar7;
          goto LAB_00021c20;
        }
        if (cVar3 == 'x') goto LAB_000223b0;
        if (cVar3 == 'r') {
          if ((int)local_23c <= local_234) {
            local_23c = local_234 + 0x201;
            local_238 = (char *)saferealloc(local_238,local_23c,1);
          }
          local_238[local_234] = '\r';
          local_244 = local_230 + 2;
          local_234 = iVar7;
          goto LAB_00021c20;
        }
      }
      if ((int)local_23c <= iVar7) {
        local_23c = local_234 + 0x202;
        local_238 = (char *)saferealloc(local_238,local_23c,1);
      }
      local_244 = local_230 + 2;
      *(undefined2 *)(local_238 + local_234) = *(undefined2 *)local_240;
      local_234 = local_234 + 2;
      goto LAB_00021c20;
    }
    if (cVar3 == '%') {
      if ((int)local_23c <= local_234) {
        local_23c = local_234 + 0x201;
        local_238 = (char *)saferealloc(local_238,local_23c,1);
      }
      local_238[local_234] = '%';
      local_244 = local_230 + 2;
      local_234 = local_234 + 1;
      goto LAB_00021c20;
    }
    iVar7 = strncasecmp(pcVar12,"host",4);
    if (iVar7 != 0) {
      iVar7 = strncasecmp(pcVar12,"port",4);
      if (iVar7 == 0) {
        cVar3 = __sprintf_chk(dest,1,8,&DAT_0008fa68,port);
        pcVar12 = (char *)(int)cVar3;
        goto joined_r0x000221ae;
      }
      iVar7 = strncasecmp(pcVar12,"user",4);
      if (iVar7 == 0) {
        pcVar12 = conf_get_str(conf,0x10);
        sVar9 = strlen(pcVar12);
        iVar7 = local_234 + sVar9;
        if ((int)local_23c < iVar7) {
          local_23c = iVar7 + 0x200;
          local_238 = (char *)saferealloc(local_238,local_23c,1);
        }
        memcpy(local_238 + local_234,pcVar12,sVar9);
        local_244 = local_230 + 5;
        local_234 = iVar7;
        goto LAB_00021c20;
      }
      iVar7 = strncasecmp(pcVar12,"pass",4);
      if (iVar7 == 0) {
        pcVar12 = conf_get_str(conf,0x11);
        sVar9 = strlen(pcVar12);
        iVar7 = local_234 + sVar9;
        if ((int)local_23c < iVar7) {
          local_23c = iVar7 + 0x200;
          local_238 = (char *)saferealloc(local_238,local_23c,1);
        }
        memcpy(local_238 + local_234,pcVar12,sVar9);
        local_244 = local_230 + 5;
        local_234 = iVar7;
        goto LAB_00021c20;
      }
      iVar7 = strncasecmp(pcVar12,"proxyhost",9);
      if (iVar7 == 0) {
        pcVar12 = conf_get_str(conf,0xe);
        sVar9 = strlen(pcVar12);
        iVar7 = local_234 + sVar9;
        if ((int)local_23c < iVar7) {
          local_23c = iVar7 + 0x200;
          local_238 = (char *)saferealloc(local_238,local_23c,1);
        }
        memcpy(local_238 + local_234,pcVar12,sVar9);
        local_244 = local_230 + 10;
        local_234 = iVar7;
        goto LAB_00021c20;
      }
      iVar7 = strncasecmp(pcVar12,"proxyport",9);
      if (iVar7 == 0) break;
      if ((int)local_23c <= local_234) {
        local_23c = local_234 + 0x201;
        local_238 = (char *)saferealloc(local_238,local_23c,1);
      }
      local_238[local_234] = '%';
      local_234 = local_234 + 1;
      pcVar12 = pcVar5 + local_244;
      cVar3 = *pcVar12;
      iVar7 = local_244;
      goto joined_r0x00021c28;
    }
    sk_getaddr(addr,dest,0x200);
    puVar15 = (uint *)dest;
    do {
      puVar13 = puVar15;
      uVar10 = *puVar13 + 0xfefefeff & ~*puVar13;
      uVar11 = uVar10 & 0x80808080;
      puVar15 = puVar13 + 1;
    } while (uVar11 == 0);
    bVar16 = (uVar10 & 0x8080) == 0;
    if (bVar16) {
      uVar11 = uVar11 >> 0x10;
    }
    puVar15 = (uint *)((int)puVar13 + 6);
    if (!bVar16) {
      puVar15 = puVar13 + 1;
    }
    pcVar12 = (char *)((int)puVar15 + ((-3 - (uint)CARRY1((byte)uVar11,(byte)uVar11)) - (int)dest));
joined_r0x000221ae:
    iVar7 = local_234 + (int)pcVar12;
    if ((int)local_23c < iVar7) {
      local_23c = iVar7 + 0x200;
      local_238 = (char *)saferealloc(local_238,local_23c,1);
    }
    pcVar8 = local_238 + local_234;
    if (pcVar12 < (char *)0x4) {
      if (pcVar12 != (char *)0x0) {
        *pcVar8 = dest[0];
        if (((uint)pcVar12 & 2) != 0) {
          *(undefined2 *)(pcVar8 + (int)(pcVar12 + -2)) =
               *(undefined2 *)(acStack_227 + (int)(pcVar12 + 5));
        }
      }
    }
    else {
      *(undefined4 *)pcVar8 = dest._0_4_;
      *(undefined4 *)(pcVar8 + (int)(pcVar12 + -4)) =
           *(undefined4 *)(acStack_227 + (int)(pcVar12 + 3));
      iVar6 = (int)pcVar8 - (int)((uint)(pcVar8 + 4) & 0xfffffffc);
      uVar11 = (uint)(pcVar12 + iVar6) >> 2;
      pcVar12 = dest + -iVar6;
      puVar14 = (undefined4 *)((uint)(pcVar8 + 4) & 0xfffffffc);
      for (; uVar11 != 0; uVar11 = uVar11 - 1) {
        *puVar14 = *(undefined4 *)pcVar12;
        pcVar12 = pcVar12 + ((uint)bVar17 * -2 + 1) * 4;
        puVar14 = puVar14 + (uint)bVar17 * -2 + 1;
      }
    }
    local_244 = local_230 + 5;
    local_234 = iVar7;
  } while( true );
  iVar7 = conf_get_int(conf,0xf);
  __sprintf_chk(dest,1,0x32,"%d",iVar7);
  puVar15 = (uint *)dest;
  do {
    puVar13 = puVar15;
    uVar10 = *puVar13 + 0xfefefeff & ~*puVar13;
    uVar11 = uVar10 & 0x80808080;
    puVar15 = puVar13 + 1;
  } while (uVar11 == 0);
  bVar16 = (uVar10 & 0x8080) == 0;
  if (bVar16) {
    uVar11 = uVar11 >> 0x10;
  }
  if (bVar16) {
    puVar15 = (uint *)((int)puVar13 + 6);
  }
  uVar11 = (int)puVar15 + ((-3 - (uint)CARRY1((byte)uVar11,(byte)uVar11)) - (int)dest);
  iVar7 = local_234 + uVar11;
  if ((int)local_23c < iVar7) {
    local_23c = iVar7 + 0x200;
    local_238 = (char *)saferealloc(local_238,local_23c,1);
  }
  pcVar12 = local_238 + local_234;
  if (uVar11 < 4) {
    if (uVar11 != 0) {
      *pcVar12 = dest[0];
      if ((uVar11 & 2) != 0) {
        *(undefined2 *)(pcVar12 + (uVar11 - 2)) = *(undefined2 *)(acStack_227 + uVar11 + 5);
      }
    }
  }
  else {
    *(undefined4 *)pcVar12 = dest._0_4_;
    *(undefined4 *)(pcVar12 + (uVar11 - 4)) = *(undefined4 *)(acStack_227 + uVar11 + 3);
    iVar6 = (int)pcVar12 - ((uint)(pcVar12 + 4) & 0xfffffffc);
    uVar11 = iVar6 + uVar11 & 0xfffffffc;
    if (3 < uVar11) {
      uVar10 = 0;
      do {
        *(undefined4 *)(((uint)(pcVar12 + 4) & 0xfffffffc) + uVar10) =
             *(undefined4 *)((int)dest + (uVar10 - iVar6));
        uVar10 = uVar10 + 4;
      } while (uVar10 < uVar11);
    }
  }
  local_244 = local_230 + 10;
  local_234 = iVar7;
  goto LAB_00021c20;
}



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

void FUN_00021ba0(undefined4 param_1,undefined4 param_2,undefined4 param_3)

{
  byte bVar1;
  char cVar2;
  byte bVar3;
  int iVar4;
  int iVar5;
  int iVar6;
  char *pcVar7;
  size_t sVar8;
  undefined4 uVar9;
  uint uVar10;
  uint uVar11;
  uint *puVar12;
  uint *puVar13;
  undefined4 *puVar14;
  undefined4 *puVar15;
  int in_GS_OFFSET;
  bool bVar16;
  byte bVar17;
  int local_244;
  char *local_240;
  int local_23c;
  int local_238;
  int local_234;
  int local_230;
  undefined1 auStack_227 [5];
  undefined2 uStack_222;
  uint local_220 [128];
  int local_20;
  undefined4 uStack_14;
  
  bVar17 = 0;
  local_244 = 0;
  uStack_14 = 0x21bad;
  local_20 = *(int *)(in_GS_OFFSET + 0x14);
  iVar4 = FUN_00018b60(param_3,0x12);
  local_23c = 0;
  local_234 = 0;
  local_238 = 0;
LAB_00021c20:
  do {
    pcVar7 = (char *)(iVar4 + local_244);
    cVar2 = *pcVar7;
    iVar6 = local_244;
joined_r0x00021c28:
    if (cVar2 == '\0') {
LAB_00021e3b:
      if (local_234 < local_23c) goto LAB_00021e4d;
LAB_00021eed:
      local_238 = FUN_0001dc50(local_238,local_234 + 0x201,1);
LAB_00021e4d:
      *(undefined1 *)(local_238 + local_234) = 0;
      if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {
                    /* WARNING: Subroutine does not return */
        FUN_0008d800();
      }
      return;
    }
    local_240 = pcVar7;
    local_230 = iVar6;
    if (cVar2 != '%') {
      if (cVar2 != '\\') {
        do {
          local_244 = local_230 + 1;
          cVar2 = *(char *)(iVar4 + local_244);
          if ((cVar2 == '\0') || (cVar2 == '%')) {
            if (cVar2 == '\0') goto LAB_00021e99;
            break;
          }
          local_230 = local_244;
        } while (cVar2 != '\\');
        local_240 = (char *)(iVar4 + local_244);
        local_230 = local_244;
        if (iVar6 != local_244) {
          iVar5 = (local_234 + local_244) - iVar6;
          if (local_23c < iVar5) {
            local_23c = iVar5 + 0x200;
            local_238 = FUN_0001dc50(local_238,local_23c,1);
          }
          memcpy((void *)(local_238 + local_234),pcVar7,local_244 - iVar6);
          local_234 = local_234 + (local_244 - iVar6);
          local_230 = local_244;
        }
        goto LAB_00021cd4;
      }
      local_244 = iVar6 + 1;
      cVar2 = *(char *)(iVar4 + 1 + iVar6);
      if (cVar2 != '\0') goto LAB_00021f38;
LAB_00021e99:
      if (iVar6 == local_244) goto LAB_00021e3b;
      iVar5 = (local_234 + local_244) - iVar6;
      if (local_23c < iVar5) {
        local_23c = iVar5 + 0x200;
        local_238 = FUN_0001dc50(local_238,local_23c,1);
      }
      memcpy((void *)(local_238 + local_234),(void *)(iVar6 + iVar4),local_244 - iVar6);
      local_234 = local_234 + (local_244 - iVar6);
      if (local_234 < local_23c) goto LAB_00021e4d;
      goto LAB_00021eed;
    }
LAB_00021cd4:
    local_244 = local_230 + 1;
    pcVar7 = (char *)(iVar4 + local_244);
    cVar2 = *pcVar7;
    iVar6 = local_230;
    if (cVar2 == '\0') goto LAB_00021e99;
    if (*local_240 == '\\') {
LAB_00021f38:
      iVar6 = local_234 + 1;
      if (cVar2 == 'n') {
        if (local_23c <= local_234) {
          local_23c = local_234 + 0x201;
          local_238 = FUN_0001dc50(local_238,local_23c,1);
        }
        *(undefined1 *)(local_238 + local_234) = 10;
        local_244 = local_230 + 2;
        local_234 = iVar6;
        goto LAB_00021c20;
      }
      if (cVar2 < 'o') {
        if (cVar2 == 'X') {
LAB_000223b0:
          cVar2 = *(char *)(iVar4 + 1 + local_244);
          bVar3 = cVar2 - 0x30;
          if (bVar3 < 10) {
LAB_000223db:
            cVar2 = *(char *)(iVar4 + 2 + local_244);
            bVar1 = cVar2 - 0x30;
            if (9 < bVar1) {
              if ((byte)(cVar2 + 0x9fU) < 6) {
                bVar1 = cVar2 + 0xa9;
              }
              else {
                if (5 < (byte)(cVar2 + 0xbfU)) goto LAB_00022a16;
                bVar1 = cVar2 - 0x37;
              }
            }
            if (local_23c <= local_234) {
              local_23c = local_234 + 0x201;
              local_238 = FUN_0001dc50(local_238,local_23c,1);
            }
            *(byte *)(local_238 + local_234) = bVar1 + bVar3 * '\x10';
            local_244 = local_244 + 3;
            local_234 = iVar6;
          }
          else {
            if ((byte)(cVar2 + 0x9fU) < 6) {
              bVar3 = cVar2 + 0xa9;
              goto LAB_000223db;
            }
            if ((byte)(cVar2 + 0xbfU) < 6) {
              bVar3 = cVar2 - 0x37;
              goto LAB_000223db;
            }
LAB_00022a16:
            if (local_23c <= local_234) {
              local_23c = local_234 + 0x201;
              local_238 = FUN_0001dc50(local_238,local_23c,1);
            }
            *(undefined1 *)(local_238 + local_234) = 0x5c;
            local_234 = iVar6;
          }
          goto LAB_00021c20;
        }
        if (cVar2 == '\\') {
          if (local_23c <= local_234) {
            local_23c = local_234 + 0x201;
            local_238 = FUN_0001dc50(local_238,local_23c,1);
          }
          *(undefined1 *)(local_238 + local_234) = 0x5c;
          local_244 = local_230 + 2;
          local_234 = iVar6;
          goto LAB_00021c20;
        }
        if (cVar2 == '%') {
          if (local_23c <= local_234) {
            local_23c = local_234 + 0x201;
            local_238 = FUN_0001dc50(local_238,local_23c,1);
          }
          *(undefined1 *)(local_238 + local_234) = 0x25;
          local_244 = local_230 + 2;
          local_234 = iVar6;
          goto LAB_00021c20;
        }
      }
      else {
        if (cVar2 == 't') {
          if (local_23c <= local_234) {
            local_23c = local_234 + 0x201;
            local_238 = FUN_0001dc50(local_238,local_23c,1);
          }
          *(undefined1 *)(local_238 + local_234) = 9;
          local_244 = local_230 + 2;
          local_234 = iVar6;
          goto LAB_00021c20;
        }
        if (cVar2 == 'x') goto LAB_000223b0;
        if (cVar2 == 'r') {
          if (local_23c <= local_234) {
            local_23c = local_234 + 0x201;
            local_238 = FUN_0001dc50(local_238,local_23c,1);
          }
          *(undefined1 *)(local_238 + local_234) = 0xd;
          local_244 = local_230 + 2;
          local_234 = iVar6;
          goto LAB_00021c20;
        }
      }
      if (local_23c <= iVar6) {
        local_23c = local_234 + 0x202;
        local_238 = FUN_0001dc50(local_238,local_23c,1);
      }
      local_244 = local_230 + 2;
      *(undefined2 *)(local_238 + local_234) = *(undefined2 *)local_240;
      local_234 = local_234 + 2;
      goto LAB_00021c20;
    }
    if (cVar2 == '%') {
      if (local_23c <= local_234) {
        local_23c = local_234 + 0x201;
        local_238 = FUN_0001dc50(local_238,local_23c,1);
      }
      *(undefined1 *)(local_238 + local_234) = 0x25;
      local_244 = local_230 + 2;
      local_234 = local_234 + 1;
      goto LAB_00021c20;
    }
    iVar6 = strncasecmp(pcVar7,"host",4);
    if (iVar6 != 0) {
      iVar6 = strncasecmp(pcVar7,"port",4);
      if (iVar6 == 0) {
        cVar2 = __sprintf_chk(local_220,1,8,&DAT_0008fa68,param_2);
        uVar11 = (uint)cVar2;
        goto joined_r0x000221ae;
      }
      iVar6 = strncasecmp(pcVar7,"user",4);
      if (iVar6 == 0) {
        pcVar7 = (char *)FUN_00018b60(param_3,0x10);
        sVar8 = strlen(pcVar7);
        iVar6 = sVar8 + local_234;
        if (local_23c < iVar6) {
          local_23c = iVar6 + 0x200;
          local_238 = FUN_0001dc50(local_238,local_23c,1);
        }
        memcpy((void *)(local_234 + local_238),pcVar7,sVar8);
        local_244 = local_230 + 5;
        local_234 = iVar6;
        goto LAB_00021c20;
      }
      iVar6 = strncasecmp(pcVar7,"pass",4);
      if (iVar6 == 0) {
        pcVar7 = (char *)FUN_00018b60(param_3,0x11);
        sVar8 = strlen(pcVar7);
        iVar6 = sVar8 + local_234;
        if (local_23c < iVar6) {
          local_23c = iVar6 + 0x200;
          local_238 = FUN_0001dc50(local_238,local_23c,1);
        }
        memcpy((void *)(local_234 + local_238),pcVar7,sVar8);
        local_244 = local_230 + 5;
        local_234 = iVar6;
        goto LAB_00021c20;
      }
      iVar6 = strncasecmp(pcVar7,"proxyhost",9);
      if (iVar6 == 0) {
        pcVar7 = (char *)FUN_00018b60(param_3,0xe);
        sVar8 = strlen(pcVar7);
        iVar6 = sVar8 + local_234;
        if (local_23c < iVar6) {
          local_23c = iVar6 + 0x200;
          local_238 = FUN_0001dc50(local_238,local_23c,1);
        }
        memcpy((void *)(local_234 + local_238),pcVar7,sVar8);
        local_244 = local_230 + 10;
        local_234 = iVar6;
        goto LAB_00021c20;
      }
      iVar6 = strncasecmp(pcVar7,"proxyport",9);
      if (iVar6 == 0) break;
      if (local_23c <= local_234) {
        local_23c = local_234 + 0x201;
        local_238 = FUN_0001dc50(local_238,local_23c,1);
      }
      *(undefined1 *)(local_238 + local_234) = 0x25;
      local_234 = local_234 + 1;
      pcVar7 = (char *)(iVar4 + local_244);
      cVar2 = *pcVar7;
      iVar6 = local_244;
      goto joined_r0x00021c28;
    }
    FUN_00084190(param_1,local_220,0x200);
    puVar12 = local_220;
    do {
      puVar13 = puVar12;
      uVar10 = *puVar13 + 0xfefefeff & ~*puVar13;
      uVar11 = uVar10 & 0x80808080;
      puVar12 = puVar13 + 1;
    } while (uVar11 == 0);
    bVar16 = (uVar10 & 0x8080) == 0;
    if (bVar16) {
      uVar11 = uVar11 >> 0x10;
    }
    puVar12 = (uint *)((int)puVar13 + 6);
    if (!bVar16) {
      puVar12 = puVar13 + 1;
    }
    uVar11 = (int)puVar12 + ((-3 - (uint)CARRY1((byte)uVar11,(byte)uVar11)) - (int)local_220);
joined_r0x000221ae:
    iVar6 = local_234 + uVar11;
    if (local_23c < iVar6) {
      local_23c = iVar6 + 0x200;
      local_238 = FUN_0001dc50(local_238,local_23c,1);
    }
    puVar12 = (uint *)(local_234 + local_238);
    if (uVar11 < 4) {
      if (uVar11 != 0) {
        *(undefined1 *)puVar12 = (undefined1)local_220[0];
        if ((uVar11 & 2) != 0) {
          *(undefined2 *)((int)puVar12 + (uVar11 - 2)) = *(undefined2 *)(auStack_227 + uVar11 + 5);
        }
      }
    }
    else {
      *puVar12 = local_220[0];
      *(undefined4 *)((int)puVar12 + (uVar11 - 4)) = *(undefined4 *)(auStack_227 + uVar11 + 3);
      iVar5 = (int)puVar12 - (int)((uint)(puVar12 + 1) & 0xfffffffc);
      puVar14 = (undefined4 *)((int)local_220 - iVar5);
      puVar15 = (undefined4 *)((uint)(puVar12 + 1) & 0xfffffffc);
      for (uVar11 = uVar11 + iVar5 >> 2; uVar11 != 0; uVar11 = uVar11 - 1) {
        *puVar15 = *puVar14;
        puVar14 = puVar14 + (uint)bVar17 * -2 + 1;
        puVar15 = puVar15 + (uint)bVar17 * -2 + 1;
      }
    }
    local_244 = local_230 + 5;
    local_234 = iVar6;
  } while( true );
  uVar9 = FUN_000189b0(param_3,0xf);
  __sprintf_chk(local_220,1,0x32,"%d",uVar9);
  puVar12 = local_220;
  do {
    puVar13 = puVar12;
    uVar10 = *puVar13 + 0xfefefeff & ~*puVar13;
    uVar11 = uVar10 & 0x80808080;
    puVar12 = puVar13 + 1;
  } while (uVar11 == 0);
  bVar16 = (uVar10 & 0x8080) == 0;
  if (bVar16) {
    uVar11 = uVar11 >> 0x10;
  }
  if (bVar16) {
    puVar12 = (uint *)((int)puVar13 + 6);
  }
  uVar11 = (int)puVar12 + ((-3 - (uint)CARRY1((byte)uVar11,(byte)uVar11)) - (int)local_220);
  iVar6 = local_234 + uVar11;
  if (local_23c < iVar6) {
    local_23c = iVar6 + 0x200;
    local_238 = FUN_0001dc50(local_238,local_23c,1);
  }
  puVar12 = (uint *)(local_234 + local_238);
  if (uVar11 < 4) {
    if (uVar11 != 0) {
      *(undefined1 *)puVar12 = (undefined1)local_220[0];
      if ((uVar11 & 2) != 0) {
        *(undefined2 *)((int)puVar12 + (uVar11 - 2)) = *(undefined2 *)(auStack_227 + uVar11 + 5);
      }
    }
  }
  else {
    *puVar12 = local_220[0];
    *(undefined4 *)((int)puVar12 + (uVar11 - 4)) = *(undefined4 *)(auStack_227 + uVar11 + 3);
    iVar5 = (int)puVar12 - ((uint)(puVar12 + 1) & 0xfffffffc);
    uVar11 = iVar5 + uVar11 & 0xfffffffc;
    if (3 < uVar11) {
      uVar10 = 0;
      do {
        *(undefined4 *)(((uint)(puVar12 + 1) & 0xfffffffc) + uVar10) =
             *(undefined4 *)((int)local_220 + (uVar10 - iVar5));
        uVar10 = uVar10 + 4;
      } while (uVar10 < uVar11);
    }
  }
  local_244 = local_230 + 10;
  local_234 = iVar6;
  goto LAB_00021c20;
}


PUSH EBP
MOV EBP,ESP
PUSH EDI
XOR EDI,EDI
PUSH ESI
PUSH EBX
CALL 0x000149a0
ADD EBX,0xab1c3
SUB ESP,0x254
MOV EAX,dword ptr [EBP + 0x8]
MOV dword ptr [EBP + 0xfffffdb0],EAX
MOV EAX,dword ptr [EBP + 0x10]
MOV dword ptr [EBP + 0xfffffdac],EAX
MOV ECX,dword ptr GS:[0x14]
MOV dword ptr [EBP + -0x1c],ECX
XOR ECX,ECX
PUSH 0x12
PUSH EAX
CALL 0x00018b60
ADD ESP,0x10
MOV dword ptr [EBP + 0xfffffdc8],0x0
MOV dword ptr [EBP + 0xfffffdd0],0x0
MOV EDX,EAX
LEA EAX,[EBX + 0xfffc136f]
MOV dword ptr [EBP + 0xfffffdbc],EAX
LEA EAX,[EBX + 0xfffc2d0f]
MOV dword ptr [EBP + 0xfffffdcc],0x0
MOV dword ptr [EBP + 0xfffffdb4],EAX
LEA ESI,[ESI]
LEA ECX,[EDX + EDI*0x1]
MOVZX EAX,byte ptr [ECX]
TEST AL,AL
JZ 0x00021e3b
CMP AL,0x25
JZ 0x00022294
MOV dword ptr [EBP + 0xfffffdd4],EDI
CMP AL,0x5c
JZ 0x00021f17
LEA ESI,[ESI]
ADD dword ptr [EBP + 0xfffffdd4],0x1
MOV EAX,dword ptr [EBP + 0xfffffdd4]
LEA ESI,[EDX + EAX*0x1]
MOVZX EAX,byte ptr [EDX + EAX*0x1]
TEST AL,AL
JZ 0x00021e78
CMP AL,0x25
JZ 0x00021e78
CMP AL,0x5c
JNZ 0x00021c48
MOV dword ptr [EBP + 0xfffffdc4],ESI
MOV EAX,dword ptr [EBP + 0xfffffdd4]
CMP EDI,EAX
JZ 0x00021cd4
MOV ESI,dword ptr [EBP + 0xfffffdd0]
ADD ESI,EAX
MOV EAX,ESI
SUB EAX,EDI
CMP EAX,dword ptr [EBP + 0xfffffdc8]
JG 0x00021ff0
MOV EAX,dword ptr [EBP + 0xfffffdd4]
MOV ESI,dword ptr [EBP + 0xfffffdd0]
SUB ESP,0x4
MOV dword ptr [EBP + 0xfffffdc0],EDX
SUB EAX,EDI
MOV EDI,EAX
MOV EAX,dword ptr [EBP + 0xfffffdcc]
PUSH EDI
ADD EAX,ESI
PUSH ECX
PUSH EAX
CALL 0x00014130
MOV EDX,ESI
ADD ESP,0x10
ADD EDX,EDI
MOV dword ptr [EBP + 0xfffffdd0],EDX
MOV EDX,dword ptr [EBP + 0xfffffdc0]
MOV EAX,dword ptr [EBP + 0xfffffdd4]
ADD EAX,0x1
LEA EDI,[EDX + EAX*0x1]
MOV dword ptr [EBP + 0xfffffdc0],EAX
MOVZX EAX,byte ptr [EDI]
TEST AL,AL
JZ 0x0002253f
MOV ECX,dword ptr [EBP + 0xfffffdc4]
CMP byte ptr [ECX],0x5c
JZ 0x00021f38
CMP AL,0x25
JZ 0x00022038
SUB ESP,0x4
MOV dword ptr [EBP + 0xfffffdc4],EDX
PUSH 0x4
PUSH dword ptr [EBP + 0xfffffdbc]
PUSH EDI
CALL 0x000145e0
ADD ESP,0x10
MOV EDX,dword ptr [EBP + 0xfffffdc4]
TEST EAX,EAX
JZ 0x00022078
SUB ESP,0x4
MOV dword ptr [EBP + 0xfffffdc4],EDX
PUSH 0x4
PUSH dword ptr [EBP + 0xfffffdb4]
PUSH EDI
CALL 0x000145e0
ADD ESP,0x10
MOV EDX,dword ptr [EBP + 0xfffffdc4]
TEST EAX,EAX
JZ 0x00022165
SUB ESP,0x4
LEA EAX,[EBX + 0xfffc6956]
MOV dword ptr [EBP + 0xfffffdc4],EDX
PUSH 0x4
PUSH EAX
PUSH EDI
CALL 0x000145e0
ADD ESP,0x10
MOV EDX,dword ptr [EBP + 0xfffffdc4]
TEST EAX,EAX
JZ 0x00022220
SUB ESP,0x4
LEA EAX,[EBX + 0xfffc2cfb]
MOV dword ptr [EBP + 0xfffffdc4],EDX
PUSH 0x4
PUSH EAX
PUSH EDI
CALL 0x000145e0
ADD ESP,0x10
MOV EDX,dword ptr [EBP + 0xfffffdc4]
TEST EAX,EAX
JZ 0x000224bf
SUB ESP,0x4
LEA EAX,[EBX + 0xfffc2d00]
MOV dword ptr [EBP + 0xfffffdc4],EDX
PUSH 0x9
PUSH EAX
PUSH EDI
CALL 0x000145e0
ADD ESP,0x10
MOV EDX,dword ptr [EBP + 0xfffffdc4]
TEST EAX,EAX
JZ 0x000222a5
SUB ESP,0x4
LEA EAX,[EBX + 0xfffc2d0a]
MOV dword ptr [EBP + 0xfffffdc4],EDX
PUSH 0x9
PUSH EAX
PUSH EDI
CALL 0x000145e0
ADD ESP,0x10
MOV EDX,dword ptr [EBP + 0xfffffdc4]
TEST EAX,EAX
JZ 0x0002273f
MOV ECX,dword ptr [EBP + 0xfffffdc8]
CMP dword ptr [EBP + 0xfffffdd0],ECX
JGE 0x0002295d
MOV EAX,dword ptr [EBP + 0xfffffdd0]
MOV ECX,dword ptr [EBP + 0xfffffdcc]
MOV EDI,dword ptr [EBP + 0xfffffdc0]
MOV byte ptr [ECX + EAX*0x1],0x25
ADD EAX,0x1
LEA ECX,[EDX + EDI*0x1]
MOV dword ptr [EBP + 0xfffffdd0],EAX
MOVZX EAX,byte ptr [ECX]
TEST AL,AL
JNZ 0x00021c2e
MOV ECX,dword ptr [EBP + 0xfffffdc8]
CMP dword ptr [EBP + 0xfffffdd0],ECX
JGE 0x00021eed
MOV EBX,dword ptr [EBP + 0xfffffdd0]
MOV EAX,dword ptr [EBP + 0xfffffdcc]
MOV byte ptr [EAX + EBX*0x1],0x0
MOV EBX,dword ptr [EBP + -0x1c]
XOR EBX,dword ptr GS:[0x14]
JNZ 0x00022a45
LEA ESP,[EBP + -0xc]
POP EBX
POP ESI
POP EDI
POP EBP
RET
MOV byte ptr [EBP + 0xfffffdc0],AL
CMP byte ptr [EBP + 0xfffffdc0],0x0
MOV EAX,dword ptr [EBP + 0xfffffdd4]
MOV dword ptr [EBP + 0xfffffdc4],ESI
JNZ 0x00021c76
MOV ESI,EAX
CMP EDI,ESI
JZ 0x00021e3b
MOV EAX,dword ptr [EBP + 0xfffffdd0]
ADD EAX,ESI
SUB EAX,EDI
CMP EAX,dword ptr [EBP + 0xfffffdc8]
JG 0x00022554
MOV ECX,ESI
SUB ESP,0x4
MOV EAX,dword ptr [EBP + 0xfffffdcc]
ADD EAX,dword ptr [EBP + 0xfffffdd0]
SUB ECX,EDI
ADD EDI,EDX
PUSH ECX
MOV ESI,ECX
PUSH EDI
PUSH EAX
CALL 0x00014130
ADD dword ptr [EBP + 0xfffffdd0],ESI
ADD ESP,0x10
MOV ECX,dword ptr [EBP + 0xfffffdc8]
CMP dword ptr [EBP + 0xfffffdd0],ECX
JL 0x00021e4d
MOV EAX,dword ptr [EBP + 0xfffffdd0]
SUB ESP,0x4
PUSH 0x1
ADD EAX,0x201
PUSH EAX
PUSH dword ptr [EBP + 0xfffffdcc]
CALL 0x0001dc50
ADD ESP,0x10
MOV dword ptr [EBP + 0xfffffdcc],EAX
JMP 0x00021e4d
MOV EAX,EDI
ADD EAX,0x1
MOV dword ptr [EBP + 0xfffffdc0],EAX
MOVZX EAX,byte ptr [EDX + EDI*0x1 + 0x1]
TEST AL,AL
JZ 0x0002253f
MOV dword ptr [EBP + 0xfffffdc4],ECX
LEA ESI,[ESI]
MOV ECX,dword ptr [EBP + 0xfffffdd0]
ADD ECX,0x1
CMP AL,0x6e
JZ 0x0002247e
JG 0x00021fa0
CMP AL,0x58
JZ 0x000223b0
CMP AL,0x5c
JZ 0x00022330
CMP AL,0x25
JZ 0x00022370
CMP dword ptr [EBP + 0xfffffdc8],ECX
JLE 0x0002264f
MOV EAX,dword ptr [EBP + 0xfffffdc4]
MOV ECX,dword ptr [EBP + 0xfffffdd0]
MOV ESI,dword ptr [EBP + 0xfffffdcc]
MOV EDI,dword ptr [EBP + 0xfffffdd4]
MOVZX EAX,word ptr [EAX]
ADD EDI,0x2
MOV word ptr [ESI + ECX*0x1],AX
ADD ECX,0x2
MOV dword ptr [EBP + 0xfffffdd0],ECX
JMP 0x00021c20
CMP AL,0x74
JZ 0x00022448
CMP AL,0x78
JZ 0x000223b0
CMP AL,0x72
JNZ 0x00021f63
MOV ESI,dword ptr [EBP + 0xfffffdd0]
CMP dword ptr [EBP + 0xfffffdc8],ESI
JLE 0x0002260b
MOV ESI,dword ptr [EBP + 0xfffffdd0]
MOV EAX,dword ptr [EBP + 0xfffffdcc]
MOV dword ptr [EBP + 0xfffffdd0],ECX
MOV EDI,dword ptr [EBP + 0xfffffdd4]
MOV byte ptr [EAX + ESI*0x1],0xd
ADD EDI,0x2
JMP 0x00021c20
SUB ESP,0x4
ADD EAX,0x200
MOV dword ptr [EBP + 0xfffffdb8],EDX
PUSH 0x1
PUSH EAX
PUSH dword ptr [EBP + 0xfffffdcc]
MOV dword ptr [EBP + 0xfffffdc0],ECX
MOV dword ptr [EBP + 0xfffffdc8],EAX
CALL 0x0001dc50
ADD ESP,0x10
MOV EDX,dword ptr [EBP + 0xfffffdb8]
MOV ECX,dword ptr [EBP + 0xfffffdc0]
MOV dword ptr [EBP + 0xfffffdcc],EAX
JMP 0x00021c98
MOV ECX,dword ptr [EBP + 0xfffffdc8]
CMP dword ptr [EBP + 0xfffffdd0],ECX
JGE 0x000221e4
MOV EAX,dword ptr [EBP + 0xfffffdd0]
MOV ECX,dword ptr [EBP + 0xfffffdcc]
MOV EDI,dword ptr [EBP + 0xfffffdd4]
MOV byte ptr [ECX + EAX*0x1],0x25
ADD EAX,0x1
ADD EDI,0x2
MOV dword ptr [EBP + 0xfffffdd0],EAX
JMP 0x00021c20
SUB ESP,0x4
LEA ESI,[EBP + 0xfffffde4]
PUSH 0x200
PUSH ESI
PUSH dword ptr [EBP + 0xfffffdb0]
CALL 0x00084190
MOV EDX,dword ptr [EBP + 0xfffffdc4]
MOV ECX,ESI
MOV EDI,dword ptr [ECX]
ADD ECX,0x4
LEA EAX,[EDI + 0xfefefeff]
NOT EDI
AND EAX,EDI
AND EAX,0x80808080
JZ 0x0002209a
MOV EDI,EAX
MOV dword ptr [EBP + 0xfffffdc4],ECX
MOV ECX,dword ptr [EBP + 0xfffffdc4]
SHR EDI,0x10
TEST EAX,0x8080
CMOVZ EAX,EDI
LEA EDI,[ECX + 0x2]
CMOVNZ EDI,ECX
MOV ECX,EAX
ADD CL,AL
MOV EAX,dword ptr [EBP + 0xfffffdd0]
SBB EDI,0x3
ADD ESP,0x10
SUB EDI,ESI
ADD EAX,EDI
MOV dword ptr [EBP + 0xfffffdc4],EDI
MOV dword ptr [EBP + 0xfffffdc0],EAX
CMP EAX,dword ptr [EBP + 0xfffffdc8]
JG 0x000224b4
MOV EDI,dword ptr [EBP + 0xfffffdc4]
MOV EAX,dword ptr [EBP + 0xfffffdd0]
ADD EAX,dword ptr [EBP + 0xfffffdcc]
CMP EDI,0x4
JNC 0x00022140
TEST EDI,EDI
JZ 0x00022124
MOVZX ECX,byte ptr [ESI]
AND EDI,0x2
MOV byte ptr [EAX],CL
JNZ 0x0002272a
MOV EDI,dword ptr [EBP + 0xfffffdd4]
MOV EAX,dword ptr [EBP + 0xfffffdc0]
ADD EDI,0x5
MOV dword ptr [EBP + 0xfffffdd0],EAX
JMP 0x00021c20
MOV EDI,dword ptr [ESI]
MOV dword ptr [EAX],EDI
MOV ECX,dword ptr [EBP + 0xfffffdc4]
MOV EDI,dword ptr [ESI + ECX*0x1 + -0x4]
MOV dword ptr [EAX + ECX*0x1 + -0x4],EDI
LEA EDI,[EAX + 0x4]
AND EDI,0xfffffffc
SUB EAX,EDI
ADD ECX,EAX
SUB ESI,EAX
SHR ECX,0x2
MOVSD.REP ES:EDI,ESI
JMP 0x00022124
SUB ESP,0xc
LEA EAX,[EBX + 0xfffc2cf8]
PUSH dword ptr [EBP + 0xc]
LEA ESI,[EBP + 0xfffffde4]
PUSH EAX
PUSH 0x8
PUSH 0x1
PUSH ESI
MOV dword ptr [EBP + 0xfffffdb8],EDX
CALL 0x000148b0
ADD ESP,0x20
MOV EDX,dword ptr [EBP + 0xfffffdb8]
MOVSX ECX,AL
MOV EAX,dword ptr [EBP + 0xfffffdd0]
MOV dword ptr [EBP + 0xfffffdc4],ECX
ADD EAX,ECX
CMP EAX,dword ptr [EBP + 0xfffffdc8]
MOV dword ptr [EBP + 0xfffffdc0],EAX
JLE 0x000220fb
SUB ESP,0x4
ADD EAX,0x200
PUSH 0x1
PUSH EAX
PUSH dword ptr [EBP + 0xfffffdcc]
MOV dword ptr [EBP + 0xfffffdc8],EAX
CALL 0x0001dc50
ADD ESP,0x10
MOV EDX,dword ptr [EBP + 0xfffffdb8]
MOV dword ptr [EBP + 0xfffffdcc],EAX
JMP 0x000220fb
MOV EAX,dword ptr [EBP + 0xfffffdd0]
SUB ESP,0x4
MOV dword ptr [EBP + 0xfffffdc4],EDX
PUSH 0x1
ADD EAX,0x201
PUSH EAX
PUSH dword ptr [EBP + 0xfffffdcc]
MOV dword ptr [EBP + 0xfffffdc8],EAX
CALL 0x0001dc50
ADD ESP,0x10
MOV EDX,dword ptr [EBP + 0xfffffdc4]
MOV dword ptr [EBP + 0xfffffdcc],EAX
JMP 0x0002204a
SUB ESP,0x8
PUSH 0x10
PUSH dword ptr [EBP + 0xfffffdac]
CALL 0x00018b60
MOV dword ptr [ESP],EAX
MOV EDI,EAX
CALL 0x00014460
ADD ESP,0x10
MOV EDX,dword ptr [EBP + 0xfffffdc4]
MOV ECX,EAX
MOV EAX,dword ptr [EBP + 0xfffffdd0]
LEA ESI,[ECX + EAX*0x1]
CMP ESI,dword ptr [EBP + 0xfffffdc8]
JG 0x000225c8
SUB ESP,0x4
MOV EAX,dword ptr [EBP + 0xfffffdd0]
ADD EAX,dword ptr [EBP + 0xfffffdcc]
MOV dword ptr [EBP + 0xfffffdc4],EDX
PUSH ECX
PUSH EDI
PUSH EAX
CALL 0x00014130
MOV EDI,dword ptr [EBP + 0xfffffdd4]
ADD ESP,0x10
MOV dword ptr [EBP + 0xfffffdd0],ESI
MOV EDX,dword ptr [EBP + 0xfffffdc4]
ADD EDI,0x5
JMP 0x00021c20
MOV dword ptr [EBP + 0xfffffdc4],ECX
MOV dword ptr [EBP + 0xfffffdd4],EDI
JMP 0x00021cd4
SUB ESP,0x8
MOV dword ptr [EBP + 0xfffffdc0],EDX
PUSH 0xe
PUSH dword ptr [EBP + 0xfffffdac]
CALL 0x00018b60
MOV dword ptr [ESP],EAX
MOV dword ptr [EBP + 0xfffffdc4],EAX
CALL 0x00014460
ADD ESP,0x10
MOV ECX,dword ptr [EBP + 0xfffffdc4]
MOV EDX,dword ptr [EBP + 0xfffffdc0]
MOV EDI,EAX
MOV EAX,dword ptr [EBP + 0xfffffdd0]
LEA ESI,[EDI + EAX*0x1]
CMP ESI,dword ptr [EBP + 0xfffffdc8]
JG 0x000226f3
SUB ESP,0x4
MOV EAX,dword ptr [EBP + 0xfffffdd0]
ADD EAX,dword ptr [EBP + 0xfffffdcc]
MOV dword ptr [EBP + 0xfffffdc4],EDX
PUSH EDI
PUSH ECX
PUSH EAX
CALL 0x00014130
MOV EDI,dword ptr [EBP + 0xfffffdd4]
ADD ESP,0x10
MOV dword ptr [EBP + 0xfffffdd0],ESI
MOV EDX,dword ptr [EBP + 0xfffffdc4]
ADD EDI,0xa
JMP 0x00021c20
MOV ESI,dword ptr [EBP + 0xfffffdd0]
CMP dword ptr [EBP + 0xfffffdc8],ESI
JLE 0x0002280a
MOV ESI,dword ptr [EBP + 0xfffffdd0]
MOV EAX,dword ptr [EBP + 0xfffffdcc]
MOV dword ptr [EBP + 0xfffffdd0],ECX
MOV EDI,dword ptr [EBP + 0xfffffdd4]
MOV byte ptr [EAX + ESI*0x1],0x5c
ADD EDI,0x2
JMP 0x00021c20
MOV ESI,dword ptr [EBP + 0xfffffdd0]
CMP dword ptr [EBP + 0xfffffdc8],ESI
JLE 0x0002284e
MOV ESI,dword ptr [EBP + 0xfffffdd0]
MOV EAX,dword ptr [EBP + 0xfffffdcc]
MOV dword ptr [EBP + 0xfffffdd0],ECX
MOV EDI,dword ptr [EBP + 0xfffffdd4]
MOV byte ptr [EAX + ESI*0x1],0x25
ADD EDI,0x2
JMP 0x00021c20
MOV EAX,dword ptr [EBP + 0xfffffdc0]
MOVZX ESI,byte ptr [EDX + EAX*0x1 + 0x1]
LEA EAX,[ESI + -0x30]
CMP AL,0x9
JBE 0x000223db
LEA EAX,[ESI + -0x61]
CMP AL,0x5
JBE 0x0002268b
LEA EAX,[ESI + -0x41]
CMP AL,0x5
JA 0x00022a16
LEA EAX,[ESI + -0x37]
SHL EAX,0x4
MOV EDI,EAX
MOV EAX,dword ptr [EBP + 0xfffffdc0]
MOVZX EAX,byte ptr [EDX + EAX*0x1 + 0x2]
LEA ESI,[EAX + -0x30]
MOV byte ptr [EBP + 0xfffffdd4],AL
MOV EAX,ESI
CMP AL,0x9
JA 0x0002258a
LEA EAX,[EDI + ESI*0x1]
MOV byte ptr [EBP + 0xfffffdd4],AL
MOV ESI,dword ptr [EBP + 0xfffffdd0]
CMP dword ptr [EBP + 0xfffffdc8],ESI
JLE 0x000226af
MOV EDI,dword ptr [EBP + 0xfffffdd0]
MOV ESI,dword ptr [EBP + 0xfffffdcc]
MOV dword ptr [EBP + 0xfffffdd0],ECX
MOVZX EAX,byte ptr [EBP + 0xfffffdd4]
MOV byte ptr [ESI + EDI*0x1],AL
MOV EDI,dword ptr [EBP + 0xfffffdc0]
ADD EDI,0x3
JMP 0x00021c20
MOV ESI,dword ptr [EBP + 0xfffffdd0]
CMP dword ptr [EBP + 0xfffffdc8],ESI
JLE 0x000228d6
MOV ESI,dword ptr [EBP + 0xfffffdd0]
MOV EAX,dword ptr [EBP + 0xfffffdcc]
MOV dword ptr [EBP + 0xfffffdd0],ECX
MOV EDI,dword ptr [EBP + 0xfffffdd4]
MOV byte ptr [EAX + ESI*0x1],0x9
ADD EDI,0x2
JMP 0x00021c20
MOV ESI,dword ptr [EBP + 0xfffffdd0]
CMP dword ptr [EBP + 0xfffffdc8],ESI
JLE 0x00022892
MOV ESI,dword ptr [EBP + 0xfffffdd0]
MOV EAX,dword ptr [EBP + 0xfffffdcc]
MOV dword ptr [EBP + 0xfffffdd0],ECX
MOV EDI,dword ptr [EBP + 0xfffffdd4]
MOV byte ptr [EAX + ESI*0x1],0xa
ADD EDI,0x2
JMP 0x00021c20
MOV dword ptr [EBP + 0xfffffdb8],EDX
JMP 0x000221b4
SUB ESP,0x8
PUSH 0x11
PUSH dword ptr [EBP + 0xfffffdac]
CALL 0x00018b60
MOV dword ptr [ESP],EAX
MOV ESI,EAX
CALL 0x00014460
ADD ESP,0x10
MOV EDX,dword ptr [EBP + 0xfffffdc4]
MOV EDI,EAX
MOV EAX,dword ptr [EBP + 0xfffffdd0]
LEA ECX,[EDI + EAX*0x1]
CMP ECX,dword ptr [EBP + 0xfffffdc8]
JG 0x0002291a
SUB ESP,0x4
MOV EAX,dword ptr [EBP + 0xfffffdd0]
ADD EAX,dword ptr [EBP + 0xfffffdcc]
MOV dword ptr [EBP + 0xfffffdc0],EDX
PUSH EDI
PUSH ESI
PUSH EAX
MOV dword ptr [EBP + 0xfffffdc4],ECX
CALL 0x00014130
MOV EDI,dword ptr [EBP + 0xfffffdd4]
ADD ESP,0x10
MOV ECX,dword ptr [EBP + 0xfffffdc4]
MOV EDX,dword ptr [EBP + 0xfffffdc0]
ADD EDI,0x5
MOV dword ptr [EBP + 0xfffffdd0],ECX
JMP 0x00021c20
MOV EAX,dword ptr [EBP + 0xfffffdd4]
MOV EDI,EAX
MOV EAX,dword ptr [EBP + 0xfffffdc0]
MOV ESI,EAX
JMP 0x00021e99
SUB ESP,0x4
ADD EAX,0x200
MOV dword ptr [EBP + 0xfffffdd4],EDX
PUSH 0x1
PUSH EAX
PUSH dword ptr [EBP + 0xfffffdcc]
MOV dword ptr [EBP + 0xfffffdc8],EAX
CALL 0x0001dc50
ADD ESP,0x10
MOV EDX,dword ptr [EBP + 0xfffffdd4]
MOV dword ptr [EBP + 0xfffffdcc],EAX
JMP 0x00021eb3
MOVZX EAX,byte ptr [EBP + 0xfffffdd4]
LEA ESI,[EAX + -0x61]
MOV EAX,ESI
CMP AL,0x5
MOVZX EAX,byte ptr [EBP + 0xfffffdd4]
JBE 0x00022693
LEA ESI,[EAX + -0x41]
MOV EAX,ESI
CMP AL,0x5
JA 0x00022a16
MOVZX EAX,byte ptr [EBP + 0xfffffdd4]
LEA EAX,[EAX + EDI*0x1 + -0x37]
MOV byte ptr [EBP + 0xfffffdd4],AL
JMP 0x00022407
SUB ESP,0x4
LEA EAX,[ESI + 0x200]
MOV dword ptr [EBP + 0xfffffdc0],EDX
PUSH 0x1
PUSH EAX
PUSH dword ptr [EBP + 0xfffffdcc]
MOV dword ptr [EBP + 0xfffffdc4],ECX
MOV dword ptr [EBP + 0xfffffdc8],EAX
CALL 0x0001dc50
ADD ESP,0x10
MOV EDX,dword ptr [EBP + 0xfffffdc0]
MOV ECX,dword ptr [EBP + 0xfffffdc4]
MOV dword ptr [EBP + 0xfffffdcc],EAX
JMP 0x0002225a
MOV EAX,ESI
SUB ESP,0x4
MOV dword ptr [EBP + 0xfffffdc0],EDX
ADD EAX,0x201
PUSH 0x1
PUSH EAX
PUSH dword ptr [EBP + 0xfffffdcc]
MOV dword ptr [EBP + 0xfffffdc4],ECX
MOV dword ptr [EBP + 0xfffffdc8],EAX
CALL 0x0001dc50
ADD ESP,0x10
MOV EDX,dword ptr [EBP + 0xfffffdc0]
MOV ECX,dword ptr [EBP + 0xfffffdc4]
MOV dword ptr [EBP + 0xfffffdcc],EAX
JMP 0x00021fc6
MOV EAX,dword ptr [EBP + 0xfffffdd0]
SUB ESP,0x4
MOV dword ptr [EBP + 0xfffffdc0],EDX
PUSH 0x1
ADD EAX,0x202
PUSH EAX
PUSH dword ptr [EBP + 0xfffffdcc]
MOV dword ptr [EBP + 0xfffffdc8],EAX
CALL 0x0001dc50
ADD ESP,0x10
MOV EDX,dword ptr [EBP + 0xfffffdc0]
MOV dword ptr [EBP + 0xfffffdcc],EAX
JMP 0x00021f6f
LEA EAX,[ESI + -0x57]
JMP 0x000223db
LEA EAX,[EAX + EDI*0x1 + -0x57]
MOV ESI,dword ptr [EBP + 0xfffffdd0]
MOV byte ptr [EBP + 0xfffffdd4],AL
CMP dword ptr [EBP + 0xfffffdc8],ESI
JG 0x00022419
MOV EAX,ESI
SUB ESP,0x4
MOV dword ptr [EBP + 0xfffffdb8],EDX
ADD EAX,0x201
PUSH 0x1
PUSH EAX
PUSH dword ptr [EBP + 0xfffffdcc]
MOV dword ptr [EBP + 0xfffffdc4],ECX
MOV dword ptr [EBP + 0xfffffdc8],EAX
CALL 0x0001dc50
ADD ESP,0x10
MOV EDX,dword ptr [EBP + 0xfffffdb8]
MOV ECX,dword ptr [EBP + 0xfffffdc4]
MOV dword ptr [EBP + 0xfffffdcc],EAX
JMP 0x00022419
SUB ESP,0x4
LEA EAX,[ESI + 0x200]
PUSH 0x1
PUSH EAX
PUSH dword ptr [EBP + 0xfffffdcc]
MOV dword ptr [EBP + 0xfffffdc8],EAX
CALL 0x0001dc50
ADD ESP,0x10
MOV EDX,dword ptr [EBP + 0xfffffdc0]
MOV ECX,dword ptr [EBP + 0xfffffdc4]
MOV dword ptr [EBP + 0xfffffdcc],EAX
JMP 0x000222ef
MOV ECX,dword ptr [EBP + 0xfffffdc4]
MOVZX ESI,word ptr [ESI + ECX*0x1 + -0x2]
MOV word ptr [EAX + ECX*0x1 + -0x2],SI
JMP 0x00022124
SUB ESP,0x8
LEA ESI,[EBP + 0xfffffde4]
PUSH 0xf
MOV EDI,ESI
PUSH dword ptr [EBP + 0xfffffdac]
CALL 0x000189b0
MOV dword ptr [ESP],EAX
LEA EAX,[EBX + 0xfffc672f]
PUSH EAX
PUSH 0x32
PUSH 0x1
PUSH ESI
CALL 0x000148b0
MOV EDX,dword ptr [EBP + 0xfffffdc4]
MOV ECX,dword ptr [EDI]
ADD EDI,0x4
LEA EAX,[ECX + 0xfefefeff]
NOT ECX
AND EAX,ECX
AND EAX,0x80808080
JZ 0x00022771
MOV ECX,EAX
SHR ECX,0x10
TEST EAX,0x8080
CMOVZ EAX,ECX
LEA ECX,[EDI + 0x2]
CMOVZ EDI,ECX
MOV ECX,EAX
ADD CL,AL
MOV EAX,dword ptr [EBP + 0xfffffdd0]
SBB EDI,0x3
ADD ESP,0x20
SUB EDI,ESI
ADD EAX,EDI
MOV dword ptr [EBP + 0xfffffdc4],EAX
CMP EAX,dword ptr [EBP + 0xfffffdc8]
JG 0x000229e0
MOV EAX,dword ptr [EBP + 0xfffffdd0]
ADD EAX,dword ptr [EBP + 0xfffffdcc]
CMP EDI,0x4
JNC 0x00022999
TEST EDI,EDI
JZ 0x000227f0
MOVZX ECX,byte ptr [ESI]
MOV byte ptr [EAX],CL
TEST EDI,0x2
JZ 0x000227f0
MOVZX ECX,word ptr [ESI + EDI*0x1 + -0x2]
MOV word ptr [EAX + EDI*0x1 + -0x2],CX
MOV EDI,dword ptr [EBP + 0xfffffdd4]
MOV EAX,dword ptr [EBP + 0xfffffdc4]
ADD EDI,0xa
MOV dword ptr [EBP + 0xfffffdd0],EAX
JMP 0x00021c20
MOV EAX,ESI
SUB ESP,0x4
MOV dword ptr [EBP + 0xfffffdc0],EDX
ADD EAX,0x201
PUSH 0x1
PUSH EAX
PUSH dword ptr [EBP + 0xfffffdcc]
MOV dword ptr [EBP + 0xfffffdc4],ECX
MOV dword ptr [EBP + 0xfffffdc8],EAX
CALL 0x0001dc50
ADD ESP,0x10
MOV EDX,dword ptr [EBP + 0xfffffdc0]
MOV ECX,dword ptr [EBP + 0xfffffdc4]
MOV dword ptr [EBP + 0xfffffdcc],EAX
JMP 0x00022342
MOV EAX,ESI
SUB ESP,0x4
MOV dword ptr [EBP + 0xfffffdc0],EDX
ADD EAX,0x201
PUSH 0x1
PUSH EAX
PUSH dword ptr [EBP + 0xfffffdcc]
MOV dword ptr [EBP + 0xfffffdc4],ECX
MOV dword ptr [EBP + 0xfffffdc8],EAX
CALL 0x0001dc50
ADD ESP,0x10
MOV EDX,dword ptr [EBP + 0xfffffdc0]
MOV ECX,dword ptr [EBP + 0xfffffdc4]
MOV dword ptr [EBP + 0xfffffdcc],EAX
JMP 0x00022382
MOV EAX,ESI
SUB ESP,0x4
MOV dword ptr [EBP + 0xfffffdc0],EDX
ADD EAX,0x201
PUSH 0x1
PUSH EAX
PUSH dword ptr [EBP + 0xfffffdcc]
MOV dword ptr [EBP + 0xfffffdc4],ECX
MOV dword ptr [EBP + 0xfffffdc8],EAX
CALL 0x0001dc50
ADD ESP,0x10
MOV EDX,dword ptr [EBP + 0xfffffdc0]
MOV ECX,dword ptr [EBP + 0xfffffdc4]
MOV dword ptr [EBP + 0xfffffdcc],EAX
JMP 0x00022490
MOV EAX,ESI
SUB ESP,0x4
MOV dword ptr [EBP + 0xfffffdc0],EDX
ADD EAX,0x201
PUSH 0x1
PUSH EAX
PUSH dword ptr [EBP + 0xfffffdcc]
MOV dword ptr [EBP + 0xfffffdc4],ECX
MOV dword ptr [EBP + 0xfffffdc8],EAX
CALL 0x0001dc50
ADD ESP,0x10
MOV EDX,dword ptr [EBP + 0xfffffdc0]
MOV ECX,dword ptr [EBP + 0xfffffdc4]
MOV dword ptr [EBP + 0xfffffdcc],EAX
JMP 0x0002245a
SUB ESP,0x4
LEA EAX,[ECX + 0x200]
MOV dword ptr [EBP + 0xfffffdc0],EDX
PUSH 0x1
PUSH EAX
PUSH dword ptr [EBP + 0xfffffdcc]
MOV dword ptr [EBP + 0xfffffdc4],ECX
MOV dword ptr [EBP + 0xfffffdc8],EAX
CALL 0x0001dc50
ADD ESP,0x10
MOV EDX,dword ptr [EBP + 0xfffffdc0]
MOV ECX,dword ptr [EBP + 0xfffffdc4]
MOV dword ptr [EBP + 0xfffffdcc],EAX
JMP 0x000224f9
MOV EAX,dword ptr [EBP + 0xfffffdd0]
SUB ESP,0x4
MOV dword ptr [EBP + 0xfffffdd4],EDX
PUSH 0x1
ADD EAX,0x201
PUSH EAX
PUSH dword ptr [EBP + 0xfffffdcc]
MOV dword ptr [EBP + 0xfffffdc8],EAX
CALL 0x0001dc50
ADD ESP,0x10
MOV EDX,dword ptr [EBP + 0xfffffdd4]
MOV dword ptr [EBP + 0xfffffdcc],EAX
JMP 0x00021e0e
MOV ECX,dword ptr [ESI]
MOV dword ptr [EAX],ECX
MOV ECX,dword ptr [ESI + EDI*0x1 + -0x4]
MOV dword ptr [EAX + EDI*0x1 + -0x4],ECX
LEA ECX,[EAX + 0x4]
AND ECX,0xfffffffc
SUB EAX,ECX
SUB ESI,EAX
ADD EAX,EDI
AND EAX,0xfffffffc
CMP EAX,0x4
JC 0x000227f0
MOV dword ptr [EBP + 0xfffffdd0],EDX
AND EAX,0xfffffffc
XOR EDI,EDI
MOV EDX,dword ptr [ESI + EDI*0x1]
MOV dword ptr [ECX + EDI*0x1],EDX
ADD EDI,0x4
CMP EDI,EAX
JC 0x000229c8
MOV EDX,dword ptr [EBP + 0xfffffdd0]
JMP 0x000227f0
SUB ESP,0x4
ADD EAX,0x200
MOV dword ptr [EBP + 0xfffffdc0],EDX
PUSH 0x1
PUSH EAX
PUSH dword ptr [EBP + 0xfffffdcc]
MOV dword ptr [EBP + 0xfffffdc8],EAX
CALL 0x0001dc50
ADD ESP,0x10
MOV EDX,dword ptr [EBP + 0xfffffdc0]
MOV dword ptr [EBP + 0xfffffdcc],EAX
JMP 0x000227c0
MOV ESI,dword ptr [EBP + 0xfffffdd0]
CMP dword ptr [EBP + 0xfffffdc8],ESI
JLE 0x00022a4a
MOV ESI,dword ptr [EBP + 0xfffffdd0]
MOV EAX,dword ptr [EBP + 0xfffffdcc]
MOV dword ptr [EBP + 0xfffffdd0],ECX
MOV EDI,dword ptr [EBP + 0xfffffdc0]
MOV byte ptr [EAX + ESI*0x1],0x5c
JMP 0x00021c20
CALL 0x0008d800
MOV EAX,ESI
SUB ESP,0x4
MOV dword ptr [EBP + 0xfffffdc4],EDX
ADD EAX,0x201
PUSH 0x1
PUSH EAX
PUSH dword ptr [EBP + 0xfffffdcc]
MOV dword ptr [EBP + 0xfffffdd4],ECX
MOV dword ptr [EBP + 0xfffffdc8],EAX
CALL 0x0001dc50
ADD ESP,0x10
MOV EDX,dword ptr [EBP + 0xfffffdc4]
MOV ECX,dword ptr [EBP + 0xfffffdd4]
MOV dword ptr [EBP + 0xfffffdcc],EAX
JMP 0x00022a24
(translation_unit "/* WARNING: Function: __i686.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n\nvoid FUN_00021ba0(undefined4 param_1,undefined4 param_2,undefined4 param_3)\n\n{\n  byte bVar1;\n  char cVar2;\n  byte bVar3;\n  int iVar4;\n  int iVar5;\n  int iVar6;\n  char *pcVar7;\n  size_t sVar8;\n  undefined4 uVar9;\n  uint uVar10;\n  uint uVar11;\n  uint *puVar12;\n  uint *puVar13;\n  undefined4 *puVar14;\n  undefined4 *puVar15;\n  int in_GS_OFFSET;\n  bool bVar16;\n  byte bVar17;\n  int local_244;\n  char *local_240;\n  int local_23c;\n  int local_238;\n  int local_234;\n  int local_230;\n  undefined1 auStack_227 [5];\n  undefined2 uStack_222;\n  uint local_220 [128];\n  int local_20;\n  undefined4 uStack_14;\n  \n  bVar17 = 0;\n  local_244 = 0;\n  uStack_14 = 0x21bad;\n  local_20 = *(int *)(in_GS_OFFSET + 0x14);\n  iVar4 = FUN_00018b60(param_3,0x12);\n  local_23c = 0;\n  local_234 = 0;\n  local_238 = 0;\nLAB_00021c20:\n  do {\n    pcVar7 = (char *)(iVar4 + local_244);\n    cVar2 = *pcVar7;\n    iVar6 = local_244;\njoined_r0x00021c28:\n    if (cVar2 == '\0') {\nLAB_00021e3b:\n      if (local_234 < local_23c) goto LAB_00021e4d;\nLAB_00021eed:\n      local_238 = FUN_0001dc50(local_238,local_234 + 0x201,1);\nLAB_00021e4d:\n      *(undefined1 *)(local_238 + local_234) = 0;\n      if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    /* WARNING: Subroutine does not return */\n        FUN_0008d800();\n      }\n      return;\n    }\n    local_240 = pcVar7;\n    local_230 = iVar6;\n    if (cVar2 != '%') {\n      if (cVar2 != '\\') {\n        do {\n          local_244 = local_230 + 1;\n          cVar2 = *(char *)(iVar4 + local_244);\n          if ((cVar2 == '\0') || (cVar2 == '%')) {\n            if (cVar2 == '\0') goto LAB_00021e99;\n            break;\n          }\n          local_230 = local_244;\n        } while (cVar2 != '\\');\n        local_240 = (char *)(iVar4 + local_244);\n        local_230 = local_244;\n        if (iVar6 != local_244) {\n          iVar5 = (local_234 + local_244) - iVar6;\n          if (local_23c < iVar5) {\n            local_23c = iVar5 + 0x200;\n            local_238 = FUN_0001dc50(local_238,local_23c,1);\n          }\n          memcpy((void *)(local_238 + local_234),pcVar7,local_244 - iVar6);\n          local_234 = local_234 + (local_244 - iVar6);\n          local_230 = local_244;\n        }\n        goto LAB_00021cd4;\n      }\n      local_244 = iVar6 + 1;\n      cVar2 = *(char *)(iVar4 + 1 + iVar6);\n      if (cVar2 != '\0') goto LAB_00021f38;\nLAB_00021e99:\n      if (iVar6 == local_244) goto LAB_00021e3b;\n      iVar5 = (local_234 + local_244) - iVar6;\n      if (local_23c < iVar5) {\n        local_23c = iVar5 + 0x200;\n        local_238 = FUN_0001dc50(local_238,local_23c,1);\n      }\n      memcpy((void *)(local_238 + local_234),(void *)(iVar6 + iVar4),local_244 - iVar6);\n      local_234 = local_234 + (local_244 - iVar6);\n      if (local_234 < local_23c) goto LAB_00021e4d;\n      goto LAB_00021eed;\n    }\nLAB_00021cd4:\n    local_244 = local_230 + 1;\n    pcVar7 = (char *)(iVar4 + local_244);\n    cVar2 = *pcVar7;\n    iVar6 = local_230;\n    if (cVar2 == '\0') goto LAB_00021e99;\n    if (*local_240 == '\\') {\nLAB_00021f38:\n      iVar6 = local_234 + 1;\n      if (cVar2 == 'n') {\n        if (local_23c <= local_234) {\n          local_23c = local_234 + 0x201;\n          local_238 = FUN_0001dc50(local_238,local_23c,1);\n        }\n        *(undefined1 *)(local_238 + local_234) = 10;\n        local_244 = local_230 + 2;\n        local_234 = iVar6;\n        goto LAB_00021c20;\n      }\n      if (cVar2 < 'o') {\n        if (cVar2 == 'X') {\nLAB_000223b0:\n          cVar2 = *(char *)(iVar4 + 1 + local_244);\n          bVar3 = cVar2 - 0x30;\n          if (bVar3 < 10) {\nLAB_000223db:\n            cVar2 = *(char *)(iVar4 + 2 + local_244);\n            bVar1 = cVar2 - 0x30;\n            if (9 < bVar1) {\n              if ((byte)(cVar2 + 0x9fU) < 6) {\n                bVar1 = cVar2 + 0xa9;\n              }\n              else {\n                if (5 < (byte)(cVar2 + 0xbfU)) goto LAB_00022a16;\n                bVar1 = cVar2 - 0x37;\n              }\n            }\n            if (local_23c <= local_234) {\n              local_23c = local_234 + 0x201;\n              local_238 = FUN_0001dc50(local_238,local_23c,1);\n            }\n            *(byte *)(local_238 + local_234) = bVar1 + bVar3 * '\x10';\n            local_244 = local_244 + 3;\n            local_234 = iVar6;\n          }\n          else {\n            if ((byte)(cVar2 + 0x9fU) < 6) {\n              bVar3 = cVar2 + 0xa9;\n              goto LAB_000223db;\n            }\n            if ((byte)(cVar2 + 0xbfU) < 6) {\n              bVar3 = cVar2 - 0x37;\n              goto LAB_000223db;\n            }\nLAB_00022a16:\n            if (local_23c <= local_234) {\n              local_23c = local_234 + 0x201;\n              local_238 = FUN_0001dc50(local_238,local_23c,1);\n            }\n            *(undefined1 *)(local_238 + local_234) = 0x5c;\n            local_234 = iVar6;\n          }\n          goto LAB_00021c20;\n        }\n        if (cVar2 == '\\') {\n          if (local_23c <= local_234) {\n            local_23c = local_234 + 0x201;\n            local_238 = FUN_0001dc50(local_238,local_23c,1);\n          }\n          *(undefined1 *)(local_238 + local_234) = 0x5c;\n          local_244 = local_230 + 2;\n          local_234 = iVar6;\n          goto LAB_00021c20;\n        }\n        if (cVar2 == '%') {\n          if (local_23c <= local_234) {\n            local_23c = local_234 + 0x201;\n            local_238 = FUN_0001dc50(local_238,local_23c,1);\n          }\n          *(undefined1 *)(local_238 + local_234) = 0x25;\n          local_244 = local_230 + 2;\n          local_234 = iVar6;\n          goto LAB_00021c20;\n        }\n      }\n      else {\n        if (cVar2 == 't') {\n          if (local_23c <= local_234) {\n            local_23c = local_234 + 0x201;\n            local_238 = FUN_0001dc50(local_238,local_23c,1);\n          }\n          *(undefined1 *)(local_238 + local_234) = 9;\n          local_244 = local_230 + 2;\n          local_234 = iVar6;\n          goto LAB_00021c20;\n        }\n        if (cVar2 == 'x') goto LAB_000223b0;\n        if (cVar2 == 'r') {\n          if (local_23c <= local_234) {\n            local_23c = local_234 + 0x201;\n            local_238 = FUN_0001dc50(local_238,local_23c,1);\n          }\n          *(undefined1 *)(local_238 + local_234) = 0xd;\n          local_244 = local_230 + 2;\n          local_234 = iVar6;\n          goto LAB_00021c20;\n        }\n      }\n      if (local_23c <= iVar6) {\n        local_23c = local_234 + 0x202;\n        local_238 = FUN_0001dc50(local_238,local_23c,1);\n      }\n      local_244 = local_230 + 2;\n      *(undefined2 *)(local_238 + local_234) = *(undefined2 *)local_240;\n      local_234 = local_234 + 2;\n      goto LAB_00021c20;\n    }\n    if (cVar2 == '%') {\n      if (local_23c <= local_234) {\n        local_23c = local_234 + 0x201;\n        local_238 = FUN_0001dc50(local_238,local_23c,1);\n      }\n      *(undefined1 *)(local_238 + local_234) = 0x25;\n      local_244 = local_230 + 2;\n      local_234 = local_234 + 1;\n      goto LAB_00021c20;\n    }\n    iVar6 = strncasecmp(pcVar7,"host",4);\n    if (iVar6 != 0) {\n      iVar6 = strncasecmp(pcVar7,"port",4);\n      if (iVar6 == 0) {\n        cVar2 = __sprintf_chk(local_220,1,8,&DAT_0008fa68,param_2);\n        uVar11 = (uint)cVar2;\n        goto joined_r0x000221ae;\n      }\n      iVar6 = strncasecmp(pcVar7,"user",4);\n      if (iVar6 == 0) {\n        pcVar7 = (char *)FUN_00018b60(param_3,0x10);\n        sVar8 = strlen(pcVar7);\n        iVar6 = sVar8 + local_234;\n        if (local_23c < iVar6) {\n          local_23c = iVar6 + 0x200;\n          local_238 = FUN_0001dc50(local_238,local_23c,1);\n        }\n        memcpy((void *)(local_234 + local_238),pcVar7,sVar8);\n        local_244 = local_230 + 5;\n        local_234 = iVar6;\n        goto LAB_00021c20;\n      }\n      iVar6 = strncasecmp(pcVar7,"pass",4);\n      if (iVar6 == 0) {\n        pcVar7 = (char *)FUN_00018b60(param_3,0x11);\n        sVar8 = strlen(pcVar7);\n        iVar6 = sVar8 + local_234;\n        if (local_23c < iVar6) {\n          local_23c = iVar6 + 0x200;\n          local_238 = FUN_0001dc50(local_238,local_23c,1);\n        }\n        memcpy((void *)(local_234 + local_238),pcVar7,sVar8);\n        local_244 = local_230 + 5;\n        local_234 = iVar6;\n        goto LAB_00021c20;\n      }\n      iVar6 = strncasecmp(pcVar7,"proxyhost",9);\n      if (iVar6 == 0) {\n        pcVar7 = (char *)FUN_00018b60(param_3,0xe);\n        sVar8 = strlen(pcVar7);\n        iVar6 = sVar8 + local_234;\n        if (local_23c < iVar6) {\n          local_23c = iVar6 + 0x200;\n          local_238 = FUN_0001dc50(local_238,local_23c,1);\n        }\n        memcpy((void *)(local_234 + local_238),pcVar7,sVar8);\n        local_244 = local_230 + 10;\n        local_234 = iVar6;\n        goto LAB_00021c20;\n      }\n      iVar6 = strncasecmp(pcVar7,"proxyport",9);\n      if (iVar6 == 0) break;\n      if (local_23c <= local_234) {\n        local_23c = local_234 + 0x201;\n        local_238 = FUN_0001dc50(local_238,local_23c,1);\n      }\n      *(undefined1 *)(local_238 + local_234) = 0x25;\n      local_234 = local_234 + 1;\n      pcVar7 = (char *)(iVar4 + local_244);\n      cVar2 = *pcVar7;\n      iVar6 = local_244;\n      goto joined_r0x00021c28;\n    }\n    FUN_00084190(param_1,local_220,0x200);\n    puVar12 = local_220;\n    do {\n      puVar13 = puVar12;\n      uVar10 = *puVar13 + 0xfefefeff & ~*puVar13;\n      uVar11 = uVar10 & 0x80808080;\n      puVar12 = puVar13 + 1;\n    } while (uVar11 == 0);\n    bVar16 = (uVar10 & 0x8080) == 0;\n    if (bVar16) {\n      uVar11 = uVar11 >> 0x10;\n    }\n    puVar12 = (uint *)((int)puVar13 + 6);\n    if (!bVar16) {\n      puVar12 = puVar13 + 1;\n    }\n    uVar11 = (int)puVar12 + ((-3 - (uint)CARRY1((byte)uVar11,(byte)uVar11)) - (int)local_220);\njoined_r0x000221ae:\n    iVar6 = local_234 + uVar11;\n    if (local_23c < iVar6) {\n      local_23c = iVar6 + 0x200;\n      local_238 = FUN_0001dc50(local_238,local_23c,1);\n    }\n    puVar12 = (uint *)(local_234 + local_238);\n    if (uVar11 < 4) {\n      if (uVar11 != 0) {\n        *(undefined1 *)puVar12 = (undefined1)local_220[0];\n        if ((uVar11 & 2) != 0) {\n          *(undefined2 *)((int)puVar12 + (uVar11 - 2)) = *(undefined2 *)(auStack_227 + uVar11 + 5);\n        }\n      }\n    }\n    else {\n      *puVar12 = local_220[0];\n      *(undefined4 *)((int)puVar12 + (uVar11 - 4)) = *(undefined4 *)(auStack_227 + uVar11 + 3);\n      iVar5 = (int)puVar12 - (int)((uint)(puVar12 + 1) & 0xfffffffc);\n      puVar14 = (undefined4 *)((int)local_220 - iVar5);\n      puVar15 = (undefined4 *)((uint)(puVar12 + 1) & 0xfffffffc);\n      for (uVar11 = uVar11 + iVar5 >> 2; uVar11 != 0; uVar11 = uVar11 - 1) {\n        *puVar15 = *puVar14;\n        puVar14 = puVar14 + (uint)bVar17 * -2 + 1;\n        puVar15 = puVar15 + (uint)bVar17 * -2 + 1;\n      }\n    }\n    local_244 = local_230 + 5;\n    local_234 = iVar6;\n  } while( true );\n  uVar9 = FUN_000189b0(param_3,0xf);\n  __sprintf_chk(local_220,1,0x32,"%d",uVar9);\n  puVar12 = local_220;\n  do {\n    puVar13 = puVar12;\n    uVar10 = *puVar13 + 0xfefefeff & ~*puVar13;\n    uVar11 = uVar10 & 0x80808080;\n    puVar12 = puVar13 + 1;\n  } while (uVar11 == 0);\n  bVar16 = (uVar10 & 0x8080) == 0;\n  if (bVar16) {\n    uVar11 = uVar11 >> 0x10;\n  }\n  if (bVar16) {\n    puVar12 = (uint *)((int)puVar13 + 6);\n  }\n  uVar11 = (int)puVar12 + ((-3 - (uint)CARRY1((byte)uVar11,(byte)uVar11)) - (int)local_220);\n  iVar6 = local_234 + uVar11;\n  if (local_23c < iVar6) {\n    local_23c = iVar6 + 0x200;\n    local_238 = FUN_0001dc50(local_238,local_23c,1);\n  }\n  puVar12 = (uint *)(local_234 + local_238);\n  if (uVar11 < 4) {\n    if (uVar11 != 0) {\n      *(undefined1 *)puVar12 = (undefined1)local_220[0];\n      if ((uVar11 & 2) != 0) {\n        *(undefined2 *)((int)puVar12 + (uVar11 - 2)) = *(undefined2 *)(auStack_227 + uVar11 + 5);\n      }\n    }\n  }\n  else {\n    *puVar12 = local_220[0];\n    *(undefined4 *)((int)puVar12 + (uVar11 - 4)) = *(undefined4 *)(auStack_227 + uVar11 + 3);\n    iVar5 = (int)puVar12 - ((uint)(puVar12 + 1) & 0xfffffffc);\n    uVar11 = iVar5 + uVar11 & 0xfffffffc;\n    if (3 < uVar11) {\n      uVar10 = 0;\n      do {\n        *(undefined4 *)(((uint)(puVar12 + 1) & 0xfffffffc) + uVar10) =\n             *(undefined4 *)((int)local_220 + (uVar10 - iVar5));\n        uVar10 = uVar10 + 4;\n      } while (uVar10 < uVar11);\n    }\n  }\n  local_244 = local_230 + 10;\n  local_234 = iVar6;\n  goto LAB_00021c20;\n}\n\n" comment (function_definition "void FUN_00021ba0(undefined4 param_1,undefined4 param_2,undefined4 param_3)\n\n{\n  byte bVar1;\n  char cVar2;\n  byte bVar3;\n  int iVar4;\n  int iVar5;\n  int iVar6;\n  char *pcVar7;\n  size_t sVar8;\n  undefined4 uVar9;\n  uint uVar10;\n  uint uVar11;\n  uint *puVar12;\n  uint *puVar13;\n  undefined4 *puVar14;\n  undefined4 *puVar15;\n  int in_GS_OFFSET;\n  bool bVar16;\n  byte bVar17;\n  int local_244;\n  char *local_240;\n  int local_23c;\n  int local_238;\n  int local_234;\n  int local_230;\n  undefined1 auStack_227 [5];\n  undefined2 uStack_222;\n  uint local_220 [128];\n  int local_20;\n  undefined4 uStack_14;\n  \n  bVar17 = 0;\n  local_244 = 0;\n  uStack_14 = 0x21bad;\n  local_20 = *(int *)(in_GS_OFFSET + 0x14);\n  iVar4 = FUN_00018b60(param_3,0x12);\n  local_23c = 0;\n  local_234 = 0;\n  local_238 = 0;\nLAB_00021c20:\n  do {\n    pcVar7 = (char *)(iVar4 + local_244);\n    cVar2 = *pcVar7;\n    iVar6 = local_244;\njoined_r0x00021c28:\n    if (cVar2 == '\0') {\nLAB_00021e3b:\n      if (local_234 < local_23c) goto LAB_00021e4d;\nLAB_00021eed:\n      local_238 = FUN_0001dc50(local_238,local_234 + 0x201,1);\nLAB_00021e4d:\n      *(undefined1 *)(local_238 + local_234) = 0;\n      if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    /* WARNING: Subroutine does not return */\n        FUN_0008d800();\n      }\n      return;\n    }\n    local_240 = pcVar7;\n    local_230 = iVar6;\n    if (cVar2 != '%') {\n      if (cVar2 != '\\') {\n        do {\n          local_244 = local_230 + 1;\n          cVar2 = *(char *)(iVar4 + local_244);\n          if ((cVar2 == '\0') || (cVar2 == '%')) {\n            if (cVar2 == '\0') goto LAB_00021e99;\n            break;\n          }\n          local_230 = local_244;\n        } while (cVar2 != '\\');\n        local_240 = (char *)(iVar4 + local_244);\n        local_230 = local_244;\n        if (iVar6 != local_244) {\n          iVar5 = (local_234 + local_244) - iVar6;\n          if (local_23c < iVar5) {\n            local_23c = iVar5 + 0x200;\n            local_238 = FUN_0001dc50(local_238,local_23c,1);\n          }\n          memcpy((void *)(local_238 + local_234),pcVar7,local_244 - iVar6);\n          local_234 = local_234 + (local_244 - iVar6);\n          local_230 = local_244;\n        }\n        goto LAB_00021cd4;\n      }\n      local_244 = iVar6 + 1;\n      cVar2 = *(char *)(iVar4 + 1 + iVar6);\n      if (cVar2 != '\0') goto LAB_00021f38;\nLAB_00021e99:\n      if (iVar6 == local_244) goto LAB_00021e3b;\n      iVar5 = (local_234 + local_244) - iVar6;\n      if (local_23c < iVar5) {\n        local_23c = iVar5 + 0x200;\n        local_238 = FUN_0001dc50(local_238,local_23c,1);\n      }\n      memcpy((void *)(local_238 + local_234),(void *)(iVar6 + iVar4),local_244 - iVar6);\n      local_234 = local_234 + (local_244 - iVar6);\n      if (local_234 < local_23c) goto LAB_00021e4d;\n      goto LAB_00021eed;\n    }\nLAB_00021cd4:\n    local_244 = local_230 + 1;\n    pcVar7 = (char *)(iVar4 + local_244);\n    cVar2 = *pcVar7;\n    iVar6 = local_230;\n    if (cVar2 == '\0') goto LAB_00021e99;\n    if (*local_240 == '\\') {\nLAB_00021f38:\n      iVar6 = local_234 + 1;\n      if (cVar2 == 'n') {\n        if (local_23c <= local_234) {\n          local_23c = local_234 + 0x201;\n          local_238 = FUN_0001dc50(local_238,local_23c,1);\n        }\n        *(undefined1 *)(local_238 + local_234) = 10;\n        local_244 = local_230 + 2;\n        local_234 = iVar6;\n        goto LAB_00021c20;\n      }\n      if (cVar2 < 'o') {\n        if (cVar2 == 'X') {\nLAB_000223b0:\n          cVar2 = *(char *)(iVar4 + 1 + local_244);\n          bVar3 = cVar2 - 0x30;\n          if (bVar3 < 10) {\nLAB_000223db:\n            cVar2 = *(char *)(iVar4 + 2 + local_244);\n            bVar1 = cVar2 - 0x30;\n            if (9 < bVar1) {\n              if ((byte)(cVar2 + 0x9fU) < 6) {\n                bVar1 = cVar2 + 0xa9;\n              }\n              else {\n                if (5 < (byte)(cVar2 + 0xbfU)) goto LAB_00022a16;\n                bVar1 = cVar2 - 0x37;\n              }\n            }\n            if (local_23c <= local_234) {\n              local_23c = local_234 + 0x201;\n              local_238 = FUN_0001dc50(local_238,local_23c,1);\n            }\n            *(byte *)(local_238 + local_234) = bVar1 + bVar3 * '\x10';\n            local_244 = local_244 + 3;\n            local_234 = iVar6;\n          }\n          else {\n            if ((byte)(cVar2 + 0x9fU) < 6) {\n              bVar3 = cVar2 + 0xa9;\n              goto LAB_000223db;\n            }\n            if ((byte)(cVar2 + 0xbfU) < 6) {\n              bVar3 = cVar2 - 0x37;\n              goto LAB_000223db;\n            }\nLAB_00022a16:\n            if (local_23c <= local_234) {\n              local_23c = local_234 + 0x201;\n              local_238 = FUN_0001dc50(local_238,local_23c,1);\n            }\n            *(undefined1 *)(local_238 + local_234) = 0x5c;\n            local_234 = iVar6;\n          }\n          goto LAB_00021c20;\n        }\n        if (cVar2 == '\\') {\n          if (local_23c <= local_234) {\n            local_23c = local_234 + 0x201;\n            local_238 = FUN_0001dc50(local_238,local_23c,1);\n          }\n          *(undefined1 *)(local_238 + local_234) = 0x5c;\n          local_244 = local_230 + 2;\n          local_234 = iVar6;\n          goto LAB_00021c20;\n        }\n        if (cVar2 == '%') {\n          if (local_23c <= local_234) {\n            local_23c = local_234 + 0x201;\n            local_238 = FUN_0001dc50(local_238,local_23c,1);\n          }\n          *(undefined1 *)(local_238 + local_234) = 0x25;\n          local_244 = local_230 + 2;\n          local_234 = iVar6;\n          goto LAB_00021c20;\n        }\n      }\n      else {\n        if (cVar2 == 't') {\n          if (local_23c <= local_234) {\n            local_23c = local_234 + 0x201;\n            local_238 = FUN_0001dc50(local_238,local_23c,1);\n          }\n          *(undefined1 *)(local_238 + local_234) = 9;\n          local_244 = local_230 + 2;\n          local_234 = iVar6;\n          goto LAB_00021c20;\n        }\n        if (cVar2 == 'x') goto LAB_000223b0;\n        if (cVar2 == 'r') {\n          if (local_23c <= local_234) {\n            local_23c = local_234 + 0x201;\n            local_238 = FUN_0001dc50(local_238,local_23c,1);\n          }\n          *(undefined1 *)(local_238 + local_234) = 0xd;\n          local_244 = local_230 + 2;\n          local_234 = iVar6;\n          goto LAB_00021c20;\n        }\n      }\n      if (local_23c <= iVar6) {\n        local_23c = local_234 + 0x202;\n        local_238 = FUN_0001dc50(local_238,local_23c,1);\n      }\n      local_244 = local_230 + 2;\n      *(undefined2 *)(local_238 + local_234) = *(undefined2 *)local_240;\n      local_234 = local_234 + 2;\n      goto LAB_00021c20;\n    }\n    if (cVar2 == '%') {\n      if (local_23c <= local_234) {\n        local_23c = local_234 + 0x201;\n        local_238 = FUN_0001dc50(local_238,local_23c,1);\n      }\n      *(undefined1 *)(local_238 + local_234) = 0x25;\n      local_244 = local_230 + 2;\n      local_234 = local_234 + 1;\n      goto LAB_00021c20;\n    }\n    iVar6 = strncasecmp(pcVar7,"host",4);\n    if (iVar6 != 0) {\n      iVar6 = strncasecmp(pcVar7,"port",4);\n      if (iVar6 == 0) {\n        cVar2 = __sprintf_chk(local_220,1,8,&DAT_0008fa68,param_2);\n        uVar11 = (uint)cVar2;\n        goto joined_r0x000221ae;\n      }\n      iVar6 = strncasecmp(pcVar7,"user",4);\n      if (iVar6 == 0) {\n        pcVar7 = (char *)FUN_00018b60(param_3,0x10);\n        sVar8 = strlen(pcVar7);\n        iVar6 = sVar8 + local_234;\n        if (local_23c < iVar6) {\n          local_23c = iVar6 + 0x200;\n          local_238 = FUN_0001dc50(local_238,local_23c,1);\n        }\n        memcpy((void *)(local_234 + local_238),pcVar7,sVar8);\n        local_244 = local_230 + 5;\n        local_234 = iVar6;\n        goto LAB_00021c20;\n      }\n      iVar6 = strncasecmp(pcVar7,"pass",4);\n      if (iVar6 == 0) {\n        pcVar7 = (char *)FUN_00018b60(param_3,0x11);\n        sVar8 = strlen(pcVar7);\n        iVar6 = sVar8 + local_234;\n        if (local_23c < iVar6) {\n          local_23c = iVar6 + 0x200;\n          local_238 = FUN_0001dc50(local_238,local_23c,1);\n        }\n        memcpy((void *)(local_234 + local_238),pcVar7,sVar8);\n        local_244 = local_230 + 5;\n        local_234 = iVar6;\n        goto LAB_00021c20;\n      }\n      iVar6 = strncasecmp(pcVar7,"proxyhost",9);\n      if (iVar6 == 0) {\n        pcVar7 = (char *)FUN_00018b60(param_3,0xe);\n        sVar8 = strlen(pcVar7);\n        iVar6 = sVar8 + local_234;\n        if (local_23c < iVar6) {\n          local_23c = iVar6 + 0x200;\n          local_238 = FUN_0001dc50(local_238,local_23c,1);\n        }\n        memcpy((void *)(local_234 + local_238),pcVar7,sVar8);\n        local_244 = local_230 + 10;\n        local_234 = iVar6;\n        goto LAB_00021c20;\n      }\n      iVar6 = strncasecmp(pcVar7,"proxyport",9);\n      if (iVar6 == 0) break;\n      if (local_23c <= local_234) {\n        local_23c = local_234 + 0x201;\n        local_238 = FUN_0001dc50(local_238,local_23c,1);\n      }\n      *(undefined1 *)(local_238 + local_234) = 0x25;\n      local_234 = local_234 + 1;\n      pcVar7 = (char *)(iVar4 + local_244);\n      cVar2 = *pcVar7;\n      iVar6 = local_244;\n      goto joined_r0x00021c28;\n    }\n    FUN_00084190(param_1,local_220,0x200);\n    puVar12 = local_220;\n    do {\n      puVar13 = puVar12;\n      uVar10 = *puVar13 + 0xfefefeff & ~*puVar13;\n      uVar11 = uVar10 & 0x80808080;\n      puVar12 = puVar13 + 1;\n    } while (uVar11 == 0);\n    bVar16 = (uVar10 & 0x8080) == 0;\n    if (bVar16) {\n      uVar11 = uVar11 >> 0x10;\n    }\n    puVar12 = (uint *)((int)puVar13 + 6);\n    if (!bVar16) {\n      puVar12 = puVar13 + 1;\n    }\n    uVar11 = (int)puVar12 + ((-3 - (uint)CARRY1((byte)uVar11,(byte)uVar11)) - (int)local_220);\njoined_r0x000221ae:\n    iVar6 = local_234 + uVar11;\n    if (local_23c < iVar6) {\n      local_23c = iVar6 + 0x200;\n      local_238 = FUN_0001dc50(local_238,local_23c,1);\n    }\n    puVar12 = (uint *)(local_234 + local_238);\n    if (uVar11 < 4) {\n      if (uVar11 != 0) {\n        *(undefined1 *)puVar12 = (undefined1)local_220[0];\n        if ((uVar11 & 2) != 0) {\n          *(undefined2 *)((int)puVar12 + (uVar11 - 2)) = *(undefined2 *)(auStack_227 + uVar11 + 5);\n        }\n      }\n    }\n    else {\n      *puVar12 = local_220[0];\n      *(undefined4 *)((int)puVar12 + (uVar11 - 4)) = *(undefined4 *)(auStack_227 + uVar11 + 3);\n      iVar5 = (int)puVar12 - (int)((uint)(puVar12 + 1) & 0xfffffffc);\n      puVar14 = (undefined4 *)((int)local_220 - iVar5);\n      puVar15 = (undefined4 *)((uint)(puVar12 + 1) & 0xfffffffc);\n      for (uVar11 = uVar11 + iVar5 >> 2; uVar11 != 0; uVar11 = uVar11 - 1) {\n        *puVar15 = *puVar14;\n        puVar14 = puVar14 + (uint)bVar17 * -2 + 1;\n        puVar15 = puVar15 + (uint)bVar17 * -2 + 1;\n      }\n    }\n    local_244 = local_230 + 5;\n    local_234 = iVar6;\n  } while( true );\n  uVar9 = FUN_000189b0(param_3,0xf);\n  __sprintf_chk(local_220,1,0x32,"%d",uVar9);\n  puVar12 = local_220;\n  do {\n    puVar13 = puVar12;\n    uVar10 = *puVar13 + 0xfefefeff & ~*puVar13;\n    uVar11 = uVar10 & 0x80808080;\n    puVar12 = puVar13 + 1;\n  } while (uVar11 == 0);\n  bVar16 = (uVar10 & 0x8080) == 0;\n  if (bVar16) {\n    uVar11 = uVar11 >> 0x10;\n  }\n  if (bVar16) {\n    puVar12 = (uint *)((int)puVar13 + 6);\n  }\n  uVar11 = (int)puVar12 + ((-3 - (uint)CARRY1((byte)uVar11,(byte)uVar11)) - (int)local_220);\n  iVar6 = local_234 + uVar11;\n  if (local_23c < iVar6) {\n    local_23c = iVar6 + 0x200;\n    local_238 = FUN_0001dc50(local_238,local_23c,1);\n  }\n  puVar12 = (uint *)(local_234 + local_238);\n  if (uVar11 < 4) {\n    if (uVar11 != 0) {\n      *(undefined1 *)puVar12 = (undefined1)local_220[0];\n      if ((uVar11 & 2) != 0) {\n        *(undefined2 *)((int)puVar12 + (uVar11 - 2)) = *(undefined2 *)(auStack_227 + uVar11 + 5);\n      }\n    }\n  }\n  else {\n    *puVar12 = local_220[0];\n    *(undefined4 *)((int)puVar12 + (uVar11 - 4)) = *(undefined4 *)(auStack_227 + uVar11 + 3);\n    iVar5 = (int)puVar12 - ((uint)(puVar12 + 1) & 0xfffffffc);\n    uVar11 = iVar5 + uVar11 & 0xfffffffc;\n    if (3 < uVar11) {\n      uVar10 = 0;\n      do {\n        *(undefined4 *)(((uint)(puVar12 + 1) & 0xfffffffc) + uVar10) =\n             *(undefined4 *)((int)local_220 + (uVar10 - iVar5));\n        uVar10 = uVar10 + 4;\n      } while (uVar10 < uVar11);\n    }\n  }\n  local_244 = local_230 + 10;\n  local_234 = iVar6;\n  goto LAB_00021c20;\n}" primitive_type (function_declarator "FUN_00021ba0(undefined4 param_1,undefined4 param_2,undefined4 param_3)" identifier (parameter_list "(undefined4 param_1,undefined4 param_2,undefined4 param_3)" ( (parameter_declaration "undefined4 param_1" type_identifier identifier) , (parameter_declaration "undefined4 param_2" type_identifier identifier) , (parameter_declaration "undefined4 param_3" type_identifier identifier) ))) (compound_statement "{\n  byte bVar1;\n  char cVar2;\n  byte bVar3;\n  int iVar4;\n  int iVar5;\n  int iVar6;\n  char *pcVar7;\n  size_t sVar8;\n  undefined4 uVar9;\n  uint uVar10;\n  uint uVar11;\n  uint *puVar12;\n  uint *puVar13;\n  undefined4 *puVar14;\n  undefined4 *puVar15;\n  int in_GS_OFFSET;\n  bool bVar16;\n  byte bVar17;\n  int local_244;\n  char *local_240;\n  int local_23c;\n  int local_238;\n  int local_234;\n  int local_230;\n  undefined1 auStack_227 [5];\n  undefined2 uStack_222;\n  uint local_220 [128];\n  int local_20;\n  undefined4 uStack_14;\n  \n  bVar17 = 0;\n  local_244 = 0;\n  uStack_14 = 0x21bad;\n  local_20 = *(int *)(in_GS_OFFSET + 0x14);\n  iVar4 = FUN_00018b60(param_3,0x12);\n  local_23c = 0;\n  local_234 = 0;\n  local_238 = 0;\nLAB_00021c20:\n  do {\n    pcVar7 = (char *)(iVar4 + local_244);\n    cVar2 = *pcVar7;\n    iVar6 = local_244;\njoined_r0x00021c28:\n    if (cVar2 == '\0') {\nLAB_00021e3b:\n      if (local_234 < local_23c) goto LAB_00021e4d;\nLAB_00021eed:\n      local_238 = FUN_0001dc50(local_238,local_234 + 0x201,1);\nLAB_00021e4d:\n      *(undefined1 *)(local_238 + local_234) = 0;\n      if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    /* WARNING: Subroutine does not return */\n        FUN_0008d800();\n      }\n      return;\n    }\n    local_240 = pcVar7;\n    local_230 = iVar6;\n    if (cVar2 != '%') {\n      if (cVar2 != '\\') {\n        do {\n          local_244 = local_230 + 1;\n          cVar2 = *(char *)(iVar4 + local_244);\n          if ((cVar2 == '\0') || (cVar2 == '%')) {\n            if (cVar2 == '\0') goto LAB_00021e99;\n            break;\n          }\n          local_230 = local_244;\n        } while (cVar2 != '\\');\n        local_240 = (char *)(iVar4 + local_244);\n        local_230 = local_244;\n        if (iVar6 != local_244) {\n          iVar5 = (local_234 + local_244) - iVar6;\n          if (local_23c < iVar5) {\n            local_23c = iVar5 + 0x200;\n            local_238 = FUN_0001dc50(local_238,local_23c,1);\n          }\n          memcpy((void *)(local_238 + local_234),pcVar7,local_244 - iVar6);\n          local_234 = local_234 + (local_244 - iVar6);\n          local_230 = local_244;\n        }\n        goto LAB_00021cd4;\n      }\n      local_244 = iVar6 + 1;\n      cVar2 = *(char *)(iVar4 + 1 + iVar6);\n      if (cVar2 != '\0') goto LAB_00021f38;\nLAB_00021e99:\n      if (iVar6 == local_244) goto LAB_00021e3b;\n      iVar5 = (local_234 + local_244) - iVar6;\n      if (local_23c < iVar5) {\n        local_23c = iVar5 + 0x200;\n        local_238 = FUN_0001dc50(local_238,local_23c,1);\n      }\n      memcpy((void *)(local_238 + local_234),(void *)(iVar6 + iVar4),local_244 - iVar6);\n      local_234 = local_234 + (local_244 - iVar6);\n      if (local_234 < local_23c) goto LAB_00021e4d;\n      goto LAB_00021eed;\n    }\nLAB_00021cd4:\n    local_244 = local_230 + 1;\n    pcVar7 = (char *)(iVar4 + local_244);\n    cVar2 = *pcVar7;\n    iVar6 = local_230;\n    if (cVar2 == '\0') goto LAB_00021e99;\n    if (*local_240 == '\\') {\nLAB_00021f38:\n      iVar6 = local_234 + 1;\n      if (cVar2 == 'n') {\n        if (local_23c <= local_234) {\n          local_23c = local_234 + 0x201;\n          local_238 = FUN_0001dc50(local_238,local_23c,1);\n        }\n        *(undefined1 *)(local_238 + local_234) = 10;\n        local_244 = local_230 + 2;\n        local_234 = iVar6;\n        goto LAB_00021c20;\n      }\n      if (cVar2 < 'o') {\n        if (cVar2 == 'X') {\nLAB_000223b0:\n          cVar2 = *(char *)(iVar4 + 1 + local_244);\n          bVar3 = cVar2 - 0x30;\n          if (bVar3 < 10) {\nLAB_000223db:\n            cVar2 = *(char *)(iVar4 + 2 + local_244);\n            bVar1 = cVar2 - 0x30;\n            if (9 < bVar1) {\n              if ((byte)(cVar2 + 0x9fU) < 6) {\n                bVar1 = cVar2 + 0xa9;\n              }\n              else {\n                if (5 < (byte)(cVar2 + 0xbfU)) goto LAB_00022a16;\n                bVar1 = cVar2 - 0x37;\n              }\n            }\n            if (local_23c <= local_234) {\n              local_23c = local_234 + 0x201;\n              local_238 = FUN_0001dc50(local_238,local_23c,1);\n            }\n            *(byte *)(local_238 + local_234) = bVar1 + bVar3 * '\x10';\n            local_244 = local_244 + 3;\n            local_234 = iVar6;\n          }\n          else {\n            if ((byte)(cVar2 + 0x9fU) < 6) {\n              bVar3 = cVar2 + 0xa9;\n              goto LAB_000223db;\n            }\n            if ((byte)(cVar2 + 0xbfU) < 6) {\n              bVar3 = cVar2 - 0x37;\n              goto LAB_000223db;\n            }\nLAB_00022a16:\n            if (local_23c <= local_234) {\n              local_23c = local_234 + 0x201;\n              local_238 = FUN_0001dc50(local_238,local_23c,1);\n            }\n            *(undefined1 *)(local_238 + local_234) = 0x5c;\n            local_234 = iVar6;\n          }\n          goto LAB_00021c20;\n        }\n        if (cVar2 == '\\') {\n          if (local_23c <= local_234) {\n            local_23c = local_234 + 0x201;\n            local_238 = FUN_0001dc50(local_238,local_23c,1);\n          }\n          *(undefined1 *)(local_238 + local_234) = 0x5c;\n          local_244 = local_230 + 2;\n          local_234 = iVar6;\n          goto LAB_00021c20;\n        }\n        if (cVar2 == '%') {\n          if (local_23c <= local_234) {\n            local_23c = local_234 + 0x201;\n            local_238 = FUN_0001dc50(local_238,local_23c,1);\n          }\n          *(undefined1 *)(local_238 + local_234) = 0x25;\n          local_244 = local_230 + 2;\n          local_234 = iVar6;\n          goto LAB_00021c20;\n        }\n      }\n      else {\n        if (cVar2 == 't') {\n          if (local_23c <= local_234) {\n            local_23c = local_234 + 0x201;\n            local_238 = FUN_0001dc50(local_238,local_23c,1);\n          }\n          *(undefined1 *)(local_238 + local_234) = 9;\n          local_244 = local_230 + 2;\n          local_234 = iVar6;\n          goto LAB_00021c20;\n        }\n        if (cVar2 == 'x') goto LAB_000223b0;\n        if (cVar2 == 'r') {\n          if (local_23c <= local_234) {\n            local_23c = local_234 + 0x201;\n            local_238 = FUN_0001dc50(local_238,local_23c,1);\n          }\n          *(undefined1 *)(local_238 + local_234) = 0xd;\n          local_244 = local_230 + 2;\n          local_234 = iVar6;\n          goto LAB_00021c20;\n        }\n      }\n      if (local_23c <= iVar6) {\n        local_23c = local_234 + 0x202;\n        local_238 = FUN_0001dc50(local_238,local_23c,1);\n      }\n      local_244 = local_230 + 2;\n      *(undefined2 *)(local_238 + local_234) = *(undefined2 *)local_240;\n      local_234 = local_234 + 2;\n      goto LAB_00021c20;\n    }\n    if (cVar2 == '%') {\n      if (local_23c <= local_234) {\n        local_23c = local_234 + 0x201;\n        local_238 = FUN_0001dc50(local_238,local_23c,1);\n      }\n      *(undefined1 *)(local_238 + local_234) = 0x25;\n      local_244 = local_230 + 2;\n      local_234 = local_234 + 1;\n      goto LAB_00021c20;\n    }\n    iVar6 = strncasecmp(pcVar7,"host",4);\n    if (iVar6 != 0) {\n      iVar6 = strncasecmp(pcVar7,"port",4);\n      if (iVar6 == 0) {\n        cVar2 = __sprintf_chk(local_220,1,8,&DAT_0008fa68,param_2);\n        uVar11 = (uint)cVar2;\n        goto joined_r0x000221ae;\n      }\n      iVar6 = strncasecmp(pcVar7,"user",4);\n      if (iVar6 == 0) {\n        pcVar7 = (char *)FUN_00018b60(param_3,0x10);\n        sVar8 = strlen(pcVar7);\n        iVar6 = sVar8 + local_234;\n        if (local_23c < iVar6) {\n          local_23c = iVar6 + 0x200;\n          local_238 = FUN_0001dc50(local_238,local_23c,1);\n        }\n        memcpy((void *)(local_234 + local_238),pcVar7,sVar8);\n        local_244 = local_230 + 5;\n        local_234 = iVar6;\n        goto LAB_00021c20;\n      }\n      iVar6 = strncasecmp(pcVar7,"pass",4);\n      if (iVar6 == 0) {\n        pcVar7 = (char *)FUN_00018b60(param_3,0x11);\n        sVar8 = strlen(pcVar7);\n        iVar6 = sVar8 + local_234;\n        if (local_23c < iVar6) {\n          local_23c = iVar6 + 0x200;\n          local_238 = FUN_0001dc50(local_238,local_23c,1);\n        }\n        memcpy((void *)(local_234 + local_238),pcVar7,sVar8);\n        local_244 = local_230 + 5;\n        local_234 = iVar6;\n        goto LAB_00021c20;\n      }\n      iVar6 = strncasecmp(pcVar7,"proxyhost",9);\n      if (iVar6 == 0) {\n        pcVar7 = (char *)FUN_00018b60(param_3,0xe);\n        sVar8 = strlen(pcVar7);\n        iVar6 = sVar8 + local_234;\n        if (local_23c < iVar6) {\n          local_23c = iVar6 + 0x200;\n          local_238 = FUN_0001dc50(local_238,local_23c,1);\n        }\n        memcpy((void *)(local_234 + local_238),pcVar7,sVar8);\n        local_244 = local_230 + 10;\n        local_234 = iVar6;\n        goto LAB_00021c20;\n      }\n      iVar6 = strncasecmp(pcVar7,"proxyport",9);\n      if (iVar6 == 0) break;\n      if (local_23c <= local_234) {\n        local_23c = local_234 + 0x201;\n        local_238 = FUN_0001dc50(local_238,local_23c,1);\n      }\n      *(undefined1 *)(local_238 + local_234) = 0x25;\n      local_234 = local_234 + 1;\n      pcVar7 = (char *)(iVar4 + local_244);\n      cVar2 = *pcVar7;\n      iVar6 = local_244;\n      goto joined_r0x00021c28;\n    }\n    FUN_00084190(param_1,local_220,0x200);\n    puVar12 = local_220;\n    do {\n      puVar13 = puVar12;\n      uVar10 = *puVar13 + 0xfefefeff & ~*puVar13;\n      uVar11 = uVar10 & 0x80808080;\n      puVar12 = puVar13 + 1;\n    } while (uVar11 == 0);\n    bVar16 = (uVar10 & 0x8080) == 0;\n    if (bVar16) {\n      uVar11 = uVar11 >> 0x10;\n    }\n    puVar12 = (uint *)((int)puVar13 + 6);\n    if (!bVar16) {\n      puVar12 = puVar13 + 1;\n    }\n    uVar11 = (int)puVar12 + ((-3 - (uint)CARRY1((byte)uVar11,(byte)uVar11)) - (int)local_220);\njoined_r0x000221ae:\n    iVar6 = local_234 + uVar11;\n    if (local_23c < iVar6) {\n      local_23c = iVar6 + 0x200;\n      local_238 = FUN_0001dc50(local_238,local_23c,1);\n    }\n    puVar12 = (uint *)(local_234 + local_238);\n    if (uVar11 < 4) {\n      if (uVar11 != 0) {\n        *(undefined1 *)puVar12 = (undefined1)local_220[0];\n        if ((uVar11 & 2) != 0) {\n          *(undefined2 *)((int)puVar12 + (uVar11 - 2)) = *(undefined2 *)(auStack_227 + uVar11 + 5);\n        }\n      }\n    }\n    else {\n      *puVar12 = local_220[0];\n      *(undefined4 *)((int)puVar12 + (uVar11 - 4)) = *(undefined4 *)(auStack_227 + uVar11 + 3);\n      iVar5 = (int)puVar12 - (int)((uint)(puVar12 + 1) & 0xfffffffc);\n      puVar14 = (undefined4 *)((int)local_220 - iVar5);\n      puVar15 = (undefined4 *)((uint)(puVar12 + 1) & 0xfffffffc);\n      for (uVar11 = uVar11 + iVar5 >> 2; uVar11 != 0; uVar11 = uVar11 - 1) {\n        *puVar15 = *puVar14;\n        puVar14 = puVar14 + (uint)bVar17 * -2 + 1;\n        puVar15 = puVar15 + (uint)bVar17 * -2 + 1;\n      }\n    }\n    local_244 = local_230 + 5;\n    local_234 = iVar6;\n  } while( true );\n  uVar9 = FUN_000189b0(param_3,0xf);\n  __sprintf_chk(local_220,1,0x32,"%d",uVar9);\n  puVar12 = local_220;\n  do {\n    puVar13 = puVar12;\n    uVar10 = *puVar13 + 0xfefefeff & ~*puVar13;\n    uVar11 = uVar10 & 0x80808080;\n    puVar12 = puVar13 + 1;\n  } while (uVar11 == 0);\n  bVar16 = (uVar10 & 0x8080) == 0;\n  if (bVar16) {\n    uVar11 = uVar11 >> 0x10;\n  }\n  if (bVar16) {\n    puVar12 = (uint *)((int)puVar13 + 6);\n  }\n  uVar11 = (int)puVar12 + ((-3 - (uint)CARRY1((byte)uVar11,(byte)uVar11)) - (int)local_220);\n  iVar6 = local_234 + uVar11;\n  if (local_23c < iVar6) {\n    local_23c = iVar6 + 0x200;\n    local_238 = FUN_0001dc50(local_238,local_23c,1);\n  }\n  puVar12 = (uint *)(local_234 + local_238);\n  if (uVar11 < 4) {\n    if (uVar11 != 0) {\n      *(undefined1 *)puVar12 = (undefined1)local_220[0];\n      if ((uVar11 & 2) != 0) {\n        *(undefined2 *)((int)puVar12 + (uVar11 - 2)) = *(undefined2 *)(auStack_227 + uVar11 + 5);\n      }\n    }\n  }\n  else {\n    *puVar12 = local_220[0];\n    *(undefined4 *)((int)puVar12 + (uVar11 - 4)) = *(undefined4 *)(auStack_227 + uVar11 + 3);\n    iVar5 = (int)puVar12 - ((uint)(puVar12 + 1) & 0xfffffffc);\n    uVar11 = iVar5 + uVar11 & 0xfffffffc;\n    if (3 < uVar11) {\n      uVar10 = 0;\n      do {\n        *(undefined4 *)(((uint)(puVar12 + 1) & 0xfffffffc) + uVar10) =\n             *(undefined4 *)((int)local_220 + (uVar10 - iVar5));\n        uVar10 = uVar10 + 4;\n      } while (uVar10 < uVar11);\n    }\n  }\n  local_244 = local_230 + 10;\n  local_234 = iVar6;\n  goto LAB_00021c20;\n}" { (declaration "byte bVar1;" type_identifier identifier ;) (declaration "char cVar2;" primitive_type identifier ;) (declaration "byte bVar3;" type_identifier identifier ;) (declaration "int iVar4;" primitive_type identifier ;) (declaration "int iVar5;" primitive_type identifier ;) (declaration "int iVar6;" primitive_type identifier ;) (declaration "char *pcVar7;" primitive_type (pointer_declarator "*pcVar7" * identifier) ;) (declaration "size_t sVar8;" primitive_type identifier ;) (declaration "undefined4 uVar9;" type_identifier identifier ;) (declaration "uint uVar10;" type_identifier identifier ;) (declaration "uint uVar11;" type_identifier identifier ;) (declaration "uint *puVar12;" type_identifier (pointer_declarator "*puVar12" * identifier) ;) (declaration "uint *puVar13;" type_identifier (pointer_declarator "*puVar13" * identifier) ;) (declaration "undefined4 *puVar14;" type_identifier (pointer_declarator "*puVar14" * identifier) ;) (declaration "undefined4 *puVar15;" type_identifier (pointer_declarator "*puVar15" * identifier) ;) (declaration "int in_GS_OFFSET;" primitive_type identifier ;) (declaration "bool bVar16;" primitive_type identifier ;) (declaration "byte bVar17;" type_identifier identifier ;) (declaration "int local_244;" primitive_type identifier ;) (declaration "char *local_240;" primitive_type (pointer_declarator "*local_240" * identifier) ;) (declaration "int local_23c;" primitive_type identifier ;) (declaration "int local_238;" primitive_type identifier ;) (declaration "int local_234;" primitive_type identifier ;) (declaration "int local_230;" primitive_type identifier ;) (declaration "undefined1 auStack_227 [5];" type_identifier (array_declarator "auStack_227 [5]" identifier [ number_literal ]) ;) (declaration "undefined2 uStack_222;" type_identifier identifier ;) (declaration "uint local_220 [128];" type_identifier (array_declarator "local_220 [128]" identifier [ number_literal ]) ;) (declaration "int local_20;" primitive_type identifier ;) (declaration "undefined4 uStack_14;" type_identifier identifier ;) (expression_statement "bVar17 = 0;" (assignment_expression "bVar17 = 0" identifier = number_literal) ;) (expression_statement "local_244 = 0;" (assignment_expression "local_244 = 0" identifier = number_literal) ;) (expression_statement "uStack_14 = 0x21bad;" (assignment_expression "uStack_14 = 0x21bad" identifier = number_literal) ;) (expression_statement "local_20 = *(int *)(in_GS_OFFSET + 0x14);" (assignment_expression "local_20 = *(int *)(in_GS_OFFSET + 0x14)" identifier = (pointer_expression "*(int *)(in_GS_OFFSET + 0x14)" * (cast_expression "(int *)(in_GS_OFFSET + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_GS_OFFSET + 0x14)" ( (binary_expression "in_GS_OFFSET + 0x14" identifier + number_literal) ))))) ;) (expression_statement "iVar4 = FUN_00018b60(param_3,0x12);" (assignment_expression "iVar4 = FUN_00018b60(param_3,0x12)" identifier = (call_expression "FUN_00018b60(param_3,0x12)" identifier (argument_list "(param_3,0x12)" ( identifier , number_literal )))) ;) (expression_statement "local_23c = 0;" (assignment_expression "local_23c = 0" identifier = number_literal) ;) (expression_statement "local_234 = 0;" (assignment_expression "local_234 = 0" identifier = number_literal) ;) (expression_statement "local_238 = 0;" (assignment_expression "local_238 = 0" identifier = number_literal) ;) (labeled_statement "LAB_00021c20:\n  do {\n    pcVar7 = (char *)(iVar4 + local_244);\n    cVar2 = *pcVar7;\n    iVar6 = local_244;\njoined_r0x00021c28:\n    if (cVar2 == '\0') {\nLAB_00021e3b:\n      if (local_234 < local_23c) goto LAB_00021e4d;\nLAB_00021eed:\n      local_238 = FUN_0001dc50(local_238,local_234 + 0x201,1);\nLAB_00021e4d:\n      *(undefined1 *)(local_238 + local_234) = 0;\n      if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    /* WARNING: Subroutine does not return */\n        FUN_0008d800();\n      }\n      return;\n    }\n    local_240 = pcVar7;\n    local_230 = iVar6;\n    if (cVar2 != '%') {\n      if (cVar2 != '\\') {\n        do {\n          local_244 = local_230 + 1;\n          cVar2 = *(char *)(iVar4 + local_244);\n          if ((cVar2 == '\0') || (cVar2 == '%')) {\n            if (cVar2 == '\0') goto LAB_00021e99;\n            break;\n          }\n          local_230 = local_244;\n        } while (cVar2 != '\\');\n        local_240 = (char *)(iVar4 + local_244);\n        local_230 = local_244;\n        if (iVar6 != local_244) {\n          iVar5 = (local_234 + local_244) - iVar6;\n          if (local_23c < iVar5) {\n            local_23c = iVar5 + 0x200;\n            local_238 = FUN_0001dc50(local_238,local_23c,1);\n          }\n          memcpy((void *)(local_238 + local_234),pcVar7,local_244 - iVar6);\n          local_234 = local_234 + (local_244 - iVar6);\n          local_230 = local_244;\n        }\n        goto LAB_00021cd4;\n      }\n      local_244 = iVar6 + 1;\n      cVar2 = *(char *)(iVar4 + 1 + iVar6);\n      if (cVar2 != '\0') goto LAB_00021f38;\nLAB_00021e99:\n      if (iVar6 == local_244) goto LAB_00021e3b;\n      iVar5 = (local_234 + local_244) - iVar6;\n      if (local_23c < iVar5) {\n        local_23c = iVar5 + 0x200;\n        local_238 = FUN_0001dc50(local_238,local_23c,1);\n      }\n      memcpy((void *)(local_238 + local_234),(void *)(iVar6 + iVar4),local_244 - iVar6);\n      local_234 = local_234 + (local_244 - iVar6);\n      if (local_234 < local_23c) goto LAB_00021e4d;\n      goto LAB_00021eed;\n    }\nLAB_00021cd4:\n    local_244 = local_230 + 1;\n    pcVar7 = (char *)(iVar4 + local_244);\n    cVar2 = *pcVar7;\n    iVar6 = local_230;\n    if (cVar2 == '\0') goto LAB_00021e99;\n    if (*local_240 == '\\') {\nLAB_00021f38:\n      iVar6 = local_234 + 1;\n      if (cVar2 == 'n') {\n        if (local_23c <= local_234) {\n          local_23c = local_234 + 0x201;\n          local_238 = FUN_0001dc50(local_238,local_23c,1);\n        }\n        *(undefined1 *)(local_238 + local_234) = 10;\n        local_244 = local_230 + 2;\n        local_234 = iVar6;\n        goto LAB_00021c20;\n      }\n      if (cVar2 < 'o') {\n        if (cVar2 == 'X') {\nLAB_000223b0:\n          cVar2 = *(char *)(iVar4 + 1 + local_244);\n          bVar3 = cVar2 - 0x30;\n          if (bVar3 < 10) {\nLAB_000223db:\n            cVar2 = *(char *)(iVar4 + 2 + local_244);\n            bVar1 = cVar2 - 0x30;\n            if (9 < bVar1) {\n              if ((byte)(cVar2 + 0x9fU) < 6) {\n                bVar1 = cVar2 + 0xa9;\n              }\n              else {\n                if (5 < (byte)(cVar2 + 0xbfU)) goto LAB_00022a16;\n                bVar1 = cVar2 - 0x37;\n              }\n            }\n            if (local_23c <= local_234) {\n              local_23c = local_234 + 0x201;\n              local_238 = FUN_0001dc50(local_238,local_23c,1);\n            }\n            *(byte *)(local_238 + local_234) = bVar1 + bVar3 * '\x10';\n            local_244 = local_244 + 3;\n            local_234 = iVar6;\n          }\n          else {\n            if ((byte)(cVar2 + 0x9fU) < 6) {\n              bVar3 = cVar2 + 0xa9;\n              goto LAB_000223db;\n            }\n            if ((byte)(cVar2 + 0xbfU) < 6) {\n              bVar3 = cVar2 - 0x37;\n              goto LAB_000223db;\n            }\nLAB_00022a16:\n            if (local_23c <= local_234) {\n              local_23c = local_234 + 0x201;\n              local_238 = FUN_0001dc50(local_238,local_23c,1);\n            }\n            *(undefined1 *)(local_238 + local_234) = 0x5c;\n            local_234 = iVar6;\n          }\n          goto LAB_00021c20;\n        }\n        if (cVar2 == '\\') {\n          if (local_23c <= local_234) {\n            local_23c = local_234 + 0x201;\n            local_238 = FUN_0001dc50(local_238,local_23c,1);\n          }\n          *(undefined1 *)(local_238 + local_234) = 0x5c;\n          local_244 = local_230 + 2;\n          local_234 = iVar6;\n          goto LAB_00021c20;\n        }\n        if (cVar2 == '%') {\n          if (local_23c <= local_234) {\n            local_23c = local_234 + 0x201;\n            local_238 = FUN_0001dc50(local_238,local_23c,1);\n          }\n          *(undefined1 *)(local_238 + local_234) = 0x25;\n          local_244 = local_230 + 2;\n          local_234 = iVar6;\n          goto LAB_00021c20;\n        }\n      }\n      else {\n        if (cVar2 == 't') {\n          if (local_23c <= local_234) {\n            local_23c = local_234 + 0x201;\n            local_238 = FUN_0001dc50(local_238,local_23c,1);\n          }\n          *(undefined1 *)(local_238 + local_234) = 9;\n          local_244 = local_230 + 2;\n          local_234 = iVar6;\n          goto LAB_00021c20;\n        }\n        if (cVar2 == 'x') goto LAB_000223b0;\n        if (cVar2 == 'r') {\n          if (local_23c <= local_234) {\n            local_23c = local_234 + 0x201;\n            local_238 = FUN_0001dc50(local_238,local_23c,1);\n          }\n          *(undefined1 *)(local_238 + local_234) = 0xd;\n          local_244 = local_230 + 2;\n          local_234 = iVar6;\n          goto LAB_00021c20;\n        }\n      }\n      if (local_23c <= iVar6) {\n        local_23c = local_234 + 0x202;\n        local_238 = FUN_0001dc50(local_238,local_23c,1);\n      }\n      local_244 = local_230 + 2;\n      *(undefined2 *)(local_238 + local_234) = *(undefined2 *)local_240;\n      local_234 = local_234 + 2;\n      goto LAB_00021c20;\n    }\n    if (cVar2 == '%') {\n      if (local_23c <= local_234) {\n        local_23c = local_234 + 0x201;\n        local_238 = FUN_0001dc50(local_238,local_23c,1);\n      }\n      *(undefined1 *)(local_238 + local_234) = 0x25;\n      local_244 = local_230 + 2;\n      local_234 = local_234 + 1;\n      goto LAB_00021c20;\n    }\n    iVar6 = strncasecmp(pcVar7,"host",4);\n    if (iVar6 != 0) {\n      iVar6 = strncasecmp(pcVar7,"port",4);\n      if (iVar6 == 0) {\n        cVar2 = __sprintf_chk(local_220,1,8,&DAT_0008fa68,param_2);\n        uVar11 = (uint)cVar2;\n        goto joined_r0x000221ae;\n      }\n      iVar6 = strncasecmp(pcVar7,"user",4);\n      if (iVar6 == 0) {\n        pcVar7 = (char *)FUN_00018b60(param_3,0x10);\n        sVar8 = strlen(pcVar7);\n        iVar6 = sVar8 + local_234;\n        if (local_23c < iVar6) {\n          local_23c = iVar6 + 0x200;\n          local_238 = FUN_0001dc50(local_238,local_23c,1);\n        }\n        memcpy((void *)(local_234 + local_238),pcVar7,sVar8);\n        local_244 = local_230 + 5;\n        local_234 = iVar6;\n        goto LAB_00021c20;\n      }\n      iVar6 = strncasecmp(pcVar7,"pass",4);\n      if (iVar6 == 0) {\n        pcVar7 = (char *)FUN_00018b60(param_3,0x11);\n        sVar8 = strlen(pcVar7);\n        iVar6 = sVar8 + local_234;\n        if (local_23c < iVar6) {\n          local_23c = iVar6 + 0x200;\n          local_238 = FUN_0001dc50(local_238,local_23c,1);\n        }\n        memcpy((void *)(local_234 + local_238),pcVar7,sVar8);\n        local_244 = local_230 + 5;\n        local_234 = iVar6;\n        goto LAB_00021c20;\n      }\n      iVar6 = strncasecmp(pcVar7,"proxyhost",9);\n      if (iVar6 == 0) {\n        pcVar7 = (char *)FUN_00018b60(param_3,0xe);\n        sVar8 = strlen(pcVar7);\n        iVar6 = sVar8 + local_234;\n        if (local_23c < iVar6) {\n          local_23c = iVar6 + 0x200;\n          local_238 = FUN_0001dc50(local_238,local_23c,1);\n        }\n        memcpy((void *)(local_234 + local_238),pcVar7,sVar8);\n        local_244 = local_230 + 10;\n        local_234 = iVar6;\n        goto LAB_00021c20;\n      }\n      iVar6 = strncasecmp(pcVar7,"proxyport",9);\n      if (iVar6 == 0) break;\n      if (local_23c <= local_234) {\n        local_23c = local_234 + 0x201;\n        local_238 = FUN_0001dc50(local_238,local_23c,1);\n      }\n      *(undefined1 *)(local_238 + local_234) = 0x25;\n      local_234 = local_234 + 1;\n      pcVar7 = (char *)(iVar4 + local_244);\n      cVar2 = *pcVar7;\n      iVar6 = local_244;\n      goto joined_r0x00021c28;\n    }\n    FUN_00084190(param_1,local_220,0x200);\n    puVar12 = local_220;\n    do {\n      puVar13 = puVar12;\n      uVar10 = *puVar13 + 0xfefefeff & ~*puVar13;\n      uVar11 = uVar10 & 0x80808080;\n      puVar12 = puVar13 + 1;\n    } while (uVar11 == 0);\n    bVar16 = (uVar10 & 0x8080) == 0;\n    if (bVar16) {\n      uVar11 = uVar11 >> 0x10;\n    }\n    puVar12 = (uint *)((int)puVar13 + 6);\n    if (!bVar16) {\n      puVar12 = puVar13 + 1;\n    }\n    uVar11 = (int)puVar12 + ((-3 - (uint)CARRY1((byte)uVar11,(byte)uVar11)) - (int)local_220);\njoined_r0x000221ae:\n    iVar6 = local_234 + uVar11;\n    if (local_23c < iVar6) {\n      local_23c = iVar6 + 0x200;\n      local_238 = FUN_0001dc50(local_238,local_23c,1);\n    }\n    puVar12 = (uint *)(local_234 + local_238);\n    if (uVar11 < 4) {\n      if (uVar11 != 0) {\n        *(undefined1 *)puVar12 = (undefined1)local_220[0];\n        if ((uVar11 & 2) != 0) {\n          *(undefined2 *)((int)puVar12 + (uVar11 - 2)) = *(undefined2 *)(auStack_227 + uVar11 + 5);\n        }\n      }\n    }\n    else {\n      *puVar12 = local_220[0];\n      *(undefined4 *)((int)puVar12 + (uVar11 - 4)) = *(undefined4 *)(auStack_227 + uVar11 + 3);\n      iVar5 = (int)puVar12 - (int)((uint)(puVar12 + 1) & 0xfffffffc);\n      puVar14 = (undefined4 *)((int)local_220 - iVar5);\n      puVar15 = (undefined4 *)((uint)(puVar12 + 1) & 0xfffffffc);\n      for (uVar11 = uVar11 + iVar5 >> 2; uVar11 != 0; uVar11 = uVar11 - 1) {\n        *puVar15 = *puVar14;\n        puVar14 = puVar14 + (uint)bVar17 * -2 + 1;\n        puVar15 = puVar15 + (uint)bVar17 * -2 + 1;\n      }\n    }\n    local_244 = local_230 + 5;\n    local_234 = iVar6;\n  } while( true );" statement_identifier : (do_statement "do {\n    pcVar7 = (char *)(iVar4 + local_244);\n    cVar2 = *pcVar7;\n    iVar6 = local_244;\njoined_r0x00021c28:\n    if (cVar2 == '\0') {\nLAB_00021e3b:\n      if (local_234 < local_23c) goto LAB_00021e4d;\nLAB_00021eed:\n      local_238 = FUN_0001dc50(local_238,local_234 + 0x201,1);\nLAB_00021e4d:\n      *(undefined1 *)(local_238 + local_234) = 0;\n      if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    /* WARNING: Subroutine does not return */\n        FUN_0008d800();\n      }\n      return;\n    }\n    local_240 = pcVar7;\n    local_230 = iVar6;\n    if (cVar2 != '%') {\n      if (cVar2 != '\\') {\n        do {\n          local_244 = local_230 + 1;\n          cVar2 = *(char *)(iVar4 + local_244);\n          if ((cVar2 == '\0') || (cVar2 == '%')) {\n            if (cVar2 == '\0') goto LAB_00021e99;\n            break;\n          }\n          local_230 = local_244;\n        } while (cVar2 != '\\');\n        local_240 = (char *)(iVar4 + local_244);\n        local_230 = local_244;\n        if (iVar6 != local_244) {\n          iVar5 = (local_234 + local_244) - iVar6;\n          if (local_23c < iVar5) {\n            local_23c = iVar5 + 0x200;\n            local_238 = FUN_0001dc50(local_238,local_23c,1);\n          }\n          memcpy((void *)(local_238 + local_234),pcVar7,local_244 - iVar6);\n          local_234 = local_234 + (local_244 - iVar6);\n          local_230 = local_244;\n        }\n        goto LAB_00021cd4;\n      }\n      local_244 = iVar6 + 1;\n      cVar2 = *(char *)(iVar4 + 1 + iVar6);\n      if (cVar2 != '\0') goto LAB_00021f38;\nLAB_00021e99:\n      if (iVar6 == local_244) goto LAB_00021e3b;\n      iVar5 = (local_234 + local_244) - iVar6;\n      if (local_23c < iVar5) {\n        local_23c = iVar5 + 0x200;\n        local_238 = FUN_0001dc50(local_238,local_23c,1);\n      }\n      memcpy((void *)(local_238 + local_234),(void *)(iVar6 + iVar4),local_244 - iVar6);\n      local_234 = local_234 + (local_244 - iVar6);\n      if (local_234 < local_23c) goto LAB_00021e4d;\n      goto LAB_00021eed;\n    }\nLAB_00021cd4:\n    local_244 = local_230 + 1;\n    pcVar7 = (char *)(iVar4 + local_244);\n    cVar2 = *pcVar7;\n    iVar6 = local_230;\n    if (cVar2 == '\0') goto LAB_00021e99;\n    if (*local_240 == '\\') {\nLAB_00021f38:\n      iVar6 = local_234 + 1;\n      if (cVar2 == 'n') {\n        if (local_23c <= local_234) {\n          local_23c = local_234 + 0x201;\n          local_238 = FUN_0001dc50(local_238,local_23c,1);\n        }\n        *(undefined1 *)(local_238 + local_234) = 10;\n        local_244 = local_230 + 2;\n        local_234 = iVar6;\n        goto LAB_00021c20;\n      }\n      if (cVar2 < 'o') {\n        if (cVar2 == 'X') {\nLAB_000223b0:\n          cVar2 = *(char *)(iVar4 + 1 + local_244);\n          bVar3 = cVar2 - 0x30;\n          if (bVar3 < 10) {\nLAB_000223db:\n            cVar2 = *(char *)(iVar4 + 2 + local_244);\n            bVar1 = cVar2 - 0x30;\n            if (9 < bVar1) {\n              if ((byte)(cVar2 + 0x9fU) < 6) {\n                bVar1 = cVar2 + 0xa9;\n              }\n              else {\n                if (5 < (byte)(cVar2 + 0xbfU)) goto LAB_00022a16;\n                bVar1 = cVar2 - 0x37;\n              }\n            }\n            if (local_23c <= local_234) {\n              local_23c = local_234 + 0x201;\n              local_238 = FUN_0001dc50(local_238,local_23c,1);\n            }\n            *(byte *)(local_238 + local_234) = bVar1 + bVar3 * '\x10';\n            local_244 = local_244 + 3;\n            local_234 = iVar6;\n          }\n          else {\n            if ((byte)(cVar2 + 0x9fU) < 6) {\n              bVar3 = cVar2 + 0xa9;\n              goto LAB_000223db;\n            }\n            if ((byte)(cVar2 + 0xbfU) < 6) {\n              bVar3 = cVar2 - 0x37;\n              goto LAB_000223db;\n            }\nLAB_00022a16:\n            if (local_23c <= local_234) {\n              local_23c = local_234 + 0x201;\n              local_238 = FUN_0001dc50(local_238,local_23c,1);\n            }\n            *(undefined1 *)(local_238 + local_234) = 0x5c;\n            local_234 = iVar6;\n          }\n          goto LAB_00021c20;\n        }\n        if (cVar2 == '\\') {\n          if (local_23c <= local_234) {\n            local_23c = local_234 + 0x201;\n            local_238 = FUN_0001dc50(local_238,local_23c,1);\n          }\n          *(undefined1 *)(local_238 + local_234) = 0x5c;\n          local_244 = local_230 + 2;\n          local_234 = iVar6;\n          goto LAB_00021c20;\n        }\n        if (cVar2 == '%') {\n          if (local_23c <= local_234) {\n            local_23c = local_234 + 0x201;\n            local_238 = FUN_0001dc50(local_238,local_23c,1);\n          }\n          *(undefined1 *)(local_238 + local_234) = 0x25;\n          local_244 = local_230 + 2;\n          local_234 = iVar6;\n          goto LAB_00021c20;\n        }\n      }\n      else {\n        if (cVar2 == 't') {\n          if (local_23c <= local_234) {\n            local_23c = local_234 + 0x201;\n            local_238 = FUN_0001dc50(local_238,local_23c,1);\n          }\n          *(undefined1 *)(local_238 + local_234) = 9;\n          local_244 = local_230 + 2;\n          local_234 = iVar6;\n          goto LAB_00021c20;\n        }\n        if (cVar2 == 'x') goto LAB_000223b0;\n        if (cVar2 == 'r') {\n          if (local_23c <= local_234) {\n            local_23c = local_234 + 0x201;\n            local_238 = FUN_0001dc50(local_238,local_23c,1);\n          }\n          *(undefined1 *)(local_238 + local_234) = 0xd;\n          local_244 = local_230 + 2;\n          local_234 = iVar6;\n          goto LAB_00021c20;\n        }\n      }\n      if (local_23c <= iVar6) {\n        local_23c = local_234 + 0x202;\n        local_238 = FUN_0001dc50(local_238,local_23c,1);\n      }\n      local_244 = local_230 + 2;\n      *(undefined2 *)(local_238 + local_234) = *(undefined2 *)local_240;\n      local_234 = local_234 + 2;\n      goto LAB_00021c20;\n    }\n    if (cVar2 == '%') {\n      if (local_23c <= local_234) {\n        local_23c = local_234 + 0x201;\n        local_238 = FUN_0001dc50(local_238,local_23c,1);\n      }\n      *(undefined1 *)(local_238 + local_234) = 0x25;\n      local_244 = local_230 + 2;\n      local_234 = local_234 + 1;\n      goto LAB_00021c20;\n    }\n    iVar6 = strncasecmp(pcVar7,"host",4);\n    if (iVar6 != 0) {\n      iVar6 = strncasecmp(pcVar7,"port",4);\n      if (iVar6 == 0) {\n        cVar2 = __sprintf_chk(local_220,1,8,&DAT_0008fa68,param_2);\n        uVar11 = (uint)cVar2;\n        goto joined_r0x000221ae;\n      }\n      iVar6 = strncasecmp(pcVar7,"user",4);\n      if (iVar6 == 0) {\n        pcVar7 = (char *)FUN_00018b60(param_3,0x10);\n        sVar8 = strlen(pcVar7);\n        iVar6 = sVar8 + local_234;\n        if (local_23c < iVar6) {\n          local_23c = iVar6 + 0x200;\n          local_238 = FUN_0001dc50(local_238,local_23c,1);\n        }\n        memcpy((void *)(local_234 + local_238),pcVar7,sVar8);\n        local_244 = local_230 + 5;\n        local_234 = iVar6;\n        goto LAB_00021c20;\n      }\n      iVar6 = strncasecmp(pcVar7,"pass",4);\n      if (iVar6 == 0) {\n        pcVar7 = (char *)FUN_00018b60(param_3,0x11);\n        sVar8 = strlen(pcVar7);\n        iVar6 = sVar8 + local_234;\n        if (local_23c < iVar6) {\n          local_23c = iVar6 + 0x200;\n          local_238 = FUN_0001dc50(local_238,local_23c,1);\n        }\n        memcpy((void *)(local_234 + local_238),pcVar7,sVar8);\n        local_244 = local_230 + 5;\n        local_234 = iVar6;\n        goto LAB_00021c20;\n      }\n      iVar6 = strncasecmp(pcVar7,"proxyhost",9);\n      if (iVar6 == 0) {\n        pcVar7 = (char *)FUN_00018b60(param_3,0xe);\n        sVar8 = strlen(pcVar7);\n        iVar6 = sVar8 + local_234;\n        if (local_23c < iVar6) {\n          local_23c = iVar6 + 0x200;\n          local_238 = FUN_0001dc50(local_238,local_23c,1);\n        }\n        memcpy((void *)(local_234 + local_238),pcVar7,sVar8);\n        local_244 = local_230 + 10;\n        local_234 = iVar6;\n        goto LAB_00021c20;\n      }\n      iVar6 = strncasecmp(pcVar7,"proxyport",9);\n      if (iVar6 == 0) break;\n      if (local_23c <= local_234) {\n        local_23c = local_234 + 0x201;\n        local_238 = FUN_0001dc50(local_238,local_23c,1);\n      }\n      *(undefined1 *)(local_238 + local_234) = 0x25;\n      local_234 = local_234 + 1;\n      pcVar7 = (char *)(iVar4 + local_244);\n      cVar2 = *pcVar7;\n      iVar6 = local_244;\n      goto joined_r0x00021c28;\n    }\n    FUN_00084190(param_1,local_220,0x200);\n    puVar12 = local_220;\n    do {\n      puVar13 = puVar12;\n      uVar10 = *puVar13 + 0xfefefeff & ~*puVar13;\n      uVar11 = uVar10 & 0x80808080;\n      puVar12 = puVar13 + 1;\n    } while (uVar11 == 0);\n    bVar16 = (uVar10 & 0x8080) == 0;\n    if (bVar16) {\n      uVar11 = uVar11 >> 0x10;\n    }\n    puVar12 = (uint *)((int)puVar13 + 6);\n    if (!bVar16) {\n      puVar12 = puVar13 + 1;\n    }\n    uVar11 = (int)puVar12 + ((-3 - (uint)CARRY1((byte)uVar11,(byte)uVar11)) - (int)local_220);\njoined_r0x000221ae:\n    iVar6 = local_234 + uVar11;\n    if (local_23c < iVar6) {\n      local_23c = iVar6 + 0x200;\n      local_238 = FUN_0001dc50(local_238,local_23c,1);\n    }\n    puVar12 = (uint *)(local_234 + local_238);\n    if (uVar11 < 4) {\n      if (uVar11 != 0) {\n        *(undefined1 *)puVar12 = (undefined1)local_220[0];\n        if ((uVar11 & 2) != 0) {\n          *(undefined2 *)((int)puVar12 + (uVar11 - 2)) = *(undefined2 *)(auStack_227 + uVar11 + 5);\n        }\n      }\n    }\n    else {\n      *puVar12 = local_220[0];\n      *(undefined4 *)((int)puVar12 + (uVar11 - 4)) = *(undefined4 *)(auStack_227 + uVar11 + 3);\n      iVar5 = (int)puVar12 - (int)((uint)(puVar12 + 1) & 0xfffffffc);\n      puVar14 = (undefined4 *)((int)local_220 - iVar5);\n      puVar15 = (undefined4 *)((uint)(puVar12 + 1) & 0xfffffffc);\n      for (uVar11 = uVar11 + iVar5 >> 2; uVar11 != 0; uVar11 = uVar11 - 1) {\n        *puVar15 = *puVar14;\n        puVar14 = puVar14 + (uint)bVar17 * -2 + 1;\n        puVar15 = puVar15 + (uint)bVar17 * -2 + 1;\n      }\n    }\n    local_244 = local_230 + 5;\n    local_234 = iVar6;\n  } while( true );" do (compound_statement "{\n    pcVar7 = (char *)(iVar4 + local_244);\n    cVar2 = *pcVar7;\n    iVar6 = local_244;\njoined_r0x00021c28:\n    if (cVar2 == '\0') {\nLAB_00021e3b:\n      if (local_234 < local_23c) goto LAB_00021e4d;\nLAB_00021eed:\n      local_238 = FUN_0001dc50(local_238,local_234 + 0x201,1);\nLAB_00021e4d:\n      *(undefined1 *)(local_238 + local_234) = 0;\n      if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    /* WARNING: Subroutine does not return */\n        FUN_0008d800();\n      }\n      return;\n    }\n    local_240 = pcVar7;\n    local_230 = iVar6;\n    if (cVar2 != '%') {\n      if (cVar2 != '\\') {\n        do {\n          local_244 = local_230 + 1;\n          cVar2 = *(char *)(iVar4 + local_244);\n          if ((cVar2 == '\0') || (cVar2 == '%')) {\n            if (cVar2 == '\0') goto LAB_00021e99;\n            break;\n          }\n          local_230 = local_244;\n        } while (cVar2 != '\\');\n        local_240 = (char *)(iVar4 + local_244);\n        local_230 = local_244;\n        if (iVar6 != local_244) {\n          iVar5 = (local_234 + local_244) - iVar6;\n          if (local_23c < iVar5) {\n            local_23c = iVar5 + 0x200;\n            local_238 = FUN_0001dc50(local_238,local_23c,1);\n          }\n          memcpy((void *)(local_238 + local_234),pcVar7,local_244 - iVar6);\n          local_234 = local_234 + (local_244 - iVar6);\n          local_230 = local_244;\n        }\n        goto LAB_00021cd4;\n      }\n      local_244 = iVar6 + 1;\n      cVar2 = *(char *)(iVar4 + 1 + iVar6);\n      if (cVar2 != '\0') goto LAB_00021f38;\nLAB_00021e99:\n      if (iVar6 == local_244) goto LAB_00021e3b;\n      iVar5 = (local_234 + local_244) - iVar6;\n      if (local_23c < iVar5) {\n        local_23c = iVar5 + 0x200;\n        local_238 = FUN_0001dc50(local_238,local_23c,1);\n      }\n      memcpy((void *)(local_238 + local_234),(void *)(iVar6 + iVar4),local_244 - iVar6);\n      local_234 = local_234 + (local_244 - iVar6);\n      if (local_234 < local_23c) goto LAB_00021e4d;\n      goto LAB_00021eed;\n    }\nLAB_00021cd4:\n    local_244 = local_230 + 1;\n    pcVar7 = (char *)(iVar4 + local_244);\n    cVar2 = *pcVar7;\n    iVar6 = local_230;\n    if (cVar2 == '\0') goto LAB_00021e99;\n    if (*local_240 == '\\') {\nLAB_00021f38:\n      iVar6 = local_234 + 1;\n      if (cVar2 == 'n') {\n        if (local_23c <= local_234) {\n          local_23c = local_234 + 0x201;\n          local_238 = FUN_0001dc50(local_238,local_23c,1);\n        }\n        *(undefined1 *)(local_238 + local_234) = 10;\n        local_244 = local_230 + 2;\n        local_234 = iVar6;\n        goto LAB_00021c20;\n      }\n      if (cVar2 < 'o') {\n        if (cVar2 == 'X') {\nLAB_000223b0:\n          cVar2 = *(char *)(iVar4 + 1 + local_244);\n          bVar3 = cVar2 - 0x30;\n          if (bVar3 < 10) {\nLAB_000223db:\n            cVar2 = *(char *)(iVar4 + 2 + local_244);\n            bVar1 = cVar2 - 0x30;\n            if (9 < bVar1) {\n              if ((byte)(cVar2 + 0x9fU) < 6) {\n                bVar1 = cVar2 + 0xa9;\n              }\n              else {\n                if (5 < (byte)(cVar2 + 0xbfU)) goto LAB_00022a16;\n                bVar1 = cVar2 - 0x37;\n              }\n            }\n            if (local_23c <= local_234) {\n              local_23c = local_234 + 0x201;\n              local_238 = FUN_0001dc50(local_238,local_23c,1);\n            }\n            *(byte *)(local_238 + local_234) = bVar1 + bVar3 * '\x10';\n            local_244 = local_244 + 3;\n            local_234 = iVar6;\n          }\n          else {\n            if ((byte)(cVar2 + 0x9fU) < 6) {\n              bVar3 = cVar2 + 0xa9;\n              goto LAB_000223db;\n            }\n            if ((byte)(cVar2 + 0xbfU) < 6) {\n              bVar3 = cVar2 - 0x37;\n              goto LAB_000223db;\n            }\nLAB_00022a16:\n            if (local_23c <= local_234) {\n              local_23c = local_234 + 0x201;\n              local_238 = FUN_0001dc50(local_238,local_23c,1);\n            }\n            *(undefined1 *)(local_238 + local_234) = 0x5c;\n            local_234 = iVar6;\n          }\n          goto LAB_00021c20;\n        }\n        if (cVar2 == '\\') {\n          if (local_23c <= local_234) {\n            local_23c = local_234 + 0x201;\n            local_238 = FUN_0001dc50(local_238,local_23c,1);\n          }\n          *(undefined1 *)(local_238 + local_234) = 0x5c;\n          local_244 = local_230 + 2;\n          local_234 = iVar6;\n          goto LAB_00021c20;\n        }\n        if (cVar2 == '%') {\n          if (local_23c <= local_234) {\n            local_23c = local_234 + 0x201;\n            local_238 = FUN_0001dc50(local_238,local_23c,1);\n          }\n          *(undefined1 *)(local_238 + local_234) = 0x25;\n          local_244 = local_230 + 2;\n          local_234 = iVar6;\n          goto LAB_00021c20;\n        }\n      }\n      else {\n        if (cVar2 == 't') {\n          if (local_23c <= local_234) {\n            local_23c = local_234 + 0x201;\n            local_238 = FUN_0001dc50(local_238,local_23c,1);\n          }\n          *(undefined1 *)(local_238 + local_234) = 9;\n          local_244 = local_230 + 2;\n          local_234 = iVar6;\n          goto LAB_00021c20;\n        }\n        if (cVar2 == 'x') goto LAB_000223b0;\n        if (cVar2 == 'r') {\n          if (local_23c <= local_234) {\n            local_23c = local_234 + 0x201;\n            local_238 = FUN_0001dc50(local_238,local_23c,1);\n          }\n          *(undefined1 *)(local_238 + local_234) = 0xd;\n          local_244 = local_230 + 2;\n          local_234 = iVar6;\n          goto LAB_00021c20;\n        }\n      }\n      if (local_23c <= iVar6) {\n        local_23c = local_234 + 0x202;\n        local_238 = FUN_0001dc50(local_238,local_23c,1);\n      }\n      local_244 = local_230 + 2;\n      *(undefined2 *)(local_238 + local_234) = *(undefined2 *)local_240;\n      local_234 = local_234 + 2;\n      goto LAB_00021c20;\n    }\n    if (cVar2 == '%') {\n      if (local_23c <= local_234) {\n        local_23c = local_234 + 0x201;\n        local_238 = FUN_0001dc50(local_238,local_23c,1);\n      }\n      *(undefined1 *)(local_238 + local_234) = 0x25;\n      local_244 = local_230 + 2;\n      local_234 = local_234 + 1;\n      goto LAB_00021c20;\n    }\n    iVar6 = strncasecmp(pcVar7,"host",4);\n    if (iVar6 != 0) {\n      iVar6 = strncasecmp(pcVar7,"port",4);\n      if (iVar6 == 0) {\n        cVar2 = __sprintf_chk(local_220,1,8,&DAT_0008fa68,param_2);\n        uVar11 = (uint)cVar2;\n        goto joined_r0x000221ae;\n      }\n      iVar6 = strncasecmp(pcVar7,"user",4);\n      if (iVar6 == 0) {\n        pcVar7 = (char *)FUN_00018b60(param_3,0x10);\n        sVar8 = strlen(pcVar7);\n        iVar6 = sVar8 + local_234;\n        if (local_23c < iVar6) {\n          local_23c = iVar6 + 0x200;\n          local_238 = FUN_0001dc50(local_238,local_23c,1);\n        }\n        memcpy((void *)(local_234 + local_238),pcVar7,sVar8);\n        local_244 = local_230 + 5;\n        local_234 = iVar6;\n        goto LAB_00021c20;\n      }\n      iVar6 = strncasecmp(pcVar7,"pass",4);\n      if (iVar6 == 0) {\n        pcVar7 = (char *)FUN_00018b60(param_3,0x11);\n        sVar8 = strlen(pcVar7);\n        iVar6 = sVar8 + local_234;\n        if (local_23c < iVar6) {\n          local_23c = iVar6 + 0x200;\n          local_238 = FUN_0001dc50(local_238,local_23c,1);\n        }\n        memcpy((void *)(local_234 + local_238),pcVar7,sVar8);\n        local_244 = local_230 + 5;\n        local_234 = iVar6;\n        goto LAB_00021c20;\n      }\n      iVar6 = strncasecmp(pcVar7,"proxyhost",9);\n      if (iVar6 == 0) {\n        pcVar7 = (char *)FUN_00018b60(param_3,0xe);\n        sVar8 = strlen(pcVar7);\n        iVar6 = sVar8 + local_234;\n        if (local_23c < iVar6) {\n          local_23c = iVar6 + 0x200;\n          local_238 = FUN_0001dc50(local_238,local_23c,1);\n        }\n        memcpy((void *)(local_234 + local_238),pcVar7,sVar8);\n        local_244 = local_230 + 10;\n        local_234 = iVar6;\n        goto LAB_00021c20;\n      }\n      iVar6 = strncasecmp(pcVar7,"proxyport",9);\n      if (iVar6 == 0) break;\n      if (local_23c <= local_234) {\n        local_23c = local_234 + 0x201;\n        local_238 = FUN_0001dc50(local_238,local_23c,1);\n      }\n      *(undefined1 *)(local_238 + local_234) = 0x25;\n      local_234 = local_234 + 1;\n      pcVar7 = (char *)(iVar4 + local_244);\n      cVar2 = *pcVar7;\n      iVar6 = local_244;\n      goto joined_r0x00021c28;\n    }\n    FUN_00084190(param_1,local_220,0x200);\n    puVar12 = local_220;\n    do {\n      puVar13 = puVar12;\n      uVar10 = *puVar13 + 0xfefefeff & ~*puVar13;\n      uVar11 = uVar10 & 0x80808080;\n      puVar12 = puVar13 + 1;\n    } while (uVar11 == 0);\n    bVar16 = (uVar10 & 0x8080) == 0;\n    if (bVar16) {\n      uVar11 = uVar11 >> 0x10;\n    }\n    puVar12 = (uint *)((int)puVar13 + 6);\n    if (!bVar16) {\n      puVar12 = puVar13 + 1;\n    }\n    uVar11 = (int)puVar12 + ((-3 - (uint)CARRY1((byte)uVar11,(byte)uVar11)) - (int)local_220);\njoined_r0x000221ae:\n    iVar6 = local_234 + uVar11;\n    if (local_23c < iVar6) {\n      local_23c = iVar6 + 0x200;\n      local_238 = FUN_0001dc50(local_238,local_23c,1);\n    }\n    puVar12 = (uint *)(local_234 + local_238);\n    if (uVar11 < 4) {\n      if (uVar11 != 0) {\n        *(undefined1 *)puVar12 = (undefined1)local_220[0];\n        if ((uVar11 & 2) != 0) {\n          *(undefined2 *)((int)puVar12 + (uVar11 - 2)) = *(undefined2 *)(auStack_227 + uVar11 + 5);\n        }\n      }\n    }\n    else {\n      *puVar12 = local_220[0];\n      *(undefined4 *)((int)puVar12 + (uVar11 - 4)) = *(undefined4 *)(auStack_227 + uVar11 + 3);\n      iVar5 = (int)puVar12 - (int)((uint)(puVar12 + 1) & 0xfffffffc);\n      puVar14 = (undefined4 *)((int)local_220 - iVar5);\n      puVar15 = (undefined4 *)((uint)(puVar12 + 1) & 0xfffffffc);\n      for (uVar11 = uVar11 + iVar5 >> 2; uVar11 != 0; uVar11 = uVar11 - 1) {\n        *puVar15 = *puVar14;\n        puVar14 = puVar14 + (uint)bVar17 * -2 + 1;\n        puVar15 = puVar15 + (uint)bVar17 * -2 + 1;\n      }\n    }\n    local_244 = local_230 + 5;\n    local_234 = iVar6;\n  }" { (expression_statement "pcVar7 = (char *)(iVar4 + local_244);" (assignment_expression "pcVar7 = (char *)(iVar4 + local_244)" identifier = (cast_expression "(char *)(iVar4 + local_244)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + local_244)" ( (binary_expression "iVar4 + local_244" identifier + identifier) )))) ;) (expression_statement "cVar2 = *pcVar7;" (assignment_expression "cVar2 = *pcVar7" identifier = (pointer_expression "*pcVar7" * identifier)) ;) (expression_statement "iVar6 = local_244;" (assignment_expression "iVar6 = local_244" identifier = identifier) ;) (labeled_statement "joined_r0x00021c28:\n    if (cVar2 == '\0') {\nLAB_00021e3b:\n      if (local_234 < local_23c) goto LAB_00021e4d;\nLAB_00021eed:\n      local_238 = FUN_0001dc50(local_238,local_234 + 0x201,1);\nLAB_00021e4d:\n      *(undefined1 *)(local_238 + local_234) = 0;\n      if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    /* WARNING: Subroutine does not return */\n        FUN_0008d800();\n      }\n      return;\n    }" statement_identifier : (if_statement "if (cVar2 == '\0') {\nLAB_00021e3b:\n      if (local_234 < local_23c) goto LAB_00021e4d;\nLAB_00021eed:\n      local_238 = FUN_0001dc50(local_238,local_234 + 0x201,1);\nLAB_00021e4d:\n      *(undefined1 *)(local_238 + local_234) = 0;\n      if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    /* WARNING: Subroutine does not return */\n        FUN_0008d800();\n      }\n      return;\n    }" if (parenthesized_expression "(cVar2 == '\0')" ( (binary_expression "cVar2 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\nLAB_00021e3b:\n      if (local_234 < local_23c) goto LAB_00021e4d;\nLAB_00021eed:\n      local_238 = FUN_0001dc50(local_238,local_234 + 0x201,1);\nLAB_00021e4d:\n      *(undefined1 *)(local_238 + local_234) = 0;\n      if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    /* WARNING: Subroutine does not return */\n        FUN_0008d800();\n      }\n      return;\n    }" { (labeled_statement "LAB_00021e3b:\n      if (local_234 < local_23c) goto LAB_00021e4d;" statement_identifier : (if_statement "if (local_234 < local_23c) goto LAB_00021e4d;" if (parenthesized_expression "(local_234 < local_23c)" ( (binary_expression "local_234 < local_23c" identifier < identifier) )) (goto_statement "goto LAB_00021e4d;" goto statement_identifier ;))) (labeled_statement "LAB_00021eed:\n      local_238 = FUN_0001dc50(local_238,local_234 + 0x201,1);" statement_identifier : (expression_statement "local_238 = FUN_0001dc50(local_238,local_234 + 0x201,1);" (assignment_expression "local_238 = FUN_0001dc50(local_238,local_234 + 0x201,1)" identifier = (call_expression "FUN_0001dc50(local_238,local_234 + 0x201,1)" identifier (argument_list "(local_238,local_234 + 0x201,1)" ( identifier , (binary_expression "local_234 + 0x201" identifier + number_literal) , number_literal )))) ;)) (labeled_statement "LAB_00021e4d:\n      *(undefined1 *)(local_238 + local_234) = 0;" statement_identifier : (expression_statement "*(undefined1 *)(local_238 + local_234) = 0;" (assignment_expression "*(undefined1 *)(local_238 + local_234) = 0" (pointer_expression "*(undefined1 *)(local_238 + local_234)" * (cast_expression "(undefined1 *)(local_238 + local_234)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_238 + local_234)" ( (binary_expression "local_238 + local_234" identifier + identifier) )))) = number_literal) ;)) (if_statement "if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    /* WARNING: Subroutine does not return */\n        FUN_0008d800();\n      }" if (parenthesized_expression "(local_20 != *(int *)(in_GS_OFFSET + 0x14))" ( (binary_expression "local_20 != *(int *)(in_GS_OFFSET + 0x14)" identifier != (pointer_expression "*(int *)(in_GS_OFFSET + 0x14)" * (cast_expression "(int *)(in_GS_OFFSET + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_GS_OFFSET + 0x14)" ( (binary_expression "in_GS_OFFSET + 0x14" identifier + number_literal) ))))) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n        FUN_0008d800();\n      }" { comment (expression_statement "FUN_0008d800();" (call_expression "FUN_0008d800()" identifier (argument_list "()" ( ))) ;) })) (return_statement "return;" return ;) }))) (expression_statement "local_240 = pcVar7;" (assignment_expression "local_240 = pcVar7" identifier = identifier) ;) (expression_statement "local_230 = iVar6;" (assignment_expression "local_230 = iVar6" identifier = identifier) ;) (if_statement "if (cVar2 != '%') {\n      if (cVar2 != '\\') {\n        do {\n          local_244 = local_230 + 1;\n          cVar2 = *(char *)(iVar4 + local_244);\n          if ((cVar2 == '\0') || (cVar2 == '%')) {\n            if (cVar2 == '\0') goto LAB_00021e99;\n            break;\n          }\n          local_230 = local_244;\n        } while (cVar2 != '\\');\n        local_240 = (char *)(iVar4 + local_244);\n        local_230 = local_244;\n        if (iVar6 != local_244) {\n          iVar5 = (local_234 + local_244) - iVar6;\n          if (local_23c < iVar5) {\n            local_23c = iVar5 + 0x200;\n            local_238 = FUN_0001dc50(local_238,local_23c,1);\n          }\n          memcpy((void *)(local_238 + local_234),pcVar7,local_244 - iVar6);\n          local_234 = local_234 + (local_244 - iVar6);\n          local_230 = local_244;\n        }\n        goto LAB_00021cd4;\n      }\n      local_244 = iVar6 + 1;\n      cVar2 = *(char *)(iVar4 + 1 + iVar6);\n      if (cVar2 != '\0') goto LAB_00021f38;\nLAB_00021e99:\n      if (iVar6 == local_244) goto LAB_00021e3b;\n      iVar5 = (local_234 + local_244) - iVar6;\n      if (local_23c < iVar5) {\n        local_23c = iVar5 + 0x200;\n        local_238 = FUN_0001dc50(local_238,local_23c,1);\n      }\n      memcpy((void *)(local_238 + local_234),(void *)(iVar6 + iVar4),local_244 - iVar6);\n      local_234 = local_234 + (local_244 - iVar6);\n      if (local_234 < local_23c) goto LAB_00021e4d;\n      goto LAB_00021eed;\n    }" if (parenthesized_expression "(cVar2 != '%')" ( (binary_expression "cVar2 != '%'" identifier != (char_literal "'%'" ' character ')) )) (compound_statement "{\n      if (cVar2 != '\\') {\n        do {\n          local_244 = local_230 + 1;\n          cVar2 = *(char *)(iVar4 + local_244);\n          if ((cVar2 == '\0') || (cVar2 == '%')) {\n            if (cVar2 == '\0') goto LAB_00021e99;\n            break;\n          }\n          local_230 = local_244;\n        } while (cVar2 != '\\');\n        local_240 = (char *)(iVar4 + local_244);\n        local_230 = local_244;\n        if (iVar6 != local_244) {\n          iVar5 = (local_234 + local_244) - iVar6;\n          if (local_23c < iVar5) {\n            local_23c = iVar5 + 0x200;\n            local_238 = FUN_0001dc50(local_238,local_23c,1);\n          }\n          memcpy((void *)(local_238 + local_234),pcVar7,local_244 - iVar6);\n          local_234 = local_234 + (local_244 - iVar6);\n          local_230 = local_244;\n        }\n        goto LAB_00021cd4;\n      }\n      local_244 = iVar6 + 1;\n      cVar2 = *(char *)(iVar4 + 1 + iVar6);\n      if (cVar2 != '\0') goto LAB_00021f38;\nLAB_00021e99:\n      if (iVar6 == local_244) goto LAB_00021e3b;\n      iVar5 = (local_234 + local_244) - iVar6;\n      if (local_23c < iVar5) {\n        local_23c = iVar5 + 0x200;\n        local_238 = FUN_0001dc50(local_238,local_23c,1);\n      }\n      memcpy((void *)(local_238 + local_234),(void *)(iVar6 + iVar4),local_244 - iVar6);\n      local_234 = local_234 + (local_244 - iVar6);\n      if (local_234 < local_23c) goto LAB_00021e4d;\n      goto LAB_00021eed;\n    }" { (if_statement "if (cVar2 != '\\') {\n        do {\n          local_244 = local_230 + 1;\n          cVar2 = *(char *)(iVar4 + local_244);\n          if ((cVar2 == '\0') || (cVar2 == '%')) {\n            if (cVar2 == '\0') goto LAB_00021e99;\n            break;\n          }\n          local_230 = local_244;\n        } while (cVar2 != '\\');\n        local_240 = (char *)(iVar4 + local_244);\n        local_230 = local_244;\n        if (iVar6 != local_244) {\n          iVar5 = (local_234 + local_244) - iVar6;\n          if (local_23c < iVar5) {\n            local_23c = iVar5 + 0x200;\n            local_238 = FUN_0001dc50(local_238,local_23c,1);\n          }\n          memcpy((void *)(local_238 + local_234),pcVar7,local_244 - iVar6);\n          local_234 = local_234 + (local_244 - iVar6);\n          local_230 = local_244;\n        }\n        goto LAB_00021cd4;\n      }" if (parenthesized_expression "(cVar2 != '\\')" ( (binary_expression "cVar2 != '\\'" identifier != (char_literal "'\\'" ' escape_sequence ')) )) (compound_statement "{\n        do {\n          local_244 = local_230 + 1;\n          cVar2 = *(char *)(iVar4 + local_244);\n          if ((cVar2 == '\0') || (cVar2 == '%')) {\n            if (cVar2 == '\0') goto LAB_00021e99;\n            break;\n          }\n          local_230 = local_244;\n        } while (cVar2 != '\\');\n        local_240 = (char *)(iVar4 + local_244);\n        local_230 = local_244;\n        if (iVar6 != local_244) {\n          iVar5 = (local_234 + local_244) - iVar6;\n          if (local_23c < iVar5) {\n            local_23c = iVar5 + 0x200;\n            local_238 = FUN_0001dc50(local_238,local_23c,1);\n          }\n          memcpy((void *)(local_238 + local_234),pcVar7,local_244 - iVar6);\n          local_234 = local_234 + (local_244 - iVar6);\n          local_230 = local_244;\n        }\n        goto LAB_00021cd4;\n      }" { (do_statement "do {\n          local_244 = local_230 + 1;\n          cVar2 = *(char *)(iVar4 + local_244);\n          if ((cVar2 == '\0') || (cVar2 == '%')) {\n            if (cVar2 == '\0') goto LAB_00021e99;\n            break;\n          }\n          local_230 = local_244;\n        } while (cVar2 != '\\');" do (compound_statement "{\n          local_244 = local_230 + 1;\n          cVar2 = *(char *)(iVar4 + local_244);\n          if ((cVar2 == '\0') || (cVar2 == '%')) {\n            if (cVar2 == '\0') goto LAB_00021e99;\n            break;\n          }\n          local_230 = local_244;\n        }" { (expression_statement "local_244 = local_230 + 1;" (assignment_expression "local_244 = local_230 + 1" identifier = (binary_expression "local_230 + 1" identifier + number_literal)) ;) (expression_statement "cVar2 = *(char *)(iVar4 + local_244);" (assignment_expression "cVar2 = *(char *)(iVar4 + local_244)" identifier = (pointer_expression "*(char *)(iVar4 + local_244)" * (cast_expression "(char *)(iVar4 + local_244)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + local_244)" ( (binary_expression "iVar4 + local_244" identifier + identifier) ))))) ;) (if_statement "if ((cVar2 == '\0') || (cVar2 == '%')) {\n            if (cVar2 == '\0') goto LAB_00021e99;\n            break;\n          }" if (parenthesized_expression "((cVar2 == '\0') || (cVar2 == '%'))" ( (binary_expression "(cVar2 == '\0') || (cVar2 == '%')" (parenthesized_expression "(cVar2 == '\0')" ( (binary_expression "cVar2 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) || (parenthesized_expression "(cVar2 == '%')" ( (binary_expression "cVar2 == '%'" identifier == (char_literal "'%'" ' character ')) ))) )) (compound_statement "{\n            if (cVar2 == '\0') goto LAB_00021e99;\n            break;\n          }" { (if_statement "if (cVar2 == '\0') goto LAB_00021e99;" if (parenthesized_expression "(cVar2 == '\0')" ( (binary_expression "cVar2 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_00021e99;" goto statement_identifier ;)) (break_statement "break;" break ;) })) (expression_statement "local_230 = local_244;" (assignment_expression "local_230 = local_244" identifier = identifier) ;) }) while (parenthesized_expression "(cVar2 != '\\')" ( (binary_expression "cVar2 != '\\'" identifier != (char_literal "'\\'" ' escape_sequence ')) )) ;) (expression_statement "local_240 = (char *)(iVar4 + local_244);" (assignment_expression "local_240 = (char *)(iVar4 + local_244)" identifier = (cast_expression "(char *)(iVar4 + local_244)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + local_244)" ( (binary_expression "iVar4 + local_244" identifier + identifier) )))) ;) (expression_statement "local_230 = local_244;" (assignment_expression "local_230 = local_244" identifier = identifier) ;) (if_statement "if (iVar6 != local_244) {\n          iVar5 = (local_234 + local_244) - iVar6;\n          if (local_23c < iVar5) {\n            local_23c = iVar5 + 0x200;\n            local_238 = FUN_0001dc50(local_238,local_23c,1);\n          }\n          memcpy((void *)(local_238 + local_234),pcVar7,local_244 - iVar6);\n          local_234 = local_234 + (local_244 - iVar6);\n          local_230 = local_244;\n        }" if (parenthesized_expression "(iVar6 != local_244)" ( (binary_expression "iVar6 != local_244" identifier != identifier) )) (compound_statement "{\n          iVar5 = (local_234 + local_244) - iVar6;\n          if (local_23c < iVar5) {\n            local_23c = iVar5 + 0x200;\n            local_238 = FUN_0001dc50(local_238,local_23c,1);\n          }\n          memcpy((void *)(local_238 + local_234),pcVar7,local_244 - iVar6);\n          local_234 = local_234 + (local_244 - iVar6);\n          local_230 = local_244;\n        }" { (expression_statement "iVar5 = (local_234 + local_244) - iVar6;" (assignment_expression "iVar5 = (local_234 + local_244) - iVar6" identifier = (binary_expression "(local_234 + local_244) - iVar6" (parenthesized_expression "(local_234 + local_244)" ( (binary_expression "local_234 + local_244" identifier + identifier) )) - identifier)) ;) (if_statement "if (local_23c < iVar5) {\n            local_23c = iVar5 + 0x200;\n            local_238 = FUN_0001dc50(local_238,local_23c,1);\n          }" if (parenthesized_expression "(local_23c < iVar5)" ( (binary_expression "local_23c < iVar5" identifier < identifier) )) (compound_statement "{\n            local_23c = iVar5 + 0x200;\n            local_238 = FUN_0001dc50(local_238,local_23c,1);\n          }" { (expression_statement "local_23c = iVar5 + 0x200;" (assignment_expression "local_23c = iVar5 + 0x200" identifier = (binary_expression "iVar5 + 0x200" identifier + number_literal)) ;) (expression_statement "local_238 = FUN_0001dc50(local_238,local_23c,1);" (assignment_expression "local_238 = FUN_0001dc50(local_238,local_23c,1)" identifier = (call_expression "FUN_0001dc50(local_238,local_23c,1)" identifier (argument_list "(local_238,local_23c,1)" ( identifier , identifier , number_literal )))) ;) })) (expression_statement "memcpy((void *)(local_238 + local_234),pcVar7,local_244 - iVar6);" (call_expression "memcpy((void *)(local_238 + local_234),pcVar7,local_244 - iVar6)" identifier (argument_list "((void *)(local_238 + local_234),pcVar7,local_244 - iVar6)" ( (cast_expression "(void *)(local_238 + local_234)" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_238 + local_234)" ( (binary_expression "local_238 + local_234" identifier + identifier) ))) , identifier , (binary_expression "local_244 - iVar6" identifier - identifier) ))) ;) (expression_statement "local_234 = local_234 + (local_244 - iVar6);" (assignment_expression "local_234 = local_234 + (local_244 - iVar6)" identifier = (binary_expression "local_234 + (local_244 - iVar6)" identifier + (parenthesized_expression "(local_244 - iVar6)" ( (binary_expression "local_244 - iVar6" identifier - identifier) )))) ;) (expression_statement "local_230 = local_244;" (assignment_expression "local_230 = local_244" identifier = identifier) ;) })) (goto_statement "goto LAB_00021cd4;" goto statement_identifier ;) })) (expression_statement "local_244 = iVar6 + 1;" (assignment_expression "local_244 = iVar6 + 1" identifier = (binary_expression "iVar6 + 1" identifier + number_literal)) ;) (expression_statement "cVar2 = *(char *)(iVar4 + 1 + iVar6);" (assignment_expression "cVar2 = *(char *)(iVar4 + 1 + iVar6)" identifier = (pointer_expression "*(char *)(iVar4 + 1 + iVar6)" * (cast_expression "(char *)(iVar4 + 1 + iVar6)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 1 + iVar6)" ( (binary_expression "iVar4 + 1 + iVar6" (binary_expression "iVar4 + 1" identifier + number_literal) + identifier) ))))) ;) (if_statement "if (cVar2 != '\0') goto LAB_00021f38;" if (parenthesized_expression "(cVar2 != '\0')" ( (binary_expression "cVar2 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_00021f38;" goto statement_identifier ;)) (labeled_statement "LAB_00021e99:\n      if (iVar6 == local_244) goto LAB_00021e3b;" statement_identifier : (if_statement "if (iVar6 == local_244) goto LAB_00021e3b;" if (parenthesized_expression "(iVar6 == local_244)" ( (binary_expression "iVar6 == local_244" identifier == identifier) )) (goto_statement "goto LAB_00021e3b;" goto statement_identifier ;))) (expression_statement "iVar5 = (local_234 + local_244) - iVar6;" (assignment_expression "iVar5 = (local_234 + local_244) - iVar6" identifier = (binary_expression "(local_234 + local_244) - iVar6" (parenthesized_expression "(local_234 + local_244)" ( (binary_expression "local_234 + local_244" identifier + identifier) )) - identifier)) ;) (if_statement "if (local_23c < iVar5) {\n        local_23c = iVar5 + 0x200;\n        local_238 = FUN_0001dc50(local_238,local_23c,1);\n      }" if (parenthesized_expression "(local_23c < iVar5)" ( (binary_expression "local_23c < iVar5" identifier < identifier) )) (compound_statement "{\n        local_23c = iVar5 + 0x200;\n        local_238 = FUN_0001dc50(local_238,local_23c,1);\n      }" { (expression_statement "local_23c = iVar5 + 0x200;" (assignment_expression "local_23c = iVar5 + 0x200" identifier = (binary_expression "iVar5 + 0x200" identifier + number_literal)) ;) (expression_statement "local_238 = FUN_0001dc50(local_238,local_23c,1);" (assignment_expression "local_238 = FUN_0001dc50(local_238,local_23c,1)" identifier = (call_expression "FUN_0001dc50(local_238,local_23c,1)" identifier (argument_list "(local_238,local_23c,1)" ( identifier , identifier , number_literal )))) ;) })) (expression_statement "memcpy((void *)(local_238 + local_234),(void *)(iVar6 + iVar4),local_244 - iVar6);" (call_expression "memcpy((void *)(local_238 + local_234),(void *)(iVar6 + iVar4),local_244 - iVar6)" identifier (argument_list "((void *)(local_238 + local_234),(void *)(iVar6 + iVar4),local_244 - iVar6)" ( (cast_expression "(void *)(local_238 + local_234)" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_238 + local_234)" ( (binary_expression "local_238 + local_234" identifier + identifier) ))) , (cast_expression "(void *)(iVar6 + iVar4)" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + iVar4)" ( (binary_expression "iVar6 + iVar4" identifier + identifier) ))) , (binary_expression "local_244 - iVar6" identifier - identifier) ))) ;) (expression_statement "local_234 = local_234 + (local_244 - iVar6);" (assignment_expression "local_234 = local_234 + (local_244 - iVar6)" identifier = (binary_expression "local_234 + (local_244 - iVar6)" identifier + (parenthesized_expression "(local_244 - iVar6)" ( (binary_expression "local_244 - iVar6" identifier - identifier) )))) ;) (if_statement "if (local_234 < local_23c) goto LAB_00021e4d;" if (parenthesized_expression "(local_234 < local_23c)" ( (binary_expression "local_234 < local_23c" identifier < identifier) )) (goto_statement "goto LAB_00021e4d;" goto statement_identifier ;)) (goto_statement "goto LAB_00021eed;" goto statement_identifier ;) })) (labeled_statement "LAB_00021cd4:\n    local_244 = local_230 + 1;" statement_identifier : (expression_statement "local_244 = local_230 + 1;" (assignment_expression "local_244 = local_230 + 1" identifier = (binary_expression "local_230 + 1" identifier + number_literal)) ;)) (expression_statement "pcVar7 = (char *)(iVar4 + local_244);" (assignment_expression "pcVar7 = (char *)(iVar4 + local_244)" identifier = (cast_expression "(char *)(iVar4 + local_244)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + local_244)" ( (binary_expression "iVar4 + local_244" identifier + identifier) )))) ;) (expression_statement "cVar2 = *pcVar7;" (assignment_expression "cVar2 = *pcVar7" identifier = (pointer_expression "*pcVar7" * identifier)) ;) (expression_statement "iVar6 = local_230;" (assignment_expression "iVar6 = local_230" identifier = identifier) ;) (if_statement "if (cVar2 == '\0') goto LAB_00021e99;" if (parenthesized_expression "(cVar2 == '\0')" ( (binary_expression "cVar2 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_00021e99;" goto statement_identifier ;)) (if_statement "if (*local_240 == '\\') {\nLAB_00021f38:\n      iVar6 = local_234 + 1;\n      if (cVar2 == 'n') {\n        if (local_23c <= local_234) {\n          local_23c = local_234 + 0x201;\n          local_238 = FUN_0001dc50(local_238,local_23c,1);\n        }\n        *(undefined1 *)(local_238 + local_234) = 10;\n        local_244 = local_230 + 2;\n        local_234 = iVar6;\n        goto LAB_00021c20;\n      }\n      if (cVar2 < 'o') {\n        if (cVar2 == 'X') {\nLAB_000223b0:\n          cVar2 = *(char *)(iVar4 + 1 + local_244);\n          bVar3 = cVar2 - 0x30;\n          if (bVar3 < 10) {\nLAB_000223db:\n            cVar2 = *(char *)(iVar4 + 2 + local_244);\n            bVar1 = cVar2 - 0x30;\n            if (9 < bVar1) {\n              if ((byte)(cVar2 + 0x9fU) < 6) {\n                bVar1 = cVar2 + 0xa9;\n              }\n              else {\n                if (5 < (byte)(cVar2 + 0xbfU)) goto LAB_00022a16;\n                bVar1 = cVar2 - 0x37;\n              }\n            }\n            if (local_23c <= local_234) {\n              local_23c = local_234 + 0x201;\n              local_238 = FUN_0001dc50(local_238,local_23c,1);\n            }\n            *(byte *)(local_238 + local_234) = bVar1 + bVar3 * '\x10';\n            local_244 = local_244 + 3;\n            local_234 = iVar6;\n          }\n          else {\n            if ((byte)(cVar2 + 0x9fU) < 6) {\n              bVar3 = cVar2 + 0xa9;\n              goto LAB_000223db;\n            }\n            if ((byte)(cVar2 + 0xbfU) < 6) {\n              bVar3 = cVar2 - 0x37;\n              goto LAB_000223db;\n            }\nLAB_00022a16:\n            if (local_23c <= local_234) {\n              local_23c = local_234 + 0x201;\n              local_238 = FUN_0001dc50(local_238,local_23c,1);\n            }\n            *(undefined1 *)(local_238 + local_234) = 0x5c;\n            local_234 = iVar6;\n          }\n          goto LAB_00021c20;\n        }\n        if (cVar2 == '\\') {\n          if (local_23c <= local_234) {\n            local_23c = local_234 + 0x201;\n            local_238 = FUN_0001dc50(local_238,local_23c,1);\n          }\n          *(undefined1 *)(local_238 + local_234) = 0x5c;\n          local_244 = local_230 + 2;\n          local_234 = iVar6;\n          goto LAB_00021c20;\n        }\n        if (cVar2 == '%') {\n          if (local_23c <= local_234) {\n            local_23c = local_234 + 0x201;\n            local_238 = FUN_0001dc50(local_238,local_23c,1);\n          }\n          *(undefined1 *)(local_238 + local_234) = 0x25;\n          local_244 = local_230 + 2;\n          local_234 = iVar6;\n          goto LAB_00021c20;\n        }\n      }\n      else {\n        if (cVar2 == 't') {\n          if (local_23c <= local_234) {\n            local_23c = local_234 + 0x201;\n            local_238 = FUN_0001dc50(local_238,local_23c,1);\n          }\n          *(undefined1 *)(local_238 + local_234) = 9;\n          local_244 = local_230 + 2;\n          local_234 = iVar6;\n          goto LAB_00021c20;\n        }\n        if (cVar2 == 'x') goto LAB_000223b0;\n        if (cVar2 == 'r') {\n          if (local_23c <= local_234) {\n            local_23c = local_234 + 0x201;\n            local_238 = FUN_0001dc50(local_238,local_23c,1);\n          }\n          *(undefined1 *)(local_238 + local_234) = 0xd;\n          local_244 = local_230 + 2;\n          local_234 = iVar6;\n          goto LAB_00021c20;\n        }\n      }\n      if (local_23c <= iVar6) {\n        local_23c = local_234 + 0x202;\n        local_238 = FUN_0001dc50(local_238,local_23c,1);\n      }\n      local_244 = local_230 + 2;\n      *(undefined2 *)(local_238 + local_234) = *(undefined2 *)local_240;\n      local_234 = local_234 + 2;\n      goto LAB_00021c20;\n    }" if (parenthesized_expression "(*local_240 == '\\')" ( (binary_expression "*local_240 == '\\'" (pointer_expression "*local_240" * identifier) == (char_literal "'\\'" ' escape_sequence ')) )) (compound_statement "{\nLAB_00021f38:\n      iVar6 = local_234 + 1;\n      if (cVar2 == 'n') {\n        if (local_23c <= local_234) {\n          local_23c = local_234 + 0x201;\n          local_238 = FUN_0001dc50(local_238,local_23c,1);\n        }\n        *(undefined1 *)(local_238 + local_234) = 10;\n        local_244 = local_230 + 2;\n        local_234 = iVar6;\n        goto LAB_00021c20;\n      }\n      if (cVar2 < 'o') {\n        if (cVar2 == 'X') {\nLAB_000223b0:\n          cVar2 = *(char *)(iVar4 + 1 + local_244);\n          bVar3 = cVar2 - 0x30;\n          if (bVar3 < 10) {\nLAB_000223db:\n            cVar2 = *(char *)(iVar4 + 2 + local_244);\n            bVar1 = cVar2 - 0x30;\n            if (9 < bVar1) {\n              if ((byte)(cVar2 + 0x9fU) < 6) {\n                bVar1 = cVar2 + 0xa9;\n              }\n              else {\n                if (5 < (byte)(cVar2 + 0xbfU)) goto LAB_00022a16;\n                bVar1 = cVar2 - 0x37;\n              }\n            }\n            if (local_23c <= local_234) {\n              local_23c = local_234 + 0x201;\n              local_238 = FUN_0001dc50(local_238,local_23c,1);\n            }\n            *(byte *)(local_238 + local_234) = bVar1 + bVar3 * '\x10';\n            local_244 = local_244 + 3;\n            local_234 = iVar6;\n          }\n          else {\n            if ((byte)(cVar2 + 0x9fU) < 6) {\n              bVar3 = cVar2 + 0xa9;\n              goto LAB_000223db;\n            }\n            if ((byte)(cVar2 + 0xbfU) < 6) {\n              bVar3 = cVar2 - 0x37;\n              goto LAB_000223db;\n            }\nLAB_00022a16:\n            if (local_23c <= local_234) {\n              local_23c = local_234 + 0x201;\n              local_238 = FUN_0001dc50(local_238,local_23c,1);\n            }\n            *(undefined1 *)(local_238 + local_234) = 0x5c;\n            local_234 = iVar6;\n          }\n          goto LAB_00021c20;\n        }\n        if (cVar2 == '\\') {\n          if (local_23c <= local_234) {\n            local_23c = local_234 + 0x201;\n            local_238 = FUN_0001dc50(local_238,local_23c,1);\n          }\n          *(undefined1 *)(local_238 + local_234) = 0x5c;\n          local_244 = local_230 + 2;\n          local_234 = iVar6;\n          goto LAB_00021c20;\n        }\n        if (cVar2 == '%') {\n          if (local_23c <= local_234) {\n            local_23c = local_234 + 0x201;\n            local_238 = FUN_0001dc50(local_238,local_23c,1);\n          }\n          *(undefined1 *)(local_238 + local_234) = 0x25;\n          local_244 = local_230 + 2;\n          local_234 = iVar6;\n          goto LAB_00021c20;\n        }\n      }\n      else {\n        if (cVar2 == 't') {\n          if (local_23c <= local_234) {\n            local_23c = local_234 + 0x201;\n            local_238 = FUN_0001dc50(local_238,local_23c,1);\n          }\n          *(undefined1 *)(local_238 + local_234) = 9;\n          local_244 = local_230 + 2;\n          local_234 = iVar6;\n          goto LAB_00021c20;\n        }\n        if (cVar2 == 'x') goto LAB_000223b0;\n        if (cVar2 == 'r') {\n          if (local_23c <= local_234) {\n            local_23c = local_234 + 0x201;\n            local_238 = FUN_0001dc50(local_238,local_23c,1);\n          }\n          *(undefined1 *)(local_238 + local_234) = 0xd;\n          local_244 = local_230 + 2;\n          local_234 = iVar6;\n          goto LAB_00021c20;\n        }\n      }\n      if (local_23c <= iVar6) {\n        local_23c = local_234 + 0x202;\n        local_238 = FUN_0001dc50(local_238,local_23c,1);\n      }\n      local_244 = local_230 + 2;\n      *(undefined2 *)(local_238 + local_234) = *(undefined2 *)local_240;\n      local_234 = local_234 + 2;\n      goto LAB_00021c20;\n    }" { (labeled_statement "LAB_00021f38:\n      iVar6 = local_234 + 1;" statement_identifier : (expression_statement "iVar6 = local_234 + 1;" (assignment_expression "iVar6 = local_234 + 1" identifier = (binary_expression "local_234 + 1" identifier + number_literal)) ;)) (if_statement "if (cVar2 == 'n') {\n        if (local_23c <= local_234) {\n          local_23c = local_234 + 0x201;\n          local_238 = FUN_0001dc50(local_238,local_23c,1);\n        }\n        *(undefined1 *)(local_238 + local_234) = 10;\n        local_244 = local_230 + 2;\n        local_234 = iVar6;\n        goto LAB_00021c20;\n      }" if (parenthesized_expression "(cVar2 == 'n')" ( (binary_expression "cVar2 == 'n'" identifier == (char_literal "'n'" ' character ')) )) (compound_statement "{\n        if (local_23c <= local_234) {\n          local_23c = local_234 + 0x201;\n          local_238 = FUN_0001dc50(local_238,local_23c,1);\n        }\n        *(undefined1 *)(local_238 + local_234) = 10;\n        local_244 = local_230 + 2;\n        local_234 = iVar6;\n        goto LAB_00021c20;\n      }" { (if_statement "if (local_23c <= local_234) {\n          local_23c = local_234 + 0x201;\n          local_238 = FUN_0001dc50(local_238,local_23c,1);\n        }" if (parenthesized_expression "(local_23c <= local_234)" ( (binary_expression "local_23c <= local_234" identifier <= identifier) )) (compound_statement "{\n          local_23c = local_234 + 0x201;\n          local_238 = FUN_0001dc50(local_238,local_23c,1);\n        }" { (expression_statement "local_23c = local_234 + 0x201;" (assignment_expression "local_23c = local_234 + 0x201" identifier = (binary_expression "local_234 + 0x201" identifier + number_literal)) ;) (expression_statement "local_238 = FUN_0001dc50(local_238,local_23c,1);" (assignment_expression "local_238 = FUN_0001dc50(local_238,local_23c,1)" identifier = (call_expression "FUN_0001dc50(local_238,local_23c,1)" identifier (argument_list "(local_238,local_23c,1)" ( identifier , identifier , number_literal )))) ;) })) (expression_statement "*(undefined1 *)(local_238 + local_234) = 10;" (assignment_expression "*(undefined1 *)(local_238 + local_234) = 10" (pointer_expression "*(undefined1 *)(local_238 + local_234)" * (cast_expression "(undefined1 *)(local_238 + local_234)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_238 + local_234)" ( (binary_expression "local_238 + local_234" identifier + identifier) )))) = number_literal) ;) (expression_statement "local_244 = local_230 + 2;" (assignment_expression "local_244 = local_230 + 2" identifier = (binary_expression "local_230 + 2" identifier + number_literal)) ;) (expression_statement "local_234 = iVar6;" (assignment_expression "local_234 = iVar6" identifier = identifier) ;) (goto_statement "goto LAB_00021c20;" goto statement_identifier ;) })) (if_statement "if (cVar2 < 'o') {\n        if (cVar2 == 'X') {\nLAB_000223b0:\n          cVar2 = *(char *)(iVar4 + 1 + local_244);\n          bVar3 = cVar2 - 0x30;\n          if (bVar3 < 10) {\nLAB_000223db:\n            cVar2 = *(char *)(iVar4 + 2 + local_244);\n            bVar1 = cVar2 - 0x30;\n            if (9 < bVar1) {\n              if ((byte)(cVar2 + 0x9fU) < 6) {\n                bVar1 = cVar2 + 0xa9;\n              }\n              else {\n                if (5 < (byte)(cVar2 + 0xbfU)) goto LAB_00022a16;\n                bVar1 = cVar2 - 0x37;\n              }\n            }\n            if (local_23c <= local_234) {\n              local_23c = local_234 + 0x201;\n              local_238 = FUN_0001dc50(local_238,local_23c,1);\n            }\n            *(byte *)(local_238 + local_234) = bVar1 + bVar3 * '\x10';\n            local_244 = local_244 + 3;\n            local_234 = iVar6;\n          }\n          else {\n            if ((byte)(cVar2 + 0x9fU) < 6) {\n              bVar3 = cVar2 + 0xa9;\n              goto LAB_000223db;\n            }\n            if ((byte)(cVar2 + 0xbfU) < 6) {\n              bVar3 = cVar2 - 0x37;\n              goto LAB_000223db;\n            }\nLAB_00022a16:\n            if (local_23c <= local_234) {\n              local_23c = local_234 + 0x201;\n              local_238 = FUN_0001dc50(local_238,local_23c,1);\n            }\n            *(undefined1 *)(local_238 + local_234) = 0x5c;\n            local_234 = iVar6;\n          }\n          goto LAB_00021c20;\n        }\n        if (cVar2 == '\\') {\n          if (local_23c <= local_234) {\n            local_23c = local_234 + 0x201;\n            local_238 = FUN_0001dc50(local_238,local_23c,1);\n          }\n          *(undefined1 *)(local_238 + local_234) = 0x5c;\n          local_244 = local_230 + 2;\n          local_234 = iVar6;\n          goto LAB_00021c20;\n        }\n        if (cVar2 == '%') {\n          if (local_23c <= local_234) {\n            local_23c = local_234 + 0x201;\n            local_238 = FUN_0001dc50(local_238,local_23c,1);\n          }\n          *(undefined1 *)(local_238 + local_234) = 0x25;\n          local_244 = local_230 + 2;\n          local_234 = iVar6;\n          goto LAB_00021c20;\n        }\n      }\n      else {\n        if (cVar2 == 't') {\n          if (local_23c <= local_234) {\n            local_23c = local_234 + 0x201;\n            local_238 = FUN_0001dc50(local_238,local_23c,1);\n          }\n          *(undefined1 *)(local_238 + local_234) = 9;\n          local_244 = local_230 + 2;\n          local_234 = iVar6;\n          goto LAB_00021c20;\n        }\n        if (cVar2 == 'x') goto LAB_000223b0;\n        if (cVar2 == 'r') {\n          if (local_23c <= local_234) {\n            local_23c = local_234 + 0x201;\n            local_238 = FUN_0001dc50(local_238,local_23c,1);\n          }\n          *(undefined1 *)(local_238 + local_234) = 0xd;\n          local_244 = local_230 + 2;\n          local_234 = iVar6;\n          goto LAB_00021c20;\n        }\n      }" if (parenthesized_expression "(cVar2 < 'o')" ( (binary_expression "cVar2 < 'o'" identifier < (char_literal "'o'" ' character ')) )) (compound_statement "{\n        if (cVar2 == 'X') {\nLAB_000223b0:\n          cVar2 = *(char *)(iVar4 + 1 + local_244);\n          bVar3 = cVar2 - 0x30;\n          if (bVar3 < 10) {\nLAB_000223db:\n            cVar2 = *(char *)(iVar4 + 2 + local_244);\n            bVar1 = cVar2 - 0x30;\n            if (9 < bVar1) {\n              if ((byte)(cVar2 + 0x9fU) < 6) {\n                bVar1 = cVar2 + 0xa9;\n              }\n              else {\n                if (5 < (byte)(cVar2 + 0xbfU)) goto LAB_00022a16;\n                bVar1 = cVar2 - 0x37;\n              }\n            }\n            if (local_23c <= local_234) {\n              local_23c = local_234 + 0x201;\n              local_238 = FUN_0001dc50(local_238,local_23c,1);\n            }\n            *(byte *)(local_238 + local_234) = bVar1 + bVar3 * '\x10';\n            local_244 = local_244 + 3;\n            local_234 = iVar6;\n          }\n          else {\n            if ((byte)(cVar2 + 0x9fU) < 6) {\n              bVar3 = cVar2 + 0xa9;\n              goto LAB_000223db;\n            }\n            if ((byte)(cVar2 + 0xbfU) < 6) {\n              bVar3 = cVar2 - 0x37;\n              goto LAB_000223db;\n            }\nLAB_00022a16:\n            if (local_23c <= local_234) {\n              local_23c = local_234 + 0x201;\n              local_238 = FUN_0001dc50(local_238,local_23c,1);\n            }\n            *(undefined1 *)(local_238 + local_234) = 0x5c;\n            local_234 = iVar6;\n          }\n          goto LAB_00021c20;\n        }\n        if (cVar2 == '\\') {\n          if (local_23c <= local_234) {\n            local_23c = local_234 + 0x201;\n            local_238 = FUN_0001dc50(local_238,local_23c,1);\n          }\n          *(undefined1 *)(local_238 + local_234) = 0x5c;\n          local_244 = local_230 + 2;\n          local_234 = iVar6;\n          goto LAB_00021c20;\n        }\n        if (cVar2 == '%') {\n          if (local_23c <= local_234) {\n            local_23c = local_234 + 0x201;\n            local_238 = FUN_0001dc50(local_238,local_23c,1);\n          }\n          *(undefined1 *)(local_238 + local_234) = 0x25;\n          local_244 = local_230 + 2;\n          local_234 = iVar6;\n          goto LAB_00021c20;\n        }\n      }" { (if_statement "if (cVar2 == 'X') {\nLAB_000223b0:\n          cVar2 = *(char *)(iVar4 + 1 + local_244);\n          bVar3 = cVar2 - 0x30;\n          if (bVar3 < 10) {\nLAB_000223db:\n            cVar2 = *(char *)(iVar4 + 2 + local_244);\n            bVar1 = cVar2 - 0x30;\n            if (9 < bVar1) {\n              if ((byte)(cVar2 + 0x9fU) < 6) {\n                bVar1 = cVar2 + 0xa9;\n              }\n              else {\n                if (5 < (byte)(cVar2 + 0xbfU)) goto LAB_00022a16;\n                bVar1 = cVar2 - 0x37;\n              }\n            }\n            if (local_23c <= local_234) {\n              local_23c = local_234 + 0x201;\n              local_238 = FUN_0001dc50(local_238,local_23c,1);\n            }\n            *(byte *)(local_238 + local_234) = bVar1 + bVar3 * '\x10';\n            local_244 = local_244 + 3;\n            local_234 = iVar6;\n          }\n          else {\n            if ((byte)(cVar2 + 0x9fU) < 6) {\n              bVar3 = cVar2 + 0xa9;\n              goto LAB_000223db;\n            }\n            if ((byte)(cVar2 + 0xbfU) < 6) {\n              bVar3 = cVar2 - 0x37;\n              goto LAB_000223db;\n            }\nLAB_00022a16:\n            if (local_23c <= local_234) {\n              local_23c = local_234 + 0x201;\n              local_238 = FUN_0001dc50(local_238,local_23c,1);\n            }\n            *(undefined1 *)(local_238 + local_234) = 0x5c;\n            local_234 = iVar6;\n          }\n          goto LAB_00021c20;\n        }" if (parenthesized_expression "(cVar2 == 'X')" ( (binary_expression "cVar2 == 'X'" identifier == (char_literal "'X'" ' character ')) )) (compound_statement "{\nLAB_000223b0:\n          cVar2 = *(char *)(iVar4 + 1 + local_244);\n          bVar3 = cVar2 - 0x30;\n          if (bVar3 < 10) {\nLAB_000223db:\n            cVar2 = *(char *)(iVar4 + 2 + local_244);\n            bVar1 = cVar2 - 0x30;\n            if (9 < bVar1) {\n              if ((byte)(cVar2 + 0x9fU) < 6) {\n                bVar1 = cVar2 + 0xa9;\n              }\n              else {\n                if (5 < (byte)(cVar2 + 0xbfU)) goto LAB_00022a16;\n                bVar1 = cVar2 - 0x37;\n              }\n            }\n            if (local_23c <= local_234) {\n              local_23c = local_234 + 0x201;\n              local_238 = FUN_0001dc50(local_238,local_23c,1);\n            }\n            *(byte *)(local_238 + local_234) = bVar1 + bVar3 * '\x10';\n            local_244 = local_244 + 3;\n            local_234 = iVar6;\n          }\n          else {\n            if ((byte)(cVar2 + 0x9fU) < 6) {\n              bVar3 = cVar2 + 0xa9;\n              goto LAB_000223db;\n            }\n            if ((byte)(cVar2 + 0xbfU) < 6) {\n              bVar3 = cVar2 - 0x37;\n              goto LAB_000223db;\n            }\nLAB_00022a16:\n            if (local_23c <= local_234) {\n              local_23c = local_234 + 0x201;\n              local_238 = FUN_0001dc50(local_238,local_23c,1);\n            }\n            *(undefined1 *)(local_238 + local_234) = 0x5c;\n            local_234 = iVar6;\n          }\n          goto LAB_00021c20;\n        }" { (labeled_statement "LAB_000223b0:\n          cVar2 = *(char *)(iVar4 + 1 + local_244);" statement_identifier : (expression_statement "cVar2 = *(char *)(iVar4 + 1 + local_244);" (assignment_expression "cVar2 = *(char *)(iVar4 + 1 + local_244)" identifier = (pointer_expression "*(char *)(iVar4 + 1 + local_244)" * (cast_expression "(char *)(iVar4 + 1 + local_244)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 1 + local_244)" ( (binary_expression "iVar4 + 1 + local_244" (binary_expression "iVar4 + 1" identifier + number_literal) + identifier) ))))) ;)) (expression_statement "bVar3 = cVar2 - 0x30;" (assignment_expression "bVar3 = cVar2 - 0x30" identifier = (binary_expression "cVar2 - 0x30" identifier - number_literal)) ;) (if_statement "if (bVar3 < 10) {\nLAB_000223db:\n            cVar2 = *(char *)(iVar4 + 2 + local_244);\n            bVar1 = cVar2 - 0x30;\n            if (9 < bVar1) {\n              if ((byte)(cVar2 + 0x9fU) < 6) {\n                bVar1 = cVar2 + 0xa9;\n              }\n              else {\n                if (5 < (byte)(cVar2 + 0xbfU)) goto LAB_00022a16;\n                bVar1 = cVar2 - 0x37;\n              }\n            }\n            if (local_23c <= local_234) {\n              local_23c = local_234 + 0x201;\n              local_238 = FUN_0001dc50(local_238,local_23c,1);\n            }\n            *(byte *)(local_238 + local_234) = bVar1 + bVar3 * '\x10';\n            local_244 = local_244 + 3;\n            local_234 = iVar6;\n          }\n          else {\n            if ((byte)(cVar2 + 0x9fU) < 6) {\n              bVar3 = cVar2 + 0xa9;\n              goto LAB_000223db;\n            }\n            if ((byte)(cVar2 + 0xbfU) < 6) {\n              bVar3 = cVar2 - 0x37;\n              goto LAB_000223db;\n            }\nLAB_00022a16:\n            if (local_23c <= local_234) {\n              local_23c = local_234 + 0x201;\n              local_238 = FUN_0001dc50(local_238,local_23c,1);\n            }\n            *(undefined1 *)(local_238 + local_234) = 0x5c;\n            local_234 = iVar6;\n          }" if (parenthesized_expression "(bVar3 < 10)" ( (binary_expression "bVar3 < 10" identifier < number_literal) )) (compound_statement "{\nLAB_000223db:\n            cVar2 = *(char *)(iVar4 + 2 + local_244);\n            bVar1 = cVar2 - 0x30;\n            if (9 < bVar1) {\n              if ((byte)(cVar2 + 0x9fU) < 6) {\n                bVar1 = cVar2 + 0xa9;\n              }\n              else {\n                if (5 < (byte)(cVar2 + 0xbfU)) goto LAB_00022a16;\n                bVar1 = cVar2 - 0x37;\n              }\n            }\n            if (local_23c <= local_234) {\n              local_23c = local_234 + 0x201;\n              local_238 = FUN_0001dc50(local_238,local_23c,1);\n            }\n            *(byte *)(local_238 + local_234) = bVar1 + bVar3 * '\x10';\n            local_244 = local_244 + 3;\n            local_234 = iVar6;\n          }" { (labeled_statement "LAB_000223db:\n            cVar2 = *(char *)(iVar4 + 2 + local_244);" statement_identifier : (expression_statement "cVar2 = *(char *)(iVar4 + 2 + local_244);" (assignment_expression "cVar2 = *(char *)(iVar4 + 2 + local_244)" identifier = (pointer_expression "*(char *)(iVar4 + 2 + local_244)" * (cast_expression "(char *)(iVar4 + 2 + local_244)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 2 + local_244)" ( (binary_expression "iVar4 + 2 + local_244" (binary_expression "iVar4 + 2" identifier + number_literal) + identifier) ))))) ;)) (expression_statement "bVar1 = cVar2 - 0x30;" (assignment_expression "bVar1 = cVar2 - 0x30" identifier = (binary_expression "cVar2 - 0x30" identifier - number_literal)) ;) (if_statement "if (9 < bVar1) {\n              if ((byte)(cVar2 + 0x9fU) < 6) {\n                bVar1 = cVar2 + 0xa9;\n              }\n              else {\n                if (5 < (byte)(cVar2 + 0xbfU)) goto LAB_00022a16;\n                bVar1 = cVar2 - 0x37;\n              }\n            }" if (parenthesized_expression "(9 < bVar1)" ( (binary_expression "9 < bVar1" number_literal < identifier) )) (compound_statement "{\n              if ((byte)(cVar2 + 0x9fU) < 6) {\n                bVar1 = cVar2 + 0xa9;\n              }\n              else {\n                if (5 < (byte)(cVar2 + 0xbfU)) goto LAB_00022a16;\n                bVar1 = cVar2 - 0x37;\n              }\n            }" { (if_statement "if ((byte)(cVar2 + 0x9fU) < 6) {\n                bVar1 = cVar2 + 0xa9;\n              }\n              else {\n                if (5 < (byte)(cVar2 + 0xbfU)) goto LAB_00022a16;\n                bVar1 = cVar2 - 0x37;\n              }" if (parenthesized_expression "((byte)(cVar2 + 0x9fU) < 6)" ( (binary_expression "(byte)(cVar2 + 0x9fU) < 6" (call_expression "(byte)(cVar2 + 0x9fU)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(cVar2 + 0x9fU)" ( (binary_expression "cVar2 + 0x9fU" identifier + number_literal) ))) < number_literal) )) (compound_statement "{\n                bVar1 = cVar2 + 0xa9;\n              }" { (expression_statement "bVar1 = cVar2 + 0xa9;" (assignment_expression "bVar1 = cVar2 + 0xa9" identifier = (binary_expression "cVar2 + 0xa9" identifier + number_literal)) ;) }) (else_clause "else {\n                if (5 < (byte)(cVar2 + 0xbfU)) goto LAB_00022a16;\n                bVar1 = cVar2 - 0x37;\n              }" else (compound_statement "{\n                if (5 < (byte)(cVar2 + 0xbfU)) goto LAB_00022a16;\n                bVar1 = cVar2 - 0x37;\n              }" { (if_statement "if (5 < (byte)(cVar2 + 0xbfU)) goto LAB_00022a16;" if (parenthesized_expression "(5 < (byte)(cVar2 + 0xbfU))" ( (binary_expression "5 < (byte)(cVar2 + 0xbfU)" number_literal < (call_expression "(byte)(cVar2 + 0xbfU)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(cVar2 + 0xbfU)" ( (binary_expression "cVar2 + 0xbfU" identifier + number_literal) )))) )) (goto_statement "goto LAB_00022a16;" goto statement_identifier ;)) (expression_statement "bVar1 = cVar2 - 0x37;" (assignment_expression "bVar1 = cVar2 - 0x37" identifier = (binary_expression "cVar2 - 0x37" identifier - number_literal)) ;) }))) })) (if_statement "if (local_23c <= local_234) {\n              local_23c = local_234 + 0x201;\n              local_238 = FUN_0001dc50(local_238,local_23c,1);\n            }" if (parenthesized_expression "(local_23c <= local_234)" ( (binary_expression "local_23c <= local_234" identifier <= identifier) )) (compound_statement "{\n              local_23c = local_234 + 0x201;\n              local_238 = FUN_0001dc50(local_238,local_23c,1);\n            }" { (expression_statement "local_23c = local_234 + 0x201;" (assignment_expression "local_23c = local_234 + 0x201" identifier = (binary_expression "local_234 + 0x201" identifier + number_literal)) ;) (expression_statement "local_238 = FUN_0001dc50(local_238,local_23c,1);" (assignment_expression "local_238 = FUN_0001dc50(local_238,local_23c,1)" identifier = (call_expression "FUN_0001dc50(local_238,local_23c,1)" identifier (argument_list "(local_238,local_23c,1)" ( identifier , identifier , number_literal )))) ;) })) (expression_statement "*(byte *)(local_238 + local_234) = bVar1 + bVar3 * '\x10';" (assignment_expression "*(byte *)(local_238 + local_234) = bVar1 + bVar3 * '\x10'" (pointer_expression "*(byte *)(local_238 + local_234)" * (cast_expression "(byte *)(local_238 + local_234)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_238 + local_234)" ( (binary_expression "local_238 + local_234" identifier + identifier) )))) = (binary_expression "bVar1 + bVar3 * '\x10'" identifier + (binary_expression "bVar3 * '\x10'" identifier * (char_literal "'\x10'" ' escape_sequence ')))) ;) (expression_statement "local_244 = local_244 + 3;" (assignment_expression "local_244 = local_244 + 3" identifier = (binary_expression "local_244 + 3" identifier + number_literal)) ;) (expression_statement "local_234 = iVar6;" (assignment_expression "local_234 = iVar6" identifier = identifier) ;) }) (else_clause "else {\n            if ((byte)(cVar2 + 0x9fU) < 6) {\n              bVar3 = cVar2 + 0xa9;\n              goto LAB_000223db;\n            }\n            if ((byte)(cVar2 + 0xbfU) < 6) {\n              bVar3 = cVar2 - 0x37;\n              goto LAB_000223db;\n            }\nLAB_00022a16:\n            if (local_23c <= local_234) {\n              local_23c = local_234 + 0x201;\n              local_238 = FUN_0001dc50(local_238,local_23c,1);\n            }\n            *(undefined1 *)(local_238 + local_234) = 0x5c;\n            local_234 = iVar6;\n          }" else (compound_statement "{\n            if ((byte)(cVar2 + 0x9fU) < 6) {\n              bVar3 = cVar2 + 0xa9;\n              goto LAB_000223db;\n            }\n            if ((byte)(cVar2 + 0xbfU) < 6) {\n              bVar3 = cVar2 - 0x37;\n              goto LAB_000223db;\n            }\nLAB_00022a16:\n            if (local_23c <= local_234) {\n              local_23c = local_234 + 0x201;\n              local_238 = FUN_0001dc50(local_238,local_23c,1);\n            }\n            *(undefined1 *)(local_238 + local_234) = 0x5c;\n            local_234 = iVar6;\n          }" { (if_statement "if ((byte)(cVar2 + 0x9fU) < 6) {\n              bVar3 = cVar2 + 0xa9;\n              goto LAB_000223db;\n            }" if (parenthesized_expression "((byte)(cVar2 + 0x9fU) < 6)" ( (binary_expression "(byte)(cVar2 + 0x9fU) < 6" (call_expression "(byte)(cVar2 + 0x9fU)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(cVar2 + 0x9fU)" ( (binary_expression "cVar2 + 0x9fU" identifier + number_literal) ))) < number_literal) )) (compound_statement "{\n              bVar3 = cVar2 + 0xa9;\n              goto LAB_000223db;\n            }" { (expression_statement "bVar3 = cVar2 + 0xa9;" (assignment_expression "bVar3 = cVar2 + 0xa9" identifier = (binary_expression "cVar2 + 0xa9" identifier + number_literal)) ;) (goto_statement "goto LAB_000223db;" goto statement_identifier ;) })) (if_statement "if ((byte)(cVar2 + 0xbfU) < 6) {\n              bVar3 = cVar2 - 0x37;\n              goto LAB_000223db;\n            }" if (parenthesized_expression "((byte)(cVar2 + 0xbfU) < 6)" ( (binary_expression "(byte)(cVar2 + 0xbfU) < 6" (call_expression "(byte)(cVar2 + 0xbfU)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(cVar2 + 0xbfU)" ( (binary_expression "cVar2 + 0xbfU" identifier + number_literal) ))) < number_literal) )) (compound_statement "{\n              bVar3 = cVar2 - 0x37;\n              goto LAB_000223db;\n            }" { (expression_statement "bVar3 = cVar2 - 0x37;" (assignment_expression "bVar3 = cVar2 - 0x37" identifier = (binary_expression "cVar2 - 0x37" identifier - number_literal)) ;) (goto_statement "goto LAB_000223db;" goto statement_identifier ;) })) (labeled_statement "LAB_00022a16:\n            if (local_23c <= local_234) {\n              local_23c = local_234 + 0x201;\n              local_238 = FUN_0001dc50(local_238,local_23c,1);\n            }" statement_identifier : (if_statement "if (local_23c <= local_234) {\n              local_23c = local_234 + 0x201;\n              local_238 = FUN_0001dc50(local_238,local_23c,1);\n            }" if (parenthesized_expression "(local_23c <= local_234)" ( (binary_expression "local_23c <= local_234" identifier <= identifier) )) (compound_statement "{\n              local_23c = local_234 + 0x201;\n              local_238 = FUN_0001dc50(local_238,local_23c,1);\n            }" { (expression_statement "local_23c = local_234 + 0x201;" (assignment_expression "local_23c = local_234 + 0x201" identifier = (binary_expression "local_234 + 0x201" identifier + number_literal)) ;) (expression_statement "local_238 = FUN_0001dc50(local_238,local_23c,1);" (assignment_expression "local_238 = FUN_0001dc50(local_238,local_23c,1)" identifier = (call_expression "FUN_0001dc50(local_238,local_23c,1)" identifier (argument_list "(local_238,local_23c,1)" ( identifier , identifier , number_literal )))) ;) }))) (expression_statement "*(undefined1 *)(local_238 + local_234) = 0x5c;" (assignment_expression "*(undefined1 *)(local_238 + local_234) = 0x5c" (pointer_expression "*(undefined1 *)(local_238 + local_234)" * (cast_expression "(undefined1 *)(local_238 + local_234)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_238 + local_234)" ( (binary_expression "local_238 + local_234" identifier + identifier) )))) = number_literal) ;) (expression_statement "local_234 = iVar6;" (assignment_expression "local_234 = iVar6" identifier = identifier) ;) }))) (goto_statement "goto LAB_00021c20;" goto statement_identifier ;) })) (if_statement "if (cVar2 == '\\') {\n          if (local_23c <= local_234) {\n            local_23c = local_234 + 0x201;\n            local_238 = FUN_0001dc50(local_238,local_23c,1);\n          }\n          *(undefined1 *)(local_238 + local_234) = 0x5c;\n          local_244 = local_230 + 2;\n          local_234 = iVar6;\n          goto LAB_00021c20;\n        }" if (parenthesized_expression "(cVar2 == '\\')" ( (binary_expression "cVar2 == '\\'" identifier == (char_literal "'\\'" ' escape_sequence ')) )) (compound_statement "{\n          if (local_23c <= local_234) {\n            local_23c = local_234 + 0x201;\n            local_238 = FUN_0001dc50(local_238,local_23c,1);\n          }\n          *(undefined1 *)(local_238 + local_234) = 0x5c;\n          local_244 = local_230 + 2;\n          local_234 = iVar6;\n          goto LAB_00021c20;\n        }" { (if_statement "if (local_23c <= local_234) {\n            local_23c = local_234 + 0x201;\n            local_238 = FUN_0001dc50(local_238,local_23c,1);\n          }" if (parenthesized_expression "(local_23c <= local_234)" ( (binary_expression "local_23c <= local_234" identifier <= identifier) )) (compound_statement "{\n            local_23c = local_234 + 0x201;\n            local_238 = FUN_0001dc50(local_238,local_23c,1);\n          }" { (expression_statement "local_23c = local_234 + 0x201;" (assignment_expression "local_23c = local_234 + 0x201" identifier = (binary_expression "local_234 + 0x201" identifier + number_literal)) ;) (expression_statement "local_238 = FUN_0001dc50(local_238,local_23c,1);" (assignment_expression "local_238 = FUN_0001dc50(local_238,local_23c,1)" identifier = (call_expression "FUN_0001dc50(local_238,local_23c,1)" identifier (argument_list "(local_238,local_23c,1)" ( identifier , identifier , number_literal )))) ;) })) (expression_statement "*(undefined1 *)(local_238 + local_234) = 0x5c;" (assignment_expression "*(undefined1 *)(local_238 + local_234) = 0x5c" (pointer_expression "*(undefined1 *)(local_238 + local_234)" * (cast_expression "(undefined1 *)(local_238 + local_234)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_238 + local_234)" ( (binary_expression "local_238 + local_234" identifier + identifier) )))) = number_literal) ;) (expression_statement "local_244 = local_230 + 2;" (assignment_expression "local_244 = local_230 + 2" identifier = (binary_expression "local_230 + 2" identifier + number_literal)) ;) (expression_statement "local_234 = iVar6;" (assignment_expression "local_234 = iVar6" identifier = identifier) ;) (goto_statement "goto LAB_00021c20;" goto statement_identifier ;) })) (if_statement "if (cVar2 == '%') {\n          if (local_23c <= local_234) {\n            local_23c = local_234 + 0x201;\n            local_238 = FUN_0001dc50(local_238,local_23c,1);\n          }\n          *(undefined1 *)(local_238 + local_234) = 0x25;\n          local_244 = local_230 + 2;\n          local_234 = iVar6;\n          goto LAB_00021c20;\n        }" if (parenthesized_expression "(cVar2 == '%')" ( (binary_expression "cVar2 == '%'" identifier == (char_literal "'%'" ' character ')) )) (compound_statement "{\n          if (local_23c <= local_234) {\n            local_23c = local_234 + 0x201;\n            local_238 = FUN_0001dc50(local_238,local_23c,1);\n          }\n          *(undefined1 *)(local_238 + local_234) = 0x25;\n          local_244 = local_230 + 2;\n          local_234 = iVar6;\n          goto LAB_00021c20;\n        }" { (if_statement "if (local_23c <= local_234) {\n            local_23c = local_234 + 0x201;\n            local_238 = FUN_0001dc50(local_238,local_23c,1);\n          }" if (parenthesized_expression "(local_23c <= local_234)" ( (binary_expression "local_23c <= local_234" identifier <= identifier) )) (compound_statement "{\n            local_23c = local_234 + 0x201;\n            local_238 = FUN_0001dc50(local_238,local_23c,1);\n          }" { (expression_statement "local_23c = local_234 + 0x201;" (assignment_expression "local_23c = local_234 + 0x201" identifier = (binary_expression "local_234 + 0x201" identifier + number_literal)) ;) (expression_statement "local_238 = FUN_0001dc50(local_238,local_23c,1);" (assignment_expression "local_238 = FUN_0001dc50(local_238,local_23c,1)" identifier = (call_expression "FUN_0001dc50(local_238,local_23c,1)" identifier (argument_list "(local_238,local_23c,1)" ( identifier , identifier , number_literal )))) ;) })) (expression_statement "*(undefined1 *)(local_238 + local_234) = 0x25;" (assignment_expression "*(undefined1 *)(local_238 + local_234) = 0x25" (pointer_expression "*(undefined1 *)(local_238 + local_234)" * (cast_expression "(undefined1 *)(local_238 + local_234)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_238 + local_234)" ( (binary_expression "local_238 + local_234" identifier + identifier) )))) = number_literal) ;) (expression_statement "local_244 = local_230 + 2;" (assignment_expression "local_244 = local_230 + 2" identifier = (binary_expression "local_230 + 2" identifier + number_literal)) ;) (expression_statement "local_234 = iVar6;" (assignment_expression "local_234 = iVar6" identifier = identifier) ;) (goto_statement "goto LAB_00021c20;" goto statement_identifier ;) })) }) (else_clause "else {\n        if (cVar2 == 't') {\n          if (local_23c <= local_234) {\n            local_23c = local_234 + 0x201;\n            local_238 = FUN_0001dc50(local_238,local_23c,1);\n          }\n          *(undefined1 *)(local_238 + local_234) = 9;\n          local_244 = local_230 + 2;\n          local_234 = iVar6;\n          goto LAB_00021c20;\n        }\n        if (cVar2 == 'x') goto LAB_000223b0;\n        if (cVar2 == 'r') {\n          if (local_23c <= local_234) {\n            local_23c = local_234 + 0x201;\n            local_238 = FUN_0001dc50(local_238,local_23c,1);\n          }\n          *(undefined1 *)(local_238 + local_234) = 0xd;\n          local_244 = local_230 + 2;\n          local_234 = iVar6;\n          goto LAB_00021c20;\n        }\n      }" else (compound_statement "{\n        if (cVar2 == 't') {\n          if (local_23c <= local_234) {\n            local_23c = local_234 + 0x201;\n            local_238 = FUN_0001dc50(local_238,local_23c,1);\n          }\n          *(undefined1 *)(local_238 + local_234) = 9;\n          local_244 = local_230 + 2;\n          local_234 = iVar6;\n          goto LAB_00021c20;\n        }\n        if (cVar2 == 'x') goto LAB_000223b0;\n        if (cVar2 == 'r') {\n          if (local_23c <= local_234) {\n            local_23c = local_234 + 0x201;\n            local_238 = FUN_0001dc50(local_238,local_23c,1);\n          }\n          *(undefined1 *)(local_238 + local_234) = 0xd;\n          local_244 = local_230 + 2;\n          local_234 = iVar6;\n          goto LAB_00021c20;\n        }\n      }" { (if_statement "if (cVar2 == 't') {\n          if (local_23c <= local_234) {\n            local_23c = local_234 + 0x201;\n            local_238 = FUN_0001dc50(local_238,local_23c,1);\n          }\n          *(undefined1 *)(local_238 + local_234) = 9;\n          local_244 = local_230 + 2;\n          local_234 = iVar6;\n          goto LAB_00021c20;\n        }" if (parenthesized_expression "(cVar2 == 't')" ( (binary_expression "cVar2 == 't'" identifier == (char_literal "'t'" ' character ')) )) (compound_statement "{\n          if (local_23c <= local_234) {\n            local_23c = local_234 + 0x201;\n            local_238 = FUN_0001dc50(local_238,local_23c,1);\n          }\n          *(undefined1 *)(local_238 + local_234) = 9;\n          local_244 = local_230 + 2;\n          local_234 = iVar6;\n          goto LAB_00021c20;\n        }" { (if_statement "if (local_23c <= local_234) {\n            local_23c = local_234 + 0x201;\n            local_238 = FUN_0001dc50(local_238,local_23c,1);\n          }" if (parenthesized_expression "(local_23c <= local_234)" ( (binary_expression "local_23c <= local_234" identifier <= identifier) )) (compound_statement "{\n            local_23c = local_234 + 0x201;\n            local_238 = FUN_0001dc50(local_238,local_23c,1);\n          }" { (expression_statement "local_23c = local_234 + 0x201;" (assignment_expression "local_23c = local_234 + 0x201" identifier = (binary_expression "local_234 + 0x201" identifier + number_literal)) ;) (expression_statement "local_238 = FUN_0001dc50(local_238,local_23c,1);" (assignment_expression "local_238 = FUN_0001dc50(local_238,local_23c,1)" identifier = (call_expression "FUN_0001dc50(local_238,local_23c,1)" identifier (argument_list "(local_238,local_23c,1)" ( identifier , identifier , number_literal )))) ;) })) (expression_statement "*(undefined1 *)(local_238 + local_234) = 9;" (assignment_expression "*(undefined1 *)(local_238 + local_234) = 9" (pointer_expression "*(undefined1 *)(local_238 + local_234)" * (cast_expression "(undefined1 *)(local_238 + local_234)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_238 + local_234)" ( (binary_expression "local_238 + local_234" identifier + identifier) )))) = number_literal) ;) (expression_statement "local_244 = local_230 + 2;" (assignment_expression "local_244 = local_230 + 2" identifier = (binary_expression "local_230 + 2" identifier + number_literal)) ;) (expression_statement "local_234 = iVar6;" (assignment_expression "local_234 = iVar6" identifier = identifier) ;) (goto_statement "goto LAB_00021c20;" goto statement_identifier ;) })) (if_statement "if (cVar2 == 'x') goto LAB_000223b0;" if (parenthesized_expression "(cVar2 == 'x')" ( (binary_expression "cVar2 == 'x'" identifier == (char_literal "'x'" ' character ')) )) (goto_statement "goto LAB_000223b0;" goto statement_identifier ;)) (if_statement "if (cVar2 == 'r') {\n          if (local_23c <= local_234) {\n            local_23c = local_234 + 0x201;\n            local_238 = FUN_0001dc50(local_238,local_23c,1);\n          }\n          *(undefined1 *)(local_238 + local_234) = 0xd;\n          local_244 = local_230 + 2;\n          local_234 = iVar6;\n          goto LAB_00021c20;\n        }" if (parenthesized_expression "(cVar2 == 'r')" ( (binary_expression "cVar2 == 'r'" identifier == (char_literal "'r'" ' character ')) )) (compound_statement "{\n          if (local_23c <= local_234) {\n            local_23c = local_234 + 0x201;\n            local_238 = FUN_0001dc50(local_238,local_23c,1);\n          }\n          *(undefined1 *)(local_238 + local_234) = 0xd;\n          local_244 = local_230 + 2;\n          local_234 = iVar6;\n          goto LAB_00021c20;\n        }" { (if_statement "if (local_23c <= local_234) {\n            local_23c = local_234 + 0x201;\n            local_238 = FUN_0001dc50(local_238,local_23c,1);\n          }" if (parenthesized_expression "(local_23c <= local_234)" ( (binary_expression "local_23c <= local_234" identifier <= identifier) )) (compound_statement "{\n            local_23c = local_234 + 0x201;\n            local_238 = FUN_0001dc50(local_238,local_23c,1);\n          }" { (expression_statement "local_23c = local_234 + 0x201;" (assignment_expression "local_23c = local_234 + 0x201" identifier = (binary_expression "local_234 + 0x201" identifier + number_literal)) ;) (expression_statement "local_238 = FUN_0001dc50(local_238,local_23c,1);" (assignment_expression "local_238 = FUN_0001dc50(local_238,local_23c,1)" identifier = (call_expression "FUN_0001dc50(local_238,local_23c,1)" identifier (argument_list "(local_238,local_23c,1)" ( identifier , identifier , number_literal )))) ;) })) (expression_statement "*(undefined1 *)(local_238 + local_234) = 0xd;" (assignment_expression "*(undefined1 *)(local_238 + local_234) = 0xd" (pointer_expression "*(undefined1 *)(local_238 + local_234)" * (cast_expression "(undefined1 *)(local_238 + local_234)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_238 + local_234)" ( (binary_expression "local_238 + local_234" identifier + identifier) )))) = number_literal) ;) (expression_statement "local_244 = local_230 + 2;" (assignment_expression "local_244 = local_230 + 2" identifier = (binary_expression "local_230 + 2" identifier + number_literal)) ;) (expression_statement "local_234 = iVar6;" (assignment_expression "local_234 = iVar6" identifier = identifier) ;) (goto_statement "goto LAB_00021c20;" goto statement_identifier ;) })) }))) (if_statement "if (local_23c <= iVar6) {\n        local_23c = local_234 + 0x202;\n        local_238 = FUN_0001dc50(local_238,local_23c,1);\n      }" if (parenthesized_expression "(local_23c <= iVar6)" ( (binary_expression "local_23c <= iVar6" identifier <= identifier) )) (compound_statement "{\n        local_23c = local_234 + 0x202;\n        local_238 = FUN_0001dc50(local_238,local_23c,1);\n      }" { (expression_statement "local_23c = local_234 + 0x202;" (assignment_expression "local_23c = local_234 + 0x202" identifier = (binary_expression "local_234 + 0x202" identifier + number_literal)) ;) (expression_statement "local_238 = FUN_0001dc50(local_238,local_23c,1);" (assignment_expression "local_238 = FUN_0001dc50(local_238,local_23c,1)" identifier = (call_expression "FUN_0001dc50(local_238,local_23c,1)" identifier (argument_list "(local_238,local_23c,1)" ( identifier , identifier , number_literal )))) ;) })) (expression_statement "local_244 = local_230 + 2;" (assignment_expression "local_244 = local_230 + 2" identifier = (binary_expression "local_230 + 2" identifier + number_literal)) ;) (expression_statement "*(undefined2 *)(local_238 + local_234) = *(undefined2 *)local_240;" (assignment_expression "*(undefined2 *)(local_238 + local_234) = *(undefined2 *)local_240" (pointer_expression "*(undefined2 *)(local_238 + local_234)" * (cast_expression "(undefined2 *)(local_238 + local_234)" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_238 + local_234)" ( (binary_expression "local_238 + local_234" identifier + identifier) )))) = (pointer_expression "*(undefined2 *)local_240" * (cast_expression "(undefined2 *)local_240" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "local_234 = local_234 + 2;" (assignment_expression "local_234 = local_234 + 2" identifier = (binary_expression "local_234 + 2" identifier + number_literal)) ;) (goto_statement "goto LAB_00021c20;" goto statement_identifier ;) })) (if_statement "if (cVar2 == '%') {\n      if (local_23c <= local_234) {\n        local_23c = local_234 + 0x201;\n        local_238 = FUN_0001dc50(local_238,local_23c,1);\n      }\n      *(undefined1 *)(local_238 + local_234) = 0x25;\n      local_244 = local_230 + 2;\n      local_234 = local_234 + 1;\n      goto LAB_00021c20;\n    }" if (parenthesized_expression "(cVar2 == '%')" ( (binary_expression "cVar2 == '%'" identifier == (char_literal "'%'" ' character ')) )) (compound_statement "{\n      if (local_23c <= local_234) {\n        local_23c = local_234 + 0x201;\n        local_238 = FUN_0001dc50(local_238,local_23c,1);\n      }\n      *(undefined1 *)(local_238 + local_234) = 0x25;\n      local_244 = local_230 + 2;\n      local_234 = local_234 + 1;\n      goto LAB_00021c20;\n    }" { (if_statement "if (local_23c <= local_234) {\n        local_23c = local_234 + 0x201;\n        local_238 = FUN_0001dc50(local_238,local_23c,1);\n      }" if (parenthesized_expression "(local_23c <= local_234)" ( (binary_expression "local_23c <= local_234" identifier <= identifier) )) (compound_statement "{\n        local_23c = local_234 + 0x201;\n        local_238 = FUN_0001dc50(local_238,local_23c,1);\n      }" { (expression_statement "local_23c = local_234 + 0x201;" (assignment_expression "local_23c = local_234 + 0x201" identifier = (binary_expression "local_234 + 0x201" identifier + number_literal)) ;) (expression_statement "local_238 = FUN_0001dc50(local_238,local_23c,1);" (assignment_expression "local_238 = FUN_0001dc50(local_238,local_23c,1)" identifier = (call_expression "FUN_0001dc50(local_238,local_23c,1)" identifier (argument_list "(local_238,local_23c,1)" ( identifier , identifier , number_literal )))) ;) })) (expression_statement "*(undefined1 *)(local_238 + local_234) = 0x25;" (assignment_expression "*(undefined1 *)(local_238 + local_234) = 0x25" (pointer_expression "*(undefined1 *)(local_238 + local_234)" * (cast_expression "(undefined1 *)(local_238 + local_234)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_238 + local_234)" ( (binary_expression "local_238 + local_234" identifier + identifier) )))) = number_literal) ;) (expression_statement "local_244 = local_230 + 2;" (assignment_expression "local_244 = local_230 + 2" identifier = (binary_expression "local_230 + 2" identifier + number_literal)) ;) (expression_statement "local_234 = local_234 + 1;" (assignment_expression "local_234 = local_234 + 1" identifier = (binary_expression "local_234 + 1" identifier + number_literal)) ;) (goto_statement "goto LAB_00021c20;" goto statement_identifier ;) })) (expression_statement "iVar6 = strncasecmp(pcVar7,"host",4);" (assignment_expression "iVar6 = strncasecmp(pcVar7,"host",4)" identifier = (call_expression "strncasecmp(pcVar7,"host",4)" identifier (argument_list "(pcVar7,"host",4)" ( identifier , (string_literal ""host"" " string_content ") , number_literal )))) ;) (if_statement "if (iVar6 != 0) {\n      iVar6 = strncasecmp(pcVar7,"port",4);\n      if (iVar6 == 0) {\n        cVar2 = __sprintf_chk(local_220,1,8,&DAT_0008fa68,param_2);\n        uVar11 = (uint)cVar2;\n        goto joined_r0x000221ae;\n      }\n      iVar6 = strncasecmp(pcVar7,"user",4);\n      if (iVar6 == 0) {\n        pcVar7 = (char *)FUN_00018b60(param_3,0x10);\n        sVar8 = strlen(pcVar7);\n        iVar6 = sVar8 + local_234;\n        if (local_23c < iVar6) {\n          local_23c = iVar6 + 0x200;\n          local_238 = FUN_0001dc50(local_238,local_23c,1);\n        }\n        memcpy((void *)(local_234 + local_238),pcVar7,sVar8);\n        local_244 = local_230 + 5;\n        local_234 = iVar6;\n        goto LAB_00021c20;\n      }\n      iVar6 = strncasecmp(pcVar7,"pass",4);\n      if (iVar6 == 0) {\n        pcVar7 = (char *)FUN_00018b60(param_3,0x11);\n        sVar8 = strlen(pcVar7);\n        iVar6 = sVar8 + local_234;\n        if (local_23c < iVar6) {\n          local_23c = iVar6 + 0x200;\n          local_238 = FUN_0001dc50(local_238,local_23c,1);\n        }\n        memcpy((void *)(local_234 + local_238),pcVar7,sVar8);\n        local_244 = local_230 + 5;\n        local_234 = iVar6;\n        goto LAB_00021c20;\n      }\n      iVar6 = strncasecmp(pcVar7,"proxyhost",9);\n      if (iVar6 == 0) {\n        pcVar7 = (char *)FUN_00018b60(param_3,0xe);\n        sVar8 = strlen(pcVar7);\n        iVar6 = sVar8 + local_234;\n        if (local_23c < iVar6) {\n          local_23c = iVar6 + 0x200;\n          local_238 = FUN_0001dc50(local_238,local_23c,1);\n        }\n        memcpy((void *)(local_234 + local_238),pcVar7,sVar8);\n        local_244 = local_230 + 10;\n        local_234 = iVar6;\n        goto LAB_00021c20;\n      }\n      iVar6 = strncasecmp(pcVar7,"proxyport",9);\n      if (iVar6 == 0) break;\n      if (local_23c <= local_234) {\n        local_23c = local_234 + 0x201;\n        local_238 = FUN_0001dc50(local_238,local_23c,1);\n      }\n      *(undefined1 *)(local_238 + local_234) = 0x25;\n      local_234 = local_234 + 1;\n      pcVar7 = (char *)(iVar4 + local_244);\n      cVar2 = *pcVar7;\n      iVar6 = local_244;\n      goto joined_r0x00021c28;\n    }" if (parenthesized_expression "(iVar6 != 0)" ( (binary_expression "iVar6 != 0" identifier != number_literal) )) (compound_statement "{\n      iVar6 = strncasecmp(pcVar7,"port",4);\n      if (iVar6 == 0) {\n        cVar2 = __sprintf_chk(local_220,1,8,&DAT_0008fa68,param_2);\n        uVar11 = (uint)cVar2;\n        goto joined_r0x000221ae;\n      }\n      iVar6 = strncasecmp(pcVar7,"user",4);\n      if (iVar6 == 0) {\n        pcVar7 = (char *)FUN_00018b60(param_3,0x10);\n        sVar8 = strlen(pcVar7);\n        iVar6 = sVar8 + local_234;\n        if (local_23c < iVar6) {\n          local_23c = iVar6 + 0x200;\n          local_238 = FUN_0001dc50(local_238,local_23c,1);\n        }\n        memcpy((void *)(local_234 + local_238),pcVar7,sVar8);\n        local_244 = local_230 + 5;\n        local_234 = iVar6;\n        goto LAB_00021c20;\n      }\n      iVar6 = strncasecmp(pcVar7,"pass",4);\n      if (iVar6 == 0) {\n        pcVar7 = (char *)FUN_00018b60(param_3,0x11);\n        sVar8 = strlen(pcVar7);\n        iVar6 = sVar8 + local_234;\n        if (local_23c < iVar6) {\n          local_23c = iVar6 + 0x200;\n          local_238 = FUN_0001dc50(local_238,local_23c,1);\n        }\n        memcpy((void *)(local_234 + local_238),pcVar7,sVar8);\n        local_244 = local_230 + 5;\n        local_234 = iVar6;\n        goto LAB_00021c20;\n      }\n      iVar6 = strncasecmp(pcVar7,"proxyhost",9);\n      if (iVar6 == 0) {\n        pcVar7 = (char *)FUN_00018b60(param_3,0xe);\n        sVar8 = strlen(pcVar7);\n        iVar6 = sVar8 + local_234;\n        if (local_23c < iVar6) {\n          local_23c = iVar6 + 0x200;\n          local_238 = FUN_0001dc50(local_238,local_23c,1);\n        }\n        memcpy((void *)(local_234 + local_238),pcVar7,sVar8);\n        local_244 = local_230 + 10;\n        local_234 = iVar6;\n        goto LAB_00021c20;\n      }\n      iVar6 = strncasecmp(pcVar7,"proxyport",9);\n      if (iVar6 == 0) break;\n      if (local_23c <= local_234) {\n        local_23c = local_234 + 0x201;\n        local_238 = FUN_0001dc50(local_238,local_23c,1);\n      }\n      *(undefined1 *)(local_238 + local_234) = 0x25;\n      local_234 = local_234 + 1;\n      pcVar7 = (char *)(iVar4 + local_244);\n      cVar2 = *pcVar7;\n      iVar6 = local_244;\n      goto joined_r0x00021c28;\n    }" { (expression_statement "iVar6 = strncasecmp(pcVar7,"port",4);" (assignment_expression "iVar6 = strncasecmp(pcVar7,"port",4)" identifier = (call_expression "strncasecmp(pcVar7,"port",4)" identifier (argument_list "(pcVar7,"port",4)" ( identifier , (string_literal ""port"" " string_content ") , number_literal )))) ;) (if_statement "if (iVar6 == 0) {\n        cVar2 = __sprintf_chk(local_220,1,8,&DAT_0008fa68,param_2);\n        uVar11 = (uint)cVar2;\n        goto joined_r0x000221ae;\n      }" if (parenthesized_expression "(iVar6 == 0)" ( (binary_expression "iVar6 == 0" identifier == number_literal) )) (compound_statement "{\n        cVar2 = __sprintf_chk(local_220,1,8,&DAT_0008fa68,param_2);\n        uVar11 = (uint)cVar2;\n        goto joined_r0x000221ae;\n      }" { (expression_statement "cVar2 = __sprintf_chk(local_220,1,8,&DAT_0008fa68,param_2);" (assignment_expression "cVar2 = __sprintf_chk(local_220,1,8,&DAT_0008fa68,param_2)" identifier = (call_expression "__sprintf_chk(local_220,1,8,&DAT_0008fa68,param_2)" identifier (argument_list "(local_220,1,8,&DAT_0008fa68,param_2)" ( identifier , number_literal , number_literal , (pointer_expression "&DAT_0008fa68" & identifier) , identifier )))) ;) (expression_statement "uVar11 = (uint)cVar2;" (assignment_expression "uVar11 = (uint)cVar2" identifier = (cast_expression "(uint)cVar2" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (goto_statement "goto joined_r0x000221ae;" goto statement_identifier ;) })) (expression_statement "iVar6 = strncasecmp(pcVar7,"user",4);" (assignment_expression "iVar6 = strncasecmp(pcVar7,"user",4)" identifier = (call_expression "strncasecmp(pcVar7,"user",4)" identifier (argument_list "(pcVar7,"user",4)" ( identifier , (string_literal ""user"" " string_content ") , number_literal )))) ;) (if_statement "if (iVar6 == 0) {\n        pcVar7 = (char *)FUN_00018b60(param_3,0x10);\n        sVar8 = strlen(pcVar7);\n        iVar6 = sVar8 + local_234;\n        if (local_23c < iVar6) {\n          local_23c = iVar6 + 0x200;\n          local_238 = FUN_0001dc50(local_238,local_23c,1);\n        }\n        memcpy((void *)(local_234 + local_238),pcVar7,sVar8);\n        local_244 = local_230 + 5;\n        local_234 = iVar6;\n        goto LAB_00021c20;\n      }" if (parenthesized_expression "(iVar6 == 0)" ( (binary_expression "iVar6 == 0" identifier == number_literal) )) (compound_statement "{\n        pcVar7 = (char *)FUN_00018b60(param_3,0x10);\n        sVar8 = strlen(pcVar7);\n        iVar6 = sVar8 + local_234;\n        if (local_23c < iVar6) {\n          local_23c = iVar6 + 0x200;\n          local_238 = FUN_0001dc50(local_238,local_23c,1);\n        }\n        memcpy((void *)(local_234 + local_238),pcVar7,sVar8);\n        local_244 = local_230 + 5;\n        local_234 = iVar6;\n        goto LAB_00021c20;\n      }" { (expression_statement "pcVar7 = (char *)FUN_00018b60(param_3,0x10);" (assignment_expression "pcVar7 = (char *)FUN_00018b60(param_3,0x10)" identifier = (cast_expression "(char *)FUN_00018b60(param_3,0x10)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00018b60(param_3,0x10)" identifier (argument_list "(param_3,0x10)" ( identifier , number_literal ))))) ;) (expression_statement "sVar8 = strlen(pcVar7);" (assignment_expression "sVar8 = strlen(pcVar7)" identifier = (call_expression "strlen(pcVar7)" identifier (argument_list "(pcVar7)" ( identifier )))) ;) (expression_statement "iVar6 = sVar8 + local_234;" (assignment_expression "iVar6 = sVar8 + local_234" identifier = (binary_expression "sVar8 + local_234" identifier + identifier)) ;) (if_statement "if (local_23c < iVar6) {\n          local_23c = iVar6 + 0x200;\n          local_238 = FUN_0001dc50(local_238,local_23c,1);\n        }" if (parenthesized_expression "(local_23c < iVar6)" ( (binary_expression "local_23c < iVar6" identifier < identifier) )) (compound_statement "{\n          local_23c = iVar6 + 0x200;\n          local_238 = FUN_0001dc50(local_238,local_23c,1);\n        }" { (expression_statement "local_23c = iVar6 + 0x200;" (assignment_expression "local_23c = iVar6 + 0x200" identifier = (binary_expression "iVar6 + 0x200" identifier + number_literal)) ;) (expression_statement "local_238 = FUN_0001dc50(local_238,local_23c,1);" (assignment_expression "local_238 = FUN_0001dc50(local_238,local_23c,1)" identifier = (call_expression "FUN_0001dc50(local_238,local_23c,1)" identifier (argument_list "(local_238,local_23c,1)" ( identifier , identifier , number_literal )))) ;) })) (expression_statement "memcpy((void *)(local_234 + local_238),pcVar7,sVar8);" (call_expression "memcpy((void *)(local_234 + local_238),pcVar7,sVar8)" identifier (argument_list "((void *)(local_234 + local_238),pcVar7,sVar8)" ( (cast_expression "(void *)(local_234 + local_238)" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_234 + local_238)" ( (binary_expression "local_234 + local_238" identifier + identifier) ))) , identifier , identifier ))) ;) (expression_statement "local_244 = local_230 + 5;" (assignment_expression "local_244 = local_230 + 5" identifier = (binary_expression "local_230 + 5" identifier + number_literal)) ;) (expression_statement "local_234 = iVar6;" (assignment_expression "local_234 = iVar6" identifier = identifier) ;) (goto_statement "goto LAB_00021c20;" goto statement_identifier ;) })) (expression_statement "iVar6 = strncasecmp(pcVar7,"pass",4);" (assignment_expression "iVar6 = strncasecmp(pcVar7,"pass",4)" identifier = (call_expression "strncasecmp(pcVar7,"pass",4)" identifier (argument_list "(pcVar7,"pass",4)" ( identifier , (string_literal ""pass"" " string_content ") , number_literal )))) ;) (if_statement "if (iVar6 == 0) {\n        pcVar7 = (char *)FUN_00018b60(param_3,0x11);\n        sVar8 = strlen(pcVar7);\n        iVar6 = sVar8 + local_234;\n        if (local_23c < iVar6) {\n          local_23c = iVar6 + 0x200;\n          local_238 = FUN_0001dc50(local_238,local_23c,1);\n        }\n        memcpy((void *)(local_234 + local_238),pcVar7,sVar8);\n        local_244 = local_230 + 5;\n        local_234 = iVar6;\n        goto LAB_00021c20;\n      }" if (parenthesized_expression "(iVar6 == 0)" ( (binary_expression "iVar6 == 0" identifier == number_literal) )) (compound_statement "{\n        pcVar7 = (char *)FUN_00018b60(param_3,0x11);\n        sVar8 = strlen(pcVar7);\n        iVar6 = sVar8 + local_234;\n        if (local_23c < iVar6) {\n          local_23c = iVar6 + 0x200;\n          local_238 = FUN_0001dc50(local_238,local_23c,1);\n        }\n        memcpy((void *)(local_234 + local_238),pcVar7,sVar8);\n        local_244 = local_230 + 5;\n        local_234 = iVar6;\n        goto LAB_00021c20;\n      }" { (expression_statement "pcVar7 = (char *)FUN_00018b60(param_3,0x11);" (assignment_expression "pcVar7 = (char *)FUN_00018b60(param_3,0x11)" identifier = (cast_expression "(char *)FUN_00018b60(param_3,0x11)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00018b60(param_3,0x11)" identifier (argument_list "(param_3,0x11)" ( identifier , number_literal ))))) ;) (expression_statement "sVar8 = strlen(pcVar7);" (assignment_expression "sVar8 = strlen(pcVar7)" identifier = (call_expression "strlen(pcVar7)" identifier (argument_list "(pcVar7)" ( identifier )))) ;) (expression_statement "iVar6 = sVar8 + local_234;" (assignment_expression "iVar6 = sVar8 + local_234" identifier = (binary_expression "sVar8 + local_234" identifier + identifier)) ;) (if_statement "if (local_23c < iVar6) {\n          local_23c = iVar6 + 0x200;\n          local_238 = FUN_0001dc50(local_238,local_23c,1);\n        }" if (parenthesized_expression "(local_23c < iVar6)" ( (binary_expression "local_23c < iVar6" identifier < identifier) )) (compound_statement "{\n          local_23c = iVar6 + 0x200;\n          local_238 = FUN_0001dc50(local_238,local_23c,1);\n        }" { (expression_statement "local_23c = iVar6 + 0x200;" (assignment_expression "local_23c = iVar6 + 0x200" identifier = (binary_expression "iVar6 + 0x200" identifier + number_literal)) ;) (expression_statement "local_238 = FUN_0001dc50(local_238,local_23c,1);" (assignment_expression "local_238 = FUN_0001dc50(local_238,local_23c,1)" identifier = (call_expression "FUN_0001dc50(local_238,local_23c,1)" identifier (argument_list "(local_238,local_23c,1)" ( identifier , identifier , number_literal )))) ;) })) (expression_statement "memcpy((void *)(local_234 + local_238),pcVar7,sVar8);" (call_expression "memcpy((void *)(local_234 + local_238),pcVar7,sVar8)" identifier (argument_list "((void *)(local_234 + local_238),pcVar7,sVar8)" ( (cast_expression "(void *)(local_234 + local_238)" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_234 + local_238)" ( (binary_expression "local_234 + local_238" identifier + identifier) ))) , identifier , identifier ))) ;) (expression_statement "local_244 = local_230 + 5;" (assignment_expression "local_244 = local_230 + 5" identifier = (binary_expression "local_230 + 5" identifier + number_literal)) ;) (expression_statement "local_234 = iVar6;" (assignment_expression "local_234 = iVar6" identifier = identifier) ;) (goto_statement "goto LAB_00021c20;" goto statement_identifier ;) })) (expression_statement "iVar6 = strncasecmp(pcVar7,"proxyhost",9);" (assignment_expression "iVar6 = strncasecmp(pcVar7,"proxyhost",9)" identifier = (call_expression "strncasecmp(pcVar7,"proxyhost",9)" identifier (argument_list "(pcVar7,"proxyhost",9)" ( identifier , (string_literal ""proxyhost"" " string_content ") , number_literal )))) ;) (if_statement "if (iVar6 == 0) {\n        pcVar7 = (char *)FUN_00018b60(param_3,0xe);\n        sVar8 = strlen(pcVar7);\n        iVar6 = sVar8 + local_234;\n        if (local_23c < iVar6) {\n          local_23c = iVar6 + 0x200;\n          local_238 = FUN_0001dc50(local_238,local_23c,1);\n        }\n        memcpy((void *)(local_234 + local_238),pcVar7,sVar8);\n        local_244 = local_230 + 10;\n        local_234 = iVar6;\n        goto LAB_00021c20;\n      }" if (parenthesized_expression "(iVar6 == 0)" ( (binary_expression "iVar6 == 0" identifier == number_literal) )) (compound_statement "{\n        pcVar7 = (char *)FUN_00018b60(param_3,0xe);\n        sVar8 = strlen(pcVar7);\n        iVar6 = sVar8 + local_234;\n        if (local_23c < iVar6) {\n          local_23c = iVar6 + 0x200;\n          local_238 = FUN_0001dc50(local_238,local_23c,1);\n        }\n        memcpy((void *)(local_234 + local_238),pcVar7,sVar8);\n        local_244 = local_230 + 10;\n        local_234 = iVar6;\n        goto LAB_00021c20;\n      }" { (expression_statement "pcVar7 = (char *)FUN_00018b60(param_3,0xe);" (assignment_expression "pcVar7 = (char *)FUN_00018b60(param_3,0xe)" identifier = (cast_expression "(char *)FUN_00018b60(param_3,0xe)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00018b60(param_3,0xe)" identifier (argument_list "(param_3,0xe)" ( identifier , number_literal ))))) ;) (expression_statement "sVar8 = strlen(pcVar7);" (assignment_expression "sVar8 = strlen(pcVar7)" identifier = (call_expression "strlen(pcVar7)" identifier (argument_list "(pcVar7)" ( identifier )))) ;) (expression_statement "iVar6 = sVar8 + local_234;" (assignment_expression "iVar6 = sVar8 + local_234" identifier = (binary_expression "sVar8 + local_234" identifier + identifier)) ;) (if_statement "if (local_23c < iVar6) {\n          local_23c = iVar6 + 0x200;\n          local_238 = FUN_0001dc50(local_238,local_23c,1);\n        }" if (parenthesized_expression "(local_23c < iVar6)" ( (binary_expression "local_23c < iVar6" identifier < identifier) )) (compound_statement "{\n          local_23c = iVar6 + 0x200;\n          local_238 = FUN_0001dc50(local_238,local_23c,1);\n        }" { (expression_statement "local_23c = iVar6 + 0x200;" (assignment_expression "local_23c = iVar6 + 0x200" identifier = (binary_expression "iVar6 + 0x200" identifier + number_literal)) ;) (expression_statement "local_238 = FUN_0001dc50(local_238,local_23c,1);" (assignment_expression "local_238 = FUN_0001dc50(local_238,local_23c,1)" identifier = (call_expression "FUN_0001dc50(local_238,local_23c,1)" identifier (argument_list "(local_238,local_23c,1)" ( identifier , identifier , number_literal )))) ;) })) (expression_statement "memcpy((void *)(local_234 + local_238),pcVar7,sVar8);" (call_expression "memcpy((void *)(local_234 + local_238),pcVar7,sVar8)" identifier (argument_list "((void *)(local_234 + local_238),pcVar7,sVar8)" ( (cast_expression "(void *)(local_234 + local_238)" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_234 + local_238)" ( (binary_expression "local_234 + local_238" identifier + identifier) ))) , identifier , identifier ))) ;) (expression_statement "local_244 = local_230 + 10;" (assignment_expression "local_244 = local_230 + 10" identifier = (binary_expression "local_230 + 10" identifier + number_literal)) ;) (expression_statement "local_234 = iVar6;" (assignment_expression "local_234 = iVar6" identifier = identifier) ;) (goto_statement "goto LAB_00021c20;" goto statement_identifier ;) })) (expression_statement "iVar6 = strncasecmp(pcVar7,"proxyport",9);" (assignment_expression "iVar6 = strncasecmp(pcVar7,"proxyport",9)" identifier = (call_expression "strncasecmp(pcVar7,"proxyport",9)" identifier (argument_list "(pcVar7,"proxyport",9)" ( identifier , (string_literal ""proxyport"" " string_content ") , number_literal )))) ;) (if_statement "if (iVar6 == 0) break;" if (parenthesized_expression "(iVar6 == 0)" ( (binary_expression "iVar6 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (if_statement "if (local_23c <= local_234) {\n        local_23c = local_234 + 0x201;\n        local_238 = FUN_0001dc50(local_238,local_23c,1);\n      }" if (parenthesized_expression "(local_23c <= local_234)" ( (binary_expression "local_23c <= local_234" identifier <= identifier) )) (compound_statement "{\n        local_23c = local_234 + 0x201;\n        local_238 = FUN_0001dc50(local_238,local_23c,1);\n      }" { (expression_statement "local_23c = local_234 + 0x201;" (assignment_expression "local_23c = local_234 + 0x201" identifier = (binary_expression "local_234 + 0x201" identifier + number_literal)) ;) (expression_statement "local_238 = FUN_0001dc50(local_238,local_23c,1);" (assignment_expression "local_238 = FUN_0001dc50(local_238,local_23c,1)" identifier = (call_expression "FUN_0001dc50(local_238,local_23c,1)" identifier (argument_list "(local_238,local_23c,1)" ( identifier , identifier , number_literal )))) ;) })) (expression_statement "*(undefined1 *)(local_238 + local_234) = 0x25;" (assignment_expression "*(undefined1 *)(local_238 + local_234) = 0x25" (pointer_expression "*(undefined1 *)(local_238 + local_234)" * (cast_expression "(undefined1 *)(local_238 + local_234)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_238 + local_234)" ( (binary_expression "local_238 + local_234" identifier + identifier) )))) = number_literal) ;) (expression_statement "local_234 = local_234 + 1;" (assignment_expression "local_234 = local_234 + 1" identifier = (binary_expression "local_234 + 1" identifier + number_literal)) ;) (expression_statement "pcVar7 = (char *)(iVar4 + local_244);" (assignment_expression "pcVar7 = (char *)(iVar4 + local_244)" identifier = (cast_expression "(char *)(iVar4 + local_244)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + local_244)" ( (binary_expression "iVar4 + local_244" identifier + identifier) )))) ;) (expression_statement "cVar2 = *pcVar7;" (assignment_expression "cVar2 = *pcVar7" identifier = (pointer_expression "*pcVar7" * identifier)) ;) (expression_statement "iVar6 = local_244;" (assignment_expression "iVar6 = local_244" identifier = identifier) ;) (goto_statement "goto joined_r0x00021c28;" goto statement_identifier ;) })) (expression_statement "FUN_00084190(param_1,local_220,0x200);" (call_expression "FUN_00084190(param_1,local_220,0x200)" identifier (argument_list "(param_1,local_220,0x200)" ( identifier , identifier , number_literal ))) ;) (expression_statement "puVar12 = local_220;" (assignment_expression "puVar12 = local_220" identifier = identifier) ;) (do_statement "do {\n      puVar13 = puVar12;\n      uVar10 = *puVar13 + 0xfefefeff & ~*puVar13;\n      uVar11 = uVar10 & 0x80808080;\n      puVar12 = puVar13 + 1;\n    } while (uVar11 == 0);" do (compound_statement "{\n      puVar13 = puVar12;\n      uVar10 = *puVar13 + 0xfefefeff & ~*puVar13;\n      uVar11 = uVar10 & 0x80808080;\n      puVar12 = puVar13 + 1;\n    }" { (expression_statement "puVar13 = puVar12;" (assignment_expression "puVar13 = puVar12" identifier = identifier) ;) (expression_statement "uVar10 = *puVar13 + 0xfefefeff & ~*puVar13;" (assignment_expression "uVar10 = *puVar13 + 0xfefefeff & ~*puVar13" identifier = (binary_expression "*puVar13 + 0xfefefeff & ~*puVar13" (binary_expression "*puVar13 + 0xfefefeff" (pointer_expression "*puVar13" * identifier) + number_literal) & (unary_expression "~*puVar13" ~ (pointer_expression "*puVar13" * identifier)))) ;) (expression_statement "uVar11 = uVar10 & 0x80808080;" (assignment_expression "uVar11 = uVar10 & 0x80808080" identifier = (binary_expression "uVar10 & 0x80808080" identifier & number_literal)) ;) (expression_statement "puVar12 = puVar13 + 1;" (assignment_expression "puVar12 = puVar13 + 1" identifier = (binary_expression "puVar13 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(uVar11 == 0)" ( (binary_expression "uVar11 == 0" identifier == number_literal) )) ;) (expression_statement "bVar16 = (uVar10 & 0x8080) == 0;" (assignment_expression "bVar16 = (uVar10 & 0x8080) == 0" identifier = (binary_expression "(uVar10 & 0x8080) == 0" (parenthesized_expression "(uVar10 & 0x8080)" ( (binary_expression "uVar10 & 0x8080" identifier & number_literal) )) == number_literal)) ;) (if_statement "if (bVar16) {\n      uVar11 = uVar11 >> 0x10;\n    }" if (parenthesized_expression "(bVar16)" ( identifier )) (compound_statement "{\n      uVar11 = uVar11 >> 0x10;\n    }" { (expression_statement "uVar11 = uVar11 >> 0x10;" (assignment_expression "uVar11 = uVar11 >> 0x10" identifier = (binary_expression "uVar11 >> 0x10" identifier >> number_literal)) ;) })) (expression_statement "puVar12 = (uint *)((int)puVar13 + 6);" (assignment_expression "puVar12 = (uint *)((int)puVar13 + 6)" identifier = (cast_expression "(uint *)((int)puVar13 + 6)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar13 + 6)" ( (binary_expression "(int)puVar13 + 6" (cast_expression "(int)puVar13" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (if_statement "if (!bVar16) {\n      puVar12 = puVar13 + 1;\n    }" if (parenthesized_expression "(!bVar16)" ( (unary_expression "!bVar16" ! identifier) )) (compound_statement "{\n      puVar12 = puVar13 + 1;\n    }" { (expression_statement "puVar12 = puVar13 + 1;" (assignment_expression "puVar12 = puVar13 + 1" identifier = (binary_expression "puVar13 + 1" identifier + number_literal)) ;) })) (expression_statement "uVar11 = (int)puVar12 + ((-3 - (uint)CARRY1((byte)uVar11,(byte)uVar11)) - (int)local_220);" (assignment_expression "uVar11 = (int)puVar12 + ((-3 - (uint)CARRY1((byte)uVar11,(byte)uVar11)) - (int)local_220)" identifier = (binary_expression "(int)puVar12 + ((-3 - (uint)CARRY1((byte)uVar11,(byte)uVar11)) - (int)local_220)" (cast_expression "(int)puVar12" ( (type_descriptor "int" primitive_type) ) identifier) + (parenthesized_expression "((-3 - (uint)CARRY1((byte)uVar11,(byte)uVar11)) - (int)local_220)" ( (binary_expression "(-3 - (uint)CARRY1((byte)uVar11,(byte)uVar11)) - (int)local_220" (parenthesized_expression "(-3 - (uint)CARRY1((byte)uVar11,(byte)uVar11))" ( (binary_expression "-3 - (uint)CARRY1((byte)uVar11,(byte)uVar11)" number_literal - (cast_expression "(uint)CARRY1((byte)uVar11,(byte)uVar11)" ( (type_descriptor "uint" type_identifier) ) (call_expression "CARRY1((byte)uVar11,(byte)uVar11)" identifier (argument_list "((byte)uVar11,(byte)uVar11)" ( (cast_expression "(byte)uVar11" ( (type_descriptor "byte" type_identifier) ) identifier) , (cast_expression "(byte)uVar11" ( (type_descriptor "byte" type_identifier) ) identifier) ))))) )) - (cast_expression "(int)local_220" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (labeled_statement "joined_r0x000221ae:\n    iVar6 = local_234 + uVar11;" statement_identifier : (expression_statement "iVar6 = local_234 + uVar11;" (assignment_expression "iVar6 = local_234 + uVar11" identifier = (binary_expression "local_234 + uVar11" identifier + identifier)) ;)) (if_statement "if (local_23c < iVar6) {\n      local_23c = iVar6 + 0x200;\n      local_238 = FUN_0001dc50(local_238,local_23c,1);\n    }" if (parenthesized_expression "(local_23c < iVar6)" ( (binary_expression "local_23c < iVar6" identifier < identifier) )) (compound_statement "{\n      local_23c = iVar6 + 0x200;\n      local_238 = FUN_0001dc50(local_238,local_23c,1);\n    }" { (expression_statement "local_23c = iVar6 + 0x200;" (assignment_expression "local_23c = iVar6 + 0x200" identifier = (binary_expression "iVar6 + 0x200" identifier + number_literal)) ;) (expression_statement "local_238 = FUN_0001dc50(local_238,local_23c,1);" (assignment_expression "local_238 = FUN_0001dc50(local_238,local_23c,1)" identifier = (call_expression "FUN_0001dc50(local_238,local_23c,1)" identifier (argument_list "(local_238,local_23c,1)" ( identifier , identifier , number_literal )))) ;) })) (expression_statement "puVar12 = (uint *)(local_234 + local_238);" (assignment_expression "puVar12 = (uint *)(local_234 + local_238)" identifier = (cast_expression "(uint *)(local_234 + local_238)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_234 + local_238)" ( (binary_expression "local_234 + local_238" identifier + identifier) )))) ;) (if_statement "if (uVar11 < 4) {\n      if (uVar11 != 0) {\n        *(undefined1 *)puVar12 = (undefined1)local_220[0];\n        if ((uVar11 & 2) != 0) {\n          *(undefined2 *)((int)puVar12 + (uVar11 - 2)) = *(undefined2 *)(auStack_227 + uVar11 + 5);\n        }\n      }\n    }\n    else {\n      *puVar12 = local_220[0];\n      *(undefined4 *)((int)puVar12 + (uVar11 - 4)) = *(undefined4 *)(auStack_227 + uVar11 + 3);\n      iVar5 = (int)puVar12 - (int)((uint)(puVar12 + 1) & 0xfffffffc);\n      puVar14 = (undefined4 *)((int)local_220 - iVar5);\n      puVar15 = (undefined4 *)((uint)(puVar12 + 1) & 0xfffffffc);\n      for (uVar11 = uVar11 + iVar5 >> 2; uVar11 != 0; uVar11 = uVar11 - 1) {\n        *puVar15 = *puVar14;\n        puVar14 = puVar14 + (uint)bVar17 * -2 + 1;\n        puVar15 = puVar15 + (uint)bVar17 * -2 + 1;\n      }\n    }" if (parenthesized_expression "(uVar11 < 4)" ( (binary_expression "uVar11 < 4" identifier < number_literal) )) (compound_statement "{\n      if (uVar11 != 0) {\n        *(undefined1 *)puVar12 = (undefined1)local_220[0];\n        if ((uVar11 & 2) != 0) {\n          *(undefined2 *)((int)puVar12 + (uVar11 - 2)) = *(undefined2 *)(auStack_227 + uVar11 + 5);\n        }\n      }\n    }" { (if_statement "if (uVar11 != 0) {\n        *(undefined1 *)puVar12 = (undefined1)local_220[0];\n        if ((uVar11 & 2) != 0) {\n          *(undefined2 *)((int)puVar12 + (uVar11 - 2)) = *(undefined2 *)(auStack_227 + uVar11 + 5);\n        }\n      }" if (parenthesized_expression "(uVar11 != 0)" ( (binary_expression "uVar11 != 0" identifier != number_literal) )) (compound_statement "{\n        *(undefined1 *)puVar12 = (undefined1)local_220[0];\n        if ((uVar11 & 2) != 0) {\n          *(undefined2 *)((int)puVar12 + (uVar11 - 2)) = *(undefined2 *)(auStack_227 + uVar11 + 5);\n        }\n      }" { (expression_statement "*(undefined1 *)puVar12 = (undefined1)local_220[0];" (assignment_expression "*(undefined1 *)puVar12 = (undefined1)local_220[0]" (pointer_expression "*(undefined1 *)puVar12" * (cast_expression "(undefined1 *)puVar12" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = (cast_expression "(undefined1)local_220[0]" ( (type_descriptor "undefined1" type_identifier) ) (subscript_expression "local_220[0]" identifier [ number_literal ]))) ;) (if_statement "if ((uVar11 & 2) != 0) {\n          *(undefined2 *)((int)puVar12 + (uVar11 - 2)) = *(undefined2 *)(auStack_227 + uVar11 + 5);\n        }" if (parenthesized_expression "((uVar11 & 2) != 0)" ( (binary_expression "(uVar11 & 2) != 0" (parenthesized_expression "(uVar11 & 2)" ( (binary_expression "uVar11 & 2" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n          *(undefined2 *)((int)puVar12 + (uVar11 - 2)) = *(undefined2 *)(auStack_227 + uVar11 + 5);\n        }" { (expression_statement "*(undefined2 *)((int)puVar12 + (uVar11 - 2)) = *(undefined2 *)(auStack_227 + uVar11 + 5);" (assignment_expression "*(undefined2 *)((int)puVar12 + (uVar11 - 2)) = *(undefined2 *)(auStack_227 + uVar11 + 5)" (pointer_expression "*(undefined2 *)((int)puVar12 + (uVar11 - 2))" * (cast_expression "(undefined2 *)((int)puVar12 + (uVar11 - 2))" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar12 + (uVar11 - 2))" ( (binary_expression "(int)puVar12 + (uVar11 - 2)" (cast_expression "(int)puVar12" ( (type_descriptor "int" primitive_type) ) identifier) + (parenthesized_expression "(uVar11 - 2)" ( (binary_expression "uVar11 - 2" identifier - number_literal) ))) )))) = (pointer_expression "*(undefined2 *)(auStack_227 + uVar11 + 5)" * (cast_expression "(undefined2 *)(auStack_227 + uVar11 + 5)" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(auStack_227 + uVar11 + 5)" ( (binary_expression "auStack_227 + uVar11 + 5" (binary_expression "auStack_227 + uVar11" identifier + identifier) + number_literal) ))))) ;) })) })) }) (else_clause "else {\n      *puVar12 = local_220[0];\n      *(undefined4 *)((int)puVar12 + (uVar11 - 4)) = *(undefined4 *)(auStack_227 + uVar11 + 3);\n      iVar5 = (int)puVar12 - (int)((uint)(puVar12 + 1) & 0xfffffffc);\n      puVar14 = (undefined4 *)((int)local_220 - iVar5);\n      puVar15 = (undefined4 *)((uint)(puVar12 + 1) & 0xfffffffc);\n      for (uVar11 = uVar11 + iVar5 >> 2; uVar11 != 0; uVar11 = uVar11 - 1) {\n        *puVar15 = *puVar14;\n        puVar14 = puVar14 + (uint)bVar17 * -2 + 1;\n        puVar15 = puVar15 + (uint)bVar17 * -2 + 1;\n      }\n    }" else (compound_statement "{\n      *puVar12 = local_220[0];\n      *(undefined4 *)((int)puVar12 + (uVar11 - 4)) = *(undefined4 *)(auStack_227 + uVar11 + 3);\n      iVar5 = (int)puVar12 - (int)((uint)(puVar12 + 1) & 0xfffffffc);\n      puVar14 = (undefined4 *)((int)local_220 - iVar5);\n      puVar15 = (undefined4 *)((uint)(puVar12 + 1) & 0xfffffffc);\n      for (uVar11 = uVar11 + iVar5 >> 2; uVar11 != 0; uVar11 = uVar11 - 1) {\n        *puVar15 = *puVar14;\n        puVar14 = puVar14 + (uint)bVar17 * -2 + 1;\n        puVar15 = puVar15 + (uint)bVar17 * -2 + 1;\n      }\n    }" { (expression_statement "*puVar12 = local_220[0];" (assignment_expression "*puVar12 = local_220[0]" (pointer_expression "*puVar12" * identifier) = (subscript_expression "local_220[0]" identifier [ number_literal ])) ;) (expression_statement "*(undefined4 *)((int)puVar12 + (uVar11 - 4)) = *(undefined4 *)(auStack_227 + uVar11 + 3);" (assignment_expression "*(undefined4 *)((int)puVar12 + (uVar11 - 4)) = *(undefined4 *)(auStack_227 + uVar11 + 3)" (pointer_expression "*(undefined4 *)((int)puVar12 + (uVar11 - 4))" * (cast_expression "(undefined4 *)((int)puVar12 + (uVar11 - 4))" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar12 + (uVar11 - 4))" ( (binary_expression "(int)puVar12 + (uVar11 - 4)" (cast_expression "(int)puVar12" ( (type_descriptor "int" primitive_type) ) identifier) + (parenthesized_expression "(uVar11 - 4)" ( (binary_expression "uVar11 - 4" identifier - number_literal) ))) )))) = (pointer_expression "*(undefined4 *)(auStack_227 + uVar11 + 3)" * (cast_expression "(undefined4 *)(auStack_227 + uVar11 + 3)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(auStack_227 + uVar11 + 3)" ( (binary_expression "auStack_227 + uVar11 + 3" (binary_expression "auStack_227 + uVar11" identifier + identifier) + number_literal) ))))) ;) (expression_statement "iVar5 = (int)puVar12 - (int)((uint)(puVar12 + 1) & 0xfffffffc);" (assignment_expression "iVar5 = (int)puVar12 - (int)((uint)(puVar12 + 1) & 0xfffffffc)" identifier = (binary_expression "(int)puVar12 - (int)((uint)(puVar12 + 1) & 0xfffffffc)" (cast_expression "(int)puVar12" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)((uint)(puVar12 + 1) & 0xfffffffc)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((uint)(puVar12 + 1) & 0xfffffffc)" ( (binary_expression "(uint)(puVar12 + 1) & 0xfffffffc" (call_expression "(uint)(puVar12 + 1)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(puVar12 + 1)" ( (binary_expression "puVar12 + 1" identifier + number_literal) ))) & number_literal) ))))) ;) (expression_statement "puVar14 = (undefined4 *)((int)local_220 - iVar5);" (assignment_expression "puVar14 = (undefined4 *)((int)local_220 - iVar5)" identifier = (cast_expression "(undefined4 *)((int)local_220 - iVar5)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_220 - iVar5)" ( (binary_expression "(int)local_220 - iVar5" (cast_expression "(int)local_220" ( (type_descriptor "int" primitive_type) ) identifier) - identifier) )))) ;) (expression_statement "puVar15 = (undefined4 *)((uint)(puVar12 + 1) & 0xfffffffc);" (assignment_expression "puVar15 = (undefined4 *)((uint)(puVar12 + 1) & 0xfffffffc)" identifier = (cast_expression "(undefined4 *)((uint)(puVar12 + 1) & 0xfffffffc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((uint)(puVar12 + 1) & 0xfffffffc)" ( (binary_expression "(uint)(puVar12 + 1) & 0xfffffffc" (call_expression "(uint)(puVar12 + 1)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(puVar12 + 1)" ( (binary_expression "puVar12 + 1" identifier + number_literal) ))) & number_literal) )))) ;) (for_statement "for (uVar11 = uVar11 + iVar5 >> 2; uVar11 != 0; uVar11 = uVar11 - 1) {\n        *puVar15 = *puVar14;\n        puVar14 = puVar14 + (uint)bVar17 * -2 + 1;\n        puVar15 = puVar15 + (uint)bVar17 * -2 + 1;\n      }" for ( (assignment_expression "uVar11 = uVar11 + iVar5 >> 2" identifier = (binary_expression "uVar11 + iVar5 >> 2" (binary_expression "uVar11 + iVar5" identifier + identifier) >> number_literal)) ; (binary_expression "uVar11 != 0" identifier != number_literal) ; (assignment_expression "uVar11 = uVar11 - 1" identifier = (binary_expression "uVar11 - 1" identifier - number_literal)) ) (compound_statement "{\n        *puVar15 = *puVar14;\n        puVar14 = puVar14 + (uint)bVar17 * -2 + 1;\n        puVar15 = puVar15 + (uint)bVar17 * -2 + 1;\n      }" { (expression_statement "*puVar15 = *puVar14;" (assignment_expression "*puVar15 = *puVar14" (pointer_expression "*puVar15" * identifier) = (pointer_expression "*puVar14" * identifier)) ;) (expression_statement "puVar14 = puVar14 + (uint)bVar17 * -2 + 1;" (assignment_expression "puVar14 = puVar14 + (uint)bVar17 * -2 + 1" identifier = (binary_expression "puVar14 + (uint)bVar17 * -2 + 1" (binary_expression "puVar14 + (uint)bVar17 * -2" identifier + (binary_expression "(uint)bVar17 * -2" (cast_expression "(uint)bVar17" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "puVar15 = puVar15 + (uint)bVar17 * -2 + 1;" (assignment_expression "puVar15 = puVar15 + (uint)bVar17 * -2 + 1" identifier = (binary_expression "puVar15 + (uint)bVar17 * -2 + 1" (binary_expression "puVar15 + (uint)bVar17 * -2" identifier + (binary_expression "(uint)bVar17 * -2" (cast_expression "(uint)bVar17" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) })) }))) (expression_statement "local_244 = local_230 + 5;" (assignment_expression "local_244 = local_230 + 5" identifier = (binary_expression "local_230 + 5" identifier + number_literal)) ;) (expression_statement "local_234 = iVar6;" (assignment_expression "local_234 = iVar6" identifier = identifier) ;) }) while (parenthesized_expression "( true )" ( true )) ;)) (expression_statement "uVar9 = FUN_000189b0(param_3,0xf);" (assignment_expression "uVar9 = FUN_000189b0(param_3,0xf)" identifier = (call_expression "FUN_000189b0(param_3,0xf)" identifier (argument_list "(param_3,0xf)" ( identifier , number_literal )))) ;) (expression_statement "__sprintf_chk(local_220,1,0x32,"%d",uVar9);" (call_expression "__sprintf_chk(local_220,1,0x32,"%d",uVar9)" identifier (argument_list "(local_220,1,0x32,"%d",uVar9)" ( identifier , number_literal , number_literal , (string_literal ""%d"" " string_content ") , identifier ))) ;) (expression_statement "puVar12 = local_220;" (assignment_expression "puVar12 = local_220" identifier = identifier) ;) (do_statement "do {\n    puVar13 = puVar12;\n    uVar10 = *puVar13 + 0xfefefeff & ~*puVar13;\n    uVar11 = uVar10 & 0x80808080;\n    puVar12 = puVar13 + 1;\n  } while (uVar11 == 0);" do (compound_statement "{\n    puVar13 = puVar12;\n    uVar10 = *puVar13 + 0xfefefeff & ~*puVar13;\n    uVar11 = uVar10 & 0x80808080;\n    puVar12 = puVar13 + 1;\n  }" { (expression_statement "puVar13 = puVar12;" (assignment_expression "puVar13 = puVar12" identifier = identifier) ;) (expression_statement "uVar10 = *puVar13 + 0xfefefeff & ~*puVar13;" (assignment_expression "uVar10 = *puVar13 + 0xfefefeff & ~*puVar13" identifier = (binary_expression "*puVar13 + 0xfefefeff & ~*puVar13" (binary_expression "*puVar13 + 0xfefefeff" (pointer_expression "*puVar13" * identifier) + number_literal) & (unary_expression "~*puVar13" ~ (pointer_expression "*puVar13" * identifier)))) ;) (expression_statement "uVar11 = uVar10 & 0x80808080;" (assignment_expression "uVar11 = uVar10 & 0x80808080" identifier = (binary_expression "uVar10 & 0x80808080" identifier & number_literal)) ;) (expression_statement "puVar12 = puVar13 + 1;" (assignment_expression "puVar12 = puVar13 + 1" identifier = (binary_expression "puVar13 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(uVar11 == 0)" ( (binary_expression "uVar11 == 0" identifier == number_literal) )) ;) (expression_statement "bVar16 = (uVar10 & 0x8080) == 0;" (assignment_expression "bVar16 = (uVar10 & 0x8080) == 0" identifier = (binary_expression "(uVar10 & 0x8080) == 0" (parenthesized_expression "(uVar10 & 0x8080)" ( (binary_expression "uVar10 & 0x8080" identifier & number_literal) )) == number_literal)) ;) (if_statement "if (bVar16) {\n    uVar11 = uVar11 >> 0x10;\n  }" if (parenthesized_expression "(bVar16)" ( identifier )) (compound_statement "{\n    uVar11 = uVar11 >> 0x10;\n  }" { (expression_statement "uVar11 = uVar11 >> 0x10;" (assignment_expression "uVar11 = uVar11 >> 0x10" identifier = (binary_expression "uVar11 >> 0x10" identifier >> number_literal)) ;) })) (if_statement "if (bVar16) {\n    puVar12 = (uint *)((int)puVar13 + 6);\n  }" if (parenthesized_expression "(bVar16)" ( identifier )) (compound_statement "{\n    puVar12 = (uint *)((int)puVar13 + 6);\n  }" { (expression_statement "puVar12 = (uint *)((int)puVar13 + 6);" (assignment_expression "puVar12 = (uint *)((int)puVar13 + 6)" identifier = (cast_expression "(uint *)((int)puVar13 + 6)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar13 + 6)" ( (binary_expression "(int)puVar13 + 6" (cast_expression "(int)puVar13" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) })) (expression_statement "uVar11 = (int)puVar12 + ((-3 - (uint)CARRY1((byte)uVar11,(byte)uVar11)) - (int)local_220);" (assignment_expression "uVar11 = (int)puVar12 + ((-3 - (uint)CARRY1((byte)uVar11,(byte)uVar11)) - (int)local_220)" identifier = (binary_expression "(int)puVar12 + ((-3 - (uint)CARRY1((byte)uVar11,(byte)uVar11)) - (int)local_220)" (cast_expression "(int)puVar12" ( (type_descriptor "int" primitive_type) ) identifier) + (parenthesized_expression "((-3 - (uint)CARRY1((byte)uVar11,(byte)uVar11)) - (int)local_220)" ( (binary_expression "(-3 - (uint)CARRY1((byte)uVar11,(byte)uVar11)) - (int)local_220" (parenthesized_expression "(-3 - (uint)CARRY1((byte)uVar11,(byte)uVar11))" ( (binary_expression "-3 - (uint)CARRY1((byte)uVar11,(byte)uVar11)" number_literal - (cast_expression "(uint)CARRY1((byte)uVar11,(byte)uVar11)" ( (type_descriptor "uint" type_identifier) ) (call_expression "CARRY1((byte)uVar11,(byte)uVar11)" identifier (argument_list "((byte)uVar11,(byte)uVar11)" ( (cast_expression "(byte)uVar11" ( (type_descriptor "byte" type_identifier) ) identifier) , (cast_expression "(byte)uVar11" ( (type_descriptor "byte" type_identifier) ) identifier) ))))) )) - (cast_expression "(int)local_220" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (expression_statement "iVar6 = local_234 + uVar11;" (assignment_expression "iVar6 = local_234 + uVar11" identifier = (binary_expression "local_234 + uVar11" identifier + identifier)) ;) (if_statement "if (local_23c < iVar6) {\n    local_23c = iVar6 + 0x200;\n    local_238 = FUN_0001dc50(local_238,local_23c,1);\n  }" if (parenthesized_expression "(local_23c < iVar6)" ( (binary_expression "local_23c < iVar6" identifier < identifier) )) (compound_statement "{\n    local_23c = iVar6 + 0x200;\n    local_238 = FUN_0001dc50(local_238,local_23c,1);\n  }" { (expression_statement "local_23c = iVar6 + 0x200;" (assignment_expression "local_23c = iVar6 + 0x200" identifier = (binary_expression "iVar6 + 0x200" identifier + number_literal)) ;) (expression_statement "local_238 = FUN_0001dc50(local_238,local_23c,1);" (assignment_expression "local_238 = FUN_0001dc50(local_238,local_23c,1)" identifier = (call_expression "FUN_0001dc50(local_238,local_23c,1)" identifier (argument_list "(local_238,local_23c,1)" ( identifier , identifier , number_literal )))) ;) })) (expression_statement "puVar12 = (uint *)(local_234 + local_238);" (assignment_expression "puVar12 = (uint *)(local_234 + local_238)" identifier = (cast_expression "(uint *)(local_234 + local_238)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_234 + local_238)" ( (binary_expression "local_234 + local_238" identifier + identifier) )))) ;) (if_statement "if (uVar11 < 4) {\n    if (uVar11 != 0) {\n      *(undefined1 *)puVar12 = (undefined1)local_220[0];\n      if ((uVar11 & 2) != 0) {\n        *(undefined2 *)((int)puVar12 + (uVar11 - 2)) = *(undefined2 *)(auStack_227 + uVar11 + 5);\n      }\n    }\n  }\n  else {\n    *puVar12 = local_220[0];\n    *(undefined4 *)((int)puVar12 + (uVar11 - 4)) = *(undefined4 *)(auStack_227 + uVar11 + 3);\n    iVar5 = (int)puVar12 - ((uint)(puVar12 + 1) & 0xfffffffc);\n    uVar11 = iVar5 + uVar11 & 0xfffffffc;\n    if (3 < uVar11) {\n      uVar10 = 0;\n      do {\n        *(undefined4 *)(((uint)(puVar12 + 1) & 0xfffffffc) + uVar10) =\n             *(undefined4 *)((int)local_220 + (uVar10 - iVar5));\n        uVar10 = uVar10 + 4;\n      } while (uVar10 < uVar11);\n    }\n  }" if (parenthesized_expression "(uVar11 < 4)" ( (binary_expression "uVar11 < 4" identifier < number_literal) )) (compound_statement "{\n    if (uVar11 != 0) {\n      *(undefined1 *)puVar12 = (undefined1)local_220[0];\n      if ((uVar11 & 2) != 0) {\n        *(undefined2 *)((int)puVar12 + (uVar11 - 2)) = *(undefined2 *)(auStack_227 + uVar11 + 5);\n      }\n    }\n  }" { (if_statement "if (uVar11 != 0) {\n      *(undefined1 *)puVar12 = (undefined1)local_220[0];\n      if ((uVar11 & 2) != 0) {\n        *(undefined2 *)((int)puVar12 + (uVar11 - 2)) = *(undefined2 *)(auStack_227 + uVar11 + 5);\n      }\n    }" if (parenthesized_expression "(uVar11 != 0)" ( (binary_expression "uVar11 != 0" identifier != number_literal) )) (compound_statement "{\n      *(undefined1 *)puVar12 = (undefined1)local_220[0];\n      if ((uVar11 & 2) != 0) {\n        *(undefined2 *)((int)puVar12 + (uVar11 - 2)) = *(undefined2 *)(auStack_227 + uVar11 + 5);\n      }\n    }" { (expression_statement "*(undefined1 *)puVar12 = (undefined1)local_220[0];" (assignment_expression "*(undefined1 *)puVar12 = (undefined1)local_220[0]" (pointer_expression "*(undefined1 *)puVar12" * (cast_expression "(undefined1 *)puVar12" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = (cast_expression "(undefined1)local_220[0]" ( (type_descriptor "undefined1" type_identifier) ) (subscript_expression "local_220[0]" identifier [ number_literal ]))) ;) (if_statement "if ((uVar11 & 2) != 0) {\n        *(undefined2 *)((int)puVar12 + (uVar11 - 2)) = *(undefined2 *)(auStack_227 + uVar11 + 5);\n      }" if (parenthesized_expression "((uVar11 & 2) != 0)" ( (binary_expression "(uVar11 & 2) != 0" (parenthesized_expression "(uVar11 & 2)" ( (binary_expression "uVar11 & 2" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n        *(undefined2 *)((int)puVar12 + (uVar11 - 2)) = *(undefined2 *)(auStack_227 + uVar11 + 5);\n      }" { (expression_statement "*(undefined2 *)((int)puVar12 + (uVar11 - 2)) = *(undefined2 *)(auStack_227 + uVar11 + 5);" (assignment_expression "*(undefined2 *)((int)puVar12 + (uVar11 - 2)) = *(undefined2 *)(auStack_227 + uVar11 + 5)" (pointer_expression "*(undefined2 *)((int)puVar12 + (uVar11 - 2))" * (cast_expression "(undefined2 *)((int)puVar12 + (uVar11 - 2))" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar12 + (uVar11 - 2))" ( (binary_expression "(int)puVar12 + (uVar11 - 2)" (cast_expression "(int)puVar12" ( (type_descriptor "int" primitive_type) ) identifier) + (parenthesized_expression "(uVar11 - 2)" ( (binary_expression "uVar11 - 2" identifier - number_literal) ))) )))) = (pointer_expression "*(undefined2 *)(auStack_227 + uVar11 + 5)" * (cast_expression "(undefined2 *)(auStack_227 + uVar11 + 5)" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(auStack_227 + uVar11 + 5)" ( (binary_expression "auStack_227 + uVar11 + 5" (binary_expression "auStack_227 + uVar11" identifier + identifier) + number_literal) ))))) ;) })) })) }) (else_clause "else {\n    *puVar12 = local_220[0];\n    *(undefined4 *)((int)puVar12 + (uVar11 - 4)) = *(undefined4 *)(auStack_227 + uVar11 + 3);\n    iVar5 = (int)puVar12 - ((uint)(puVar12 + 1) & 0xfffffffc);\n    uVar11 = iVar5 + uVar11 & 0xfffffffc;\n    if (3 < uVar11) {\n      uVar10 = 0;\n      do {\n        *(undefined4 *)(((uint)(puVar12 + 1) & 0xfffffffc) + uVar10) =\n             *(undefined4 *)((int)local_220 + (uVar10 - iVar5));\n        uVar10 = uVar10 + 4;\n      } while (uVar10 < uVar11);\n    }\n  }" else (compound_statement "{\n    *puVar12 = local_220[0];\n    *(undefined4 *)((int)puVar12 + (uVar11 - 4)) = *(undefined4 *)(auStack_227 + uVar11 + 3);\n    iVar5 = (int)puVar12 - ((uint)(puVar12 + 1) & 0xfffffffc);\n    uVar11 = iVar5 + uVar11 & 0xfffffffc;\n    if (3 < uVar11) {\n      uVar10 = 0;\n      do {\n        *(undefined4 *)(((uint)(puVar12 + 1) & 0xfffffffc) + uVar10) =\n             *(undefined4 *)((int)local_220 + (uVar10 - iVar5));\n        uVar10 = uVar10 + 4;\n      } while (uVar10 < uVar11);\n    }\n  }" { (expression_statement "*puVar12 = local_220[0];" (assignment_expression "*puVar12 = local_220[0]" (pointer_expression "*puVar12" * identifier) = (subscript_expression "local_220[0]" identifier [ number_literal ])) ;) (expression_statement "*(undefined4 *)((int)puVar12 + (uVar11 - 4)) = *(undefined4 *)(auStack_227 + uVar11 + 3);" (assignment_expression "*(undefined4 *)((int)puVar12 + (uVar11 - 4)) = *(undefined4 *)(auStack_227 + uVar11 + 3)" (pointer_expression "*(undefined4 *)((int)puVar12 + (uVar11 - 4))" * (cast_expression "(undefined4 *)((int)puVar12 + (uVar11 - 4))" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar12 + (uVar11 - 4))" ( (binary_expression "(int)puVar12 + (uVar11 - 4)" (cast_expression "(int)puVar12" ( (type_descriptor "int" primitive_type) ) identifier) + (parenthesized_expression "(uVar11 - 4)" ( (binary_expression "uVar11 - 4" identifier - number_literal) ))) )))) = (pointer_expression "*(undefined4 *)(auStack_227 + uVar11 + 3)" * (cast_expression "(undefined4 *)(auStack_227 + uVar11 + 3)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(auStack_227 + uVar11 + 3)" ( (binary_expression "auStack_227 + uVar11 + 3" (binary_expression "auStack_227 + uVar11" identifier + identifier) + number_literal) ))))) ;) (expression_statement "iVar5 = (int)puVar12 - ((uint)(puVar12 + 1) & 0xfffffffc);" (assignment_expression "iVar5 = (int)puVar12 - ((uint)(puVar12 + 1) & 0xfffffffc)" identifier = (binary_expression "(int)puVar12 - ((uint)(puVar12 + 1) & 0xfffffffc)" (cast_expression "(int)puVar12" ( (type_descriptor "int" primitive_type) ) identifier) - (parenthesized_expression "((uint)(puVar12 + 1) & 0xfffffffc)" ( (binary_expression "(uint)(puVar12 + 1) & 0xfffffffc" (call_expression "(uint)(puVar12 + 1)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(puVar12 + 1)" ( (binary_expression "puVar12 + 1" identifier + number_literal) ))) & number_literal) )))) ;) (expression_statement "uVar11 = iVar5 + uVar11 & 0xfffffffc;" (assignment_expression "uVar11 = iVar5 + uVar11 & 0xfffffffc" identifier = (binary_expression "iVar5 + uVar11 & 0xfffffffc" (binary_expression "iVar5 + uVar11" identifier + identifier) & number_literal)) ;) (if_statement "if (3 < uVar11) {\n      uVar10 = 0;\n      do {\n        *(undefined4 *)(((uint)(puVar12 + 1) & 0xfffffffc) + uVar10) =\n             *(undefined4 *)((int)local_220 + (uVar10 - iVar5));\n        uVar10 = uVar10 + 4;\n      } while (uVar10 < uVar11);\n    }" if (parenthesized_expression "(3 < uVar11)" ( (binary_expression "3 < uVar11" number_literal < identifier) )) (compound_statement "{\n      uVar10 = 0;\n      do {\n        *(undefined4 *)(((uint)(puVar12 + 1) & 0xfffffffc) + uVar10) =\n             *(undefined4 *)((int)local_220 + (uVar10 - iVar5));\n        uVar10 = uVar10 + 4;\n      } while (uVar10 < uVar11);\n    }" { (expression_statement "uVar10 = 0;" (assignment_expression "uVar10 = 0" identifier = number_literal) ;) (do_statement "do {\n        *(undefined4 *)(((uint)(puVar12 + 1) & 0xfffffffc) + uVar10) =\n             *(undefined4 *)((int)local_220 + (uVar10 - iVar5));\n        uVar10 = uVar10 + 4;\n      } while (uVar10 < uVar11);" do (compound_statement "{\n        *(undefined4 *)(((uint)(puVar12 + 1) & 0xfffffffc) + uVar10) =\n             *(undefined4 *)((int)local_220 + (uVar10 - iVar5));\n        uVar10 = uVar10 + 4;\n      }" { (expression_statement "*(undefined4 *)(((uint)(puVar12 + 1) & 0xfffffffc) + uVar10) =\n             *(undefined4 *)((int)local_220 + (uVar10 - iVar5));" (assignment_expression "*(undefined4 *)(((uint)(puVar12 + 1) & 0xfffffffc) + uVar10) =\n             *(undefined4 *)((int)local_220 + (uVar10 - iVar5))" (pointer_expression "*(undefined4 *)(((uint)(puVar12 + 1) & 0xfffffffc) + uVar10)" * (cast_expression "(undefined4 *)(((uint)(puVar12 + 1) & 0xfffffffc) + uVar10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(((uint)(puVar12 + 1) & 0xfffffffc) + uVar10)" ( (binary_expression "((uint)(puVar12 + 1) & 0xfffffffc) + uVar10" (parenthesized_expression "((uint)(puVar12 + 1) & 0xfffffffc)" ( (binary_expression "(uint)(puVar12 + 1) & 0xfffffffc" (call_expression "(uint)(puVar12 + 1)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(puVar12 + 1)" ( (binary_expression "puVar12 + 1" identifier + number_literal) ))) & number_literal) )) + identifier) )))) = (pointer_expression "*(undefined4 *)((int)local_220 + (uVar10 - iVar5))" * (cast_expression "(undefined4 *)((int)local_220 + (uVar10 - iVar5))" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_220 + (uVar10 - iVar5))" ( (binary_expression "(int)local_220 + (uVar10 - iVar5)" (cast_expression "(int)local_220" ( (type_descriptor "int" primitive_type) ) identifier) + (parenthesized_expression "(uVar10 - iVar5)" ( (binary_expression "uVar10 - iVar5" identifier - identifier) ))) ))))) ;) (expression_statement "uVar10 = uVar10 + 4;" (assignment_expression "uVar10 = uVar10 + 4" identifier = (binary_expression "uVar10 + 4" identifier + number_literal)) ;) }) while (parenthesized_expression "(uVar10 < uVar11)" ( (binary_expression "uVar10 < uVar11" identifier < identifier) )) ;) })) }))) (expression_statement "local_244 = local_230 + 10;" (assignment_expression "local_244 = local_230 + 10" identifier = (binary_expression "local_230 + 10" identifier + number_literal)) ;) (expression_statement "local_234 = iVar6;" (assignment_expression "local_234 = iVar6" identifier = identifier) ;) (goto_statement "goto LAB_00021c20;" goto statement_identifier ;) })))
(translation_unit "/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n/* WARNING: Type propagation algorithm not settling */\n/* WARNING: Enum "anon_enum_32": Some values do not have unique names */\n\nchar * format_telnet_command(SockAddr addr,int port,Conf *conf)\n\n{\n  int iVar1;\n  byte bVar2;\n  char cVar3;\n  byte bVar4;\n  char *pcVar5;\n  int iVar6;\n  int iVar7;\n  char *pcVar8;\n  size_t sVar9;\n  uint uVar10;\n  uint uVar11;\n  char *pcVar12;\n  uint *puVar13;\n  undefined4 *puVar14;\n  uint *puVar15;\n  int in_GS_OFFSET;\n  bool bVar16;\n  byte bVar17;\n  int local_244;\n  char *local_240;\n  size_t local_23c;\n  char *local_238;\n  int local_234;\n  int local_230;\n  char acStack_227 [7];\n  char dest [512];\n  \n  bVar17 = 0;\n  local_244 = 0;\n  iVar1 = *(int *)(in_GS_OFFSET + 0x14);\n  pcVar5 = conf_get_str(conf,0x12);\n  local_23c = 0;\n  local_234 = 0;\n  local_238 = (char *)0x0;\nLAB_00021c20:\n  do {\n    pcVar12 = pcVar5 + local_244;\n    cVar3 = *pcVar12;\n    iVar7 = local_244;\njoined_r0x00021c28:\n    if (cVar3 == '\0') {\nLAB_00021e3b:\n      if (local_234 < (int)local_23c) goto LAB_00021e4d;\nLAB_00021eed:\n      local_238 = (char *)saferealloc(local_238,local_234 + 0x201,1);\nLAB_00021e4d:\n      local_238[local_234] = '\0';\n      if (iVar1 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    /* WARNING: Subroutine does not return */\n        __stack_chk_fail_local();\n      }\n      return local_238;\n    }\n    local_240 = pcVar12;\n    local_230 = iVar7;\n    if (cVar3 != '%') {\n      if (cVar3 != '\\') {\n        do {\n          local_244 = local_230 + 1;\n          cVar3 = pcVar5[local_244];\n          if ((cVar3 == '\0') || (cVar3 == '%')) {\n            if (cVar3 == '\0') goto LAB_00021e99;\n            break;\n          }\n          local_230 = local_244;\n        } while (cVar3 != '\\');\n        local_240 = pcVar5 + local_244;\n        local_230 = local_244;\n        if (iVar7 != local_244) {\n          iVar6 = local_234 + (local_244 - iVar7);\n          if ((int)local_23c < iVar6) {\n            local_23c = iVar6 + 0x200;\n            local_238 = (char *)saferealloc(local_238,local_23c,1);\n          }\n          memcpy(local_238 + local_234,pcVar12,local_244 - iVar7);\n          local_234 = local_234 + (local_244 - iVar7);\n          local_230 = local_244;\n        }\n        goto LAB_00021cd4;\n      }\n      local_244 = iVar7 + 1;\n      cVar3 = pcVar5[iVar7 + 1];\n      if (cVar3 != '\0') goto LAB_00021f38;\nLAB_00021e99:\n      if (iVar7 == local_244) goto LAB_00021e3b;\n      iVar6 = local_234 + (local_244 - iVar7);\n      if ((int)local_23c < iVar6) {\n        local_23c = iVar6 + 0x200;\n        local_238 = (char *)saferealloc(local_238,local_23c,1);\n      }\n      memcpy(local_238 + local_234,pcVar5 + iVar7,local_244 - iVar7);\n      local_234 = local_234 + (local_244 - iVar7);\n      if (local_234 < (int)local_23c) goto LAB_00021e4d;\n      goto LAB_00021eed;\n    }\nLAB_00021cd4:\n    local_244 = local_230 + 1;\n    pcVar12 = pcVar5 + local_244;\n    cVar3 = *pcVar12;\n    iVar7 = local_230;\n    if (cVar3 == '\0') goto LAB_00021e99;\n    if (*local_240 == '\\') {\nLAB_00021f38:\n      iVar7 = local_234 + 1;\n      if (cVar3 == 'n') {\n        if ((int)local_23c <= local_234) {\n          local_23c = local_234 + 0x201;\n          local_238 = (char *)saferealloc(local_238,local_23c,1);\n        }\n        local_238[local_234] = '\n';\n        local_244 = local_230 + 2;\n        local_234 = iVar7;\n        goto LAB_00021c20;\n      }\n      if (cVar3 < 'o') {\n        if (cVar3 == 'X') {\nLAB_000223b0:\n          cVar3 = pcVar5[local_244 + 1];\n          bVar4 = cVar3 - 0x30;\n          if (bVar4 < 10) {\nLAB_000223db:\n            cVar3 = pcVar5[local_244 + 2];\n            bVar2 = cVar3 - 0x30;\n            if (9 < bVar2) {\n              if ((byte)(cVar3 + 0x9fU) < 6) {\n                bVar2 = cVar3 + 0xa9;\n              }\n              else {\n                if (5 < (byte)(cVar3 + 0xbfU)) goto LAB_00022a16;\n                bVar2 = cVar3 - 0x37;\n              }\n            }\n            if ((int)local_23c <= local_234) {\n              local_23c = local_234 + 0x201;\n              local_238 = (char *)saferealloc(local_238,local_23c,1);\n            }\n            local_238[local_234] = bVar2 + bVar4 * '\x10';\n            local_244 = local_244 + 3;\n            local_234 = iVar7;\n          }\n          else {\n            if ((byte)(cVar3 + 0x9fU) < 6) {\n              bVar4 = cVar3 + 0xa9;\n              goto LAB_000223db;\n            }\n            if ((byte)(cVar3 + 0xbfU) < 6) {\n              bVar4 = cVar3 - 0x37;\n              goto LAB_000223db;\n            }\nLAB_00022a16:\n            if ((int)local_23c <= local_234) {\n              local_23c = local_234 + 0x201;\n              local_238 = (char *)saferealloc(local_238,local_23c,1);\n            }\n            local_238[local_234] = '\\';\n            local_234 = iVar7;\n          }\n          goto LAB_00021c20;\n        }\n        if (cVar3 == '\\') {\n          if ((int)local_23c <= local_234) {\n            local_23c = local_234 + 0x201;\n            local_238 = (char *)saferealloc(local_238,local_23c,1);\n          }\n          local_238[local_234] = '\\';\n          local_244 = local_230 + 2;\n          local_234 = iVar7;\n          goto LAB_00021c20;\n        }\n        if (cVar3 == '%') {\n          if ((int)local_23c <= local_234) {\n            local_23c = local_234 + 0x201;\n            local_238 = (char *)saferealloc(local_238,local_23c,1);\n          }\n          local_238[local_234] = '%';\n          local_244 = local_230 + 2;\n          local_234 = iVar7;\n          goto LAB_00021c20;\n        }\n      }\n      else {\n        if (cVar3 == 't') {\n          if ((int)local_23c <= local_234) {\n            local_23c = local_234 + 0x201;\n            local_238 = (char *)saferealloc(local_238,local_23c,1);\n          }\n          local_238[local_234] = '\t';\n          local_244 = local_230 + 2;\n          local_234 = iVar7;\n          goto LAB_00021c20;\n        }\n        if (cVar3 == 'x') goto LAB_000223b0;\n        if (cVar3 == 'r') {\n          if ((int)local_23c <= local_234) {\n            local_23c = local_234 + 0x201;\n            local_238 = (char *)saferealloc(local_238,local_23c,1);\n          }\n          local_238[local_234] = '\r';\n          local_244 = local_230 + 2;\n          local_234 = iVar7;\n          goto LAB_00021c20;\n        }\n      }\n      if ((int)local_23c <= iVar7) {\n        local_23c = local_234 + 0x202;\n        local_238 = (char *)saferealloc(local_238,local_23c,1);\n      }\n      local_244 = local_230 + 2;\n      *(undefined2 *)(local_238 + local_234) = *(undefined2 *)local_240;\n      local_234 = local_234 + 2;\n      goto LAB_00021c20;\n    }\n    if (cVar3 == '%') {\n      if ((int)local_23c <= local_234) {\n        local_23c = local_234 + 0x201;\n        local_238 = (char *)saferealloc(local_238,local_23c,1);\n      }\n      local_238[local_234] = '%';\n      local_244 = local_230 + 2;\n      local_234 = local_234 + 1;\n      goto LAB_00021c20;\n    }\n    iVar7 = strncasecmp(pcVar12,"host",4);\n    if (iVar7 != 0) {\n      iVar7 = strncasecmp(pcVar12,"port",4);\n      if (iVar7 == 0) {\n        cVar3 = __sprintf_chk(dest,1,8,&DAT_0008fa68,port);\n        pcVar12 = (char *)(int)cVar3;\n        goto joined_r0x000221ae;\n      }\n      iVar7 = strncasecmp(pcVar12,"user",4);\n      if (iVar7 == 0) {\n        pcVar12 = conf_get_str(conf,0x10);\n        sVar9 = strlen(pcVar12);\n        iVar7 = local_234 + sVar9;\n        if ((int)local_23c < iVar7) {\n          local_23c = iVar7 + 0x200;\n          local_238 = (char *)saferealloc(local_238,local_23c,1);\n        }\n        memcpy(local_238 + local_234,pcVar12,sVar9);\n        local_244 = local_230 + 5;\n        local_234 = iVar7;\n        goto LAB_00021c20;\n      }\n      iVar7 = strncasecmp(pcVar12,"pass",4);\n      if (iVar7 == 0) {\n        pcVar12 = conf_get_str(conf,0x11);\n        sVar9 = strlen(pcVar12);\n        iVar7 = local_234 + sVar9;\n        if ((int)local_23c < iVar7) {\n          local_23c = iVar7 + 0x200;\n          local_238 = (char *)saferealloc(local_238,local_23c,1);\n        }\n        memcpy(local_238 + local_234,pcVar12,sVar9);\n        local_244 = local_230 + 5;\n        local_234 = iVar7;\n        goto LAB_00021c20;\n      }\n      iVar7 = strncasecmp(pcVar12,"proxyhost",9);\n      if (iVar7 == 0) {\n        pcVar12 = conf_get_str(conf,0xe);\n        sVar9 = strlen(pcVar12);\n        iVar7 = local_234 + sVar9;\n        if ((int)local_23c < iVar7) {\n          local_23c = iVar7 + 0x200;\n          local_238 = (char *)saferealloc(local_238,local_23c,1);\n        }\n        memcpy(local_238 + local_234,pcVar12,sVar9);\n        local_244 = local_230 + 10;\n        local_234 = iVar7;\n        goto LAB_00021c20;\n      }\n      iVar7 = strncasecmp(pcVar12,"proxyport",9);\n      if (iVar7 == 0) break;\n      if ((int)local_23c <= local_234) {\n        local_23c = local_234 + 0x201;\n        local_238 = (char *)saferealloc(local_238,local_23c,1);\n      }\n      local_238[local_234] = '%';\n      local_234 = local_234 + 1;\n      pcVar12 = pcVar5 + local_244;\n      cVar3 = *pcVar12;\n      iVar7 = local_244;\n      goto joined_r0x00021c28;\n    }\n    sk_getaddr(addr,dest,0x200);\n    puVar15 = (uint *)dest;\n    do {\n      puVar13 = puVar15;\n      uVar10 = *puVar13 + 0xfefefeff & ~*puVar13;\n      uVar11 = uVar10 & 0x80808080;\n      puVar15 = puVar13 + 1;\n    } while (uVar11 == 0);\n    bVar16 = (uVar10 & 0x8080) == 0;\n    if (bVar16) {\n      uVar11 = uVar11 >> 0x10;\n    }\n    puVar15 = (uint *)((int)puVar13 + 6);\n    if (!bVar16) {\n      puVar15 = puVar13 + 1;\n    }\n    pcVar12 = (char *)((int)puVar15 + ((-3 - (uint)CARRY1((byte)uVar11,(byte)uVar11)) - (int)dest));\njoined_r0x000221ae:\n    iVar7 = local_234 + (int)pcVar12;\n    if ((int)local_23c < iVar7) {\n      local_23c = iVar7 + 0x200;\n      local_238 = (char *)saferealloc(local_238,local_23c,1);\n    }\n    pcVar8 = local_238 + local_234;\n    if (pcVar12 < (char *)0x4) {\n      if (pcVar12 != (char *)0x0) {\n        *pcVar8 = dest[0];\n        if (((uint)pcVar12 & 2) != 0) {\n          *(undefined2 *)(pcVar8 + (int)(pcVar12 + -2)) =\n               *(undefined2 *)(acStack_227 + (int)(pcVar12 + 5));\n        }\n      }\n    }\n    else {\n      *(undefined4 *)pcVar8 = dest._0_4_;\n      *(undefined4 *)(pcVar8 + (int)(pcVar12 + -4)) =\n           *(undefined4 *)(acStack_227 + (int)(pcVar12 + 3));\n      iVar6 = (int)pcVar8 - (int)((uint)(pcVar8 + 4) & 0xfffffffc);\n      uVar11 = (uint)(pcVar12 + iVar6) >> 2;\n      pcVar12 = dest + -iVar6;\n      puVar14 = (undefined4 *)((uint)(pcVar8 + 4) & 0xfffffffc);\n      for (; uVar11 != 0; uVar11 = uVar11 - 1) {\n        *puVar14 = *(undefined4 *)pcVar12;\n        pcVar12 = pcVar12 + ((uint)bVar17 * -2 + 1) * 4;\n        puVar14 = puVar14 + (uint)bVar17 * -2 + 1;\n      }\n    }\n    local_244 = local_230 + 5;\n    local_234 = iVar7;\n  } while( true );\n  iVar7 = conf_get_int(conf,0xf);\n  __sprintf_chk(dest,1,0x32,"%d",iVar7);\n  puVar15 = (uint *)dest;\n  do {\n    puVar13 = puVar15;\n    uVar10 = *puVar13 + 0xfefefeff & ~*puVar13;\n    uVar11 = uVar10 & 0x80808080;\n    puVar15 = puVar13 + 1;\n  } while (uVar11 == 0);\n  bVar16 = (uVar10 & 0x8080) == 0;\n  if (bVar16) {\n    uVar11 = uVar11 >> 0x10;\n  }\n  if (bVar16) {\n    puVar15 = (uint *)((int)puVar13 + 6);\n  }\n  uVar11 = (int)puVar15 + ((-3 - (uint)CARRY1((byte)uVar11,(byte)uVar11)) - (int)dest);\n  iVar7 = local_234 + uVar11;\n  if ((int)local_23c < iVar7) {\n    local_23c = iVar7 + 0x200;\n    local_238 = (char *)saferealloc(local_238,local_23c,1);\n  }\n  pcVar12 = local_238 + local_234;\n  if (uVar11 < 4) {\n    if (uVar11 != 0) {\n      *pcVar12 = dest[0];\n      if ((uVar11 & 2) != 0) {\n        *(undefined2 *)(pcVar12 + (uVar11 - 2)) = *(undefined2 *)(acStack_227 + uVar11 + 5);\n      }\n    }\n  }\n  else {\n    *(undefined4 *)pcVar12 = dest._0_4_;\n    *(undefined4 *)(pcVar12 + (uVar11 - 4)) = *(undefined4 *)(acStack_227 + uVar11 + 3);\n    iVar6 = (int)pcVar12 - ((uint)(pcVar12 + 4) & 0xfffffffc);\n    uVar11 = iVar6 + uVar11 & 0xfffffffc;\n    if (3 < uVar11) {\n      uVar10 = 0;\n      do {\n        *(undefined4 *)(((uint)(pcVar12 + 4) & 0xfffffffc) + uVar10) =\n             *(undefined4 *)((int)dest + (uVar10 - iVar6));\n        uVar10 = uVar10 + 4;\n      } while (uVar10 < uVar11);\n    }\n  }\n  local_244 = local_230 + 10;\n  local_234 = iVar7;\n  goto LAB_00021c20;\n}\n\n" comment comment comment (function_definition "char * format_telnet_command(SockAddr addr,int port,Conf *conf)\n\n{\n  int iVar1;\n  byte bVar2;\n  char cVar3;\n  byte bVar4;\n  char *pcVar5;\n  int iVar6;\n  int iVar7;\n  char *pcVar8;\n  size_t sVar9;\n  uint uVar10;\n  uint uVar11;\n  char *pcVar12;\n  uint *puVar13;\n  undefined4 *puVar14;\n  uint *puVar15;\n  int in_GS_OFFSET;\n  bool bVar16;\n  byte bVar17;\n  int local_244;\n  char *local_240;\n  size_t local_23c;\n  char *local_238;\n  int local_234;\n  int local_230;\n  char acStack_227 [7];\n  char dest [512];\n  \n  bVar17 = 0;\n  local_244 = 0;\n  iVar1 = *(int *)(in_GS_OFFSET + 0x14);\n  pcVar5 = conf_get_str(conf,0x12);\n  local_23c = 0;\n  local_234 = 0;\n  local_238 = (char *)0x0;\nLAB_00021c20:\n  do {\n    pcVar12 = pcVar5 + local_244;\n    cVar3 = *pcVar12;\n    iVar7 = local_244;\njoined_r0x00021c28:\n    if (cVar3 == '\0') {\nLAB_00021e3b:\n      if (local_234 < (int)local_23c) goto LAB_00021e4d;\nLAB_00021eed:\n      local_238 = (char *)saferealloc(local_238,local_234 + 0x201,1);\nLAB_00021e4d:\n      local_238[local_234] = '\0';\n      if (iVar1 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    /* WARNING: Subroutine does not return */\n        __stack_chk_fail_local();\n      }\n      return local_238;\n    }\n    local_240 = pcVar12;\n    local_230 = iVar7;\n    if (cVar3 != '%') {\n      if (cVar3 != '\\') {\n        do {\n          local_244 = local_230 + 1;\n          cVar3 = pcVar5[local_244];\n          if ((cVar3 == '\0') || (cVar3 == '%')) {\n            if (cVar3 == '\0') goto LAB_00021e99;\n            break;\n          }\n          local_230 = local_244;\n        } while (cVar3 != '\\');\n        local_240 = pcVar5 + local_244;\n        local_230 = local_244;\n        if (iVar7 != local_244) {\n          iVar6 = local_234 + (local_244 - iVar7);\n          if ((int)local_23c < iVar6) {\n            local_23c = iVar6 + 0x200;\n            local_238 = (char *)saferealloc(local_238,local_23c,1);\n          }\n          memcpy(local_238 + local_234,pcVar12,local_244 - iVar7);\n          local_234 = local_234 + (local_244 - iVar7);\n          local_230 = local_244;\n        }\n        goto LAB_00021cd4;\n      }\n      local_244 = iVar7 + 1;\n      cVar3 = pcVar5[iVar7 + 1];\n      if (cVar3 != '\0') goto LAB_00021f38;\nLAB_00021e99:\n      if (iVar7 == local_244) goto LAB_00021e3b;\n      iVar6 = local_234 + (local_244 - iVar7);\n      if ((int)local_23c < iVar6) {\n        local_23c = iVar6 + 0x200;\n        local_238 = (char *)saferealloc(local_238,local_23c,1);\n      }\n      memcpy(local_238 + local_234,pcVar5 + iVar7,local_244 - iVar7);\n      local_234 = local_234 + (local_244 - iVar7);\n      if (local_234 < (int)local_23c) goto LAB_00021e4d;\n      goto LAB_00021eed;\n    }\nLAB_00021cd4:\n    local_244 = local_230 + 1;\n    pcVar12 = pcVar5 + local_244;\n    cVar3 = *pcVar12;\n    iVar7 = local_230;\n    if (cVar3 == '\0') goto LAB_00021e99;\n    if (*local_240 == '\\') {\nLAB_00021f38:\n      iVar7 = local_234 + 1;\n      if (cVar3 == 'n') {\n        if ((int)local_23c <= local_234) {\n          local_23c = local_234 + 0x201;\n          local_238 = (char *)saferealloc(local_238,local_23c,1);\n        }\n        local_238[local_234] = '\n';\n        local_244 = local_230 + 2;\n        local_234 = iVar7;\n        goto LAB_00021c20;\n      }\n      if (cVar3 < 'o') {\n        if (cVar3 == 'X') {\nLAB_000223b0:\n          cVar3 = pcVar5[local_244 + 1];\n          bVar4 = cVar3 - 0x30;\n          if (bVar4 < 10) {\nLAB_000223db:\n            cVar3 = pcVar5[local_244 + 2];\n            bVar2 = cVar3 - 0x30;\n            if (9 < bVar2) {\n              if ((byte)(cVar3 + 0x9fU) < 6) {\n                bVar2 = cVar3 + 0xa9;\n              }\n              else {\n                if (5 < (byte)(cVar3 + 0xbfU)) goto LAB_00022a16;\n                bVar2 = cVar3 - 0x37;\n              }\n            }\n            if ((int)local_23c <= local_234) {\n              local_23c = local_234 + 0x201;\n              local_238 = (char *)saferealloc(local_238,local_23c,1);\n            }\n            local_238[local_234] = bVar2 + bVar4 * '\x10';\n            local_244 = local_244 + 3;\n            local_234 = iVar7;\n          }\n          else {\n            if ((byte)(cVar3 + 0x9fU) < 6) {\n              bVar4 = cVar3 + 0xa9;\n              goto LAB_000223db;\n            }\n            if ((byte)(cVar3 + 0xbfU) < 6) {\n              bVar4 = cVar3 - 0x37;\n              goto LAB_000223db;\n            }\nLAB_00022a16:\n            if ((int)local_23c <= local_234) {\n              local_23c = local_234 + 0x201;\n              local_238 = (char *)saferealloc(local_238,local_23c,1);\n            }\n            local_238[local_234] = '\\';\n            local_234 = iVar7;\n          }\n          goto LAB_00021c20;\n        }\n        if (cVar3 == '\\') {\n          if ((int)local_23c <= local_234) {\n            local_23c = local_234 + 0x201;\n            local_238 = (char *)saferealloc(local_238,local_23c,1);\n          }\n          local_238[local_234] = '\\';\n          local_244 = local_230 + 2;\n          local_234 = iVar7;\n          goto LAB_00021c20;\n        }\n        if (cVar3 == '%') {\n          if ((int)local_23c <= local_234) {\n            local_23c = local_234 + 0x201;\n            local_238 = (char *)saferealloc(local_238,local_23c,1);\n          }\n          local_238[local_234] = '%';\n          local_244 = local_230 + 2;\n          local_234 = iVar7;\n          goto LAB_00021c20;\n        }\n      }\n      else {\n        if (cVar3 == 't') {\n          if ((int)local_23c <= local_234) {\n            local_23c = local_234 + 0x201;\n            local_238 = (char *)saferealloc(local_238,local_23c,1);\n          }\n          local_238[local_234] = '\t';\n          local_244 = local_230 + 2;\n          local_234 = iVar7;\n          goto LAB_00021c20;\n        }\n        if (cVar3 == 'x') goto LAB_000223b0;\n        if (cVar3 == 'r') {\n          if ((int)local_23c <= local_234) {\n            local_23c = local_234 + 0x201;\n            local_238 = (char *)saferealloc(local_238,local_23c,1);\n          }\n          local_238[local_234] = '\r';\n          local_244 = local_230 + 2;\n          local_234 = iVar7;\n          goto LAB_00021c20;\n        }\n      }\n      if ((int)local_23c <= iVar7) {\n        local_23c = local_234 + 0x202;\n        local_238 = (char *)saferealloc(local_238,local_23c,1);\n      }\n      local_244 = local_230 + 2;\n      *(undefined2 *)(local_238 + local_234) = *(undefined2 *)local_240;\n      local_234 = local_234 + 2;\n      goto LAB_00021c20;\n    }\n    if (cVar3 == '%') {\n      if ((int)local_23c <= local_234) {\n        local_23c = local_234 + 0x201;\n        local_238 = (char *)saferealloc(local_238,local_23c,1);\n      }\n      local_238[local_234] = '%';\n      local_244 = local_230 + 2;\n      local_234 = local_234 + 1;\n      goto LAB_00021c20;\n    }\n    iVar7 = strncasecmp(pcVar12,"host",4);\n    if (iVar7 != 0) {\n      iVar7 = strncasecmp(pcVar12,"port",4);\n      if (iVar7 == 0) {\n        cVar3 = __sprintf_chk(dest,1,8,&DAT_0008fa68,port);\n        pcVar12 = (char *)(int)cVar3;\n        goto joined_r0x000221ae;\n      }\n      iVar7 = strncasecmp(pcVar12,"user",4);\n      if (iVar7 == 0) {\n        pcVar12 = conf_get_str(conf,0x10);\n        sVar9 = strlen(pcVar12);\n        iVar7 = local_234 + sVar9;\n        if ((int)local_23c < iVar7) {\n          local_23c = iVar7 + 0x200;\n          local_238 = (char *)saferealloc(local_238,local_23c,1);\n        }\n        memcpy(local_238 + local_234,pcVar12,sVar9);\n        local_244 = local_230 + 5;\n        local_234 = iVar7;\n        goto LAB_00021c20;\n      }\n      iVar7 = strncasecmp(pcVar12,"pass",4);\n      if (iVar7 == 0) {\n        pcVar12 = conf_get_str(conf,0x11);\n        sVar9 = strlen(pcVar12);\n        iVar7 = local_234 + sVar9;\n        if ((int)local_23c < iVar7) {\n          local_23c = iVar7 + 0x200;\n          local_238 = (char *)saferealloc(local_238,local_23c,1);\n        }\n        memcpy(local_238 + local_234,pcVar12,sVar9);\n        local_244 = local_230 + 5;\n        local_234 = iVar7;\n        goto LAB_00021c20;\n      }\n      iVar7 = strncasecmp(pcVar12,"proxyhost",9);\n      if (iVar7 == 0) {\n        pcVar12 = conf_get_str(conf,0xe);\n        sVar9 = strlen(pcVar12);\n        iVar7 = local_234 + sVar9;\n        if ((int)local_23c < iVar7) {\n          local_23c = iVar7 + 0x200;\n          local_238 = (char *)saferealloc(local_238,local_23c,1);\n        }\n        memcpy(local_238 + local_234,pcVar12,sVar9);\n        local_244 = local_230 + 10;\n        local_234 = iVar7;\n        goto LAB_00021c20;\n      }\n      iVar7 = strncasecmp(pcVar12,"proxyport",9);\n      if (iVar7 == 0) break;\n      if ((int)local_23c <= local_234) {\n        local_23c = local_234 + 0x201;\n        local_238 = (char *)saferealloc(local_238,local_23c,1);\n      }\n      local_238[local_234] = '%';\n      local_234 = local_234 + 1;\n      pcVar12 = pcVar5 + local_244;\n      cVar3 = *pcVar12;\n      iVar7 = local_244;\n      goto joined_r0x00021c28;\n    }\n    sk_getaddr(addr,dest,0x200);\n    puVar15 = (uint *)dest;\n    do {\n      puVar13 = puVar15;\n      uVar10 = *puVar13 + 0xfefefeff & ~*puVar13;\n      uVar11 = uVar10 & 0x80808080;\n      puVar15 = puVar13 + 1;\n    } while (uVar11 == 0);\n    bVar16 = (uVar10 & 0x8080) == 0;\n    if (bVar16) {\n      uVar11 = uVar11 >> 0x10;\n    }\n    puVar15 = (uint *)((int)puVar13 + 6);\n    if (!bVar16) {\n      puVar15 = puVar13 + 1;\n    }\n    pcVar12 = (char *)((int)puVar15 + ((-3 - (uint)CARRY1((byte)uVar11,(byte)uVar11)) - (int)dest));\njoined_r0x000221ae:\n    iVar7 = local_234 + (int)pcVar12;\n    if ((int)local_23c < iVar7) {\n      local_23c = iVar7 + 0x200;\n      local_238 = (char *)saferealloc(local_238,local_23c,1);\n    }\n    pcVar8 = local_238 + local_234;\n    if (pcVar12 < (char *)0x4) {\n      if (pcVar12 != (char *)0x0) {\n        *pcVar8 = dest[0];\n        if (((uint)pcVar12 & 2) != 0) {\n          *(undefined2 *)(pcVar8 + (int)(pcVar12 + -2)) =\n               *(undefined2 *)(acStack_227 + (int)(pcVar12 + 5));\n        }\n      }\n    }\n    else {\n      *(undefined4 *)pcVar8 = dest._0_4_;\n      *(undefined4 *)(pcVar8 + (int)(pcVar12 + -4)) =\n           *(undefined4 *)(acStack_227 + (int)(pcVar12 + 3));\n      iVar6 = (int)pcVar8 - (int)((uint)(pcVar8 + 4) & 0xfffffffc);\n      uVar11 = (uint)(pcVar12 + iVar6) >> 2;\n      pcVar12 = dest + -iVar6;\n      puVar14 = (undefined4 *)((uint)(pcVar8 + 4) & 0xfffffffc);\n      for (; uVar11 != 0; uVar11 = uVar11 - 1) {\n        *puVar14 = *(undefined4 *)pcVar12;\n        pcVar12 = pcVar12 + ((uint)bVar17 * -2 + 1) * 4;\n        puVar14 = puVar14 + (uint)bVar17 * -2 + 1;\n      }\n    }\n    local_244 = local_230 + 5;\n    local_234 = iVar7;\n  } while( true );\n  iVar7 = conf_get_int(conf,0xf);\n  __sprintf_chk(dest,1,0x32,"%d",iVar7);\n  puVar15 = (uint *)dest;\n  do {\n    puVar13 = puVar15;\n    uVar10 = *puVar13 + 0xfefefeff & ~*puVar13;\n    uVar11 = uVar10 & 0x80808080;\n    puVar15 = puVar13 + 1;\n  } while (uVar11 == 0);\n  bVar16 = (uVar10 & 0x8080) == 0;\n  if (bVar16) {\n    uVar11 = uVar11 >> 0x10;\n  }\n  if (bVar16) {\n    puVar15 = (uint *)((int)puVar13 + 6);\n  }\n  uVar11 = (int)puVar15 + ((-3 - (uint)CARRY1((byte)uVar11,(byte)uVar11)) - (int)dest);\n  iVar7 = local_234 + uVar11;\n  if ((int)local_23c < iVar7) {\n    local_23c = iVar7 + 0x200;\n    local_238 = (char *)saferealloc(local_238,local_23c,1);\n  }\n  pcVar12 = local_238 + local_234;\n  if (uVar11 < 4) {\n    if (uVar11 != 0) {\n      *pcVar12 = dest[0];\n      if ((uVar11 & 2) != 0) {\n        *(undefined2 *)(pcVar12 + (uVar11 - 2)) = *(undefined2 *)(acStack_227 + uVar11 + 5);\n      }\n    }\n  }\n  else {\n    *(undefined4 *)pcVar12 = dest._0_4_;\n    *(undefined4 *)(pcVar12 + (uVar11 - 4)) = *(undefined4 *)(acStack_227 + uVar11 + 3);\n    iVar6 = (int)pcVar12 - ((uint)(pcVar12 + 4) & 0xfffffffc);\n    uVar11 = iVar6 + uVar11 & 0xfffffffc;\n    if (3 < uVar11) {\n      uVar10 = 0;\n      do {\n        *(undefined4 *)(((uint)(pcVar12 + 4) & 0xfffffffc) + uVar10) =\n             *(undefined4 *)((int)dest + (uVar10 - iVar6));\n        uVar10 = uVar10 + 4;\n      } while (uVar10 < uVar11);\n    }\n  }\n  local_244 = local_230 + 10;\n  local_234 = iVar7;\n  goto LAB_00021c20;\n}" primitive_type (pointer_declarator "* format_telnet_command(SockAddr addr,int port,Conf *conf)" * (function_declarator "format_telnet_command(SockAddr addr,int port,Conf *conf)" identifier (parameter_list "(SockAddr addr,int port,Conf *conf)" ( (parameter_declaration "SockAddr addr" type_identifier identifier) , (parameter_declaration "int port" primitive_type identifier) , (parameter_declaration "Conf *conf" type_identifier (pointer_declarator "*conf" * identifier)) )))) (compound_statement "{\n  int iVar1;\n  byte bVar2;\n  char cVar3;\n  byte bVar4;\n  char *pcVar5;\n  int iVar6;\n  int iVar7;\n  char *pcVar8;\n  size_t sVar9;\n  uint uVar10;\n  uint uVar11;\n  char *pcVar12;\n  uint *puVar13;\n  undefined4 *puVar14;\n  uint *puVar15;\n  int in_GS_OFFSET;\n  bool bVar16;\n  byte bVar17;\n  int local_244;\n  char *local_240;\n  size_t local_23c;\n  char *local_238;\n  int local_234;\n  int local_230;\n  char acStack_227 [7];\n  char dest [512];\n  \n  bVar17 = 0;\n  local_244 = 0;\n  iVar1 = *(int *)(in_GS_OFFSET + 0x14);\n  pcVar5 = conf_get_str(conf,0x12);\n  local_23c = 0;\n  local_234 = 0;\n  local_238 = (char *)0x0;\nLAB_00021c20:\n  do {\n    pcVar12 = pcVar5 + local_244;\n    cVar3 = *pcVar12;\n    iVar7 = local_244;\njoined_r0x00021c28:\n    if (cVar3 == '\0') {\nLAB_00021e3b:\n      if (local_234 < (int)local_23c) goto LAB_00021e4d;\nLAB_00021eed:\n      local_238 = (char *)saferealloc(local_238,local_234 + 0x201,1);\nLAB_00021e4d:\n      local_238[local_234] = '\0';\n      if (iVar1 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    /* WARNING: Subroutine does not return */\n        __stack_chk_fail_local();\n      }\n      return local_238;\n    }\n    local_240 = pcVar12;\n    local_230 = iVar7;\n    if (cVar3 != '%') {\n      if (cVar3 != '\\') {\n        do {\n          local_244 = local_230 + 1;\n          cVar3 = pcVar5[local_244];\n          if ((cVar3 == '\0') || (cVar3 == '%')) {\n            if (cVar3 == '\0') goto LAB_00021e99;\n            break;\n          }\n          local_230 = local_244;\n        } while (cVar3 != '\\');\n        local_240 = pcVar5 + local_244;\n        local_230 = local_244;\n        if (iVar7 != local_244) {\n          iVar6 = local_234 + (local_244 - iVar7);\n          if ((int)local_23c < iVar6) {\n            local_23c = iVar6 + 0x200;\n            local_238 = (char *)saferealloc(local_238,local_23c,1);\n          }\n          memcpy(local_238 + local_234,pcVar12,local_244 - iVar7);\n          local_234 = local_234 + (local_244 - iVar7);\n          local_230 = local_244;\n        }\n        goto LAB_00021cd4;\n      }\n      local_244 = iVar7 + 1;\n      cVar3 = pcVar5[iVar7 + 1];\n      if (cVar3 != '\0') goto LAB_00021f38;\nLAB_00021e99:\n      if (iVar7 == local_244) goto LAB_00021e3b;\n      iVar6 = local_234 + (local_244 - iVar7);\n      if ((int)local_23c < iVar6) {\n        local_23c = iVar6 + 0x200;\n        local_238 = (char *)saferealloc(local_238,local_23c,1);\n      }\n      memcpy(local_238 + local_234,pcVar5 + iVar7,local_244 - iVar7);\n      local_234 = local_234 + (local_244 - iVar7);\n      if (local_234 < (int)local_23c) goto LAB_00021e4d;\n      goto LAB_00021eed;\n    }\nLAB_00021cd4:\n    local_244 = local_230 + 1;\n    pcVar12 = pcVar5 + local_244;\n    cVar3 = *pcVar12;\n    iVar7 = local_230;\n    if (cVar3 == '\0') goto LAB_00021e99;\n    if (*local_240 == '\\') {\nLAB_00021f38:\n      iVar7 = local_234 + 1;\n      if (cVar3 == 'n') {\n        if ((int)local_23c <= local_234) {\n          local_23c = local_234 + 0x201;\n          local_238 = (char *)saferealloc(local_238,local_23c,1);\n        }\n        local_238[local_234] = '\n';\n        local_244 = local_230 + 2;\n        local_234 = iVar7;\n        goto LAB_00021c20;\n      }\n      if (cVar3 < 'o') {\n        if (cVar3 == 'X') {\nLAB_000223b0:\n          cVar3 = pcVar5[local_244 + 1];\n          bVar4 = cVar3 - 0x30;\n          if (bVar4 < 10) {\nLAB_000223db:\n            cVar3 = pcVar5[local_244 + 2];\n            bVar2 = cVar3 - 0x30;\n            if (9 < bVar2) {\n              if ((byte)(cVar3 + 0x9fU) < 6) {\n                bVar2 = cVar3 + 0xa9;\n              }\n              else {\n                if (5 < (byte)(cVar3 + 0xbfU)) goto LAB_00022a16;\n                bVar2 = cVar3 - 0x37;\n              }\n            }\n            if ((int)local_23c <= local_234) {\n              local_23c = local_234 + 0x201;\n              local_238 = (char *)saferealloc(local_238,local_23c,1);\n            }\n            local_238[local_234] = bVar2 + bVar4 * '\x10';\n            local_244 = local_244 + 3;\n            local_234 = iVar7;\n          }\n          else {\n            if ((byte)(cVar3 + 0x9fU) < 6) {\n              bVar4 = cVar3 + 0xa9;\n              goto LAB_000223db;\n            }\n            if ((byte)(cVar3 + 0xbfU) < 6) {\n              bVar4 = cVar3 - 0x37;\n              goto LAB_000223db;\n            }\nLAB_00022a16:\n            if ((int)local_23c <= local_234) {\n              local_23c = local_234 + 0x201;\n              local_238 = (char *)saferealloc(local_238,local_23c,1);\n            }\n            local_238[local_234] = '\\';\n            local_234 = iVar7;\n          }\n          goto LAB_00021c20;\n        }\n        if (cVar3 == '\\') {\n          if ((int)local_23c <= local_234) {\n            local_23c = local_234 + 0x201;\n            local_238 = (char *)saferealloc(local_238,local_23c,1);\n          }\n          local_238[local_234] = '\\';\n          local_244 = local_230 + 2;\n          local_234 = iVar7;\n          goto LAB_00021c20;\n        }\n        if (cVar3 == '%') {\n          if ((int)local_23c <= local_234) {\n            local_23c = local_234 + 0x201;\n            local_238 = (char *)saferealloc(local_238,local_23c,1);\n          }\n          local_238[local_234] = '%';\n          local_244 = local_230 + 2;\n          local_234 = iVar7;\n          goto LAB_00021c20;\n        }\n      }\n      else {\n        if (cVar3 == 't') {\n          if ((int)local_23c <= local_234) {\n            local_23c = local_234 + 0x201;\n            local_238 = (char *)saferealloc(local_238,local_23c,1);\n          }\n          local_238[local_234] = '\t';\n          local_244 = local_230 + 2;\n          local_234 = iVar7;\n          goto LAB_00021c20;\n        }\n        if (cVar3 == 'x') goto LAB_000223b0;\n        if (cVar3 == 'r') {\n          if ((int)local_23c <= local_234) {\n            local_23c = local_234 + 0x201;\n            local_238 = (char *)saferealloc(local_238,local_23c,1);\n          }\n          local_238[local_234] = '\r';\n          local_244 = local_230 + 2;\n          local_234 = iVar7;\n          goto LAB_00021c20;\n        }\n      }\n      if ((int)local_23c <= iVar7) {\n        local_23c = local_234 + 0x202;\n        local_238 = (char *)saferealloc(local_238,local_23c,1);\n      }\n      local_244 = local_230 + 2;\n      *(undefined2 *)(local_238 + local_234) = *(undefined2 *)local_240;\n      local_234 = local_234 + 2;\n      goto LAB_00021c20;\n    }\n    if (cVar3 == '%') {\n      if ((int)local_23c <= local_234) {\n        local_23c = local_234 + 0x201;\n        local_238 = (char *)saferealloc(local_238,local_23c,1);\n      }\n      local_238[local_234] = '%';\n      local_244 = local_230 + 2;\n      local_234 = local_234 + 1;\n      goto LAB_00021c20;\n    }\n    iVar7 = strncasecmp(pcVar12,"host",4);\n    if (iVar7 != 0) {\n      iVar7 = strncasecmp(pcVar12,"port",4);\n      if (iVar7 == 0) {\n        cVar3 = __sprintf_chk(dest,1,8,&DAT_0008fa68,port);\n        pcVar12 = (char *)(int)cVar3;\n        goto joined_r0x000221ae;\n      }\n      iVar7 = strncasecmp(pcVar12,"user",4);\n      if (iVar7 == 0) {\n        pcVar12 = conf_get_str(conf,0x10);\n        sVar9 = strlen(pcVar12);\n        iVar7 = local_234 + sVar9;\n        if ((int)local_23c < iVar7) {\n          local_23c = iVar7 + 0x200;\n          local_238 = (char *)saferealloc(local_238,local_23c,1);\n        }\n        memcpy(local_238 + local_234,pcVar12,sVar9);\n        local_244 = local_230 + 5;\n        local_234 = iVar7;\n        goto LAB_00021c20;\n      }\n      iVar7 = strncasecmp(pcVar12,"pass",4);\n      if (iVar7 == 0) {\n        pcVar12 = conf_get_str(conf,0x11);\n        sVar9 = strlen(pcVar12);\n        iVar7 = local_234 + sVar9;\n        if ((int)local_23c < iVar7) {\n          local_23c = iVar7 + 0x200;\n          local_238 = (char *)saferealloc(local_238,local_23c,1);\n        }\n        memcpy(local_238 + local_234,pcVar12,sVar9);\n        local_244 = local_230 + 5;\n        local_234 = iVar7;\n        goto LAB_00021c20;\n      }\n      iVar7 = strncasecmp(pcVar12,"proxyhost",9);\n      if (iVar7 == 0) {\n        pcVar12 = conf_get_str(conf,0xe);\n        sVar9 = strlen(pcVar12);\n        iVar7 = local_234 + sVar9;\n        if ((int)local_23c < iVar7) {\n          local_23c = iVar7 + 0x200;\n          local_238 = (char *)saferealloc(local_238,local_23c,1);\n        }\n        memcpy(local_238 + local_234,pcVar12,sVar9);\n        local_244 = local_230 + 10;\n        local_234 = iVar7;\n        goto LAB_00021c20;\n      }\n      iVar7 = strncasecmp(pcVar12,"proxyport",9);\n      if (iVar7 == 0) break;\n      if ((int)local_23c <= local_234) {\n        local_23c = local_234 + 0x201;\n        local_238 = (char *)saferealloc(local_238,local_23c,1);\n      }\n      local_238[local_234] = '%';\n      local_234 = local_234 + 1;\n      pcVar12 = pcVar5 + local_244;\n      cVar3 = *pcVar12;\n      iVar7 = local_244;\n      goto joined_r0x00021c28;\n    }\n    sk_getaddr(addr,dest,0x200);\n    puVar15 = (uint *)dest;\n    do {\n      puVar13 = puVar15;\n      uVar10 = *puVar13 + 0xfefefeff & ~*puVar13;\n      uVar11 = uVar10 & 0x80808080;\n      puVar15 = puVar13 + 1;\n    } while (uVar11 == 0);\n    bVar16 = (uVar10 & 0x8080) == 0;\n    if (bVar16) {\n      uVar11 = uVar11 >> 0x10;\n    }\n    puVar15 = (uint *)((int)puVar13 + 6);\n    if (!bVar16) {\n      puVar15 = puVar13 + 1;\n    }\n    pcVar12 = (char *)((int)puVar15 + ((-3 - (uint)CARRY1((byte)uVar11,(byte)uVar11)) - (int)dest));\njoined_r0x000221ae:\n    iVar7 = local_234 + (int)pcVar12;\n    if ((int)local_23c < iVar7) {\n      local_23c = iVar7 + 0x200;\n      local_238 = (char *)saferealloc(local_238,local_23c,1);\n    }\n    pcVar8 = local_238 + local_234;\n    if (pcVar12 < (char *)0x4) {\n      if (pcVar12 != (char *)0x0) {\n        *pcVar8 = dest[0];\n        if (((uint)pcVar12 & 2) != 0) {\n          *(undefined2 *)(pcVar8 + (int)(pcVar12 + -2)) =\n               *(undefined2 *)(acStack_227 + (int)(pcVar12 + 5));\n        }\n      }\n    }\n    else {\n      *(undefined4 *)pcVar8 = dest._0_4_;\n      *(undefined4 *)(pcVar8 + (int)(pcVar12 + -4)) =\n           *(undefined4 *)(acStack_227 + (int)(pcVar12 + 3));\n      iVar6 = (int)pcVar8 - (int)((uint)(pcVar8 + 4) & 0xfffffffc);\n      uVar11 = (uint)(pcVar12 + iVar6) >> 2;\n      pcVar12 = dest + -iVar6;\n      puVar14 = (undefined4 *)((uint)(pcVar8 + 4) & 0xfffffffc);\n      for (; uVar11 != 0; uVar11 = uVar11 - 1) {\n        *puVar14 = *(undefined4 *)pcVar12;\n        pcVar12 = pcVar12 + ((uint)bVar17 * -2 + 1) * 4;\n        puVar14 = puVar14 + (uint)bVar17 * -2 + 1;\n      }\n    }\n    local_244 = local_230 + 5;\n    local_234 = iVar7;\n  } while( true );\n  iVar7 = conf_get_int(conf,0xf);\n  __sprintf_chk(dest,1,0x32,"%d",iVar7);\n  puVar15 = (uint *)dest;\n  do {\n    puVar13 = puVar15;\n    uVar10 = *puVar13 + 0xfefefeff & ~*puVar13;\n    uVar11 = uVar10 & 0x80808080;\n    puVar15 = puVar13 + 1;\n  } while (uVar11 == 0);\n  bVar16 = (uVar10 & 0x8080) == 0;\n  if (bVar16) {\n    uVar11 = uVar11 >> 0x10;\n  }\n  if (bVar16) {\n    puVar15 = (uint *)((int)puVar13 + 6);\n  }\n  uVar11 = (int)puVar15 + ((-3 - (uint)CARRY1((byte)uVar11,(byte)uVar11)) - (int)dest);\n  iVar7 = local_234 + uVar11;\n  if ((int)local_23c < iVar7) {\n    local_23c = iVar7 + 0x200;\n    local_238 = (char *)saferealloc(local_238,local_23c,1);\n  }\n  pcVar12 = local_238 + local_234;\n  if (uVar11 < 4) {\n    if (uVar11 != 0) {\n      *pcVar12 = dest[0];\n      if ((uVar11 & 2) != 0) {\n        *(undefined2 *)(pcVar12 + (uVar11 - 2)) = *(undefined2 *)(acStack_227 + uVar11 + 5);\n      }\n    }\n  }\n  else {\n    *(undefined4 *)pcVar12 = dest._0_4_;\n    *(undefined4 *)(pcVar12 + (uVar11 - 4)) = *(undefined4 *)(acStack_227 + uVar11 + 3);\n    iVar6 = (int)pcVar12 - ((uint)(pcVar12 + 4) & 0xfffffffc);\n    uVar11 = iVar6 + uVar11 & 0xfffffffc;\n    if (3 < uVar11) {\n      uVar10 = 0;\n      do {\n        *(undefined4 *)(((uint)(pcVar12 + 4) & 0xfffffffc) + uVar10) =\n             *(undefined4 *)((int)dest + (uVar10 - iVar6));\n        uVar10 = uVar10 + 4;\n      } while (uVar10 < uVar11);\n    }\n  }\n  local_244 = local_230 + 10;\n  local_234 = iVar7;\n  goto LAB_00021c20;\n}" { (declaration "int iVar1;" primitive_type identifier ;) (declaration "byte bVar2;" type_identifier identifier ;) (declaration "char cVar3;" primitive_type identifier ;) (declaration "byte bVar4;" type_identifier identifier ;) (declaration "char *pcVar5;" primitive_type (pointer_declarator "*pcVar5" * identifier) ;) (declaration "int iVar6;" primitive_type identifier ;) (declaration "int iVar7;" primitive_type identifier ;) (declaration "char *pcVar8;" primitive_type (pointer_declarator "*pcVar8" * identifier) ;) (declaration "size_t sVar9;" primitive_type identifier ;) (declaration "uint uVar10;" type_identifier identifier ;) (declaration "uint uVar11;" type_identifier identifier ;) (declaration "char *pcVar12;" primitive_type (pointer_declarator "*pcVar12" * identifier) ;) (declaration "uint *puVar13;" type_identifier (pointer_declarator "*puVar13" * identifier) ;) (declaration "undefined4 *puVar14;" type_identifier (pointer_declarator "*puVar14" * identifier) ;) (declaration "uint *puVar15;" type_identifier (pointer_declarator "*puVar15" * identifier) ;) (declaration "int in_GS_OFFSET;" primitive_type identifier ;) (declaration "bool bVar16;" primitive_type identifier ;) (declaration "byte bVar17;" type_identifier identifier ;) (declaration "int local_244;" primitive_type identifier ;) (declaration "char *local_240;" primitive_type (pointer_declarator "*local_240" * identifier) ;) (declaration "size_t local_23c;" primitive_type identifier ;) (declaration "char *local_238;" primitive_type (pointer_declarator "*local_238" * identifier) ;) (declaration "int local_234;" primitive_type identifier ;) (declaration "int local_230;" primitive_type identifier ;) (declaration "char acStack_227 [7];" primitive_type (array_declarator "acStack_227 [7]" identifier [ number_literal ]) ;) (declaration "char dest [512];" primitive_type (array_declarator "dest [512]" identifier [ number_literal ]) ;) (expression_statement "bVar17 = 0;" (assignment_expression "bVar17 = 0" identifier = number_literal) ;) (expression_statement "local_244 = 0;" (assignment_expression "local_244 = 0" identifier = number_literal) ;) (expression_statement "iVar1 = *(int *)(in_GS_OFFSET + 0x14);" (assignment_expression "iVar1 = *(int *)(in_GS_OFFSET + 0x14)" identifier = (pointer_expression "*(int *)(in_GS_OFFSET + 0x14)" * (cast_expression "(int *)(in_GS_OFFSET + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_GS_OFFSET + 0x14)" ( (binary_expression "in_GS_OFFSET + 0x14" identifier + number_literal) ))))) ;) (expression_statement "pcVar5 = conf_get_str(conf,0x12);" (assignment_expression "pcVar5 = conf_get_str(conf,0x12)" identifier = (call_expression "conf_get_str(conf,0x12)" identifier (argument_list "(conf,0x12)" ( identifier , number_literal )))) ;) (expression_statement "local_23c = 0;" (assignment_expression "local_23c = 0" identifier = number_literal) ;) (expression_statement "local_234 = 0;" (assignment_expression "local_234 = 0" identifier = number_literal) ;) (expression_statement "local_238 = (char *)0x0;" (assignment_expression "local_238 = (char *)0x0" identifier = (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (labeled_statement "LAB_00021c20:\n  do {\n    pcVar12 = pcVar5 + local_244;\n    cVar3 = *pcVar12;\n    iVar7 = local_244;\njoined_r0x00021c28:\n    if (cVar3 == '\0') {\nLAB_00021e3b:\n      if (local_234 < (int)local_23c) goto LAB_00021e4d;\nLAB_00021eed:\n      local_238 = (char *)saferealloc(local_238,local_234 + 0x201,1);\nLAB_00021e4d:\n      local_238[local_234] = '\0';\n      if (iVar1 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    /* WARNING: Subroutine does not return */\n        __stack_chk_fail_local();\n      }\n      return local_238;\n    }\n    local_240 = pcVar12;\n    local_230 = iVar7;\n    if (cVar3 != '%') {\n      if (cVar3 != '\\') {\n        do {\n          local_244 = local_230 + 1;\n          cVar3 = pcVar5[local_244];\n          if ((cVar3 == '\0') || (cVar3 == '%')) {\n            if (cVar3 == '\0') goto LAB_00021e99;\n            break;\n          }\n          local_230 = local_244;\n        } while (cVar3 != '\\');\n        local_240 = pcVar5 + local_244;\n        local_230 = local_244;\n        if (iVar7 != local_244) {\n          iVar6 = local_234 + (local_244 - iVar7);\n          if ((int)local_23c < iVar6) {\n            local_23c = iVar6 + 0x200;\n            local_238 = (char *)saferealloc(local_238,local_23c,1);\n          }\n          memcpy(local_238 + local_234,pcVar12,local_244 - iVar7);\n          local_234 = local_234 + (local_244 - iVar7);\n          local_230 = local_244;\n        }\n        goto LAB_00021cd4;\n      }\n      local_244 = iVar7 + 1;\n      cVar3 = pcVar5[iVar7 + 1];\n      if (cVar3 != '\0') goto LAB_00021f38;\nLAB_00021e99:\n      if (iVar7 == local_244) goto LAB_00021e3b;\n      iVar6 = local_234 + (local_244 - iVar7);\n      if ((int)local_23c < iVar6) {\n        local_23c = iVar6 + 0x200;\n        local_238 = (char *)saferealloc(local_238,local_23c,1);\n      }\n      memcpy(local_238 + local_234,pcVar5 + iVar7,local_244 - iVar7);\n      local_234 = local_234 + (local_244 - iVar7);\n      if (local_234 < (int)local_23c) goto LAB_00021e4d;\n      goto LAB_00021eed;\n    }\nLAB_00021cd4:\n    local_244 = local_230 + 1;\n    pcVar12 = pcVar5 + local_244;\n    cVar3 = *pcVar12;\n    iVar7 = local_230;\n    if (cVar3 == '\0') goto LAB_00021e99;\n    if (*local_240 == '\\') {\nLAB_00021f38:\n      iVar7 = local_234 + 1;\n      if (cVar3 == 'n') {\n        if ((int)local_23c <= local_234) {\n          local_23c = local_234 + 0x201;\n          local_238 = (char *)saferealloc(local_238,local_23c,1);\n        }\n        local_238[local_234] = '\n';\n        local_244 = local_230 + 2;\n        local_234 = iVar7;\n        goto LAB_00021c20;\n      }\n      if (cVar3 < 'o') {\n        if (cVar3 == 'X') {\nLAB_000223b0:\n          cVar3 = pcVar5[local_244 + 1];\n          bVar4 = cVar3 - 0x30;\n          if (bVar4 < 10) {\nLAB_000223db:\n            cVar3 = pcVar5[local_244 + 2];\n            bVar2 = cVar3 - 0x30;\n            if (9 < bVar2) {\n              if ((byte)(cVar3 + 0x9fU) < 6) {\n                bVar2 = cVar3 + 0xa9;\n              }\n              else {\n                if (5 < (byte)(cVar3 + 0xbfU)) goto LAB_00022a16;\n                bVar2 = cVar3 - 0x37;\n              }\n            }\n            if ((int)local_23c <= local_234) {\n              local_23c = local_234 + 0x201;\n              local_238 = (char *)saferealloc(local_238,local_23c,1);\n            }\n            local_238[local_234] = bVar2 + bVar4 * '\x10';\n            local_244 = local_244 + 3;\n            local_234 = iVar7;\n          }\n          else {\n            if ((byte)(cVar3 + 0x9fU) < 6) {\n              bVar4 = cVar3 + 0xa9;\n              goto LAB_000223db;\n            }\n            if ((byte)(cVar3 + 0xbfU) < 6) {\n              bVar4 = cVar3 - 0x37;\n              goto LAB_000223db;\n            }\nLAB_00022a16:\n            if ((int)local_23c <= local_234) {\n              local_23c = local_234 + 0x201;\n              local_238 = (char *)saferealloc(local_238,local_23c,1);\n            }\n            local_238[local_234] = '\\';\n            local_234 = iVar7;\n          }\n          goto LAB_00021c20;\n        }\n        if (cVar3 == '\\') {\n          if ((int)local_23c <= local_234) {\n            local_23c = local_234 + 0x201;\n            local_238 = (char *)saferealloc(local_238,local_23c,1);\n          }\n          local_238[local_234] = '\\';\n          local_244 = local_230 + 2;\n          local_234 = iVar7;\n          goto LAB_00021c20;\n        }\n        if (cVar3 == '%') {\n          if ((int)local_23c <= local_234) {\n            local_23c = local_234 + 0x201;\n            local_238 = (char *)saferealloc(local_238,local_23c,1);\n          }\n          local_238[local_234] = '%';\n          local_244 = local_230 + 2;\n          local_234 = iVar7;\n          goto LAB_00021c20;\n        }\n      }\n      else {\n        if (cVar3 == 't') {\n          if ((int)local_23c <= local_234) {\n            local_23c = local_234 + 0x201;\n            local_238 = (char *)saferealloc(local_238,local_23c,1);\n          }\n          local_238[local_234] = '\t';\n          local_244 = local_230 + 2;\n          local_234 = iVar7;\n          goto LAB_00021c20;\n        }\n        if (cVar3 == 'x') goto LAB_000223b0;\n        if (cVar3 == 'r') {\n          if ((int)local_23c <= local_234) {\n            local_23c = local_234 + 0x201;\n            local_238 = (char *)saferealloc(local_238,local_23c,1);\n          }\n          local_238[local_234] = '\r';\n          local_244 = local_230 + 2;\n          local_234 = iVar7;\n          goto LAB_00021c20;\n        }\n      }\n      if ((int)local_23c <= iVar7) {\n        local_23c = local_234 + 0x202;\n        local_238 = (char *)saferealloc(local_238,local_23c,1);\n      }\n      local_244 = local_230 + 2;\n      *(undefined2 *)(local_238 + local_234) = *(undefined2 *)local_240;\n      local_234 = local_234 + 2;\n      goto LAB_00021c20;\n    }\n    if (cVar3 == '%') {\n      if ((int)local_23c <= local_234) {\n        local_23c = local_234 + 0x201;\n        local_238 = (char *)saferealloc(local_238,local_23c,1);\n      }\n      local_238[local_234] = '%';\n      local_244 = local_230 + 2;\n      local_234 = local_234 + 1;\n      goto LAB_00021c20;\n    }\n    iVar7 = strncasecmp(pcVar12,"host",4);\n    if (iVar7 != 0) {\n      iVar7 = strncasecmp(pcVar12,"port",4);\n      if (iVar7 == 0) {\n        cVar3 = __sprintf_chk(dest,1,8,&DAT_0008fa68,port);\n        pcVar12 = (char *)(int)cVar3;\n        goto joined_r0x000221ae;\n      }\n      iVar7 = strncasecmp(pcVar12,"user",4);\n      if (iVar7 == 0) {\n        pcVar12 = conf_get_str(conf,0x10);\n        sVar9 = strlen(pcVar12);\n        iVar7 = local_234 + sVar9;\n        if ((int)local_23c < iVar7) {\n          local_23c = iVar7 + 0x200;\n          local_238 = (char *)saferealloc(local_238,local_23c,1);\n        }\n        memcpy(local_238 + local_234,pcVar12,sVar9);\n        local_244 = local_230 + 5;\n        local_234 = iVar7;\n        goto LAB_00021c20;\n      }\n      iVar7 = strncasecmp(pcVar12,"pass",4);\n      if (iVar7 == 0) {\n        pcVar12 = conf_get_str(conf,0x11);\n        sVar9 = strlen(pcVar12);\n        iVar7 = local_234 + sVar9;\n        if ((int)local_23c < iVar7) {\n          local_23c = iVar7 + 0x200;\n          local_238 = (char *)saferealloc(local_238,local_23c,1);\n        }\n        memcpy(local_238 + local_234,pcVar12,sVar9);\n        local_244 = local_230 + 5;\n        local_234 = iVar7;\n        goto LAB_00021c20;\n      }\n      iVar7 = strncasecmp(pcVar12,"proxyhost",9);\n      if (iVar7 == 0) {\n        pcVar12 = conf_get_str(conf,0xe);\n        sVar9 = strlen(pcVar12);\n        iVar7 = local_234 + sVar9;\n        if ((int)local_23c < iVar7) {\n          local_23c = iVar7 + 0x200;\n          local_238 = (char *)saferealloc(local_238,local_23c,1);\n        }\n        memcpy(local_238 + local_234,pcVar12,sVar9);\n        local_244 = local_230 + 10;\n        local_234 = iVar7;\n        goto LAB_00021c20;\n      }\n      iVar7 = strncasecmp(pcVar12,"proxyport",9);\n      if (iVar7 == 0) break;\n      if ((int)local_23c <= local_234) {\n        local_23c = local_234 + 0x201;\n        local_238 = (char *)saferealloc(local_238,local_23c,1);\n      }\n      local_238[local_234] = '%';\n      local_234 = local_234 + 1;\n      pcVar12 = pcVar5 + local_244;\n      cVar3 = *pcVar12;\n      iVar7 = local_244;\n      goto joined_r0x00021c28;\n    }\n    sk_getaddr(addr,dest,0x200);\n    puVar15 = (uint *)dest;\n    do {\n      puVar13 = puVar15;\n      uVar10 = *puVar13 + 0xfefefeff & ~*puVar13;\n      uVar11 = uVar10 & 0x80808080;\n      puVar15 = puVar13 + 1;\n    } while (uVar11 == 0);\n    bVar16 = (uVar10 & 0x8080) == 0;\n    if (bVar16) {\n      uVar11 = uVar11 >> 0x10;\n    }\n    puVar15 = (uint *)((int)puVar13 + 6);\n    if (!bVar16) {\n      puVar15 = puVar13 + 1;\n    }\n    pcVar12 = (char *)((int)puVar15 + ((-3 - (uint)CARRY1((byte)uVar11,(byte)uVar11)) - (int)dest));\njoined_r0x000221ae:\n    iVar7 = local_234 + (int)pcVar12;\n    if ((int)local_23c < iVar7) {\n      local_23c = iVar7 + 0x200;\n      local_238 = (char *)saferealloc(local_238,local_23c,1);\n    }\n    pcVar8 = local_238 + local_234;\n    if (pcVar12 < (char *)0x4) {\n      if (pcVar12 != (char *)0x0) {\n        *pcVar8 = dest[0];\n        if (((uint)pcVar12 & 2) != 0) {\n          *(undefined2 *)(pcVar8 + (int)(pcVar12 + -2)) =\n               *(undefined2 *)(acStack_227 + (int)(pcVar12 + 5));\n        }\n      }\n    }\n    else {\n      *(undefined4 *)pcVar8 = dest._0_4_;\n      *(undefined4 *)(pcVar8 + (int)(pcVar12 + -4)) =\n           *(undefined4 *)(acStack_227 + (int)(pcVar12 + 3));\n      iVar6 = (int)pcVar8 - (int)((uint)(pcVar8 + 4) & 0xfffffffc);\n      uVar11 = (uint)(pcVar12 + iVar6) >> 2;\n      pcVar12 = dest + -iVar6;\n      puVar14 = (undefined4 *)((uint)(pcVar8 + 4) & 0xfffffffc);\n      for (; uVar11 != 0; uVar11 = uVar11 - 1) {\n        *puVar14 = *(undefined4 *)pcVar12;\n        pcVar12 = pcVar12 + ((uint)bVar17 * -2 + 1) * 4;\n        puVar14 = puVar14 + (uint)bVar17 * -2 + 1;\n      }\n    }\n    local_244 = local_230 + 5;\n    local_234 = iVar7;\n  } while( true );" statement_identifier : (do_statement "do {\n    pcVar12 = pcVar5 + local_244;\n    cVar3 = *pcVar12;\n    iVar7 = local_244;\njoined_r0x00021c28:\n    if (cVar3 == '\0') {\nLAB_00021e3b:\n      if (local_234 < (int)local_23c) goto LAB_00021e4d;\nLAB_00021eed:\n      local_238 = (char *)saferealloc(local_238,local_234 + 0x201,1);\nLAB_00021e4d:\n      local_238[local_234] = '\0';\n      if (iVar1 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    /* WARNING: Subroutine does not return */\n        __stack_chk_fail_local();\n      }\n      return local_238;\n    }\n    local_240 = pcVar12;\n    local_230 = iVar7;\n    if (cVar3 != '%') {\n      if (cVar3 != '\\') {\n        do {\n          local_244 = local_230 + 1;\n          cVar3 = pcVar5[local_244];\n          if ((cVar3 == '\0') || (cVar3 == '%')) {\n            if (cVar3 == '\0') goto LAB_00021e99;\n            break;\n          }\n          local_230 = local_244;\n        } while (cVar3 != '\\');\n        local_240 = pcVar5 + local_244;\n        local_230 = local_244;\n        if (iVar7 != local_244) {\n          iVar6 = local_234 + (local_244 - iVar7);\n          if ((int)local_23c < iVar6) {\n            local_23c = iVar6 + 0x200;\n            local_238 = (char *)saferealloc(local_238,local_23c,1);\n          }\n          memcpy(local_238 + local_234,pcVar12,local_244 - iVar7);\n          local_234 = local_234 + (local_244 - iVar7);\n          local_230 = local_244;\n        }\n        goto LAB_00021cd4;\n      }\n      local_244 = iVar7 + 1;\n      cVar3 = pcVar5[iVar7 + 1];\n      if (cVar3 != '\0') goto LAB_00021f38;\nLAB_00021e99:\n      if (iVar7 == local_244) goto LAB_00021e3b;\n      iVar6 = local_234 + (local_244 - iVar7);\n      if ((int)local_23c < iVar6) {\n        local_23c = iVar6 + 0x200;\n        local_238 = (char *)saferealloc(local_238,local_23c,1);\n      }\n      memcpy(local_238 + local_234,pcVar5 + iVar7,local_244 - iVar7);\n      local_234 = local_234 + (local_244 - iVar7);\n      if (local_234 < (int)local_23c) goto LAB_00021e4d;\n      goto LAB_00021eed;\n    }\nLAB_00021cd4:\n    local_244 = local_230 + 1;\n    pcVar12 = pcVar5 + local_244;\n    cVar3 = *pcVar12;\n    iVar7 = local_230;\n    if (cVar3 == '\0') goto LAB_00021e99;\n    if (*local_240 == '\\') {\nLAB_00021f38:\n      iVar7 = local_234 + 1;\n      if (cVar3 == 'n') {\n        if ((int)local_23c <= local_234) {\n          local_23c = local_234 + 0x201;\n          local_238 = (char *)saferealloc(local_238,local_23c,1);\n        }\n        local_238[local_234] = '\n';\n        local_244 = local_230 + 2;\n        local_234 = iVar7;\n        goto LAB_00021c20;\n      }\n      if (cVar3 < 'o') {\n        if (cVar3 == 'X') {\nLAB_000223b0:\n          cVar3 = pcVar5[local_244 + 1];\n          bVar4 = cVar3 - 0x30;\n          if (bVar4 < 10) {\nLAB_000223db:\n            cVar3 = pcVar5[local_244 + 2];\n            bVar2 = cVar3 - 0x30;\n            if (9 < bVar2) {\n              if ((byte)(cVar3 + 0x9fU) < 6) {\n                bVar2 = cVar3 + 0xa9;\n              }\n              else {\n                if (5 < (byte)(cVar3 + 0xbfU)) goto LAB_00022a16;\n                bVar2 = cVar3 - 0x37;\n              }\n            }\n            if ((int)local_23c <= local_234) {\n              local_23c = local_234 + 0x201;\n              local_238 = (char *)saferealloc(local_238,local_23c,1);\n            }\n            local_238[local_234] = bVar2 + bVar4 * '\x10';\n            local_244 = local_244 + 3;\n            local_234 = iVar7;\n          }\n          else {\n            if ((byte)(cVar3 + 0x9fU) < 6) {\n              bVar4 = cVar3 + 0xa9;\n              goto LAB_000223db;\n            }\n            if ((byte)(cVar3 + 0xbfU) < 6) {\n              bVar4 = cVar3 - 0x37;\n              goto LAB_000223db;\n            }\nLAB_00022a16:\n            if ((int)local_23c <= local_234) {\n              local_23c = local_234 + 0x201;\n              local_238 = (char *)saferealloc(local_238,local_23c,1);\n            }\n            local_238[local_234] = '\\';\n            local_234 = iVar7;\n          }\n          goto LAB_00021c20;\n        }\n        if (cVar3 == '\\') {\n          if ((int)local_23c <= local_234) {\n            local_23c = local_234 + 0x201;\n            local_238 = (char *)saferealloc(local_238,local_23c,1);\n          }\n          local_238[local_234] = '\\';\n          local_244 = local_230 + 2;\n          local_234 = iVar7;\n          goto LAB_00021c20;\n        }\n        if (cVar3 == '%') {\n          if ((int)local_23c <= local_234) {\n            local_23c = local_234 + 0x201;\n            local_238 = (char *)saferealloc(local_238,local_23c,1);\n          }\n          local_238[local_234] = '%';\n          local_244 = local_230 + 2;\n          local_234 = iVar7;\n          goto LAB_00021c20;\n        }\n      }\n      else {\n        if (cVar3 == 't') {\n          if ((int)local_23c <= local_234) {\n            local_23c = local_234 + 0x201;\n            local_238 = (char *)saferealloc(local_238,local_23c,1);\n          }\n          local_238[local_234] = '\t';\n          local_244 = local_230 + 2;\n          local_234 = iVar7;\n          goto LAB_00021c20;\n        }\n        if (cVar3 == 'x') goto LAB_000223b0;\n        if (cVar3 == 'r') {\n          if ((int)local_23c <= local_234) {\n            local_23c = local_234 + 0x201;\n            local_238 = (char *)saferealloc(local_238,local_23c,1);\n          }\n          local_238[local_234] = '\r';\n          local_244 = local_230 + 2;\n          local_234 = iVar7;\n          goto LAB_00021c20;\n        }\n      }\n      if ((int)local_23c <= iVar7) {\n        local_23c = local_234 + 0x202;\n        local_238 = (char *)saferealloc(local_238,local_23c,1);\n      }\n      local_244 = local_230 + 2;\n      *(undefined2 *)(local_238 + local_234) = *(undefined2 *)local_240;\n      local_234 = local_234 + 2;\n      goto LAB_00021c20;\n    }\n    if (cVar3 == '%') {\n      if ((int)local_23c <= local_234) {\n        local_23c = local_234 + 0x201;\n        local_238 = (char *)saferealloc(local_238,local_23c,1);\n      }\n      local_238[local_234] = '%';\n      local_244 = local_230 + 2;\n      local_234 = local_234 + 1;\n      goto LAB_00021c20;\n    }\n    iVar7 = strncasecmp(pcVar12,"host",4);\n    if (iVar7 != 0) {\n      iVar7 = strncasecmp(pcVar12,"port",4);\n      if (iVar7 == 0) {\n        cVar3 = __sprintf_chk(dest,1,8,&DAT_0008fa68,port);\n        pcVar12 = (char *)(int)cVar3;\n        goto joined_r0x000221ae;\n      }\n      iVar7 = strncasecmp(pcVar12,"user",4);\n      if (iVar7 == 0) {\n        pcVar12 = conf_get_str(conf,0x10);\n        sVar9 = strlen(pcVar12);\n        iVar7 = local_234 + sVar9;\n        if ((int)local_23c < iVar7) {\n          local_23c = iVar7 + 0x200;\n          local_238 = (char *)saferealloc(local_238,local_23c,1);\n        }\n        memcpy(local_238 + local_234,pcVar12,sVar9);\n        local_244 = local_230 + 5;\n        local_234 = iVar7;\n        goto LAB_00021c20;\n      }\n      iVar7 = strncasecmp(pcVar12,"pass",4);\n      if (iVar7 == 0) {\n        pcVar12 = conf_get_str(conf,0x11);\n        sVar9 = strlen(pcVar12);\n        iVar7 = local_234 + sVar9;\n        if ((int)local_23c < iVar7) {\n          local_23c = iVar7 + 0x200;\n          local_238 = (char *)saferealloc(local_238,local_23c,1);\n        }\n        memcpy(local_238 + local_234,pcVar12,sVar9);\n        local_244 = local_230 + 5;\n        local_234 = iVar7;\n        goto LAB_00021c20;\n      }\n      iVar7 = strncasecmp(pcVar12,"proxyhost",9);\n      if (iVar7 == 0) {\n        pcVar12 = conf_get_str(conf,0xe);\n        sVar9 = strlen(pcVar12);\n        iVar7 = local_234 + sVar9;\n        if ((int)local_23c < iVar7) {\n          local_23c = iVar7 + 0x200;\n          local_238 = (char *)saferealloc(local_238,local_23c,1);\n        }\n        memcpy(local_238 + local_234,pcVar12,sVar9);\n        local_244 = local_230 + 10;\n        local_234 = iVar7;\n        goto LAB_00021c20;\n      }\n      iVar7 = strncasecmp(pcVar12,"proxyport",9);\n      if (iVar7 == 0) break;\n      if ((int)local_23c <= local_234) {\n        local_23c = local_234 + 0x201;\n        local_238 = (char *)saferealloc(local_238,local_23c,1);\n      }\n      local_238[local_234] = '%';\n      local_234 = local_234 + 1;\n      pcVar12 = pcVar5 + local_244;\n      cVar3 = *pcVar12;\n      iVar7 = local_244;\n      goto joined_r0x00021c28;\n    }\n    sk_getaddr(addr,dest,0x200);\n    puVar15 = (uint *)dest;\n    do {\n      puVar13 = puVar15;\n      uVar10 = *puVar13 + 0xfefefeff & ~*puVar13;\n      uVar11 = uVar10 & 0x80808080;\n      puVar15 = puVar13 + 1;\n    } while (uVar11 == 0);\n    bVar16 = (uVar10 & 0x8080) == 0;\n    if (bVar16) {\n      uVar11 = uVar11 >> 0x10;\n    }\n    puVar15 = (uint *)((int)puVar13 + 6);\n    if (!bVar16) {\n      puVar15 = puVar13 + 1;\n    }\n    pcVar12 = (char *)((int)puVar15 + ((-3 - (uint)CARRY1((byte)uVar11,(byte)uVar11)) - (int)dest));\njoined_r0x000221ae:\n    iVar7 = local_234 + (int)pcVar12;\n    if ((int)local_23c < iVar7) {\n      local_23c = iVar7 + 0x200;\n      local_238 = (char *)saferealloc(local_238,local_23c,1);\n    }\n    pcVar8 = local_238 + local_234;\n    if (pcVar12 < (char *)0x4) {\n      if (pcVar12 != (char *)0x0) {\n        *pcVar8 = dest[0];\n        if (((uint)pcVar12 & 2) != 0) {\n          *(undefined2 *)(pcVar8 + (int)(pcVar12 + -2)) =\n               *(undefined2 *)(acStack_227 + (int)(pcVar12 + 5));\n        }\n      }\n    }\n    else {\n      *(undefined4 *)pcVar8 = dest._0_4_;\n      *(undefined4 *)(pcVar8 + (int)(pcVar12 + -4)) =\n           *(undefined4 *)(acStack_227 + (int)(pcVar12 + 3));\n      iVar6 = (int)pcVar8 - (int)((uint)(pcVar8 + 4) & 0xfffffffc);\n      uVar11 = (uint)(pcVar12 + iVar6) >> 2;\n      pcVar12 = dest + -iVar6;\n      puVar14 = (undefined4 *)((uint)(pcVar8 + 4) & 0xfffffffc);\n      for (; uVar11 != 0; uVar11 = uVar11 - 1) {\n        *puVar14 = *(undefined4 *)pcVar12;\n        pcVar12 = pcVar12 + ((uint)bVar17 * -2 + 1) * 4;\n        puVar14 = puVar14 + (uint)bVar17 * -2 + 1;\n      }\n    }\n    local_244 = local_230 + 5;\n    local_234 = iVar7;\n  } while( true );" do (compound_statement "{\n    pcVar12 = pcVar5 + local_244;\n    cVar3 = *pcVar12;\n    iVar7 = local_244;\njoined_r0x00021c28:\n    if (cVar3 == '\0') {\nLAB_00021e3b:\n      if (local_234 < (int)local_23c) goto LAB_00021e4d;\nLAB_00021eed:\n      local_238 = (char *)saferealloc(local_238,local_234 + 0x201,1);\nLAB_00021e4d:\n      local_238[local_234] = '\0';\n      if (iVar1 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    /* WARNING: Subroutine does not return */\n        __stack_chk_fail_local();\n      }\n      return local_238;\n    }\n    local_240 = pcVar12;\n    local_230 = iVar7;\n    if (cVar3 != '%') {\n      if (cVar3 != '\\') {\n        do {\n          local_244 = local_230 + 1;\n          cVar3 = pcVar5[local_244];\n          if ((cVar3 == '\0') || (cVar3 == '%')) {\n            if (cVar3 == '\0') goto LAB_00021e99;\n            break;\n          }\n          local_230 = local_244;\n        } while (cVar3 != '\\');\n        local_240 = pcVar5 + local_244;\n        local_230 = local_244;\n        if (iVar7 != local_244) {\n          iVar6 = local_234 + (local_244 - iVar7);\n          if ((int)local_23c < iVar6) {\n            local_23c = iVar6 + 0x200;\n            local_238 = (char *)saferealloc(local_238,local_23c,1);\n          }\n          memcpy(local_238 + local_234,pcVar12,local_244 - iVar7);\n          local_234 = local_234 + (local_244 - iVar7);\n          local_230 = local_244;\n        }\n        goto LAB_00021cd4;\n      }\n      local_244 = iVar7 + 1;\n      cVar3 = pcVar5[iVar7 + 1];\n      if (cVar3 != '\0') goto LAB_00021f38;\nLAB_00021e99:\n      if (iVar7 == local_244) goto LAB_00021e3b;\n      iVar6 = local_234 + (local_244 - iVar7);\n      if ((int)local_23c < iVar6) {\n        local_23c = iVar6 + 0x200;\n        local_238 = (char *)saferealloc(local_238,local_23c,1);\n      }\n      memcpy(local_238 + local_234,pcVar5 + iVar7,local_244 - iVar7);\n      local_234 = local_234 + (local_244 - iVar7);\n      if (local_234 < (int)local_23c) goto LAB_00021e4d;\n      goto LAB_00021eed;\n    }\nLAB_00021cd4:\n    local_244 = local_230 + 1;\n    pcVar12 = pcVar5 + local_244;\n    cVar3 = *pcVar12;\n    iVar7 = local_230;\n    if (cVar3 == '\0') goto LAB_00021e99;\n    if (*local_240 == '\\') {\nLAB_00021f38:\n      iVar7 = local_234 + 1;\n      if (cVar3 == 'n') {\n        if ((int)local_23c <= local_234) {\n          local_23c = local_234 + 0x201;\n          local_238 = (char *)saferealloc(local_238,local_23c,1);\n        }\n        local_238[local_234] = '\n';\n        local_244 = local_230 + 2;\n        local_234 = iVar7;\n        goto LAB_00021c20;\n      }\n      if (cVar3 < 'o') {\n        if (cVar3 == 'X') {\nLAB_000223b0:\n          cVar3 = pcVar5[local_244 + 1];\n          bVar4 = cVar3 - 0x30;\n          if (bVar4 < 10) {\nLAB_000223db:\n            cVar3 = pcVar5[local_244 + 2];\n            bVar2 = cVar3 - 0x30;\n            if (9 < bVar2) {\n              if ((byte)(cVar3 + 0x9fU) < 6) {\n                bVar2 = cVar3 + 0xa9;\n              }\n              else {\n                if (5 < (byte)(cVar3 + 0xbfU)) goto LAB_00022a16;\n                bVar2 = cVar3 - 0x37;\n              }\n            }\n            if ((int)local_23c <= local_234) {\n              local_23c = local_234 + 0x201;\n              local_238 = (char *)saferealloc(local_238,local_23c,1);\n            }\n            local_238[local_234] = bVar2 + bVar4 * '\x10';\n            local_244 = local_244 + 3;\n            local_234 = iVar7;\n          }\n          else {\n            if ((byte)(cVar3 + 0x9fU) < 6) {\n              bVar4 = cVar3 + 0xa9;\n              goto LAB_000223db;\n            }\n            if ((byte)(cVar3 + 0xbfU) < 6) {\n              bVar4 = cVar3 - 0x37;\n              goto LAB_000223db;\n            }\nLAB_00022a16:\n            if ((int)local_23c <= local_234) {\n              local_23c = local_234 + 0x201;\n              local_238 = (char *)saferealloc(local_238,local_23c,1);\n            }\n            local_238[local_234] = '\\';\n            local_234 = iVar7;\n          }\n          goto LAB_00021c20;\n        }\n        if (cVar3 == '\\') {\n          if ((int)local_23c <= local_234) {\n            local_23c = local_234 + 0x201;\n            local_238 = (char *)saferealloc(local_238,local_23c,1);\n          }\n          local_238[local_234] = '\\';\n          local_244 = local_230 + 2;\n          local_234 = iVar7;\n          goto LAB_00021c20;\n        }\n        if (cVar3 == '%') {\n          if ((int)local_23c <= local_234) {\n            local_23c = local_234 + 0x201;\n            local_238 = (char *)saferealloc(local_238,local_23c,1);\n          }\n          local_238[local_234] = '%';\n          local_244 = local_230 + 2;\n          local_234 = iVar7;\n          goto LAB_00021c20;\n        }\n      }\n      else {\n        if (cVar3 == 't') {\n          if ((int)local_23c <= local_234) {\n            local_23c = local_234 + 0x201;\n            local_238 = (char *)saferealloc(local_238,local_23c,1);\n          }\n          local_238[local_234] = '\t';\n          local_244 = local_230 + 2;\n          local_234 = iVar7;\n          goto LAB_00021c20;\n        }\n        if (cVar3 == 'x') goto LAB_000223b0;\n        if (cVar3 == 'r') {\n          if ((int)local_23c <= local_234) {\n            local_23c = local_234 + 0x201;\n            local_238 = (char *)saferealloc(local_238,local_23c,1);\n          }\n          local_238[local_234] = '\r';\n          local_244 = local_230 + 2;\n          local_234 = iVar7;\n          goto LAB_00021c20;\n        }\n      }\n      if ((int)local_23c <= iVar7) {\n        local_23c = local_234 + 0x202;\n        local_238 = (char *)saferealloc(local_238,local_23c,1);\n      }\n      local_244 = local_230 + 2;\n      *(undefined2 *)(local_238 + local_234) = *(undefined2 *)local_240;\n      local_234 = local_234 + 2;\n      goto LAB_00021c20;\n    }\n    if (cVar3 == '%') {\n      if ((int)local_23c <= local_234) {\n        local_23c = local_234 + 0x201;\n        local_238 = (char *)saferealloc(local_238,local_23c,1);\n      }\n      local_238[local_234] = '%';\n      local_244 = local_230 + 2;\n      local_234 = local_234 + 1;\n      goto LAB_00021c20;\n    }\n    iVar7 = strncasecmp(pcVar12,"host",4);\n    if (iVar7 != 0) {\n      iVar7 = strncasecmp(pcVar12,"port",4);\n      if (iVar7 == 0) {\n        cVar3 = __sprintf_chk(dest,1,8,&DAT_0008fa68,port);\n        pcVar12 = (char *)(int)cVar3;\n        goto joined_r0x000221ae;\n      }\n      iVar7 = strncasecmp(pcVar12,"user",4);\n      if (iVar7 == 0) {\n        pcVar12 = conf_get_str(conf,0x10);\n        sVar9 = strlen(pcVar12);\n        iVar7 = local_234 + sVar9;\n        if ((int)local_23c < iVar7) {\n          local_23c = iVar7 + 0x200;\n          local_238 = (char *)saferealloc(local_238,local_23c,1);\n        }\n        memcpy(local_238 + local_234,pcVar12,sVar9);\n        local_244 = local_230 + 5;\n        local_234 = iVar7;\n        goto LAB_00021c20;\n      }\n      iVar7 = strncasecmp(pcVar12,"pass",4);\n      if (iVar7 == 0) {\n        pcVar12 = conf_get_str(conf,0x11);\n        sVar9 = strlen(pcVar12);\n        iVar7 = local_234 + sVar9;\n        if ((int)local_23c < iVar7) {\n          local_23c = iVar7 + 0x200;\n          local_238 = (char *)saferealloc(local_238,local_23c,1);\n        }\n        memcpy(local_238 + local_234,pcVar12,sVar9);\n        local_244 = local_230 + 5;\n        local_234 = iVar7;\n        goto LAB_00021c20;\n      }\n      iVar7 = strncasecmp(pcVar12,"proxyhost",9);\n      if (iVar7 == 0) {\n        pcVar12 = conf_get_str(conf,0xe);\n        sVar9 = strlen(pcVar12);\n        iVar7 = local_234 + sVar9;\n        if ((int)local_23c < iVar7) {\n          local_23c = iVar7 + 0x200;\n          local_238 = (char *)saferealloc(local_238,local_23c,1);\n        }\n        memcpy(local_238 + local_234,pcVar12,sVar9);\n        local_244 = local_230 + 10;\n        local_234 = iVar7;\n        goto LAB_00021c20;\n      }\n      iVar7 = strncasecmp(pcVar12,"proxyport",9);\n      if (iVar7 == 0) break;\n      if ((int)local_23c <= local_234) {\n        local_23c = local_234 + 0x201;\n        local_238 = (char *)saferealloc(local_238,local_23c,1);\n      }\n      local_238[local_234] = '%';\n      local_234 = local_234 + 1;\n      pcVar12 = pcVar5 + local_244;\n      cVar3 = *pcVar12;\n      iVar7 = local_244;\n      goto joined_r0x00021c28;\n    }\n    sk_getaddr(addr,dest,0x200);\n    puVar15 = (uint *)dest;\n    do {\n      puVar13 = puVar15;\n      uVar10 = *puVar13 + 0xfefefeff & ~*puVar13;\n      uVar11 = uVar10 & 0x80808080;\n      puVar15 = puVar13 + 1;\n    } while (uVar11 == 0);\n    bVar16 = (uVar10 & 0x8080) == 0;\n    if (bVar16) {\n      uVar11 = uVar11 >> 0x10;\n    }\n    puVar15 = (uint *)((int)puVar13 + 6);\n    if (!bVar16) {\n      puVar15 = puVar13 + 1;\n    }\n    pcVar12 = (char *)((int)puVar15 + ((-3 - (uint)CARRY1((byte)uVar11,(byte)uVar11)) - (int)dest));\njoined_r0x000221ae:\n    iVar7 = local_234 + (int)pcVar12;\n    if ((int)local_23c < iVar7) {\n      local_23c = iVar7 + 0x200;\n      local_238 = (char *)saferealloc(local_238,local_23c,1);\n    }\n    pcVar8 = local_238 + local_234;\n    if (pcVar12 < (char *)0x4) {\n      if (pcVar12 != (char *)0x0) {\n        *pcVar8 = dest[0];\n        if (((uint)pcVar12 & 2) != 0) {\n          *(undefined2 *)(pcVar8 + (int)(pcVar12 + -2)) =\n               *(undefined2 *)(acStack_227 + (int)(pcVar12 + 5));\n        }\n      }\n    }\n    else {\n      *(undefined4 *)pcVar8 = dest._0_4_;\n      *(undefined4 *)(pcVar8 + (int)(pcVar12 + -4)) =\n           *(undefined4 *)(acStack_227 + (int)(pcVar12 + 3));\n      iVar6 = (int)pcVar8 - (int)((uint)(pcVar8 + 4) & 0xfffffffc);\n      uVar11 = (uint)(pcVar12 + iVar6) >> 2;\n      pcVar12 = dest + -iVar6;\n      puVar14 = (undefined4 *)((uint)(pcVar8 + 4) & 0xfffffffc);\n      for (; uVar11 != 0; uVar11 = uVar11 - 1) {\n        *puVar14 = *(undefined4 *)pcVar12;\n        pcVar12 = pcVar12 + ((uint)bVar17 * -2 + 1) * 4;\n        puVar14 = puVar14 + (uint)bVar17 * -2 + 1;\n      }\n    }\n    local_244 = local_230 + 5;\n    local_234 = iVar7;\n  }" { (expression_statement "pcVar12 = pcVar5 + local_244;" (assignment_expression "pcVar12 = pcVar5 + local_244" identifier = (binary_expression "pcVar5 + local_244" identifier + identifier)) ;) (expression_statement "cVar3 = *pcVar12;" (assignment_expression "cVar3 = *pcVar12" identifier = (pointer_expression "*pcVar12" * identifier)) ;) (expression_statement "iVar7 = local_244;" (assignment_expression "iVar7 = local_244" identifier = identifier) ;) (labeled_statement "joined_r0x00021c28:\n    if (cVar3 == '\0') {\nLAB_00021e3b:\n      if (local_234 < (int)local_23c) goto LAB_00021e4d;\nLAB_00021eed:\n      local_238 = (char *)saferealloc(local_238,local_234 + 0x201,1);\nLAB_00021e4d:\n      local_238[local_234] = '\0';\n      if (iVar1 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    /* WARNING: Subroutine does not return */\n        __stack_chk_fail_local();\n      }\n      return local_238;\n    }" statement_identifier : (if_statement "if (cVar3 == '\0') {\nLAB_00021e3b:\n      if (local_234 < (int)local_23c) goto LAB_00021e4d;\nLAB_00021eed:\n      local_238 = (char *)saferealloc(local_238,local_234 + 0x201,1);\nLAB_00021e4d:\n      local_238[local_234] = '\0';\n      if (iVar1 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    /* WARNING: Subroutine does not return */\n        __stack_chk_fail_local();\n      }\n      return local_238;\n    }" if (parenthesized_expression "(cVar3 == '\0')" ( (binary_expression "cVar3 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\nLAB_00021e3b:\n      if (local_234 < (int)local_23c) goto LAB_00021e4d;\nLAB_00021eed:\n      local_238 = (char *)saferealloc(local_238,local_234 + 0x201,1);\nLAB_00021e4d:\n      local_238[local_234] = '\0';\n      if (iVar1 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    /* WARNING: Subroutine does not return */\n        __stack_chk_fail_local();\n      }\n      return local_238;\n    }" { (labeled_statement "LAB_00021e3b:\n      if (local_234 < (int)local_23c) goto LAB_00021e4d;" statement_identifier : (if_statement "if (local_234 < (int)local_23c) goto LAB_00021e4d;" if (parenthesized_expression "(local_234 < (int)local_23c)" ( (binary_expression "local_234 < (int)local_23c" identifier < (cast_expression "(int)local_23c" ( (type_descriptor "int" primitive_type) ) identifier)) )) (goto_statement "goto LAB_00021e4d;" goto statement_identifier ;))) (labeled_statement "LAB_00021eed:\n      local_238 = (char *)saferealloc(local_238,local_234 + 0x201,1);" statement_identifier : (expression_statement "local_238 = (char *)saferealloc(local_238,local_234 + 0x201,1);" (assignment_expression "local_238 = (char *)saferealloc(local_238,local_234 + 0x201,1)" identifier = (cast_expression "(char *)saferealloc(local_238,local_234 + 0x201,1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "saferealloc(local_238,local_234 + 0x201,1)" identifier (argument_list "(local_238,local_234 + 0x201,1)" ( identifier , (binary_expression "local_234 + 0x201" identifier + number_literal) , number_literal ))))) ;)) (labeled_statement "LAB_00021e4d:\n      local_238[local_234] = '\0';" statement_identifier : (expression_statement "local_238[local_234] = '\0';" (assignment_expression "local_238[local_234] = '\0'" (subscript_expression "local_238[local_234]" identifier [ identifier ]) = (char_literal "'\0'" ' escape_sequence ')) ;)) (if_statement "if (iVar1 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    /* WARNING: Subroutine does not return */\n        __stack_chk_fail_local();\n      }" if (parenthesized_expression "(iVar1 != *(int *)(in_GS_OFFSET + 0x14))" ( (binary_expression "iVar1 != *(int *)(in_GS_OFFSET + 0x14)" identifier != (pointer_expression "*(int *)(in_GS_OFFSET + 0x14)" * (cast_expression "(int *)(in_GS_OFFSET + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_GS_OFFSET + 0x14)" ( (binary_expression "in_GS_OFFSET + 0x14" identifier + number_literal) ))))) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n        __stack_chk_fail_local();\n      }" { comment (expression_statement "__stack_chk_fail_local();" (call_expression "__stack_chk_fail_local()" identifier (argument_list "()" ( ))) ;) })) (return_statement "return local_238;" return identifier ;) }))) (expression_statement "local_240 = pcVar12;" (assignment_expression "local_240 = pcVar12" identifier = identifier) ;) (expression_statement "local_230 = iVar7;" (assignment_expression "local_230 = iVar7" identifier = identifier) ;) (if_statement "if (cVar3 != '%') {\n      if (cVar3 != '\\') {\n        do {\n          local_244 = local_230 + 1;\n          cVar3 = pcVar5[local_244];\n          if ((cVar3 == '\0') || (cVar3 == '%')) {\n            if (cVar3 == '\0') goto LAB_00021e99;\n            break;\n          }\n          local_230 = local_244;\n        } while (cVar3 != '\\');\n        local_240 = pcVar5 + local_244;\n        local_230 = local_244;\n        if (iVar7 != local_244) {\n          iVar6 = local_234 + (local_244 - iVar7);\n          if ((int)local_23c < iVar6) {\n            local_23c = iVar6 + 0x200;\n            local_238 = (char *)saferealloc(local_238,local_23c,1);\n          }\n          memcpy(local_238 + local_234,pcVar12,local_244 - iVar7);\n          local_234 = local_234 + (local_244 - iVar7);\n          local_230 = local_244;\n        }\n        goto LAB_00021cd4;\n      }\n      local_244 = iVar7 + 1;\n      cVar3 = pcVar5[iVar7 + 1];\n      if (cVar3 != '\0') goto LAB_00021f38;\nLAB_00021e99:\n      if (iVar7 == local_244) goto LAB_00021e3b;\n      iVar6 = local_234 + (local_244 - iVar7);\n      if ((int)local_23c < iVar6) {\n        local_23c = iVar6 + 0x200;\n        local_238 = (char *)saferealloc(local_238,local_23c,1);\n      }\n      memcpy(local_238 + local_234,pcVar5 + iVar7,local_244 - iVar7);\n      local_234 = local_234 + (local_244 - iVar7);\n      if (local_234 < (int)local_23c) goto LAB_00021e4d;\n      goto LAB_00021eed;\n    }" if (parenthesized_expression "(cVar3 != '%')" ( (binary_expression "cVar3 != '%'" identifier != (char_literal "'%'" ' character ')) )) (compound_statement "{\n      if (cVar3 != '\\') {\n        do {\n          local_244 = local_230 + 1;\n          cVar3 = pcVar5[local_244];\n          if ((cVar3 == '\0') || (cVar3 == '%')) {\n            if (cVar3 == '\0') goto LAB_00021e99;\n            break;\n          }\n          local_230 = local_244;\n        } while (cVar3 != '\\');\n        local_240 = pcVar5 + local_244;\n        local_230 = local_244;\n        if (iVar7 != local_244) {\n          iVar6 = local_234 + (local_244 - iVar7);\n          if ((int)local_23c < iVar6) {\n            local_23c = iVar6 + 0x200;\n            local_238 = (char *)saferealloc(local_238,local_23c,1);\n          }\n          memcpy(local_238 + local_234,pcVar12,local_244 - iVar7);\n          local_234 = local_234 + (local_244 - iVar7);\n          local_230 = local_244;\n        }\n        goto LAB_00021cd4;\n      }\n      local_244 = iVar7 + 1;\n      cVar3 = pcVar5[iVar7 + 1];\n      if (cVar3 != '\0') goto LAB_00021f38;\nLAB_00021e99:\n      if (iVar7 == local_244) goto LAB_00021e3b;\n      iVar6 = local_234 + (local_244 - iVar7);\n      if ((int)local_23c < iVar6) {\n        local_23c = iVar6 + 0x200;\n        local_238 = (char *)saferealloc(local_238,local_23c,1);\n      }\n      memcpy(local_238 + local_234,pcVar5 + iVar7,local_244 - iVar7);\n      local_234 = local_234 + (local_244 - iVar7);\n      if (local_234 < (int)local_23c) goto LAB_00021e4d;\n      goto LAB_00021eed;\n    }" { (if_statement "if (cVar3 != '\\') {\n        do {\n          local_244 = local_230 + 1;\n          cVar3 = pcVar5[local_244];\n          if ((cVar3 == '\0') || (cVar3 == '%')) {\n            if (cVar3 == '\0') goto LAB_00021e99;\n            break;\n          }\n          local_230 = local_244;\n        } while (cVar3 != '\\');\n        local_240 = pcVar5 + local_244;\n        local_230 = local_244;\n        if (iVar7 != local_244) {\n          iVar6 = local_234 + (local_244 - iVar7);\n          if ((int)local_23c < iVar6) {\n            local_23c = iVar6 + 0x200;\n            local_238 = (char *)saferealloc(local_238,local_23c,1);\n          }\n          memcpy(local_238 + local_234,pcVar12,local_244 - iVar7);\n          local_234 = local_234 + (local_244 - iVar7);\n          local_230 = local_244;\n        }\n        goto LAB_00021cd4;\n      }" if (parenthesized_expression "(cVar3 != '\\')" ( (binary_expression "cVar3 != '\\'" identifier != (char_literal "'\\'" ' escape_sequence ')) )) (compound_statement "{\n        do {\n          local_244 = local_230 + 1;\n          cVar3 = pcVar5[local_244];\n          if ((cVar3 == '\0') || (cVar3 == '%')) {\n            if (cVar3 == '\0') goto LAB_00021e99;\n            break;\n          }\n          local_230 = local_244;\n        } while (cVar3 != '\\');\n        local_240 = pcVar5 + local_244;\n        local_230 = local_244;\n        if (iVar7 != local_244) {\n          iVar6 = local_234 + (local_244 - iVar7);\n          if ((int)local_23c < iVar6) {\n            local_23c = iVar6 + 0x200;\n            local_238 = (char *)saferealloc(local_238,local_23c,1);\n          }\n          memcpy(local_238 + local_234,pcVar12,local_244 - iVar7);\n          local_234 = local_234 + (local_244 - iVar7);\n          local_230 = local_244;\n        }\n        goto LAB_00021cd4;\n      }" { (do_statement "do {\n          local_244 = local_230 + 1;\n          cVar3 = pcVar5[local_244];\n          if ((cVar3 == '\0') || (cVar3 == '%')) {\n            if (cVar3 == '\0') goto LAB_00021e99;\n            break;\n          }\n          local_230 = local_244;\n        } while (cVar3 != '\\');" do (compound_statement "{\n          local_244 = local_230 + 1;\n          cVar3 = pcVar5[local_244];\n          if ((cVar3 == '\0') || (cVar3 == '%')) {\n            if (cVar3 == '\0') goto LAB_00021e99;\n            break;\n          }\n          local_230 = local_244;\n        }" { (expression_statement "local_244 = local_230 + 1;" (assignment_expression "local_244 = local_230 + 1" identifier = (binary_expression "local_230 + 1" identifier + number_literal)) ;) (expression_statement "cVar3 = pcVar5[local_244];" (assignment_expression "cVar3 = pcVar5[local_244]" identifier = (subscript_expression "pcVar5[local_244]" identifier [ identifier ])) ;) (if_statement "if ((cVar3 == '\0') || (cVar3 == '%')) {\n            if (cVar3 == '\0') goto LAB_00021e99;\n            break;\n          }" if (parenthesized_expression "((cVar3 == '\0') || (cVar3 == '%'))" ( (binary_expression "(cVar3 == '\0') || (cVar3 == '%')" (parenthesized_expression "(cVar3 == '\0')" ( (binary_expression "cVar3 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) || (parenthesized_expression "(cVar3 == '%')" ( (binary_expression "cVar3 == '%'" identifier == (char_literal "'%'" ' character ')) ))) )) (compound_statement "{\n            if (cVar3 == '\0') goto LAB_00021e99;\n            break;\n          }" { (if_statement "if (cVar3 == '\0') goto LAB_00021e99;" if (parenthesized_expression "(cVar3 == '\0')" ( (binary_expression "cVar3 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_00021e99;" goto statement_identifier ;)) (break_statement "break;" break ;) })) (expression_statement "local_230 = local_244;" (assignment_expression "local_230 = local_244" identifier = identifier) ;) }) while (parenthesized_expression "(cVar3 != '\\')" ( (binary_expression "cVar3 != '\\'" identifier != (char_literal "'\\'" ' escape_sequence ')) )) ;) (expression_statement "local_240 = pcVar5 + local_244;" (assignment_expression "local_240 = pcVar5 + local_244" identifier = (binary_expression "pcVar5 + local_244" identifier + identifier)) ;) (expression_statement "local_230 = local_244;" (assignment_expression "local_230 = local_244" identifier = identifier) ;) (if_statement "if (iVar7 != local_244) {\n          iVar6 = local_234 + (local_244 - iVar7);\n          if ((int)local_23c < iVar6) {\n            local_23c = iVar6 + 0x200;\n            local_238 = (char *)saferealloc(local_238,local_23c,1);\n          }\n          memcpy(local_238 + local_234,pcVar12,local_244 - iVar7);\n          local_234 = local_234 + (local_244 - iVar7);\n          local_230 = local_244;\n        }" if (parenthesized_expression "(iVar7 != local_244)" ( (binary_expression "iVar7 != local_244" identifier != identifier) )) (compound_statement "{\n          iVar6 = local_234 + (local_244 - iVar7);\n          if ((int)local_23c < iVar6) {\n            local_23c = iVar6 + 0x200;\n            local_238 = (char *)saferealloc(local_238,local_23c,1);\n          }\n          memcpy(local_238 + local_234,pcVar12,local_244 - iVar7);\n          local_234 = local_234 + (local_244 - iVar7);\n          local_230 = local_244;\n        }" { (expression_statement "iVar6 = local_234 + (local_244 - iVar7);" (assignment_expression "iVar6 = local_234 + (local_244 - iVar7)" identifier = (binary_expression "local_234 + (local_244 - iVar7)" identifier + (parenthesized_expression "(local_244 - iVar7)" ( (binary_expression "local_244 - iVar7" identifier - identifier) )))) ;) (if_statement "if ((int)local_23c < iVar6) {\n            local_23c = iVar6 + 0x200;\n            local_238 = (char *)saferealloc(local_238,local_23c,1);\n          }" if (parenthesized_expression "((int)local_23c < iVar6)" ( (binary_expression "(int)local_23c < iVar6" (cast_expression "(int)local_23c" ( (type_descriptor "int" primitive_type) ) identifier) < identifier) )) (compound_statement "{\n            local_23c = iVar6 + 0x200;\n            local_238 = (char *)saferealloc(local_238,local_23c,1);\n          }" { (expression_statement "local_23c = iVar6 + 0x200;" (assignment_expression "local_23c = iVar6 + 0x200" identifier = (binary_expression "iVar6 + 0x200" identifier + number_literal)) ;) (expression_statement "local_238 = (char *)saferealloc(local_238,local_23c,1);" (assignment_expression "local_238 = (char *)saferealloc(local_238,local_23c,1)" identifier = (cast_expression "(char *)saferealloc(local_238,local_23c,1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "saferealloc(local_238,local_23c,1)" identifier (argument_list "(local_238,local_23c,1)" ( identifier , identifier , number_literal ))))) ;) })) (expression_statement "memcpy(local_238 + local_234,pcVar12,local_244 - iVar7);" (call_expression "memcpy(local_238 + local_234,pcVar12,local_244 - iVar7)" identifier (argument_list "(local_238 + local_234,pcVar12,local_244 - iVar7)" ( (binary_expression "local_238 + local_234" identifier + identifier) , identifier , (binary_expression "local_244 - iVar7" identifier - identifier) ))) ;) (expression_statement "local_234 = local_234 + (local_244 - iVar7);" (assignment_expression "local_234 = local_234 + (local_244 - iVar7)" identifier = (binary_expression "local_234 + (local_244 - iVar7)" identifier + (parenthesized_expression "(local_244 - iVar7)" ( (binary_expression "local_244 - iVar7" identifier - identifier) )))) ;) (expression_statement "local_230 = local_244;" (assignment_expression "local_230 = local_244" identifier = identifier) ;) })) (goto_statement "goto LAB_00021cd4;" goto statement_identifier ;) })) (expression_statement "local_244 = iVar7 + 1;" (assignment_expression "local_244 = iVar7 + 1" identifier = (binary_expression "iVar7 + 1" identifier + number_literal)) ;) (expression_statement "cVar3 = pcVar5[iVar7 + 1];" (assignment_expression "cVar3 = pcVar5[iVar7 + 1]" identifier = (subscript_expression "pcVar5[iVar7 + 1]" identifier [ (binary_expression "iVar7 + 1" identifier + number_literal) ])) ;) (if_statement "if (cVar3 != '\0') goto LAB_00021f38;" if (parenthesized_expression "(cVar3 != '\0')" ( (binary_expression "cVar3 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_00021f38;" goto statement_identifier ;)) (labeled_statement "LAB_00021e99:\n      if (iVar7 == local_244) goto LAB_00021e3b;" statement_identifier : (if_statement "if (iVar7 == local_244) goto LAB_00021e3b;" if (parenthesized_expression "(iVar7 == local_244)" ( (binary_expression "iVar7 == local_244" identifier == identifier) )) (goto_statement "goto LAB_00021e3b;" goto statement_identifier ;))) (expression_statement "iVar6 = local_234 + (local_244 - iVar7);" (assignment_expression "iVar6 = local_234 + (local_244 - iVar7)" identifier = (binary_expression "local_234 + (local_244 - iVar7)" identifier + (parenthesized_expression "(local_244 - iVar7)" ( (binary_expression "local_244 - iVar7" identifier - identifier) )))) ;) (if_statement "if ((int)local_23c < iVar6) {\n        local_23c = iVar6 + 0x200;\n        local_238 = (char *)saferealloc(local_238,local_23c,1);\n      }" if (parenthesized_expression "((int)local_23c < iVar6)" ( (binary_expression "(int)local_23c < iVar6" (cast_expression "(int)local_23c" ( (type_descriptor "int" primitive_type) ) identifier) < identifier) )) (compound_statement "{\n        local_23c = iVar6 + 0x200;\n        local_238 = (char *)saferealloc(local_238,local_23c,1);\n      }" { (expression_statement "local_23c = iVar6 + 0x200;" (assignment_expression "local_23c = iVar6 + 0x200" identifier = (binary_expression "iVar6 + 0x200" identifier + number_literal)) ;) (expression_statement "local_238 = (char *)saferealloc(local_238,local_23c,1);" (assignment_expression "local_238 = (char *)saferealloc(local_238,local_23c,1)" identifier = (cast_expression "(char *)saferealloc(local_238,local_23c,1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "saferealloc(local_238,local_23c,1)" identifier (argument_list "(local_238,local_23c,1)" ( identifier , identifier , number_literal ))))) ;) })) (expression_statement "memcpy(local_238 + local_234,pcVar5 + iVar7,local_244 - iVar7);" (call_expression "memcpy(local_238 + local_234,pcVar5 + iVar7,local_244 - iVar7)" identifier (argument_list "(local_238 + local_234,pcVar5 + iVar7,local_244 - iVar7)" ( (binary_expression "local_238 + local_234" identifier + identifier) , (binary_expression "pcVar5 + iVar7" identifier + identifier) , (binary_expression "local_244 - iVar7" identifier - identifier) ))) ;) (expression_statement "local_234 = local_234 + (local_244 - iVar7);" (assignment_expression "local_234 = local_234 + (local_244 - iVar7)" identifier = (binary_expression "local_234 + (local_244 - iVar7)" identifier + (parenthesized_expression "(local_244 - iVar7)" ( (binary_expression "local_244 - iVar7" identifier - identifier) )))) ;) (if_statement "if (local_234 < (int)local_23c) goto LAB_00021e4d;" if (parenthesized_expression "(local_234 < (int)local_23c)" ( (binary_expression "local_234 < (int)local_23c" identifier < (cast_expression "(int)local_23c" ( (type_descriptor "int" primitive_type) ) identifier)) )) (goto_statement "goto LAB_00021e4d;" goto statement_identifier ;)) (goto_statement "goto LAB_00021eed;" goto statement_identifier ;) })) (labeled_statement "LAB_00021cd4:\n    local_244 = local_230 + 1;" statement_identifier : (expression_statement "local_244 = local_230 + 1;" (assignment_expression "local_244 = local_230 + 1" identifier = (binary_expression "local_230 + 1" identifier + number_literal)) ;)) (expression_statement "pcVar12 = pcVar5 + local_244;" (assignment_expression "pcVar12 = pcVar5 + local_244" identifier = (binary_expression "pcVar5 + local_244" identifier + identifier)) ;) (expression_statement "cVar3 = *pcVar12;" (assignment_expression "cVar3 = *pcVar12" identifier = (pointer_expression "*pcVar12" * identifier)) ;) (expression_statement "iVar7 = local_230;" (assignment_expression "iVar7 = local_230" identifier = identifier) ;) (if_statement "if (cVar3 == '\0') goto LAB_00021e99;" if (parenthesized_expression "(cVar3 == '\0')" ( (binary_expression "cVar3 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_00021e99;" goto statement_identifier ;)) (if_statement "if (*local_240 == '\\') {\nLAB_00021f38:\n      iVar7 = local_234 + 1;\n      if (cVar3 == 'n') {\n        if ((int)local_23c <= local_234) {\n          local_23c = local_234 + 0x201;\n          local_238 = (char *)saferealloc(local_238,local_23c,1);\n        }\n        local_238[local_234] = '\n';\n        local_244 = local_230 + 2;\n        local_234 = iVar7;\n        goto LAB_00021c20;\n      }\n      if (cVar3 < 'o') {\n        if (cVar3 == 'X') {\nLAB_000223b0:\n          cVar3 = pcVar5[local_244 + 1];\n          bVar4 = cVar3 - 0x30;\n          if (bVar4 < 10) {\nLAB_000223db:\n            cVar3 = pcVar5[local_244 + 2];\n            bVar2 = cVar3 - 0x30;\n            if (9 < bVar2) {\n              if ((byte)(cVar3 + 0x9fU) < 6) {\n                bVar2 = cVar3 + 0xa9;\n              }\n              else {\n                if (5 < (byte)(cVar3 + 0xbfU)) goto LAB_00022a16;\n                bVar2 = cVar3 - 0x37;\n              }\n            }\n            if ((int)local_23c <= local_234) {\n              local_23c = local_234 + 0x201;\n              local_238 = (char *)saferealloc(local_238,local_23c,1);\n            }\n            local_238[local_234] = bVar2 + bVar4 * '\x10';\n            local_244 = local_244 + 3;\n            local_234 = iVar7;\n          }\n          else {\n            if ((byte)(cVar3 + 0x9fU) < 6) {\n              bVar4 = cVar3 + 0xa9;\n              goto LAB_000223db;\n            }\n            if ((byte)(cVar3 + 0xbfU) < 6) {\n              bVar4 = cVar3 - 0x37;\n              goto LAB_000223db;\n            }\nLAB_00022a16:\n            if ((int)local_23c <= local_234) {\n              local_23c = local_234 + 0x201;\n              local_238 = (char *)saferealloc(local_238,local_23c,1);\n            }\n            local_238[local_234] = '\\';\n            local_234 = iVar7;\n          }\n          goto LAB_00021c20;\n        }\n        if (cVar3 == '\\') {\n          if ((int)local_23c <= local_234) {\n            local_23c = local_234 + 0x201;\n            local_238 = (char *)saferealloc(local_238,local_23c,1);\n          }\n          local_238[local_234] = '\\';\n          local_244 = local_230 + 2;\n          local_234 = iVar7;\n          goto LAB_00021c20;\n        }\n        if (cVar3 == '%') {\n          if ((int)local_23c <= local_234) {\n            local_23c = local_234 + 0x201;\n            local_238 = (char *)saferealloc(local_238,local_23c,1);\n          }\n          local_238[local_234] = '%';\n          local_244 = local_230 + 2;\n          local_234 = iVar7;\n          goto LAB_00021c20;\n        }\n      }\n      else {\n        if (cVar3 == 't') {\n          if ((int)local_23c <= local_234) {\n            local_23c = local_234 + 0x201;\n            local_238 = (char *)saferealloc(local_238,local_23c,1);\n          }\n          local_238[local_234] = '\t';\n          local_244 = local_230 + 2;\n          local_234 = iVar7;\n          goto LAB_00021c20;\n        }\n        if (cVar3 == 'x') goto LAB_000223b0;\n        if (cVar3 == 'r') {\n          if ((int)local_23c <= local_234) {\n            local_23c = local_234 + 0x201;\n            local_238 = (char *)saferealloc(local_238,local_23c,1);\n          }\n          local_238[local_234] = '\r';\n          local_244 = local_230 + 2;\n          local_234 = iVar7;\n          goto LAB_00021c20;\n        }\n      }\n      if ((int)local_23c <= iVar7) {\n        local_23c = local_234 + 0x202;\n        local_238 = (char *)saferealloc(local_238,local_23c,1);\n      }\n      local_244 = local_230 + 2;\n      *(undefined2 *)(local_238 + local_234) = *(undefined2 *)local_240;\n      local_234 = local_234 + 2;\n      goto LAB_00021c20;\n    }" if (parenthesized_expression "(*local_240 == '\\')" ( (binary_expression "*local_240 == '\\'" (pointer_expression "*local_240" * identifier) == (char_literal "'\\'" ' escape_sequence ')) )) (compound_statement "{\nLAB_00021f38:\n      iVar7 = local_234 + 1;\n      if (cVar3 == 'n') {\n        if ((int)local_23c <= local_234) {\n          local_23c = local_234 + 0x201;\n          local_238 = (char *)saferealloc(local_238,local_23c,1);\n        }\n        local_238[local_234] = '\n';\n        local_244 = local_230 + 2;\n        local_234 = iVar7;\n        goto LAB_00021c20;\n      }\n      if (cVar3 < 'o') {\n        if (cVar3 == 'X') {\nLAB_000223b0:\n          cVar3 = pcVar5[local_244 + 1];\n          bVar4 = cVar3 - 0x30;\n          if (bVar4 < 10) {\nLAB_000223db:\n            cVar3 = pcVar5[local_244 + 2];\n            bVar2 = cVar3 - 0x30;\n            if (9 < bVar2) {\n              if ((byte)(cVar3 + 0x9fU) < 6) {\n                bVar2 = cVar3 + 0xa9;\n              }\n              else {\n                if (5 < (byte)(cVar3 + 0xbfU)) goto LAB_00022a16;\n                bVar2 = cVar3 - 0x37;\n              }\n            }\n            if ((int)local_23c <= local_234) {\n              local_23c = local_234 + 0x201;\n              local_238 = (char *)saferealloc(local_238,local_23c,1);\n            }\n            local_238[local_234] = bVar2 + bVar4 * '\x10';\n            local_244 = local_244 + 3;\n            local_234 = iVar7;\n          }\n          else {\n            if ((byte)(cVar3 + 0x9fU) < 6) {\n              bVar4 = cVar3 + 0xa9;\n              goto LAB_000223db;\n            }\n            if ((byte)(cVar3 + 0xbfU) < 6) {\n              bVar4 = cVar3 - 0x37;\n              goto LAB_000223db;\n            }\nLAB_00022a16:\n            if ((int)local_23c <= local_234) {\n              local_23c = local_234 + 0x201;\n              local_238 = (char *)saferealloc(local_238,local_23c,1);\n            }\n            local_238[local_234] = '\\';\n            local_234 = iVar7;\n          }\n          goto LAB_00021c20;\n        }\n        if (cVar3 == '\\') {\n          if ((int)local_23c <= local_234) {\n            local_23c = local_234 + 0x201;\n            local_238 = (char *)saferealloc(local_238,local_23c,1);\n          }\n          local_238[local_234] = '\\';\n          local_244 = local_230 + 2;\n          local_234 = iVar7;\n          goto LAB_00021c20;\n        }\n        if (cVar3 == '%') {\n          if ((int)local_23c <= local_234) {\n            local_23c = local_234 + 0x201;\n            local_238 = (char *)saferealloc(local_238,local_23c,1);\n          }\n          local_238[local_234] = '%';\n          local_244 = local_230 + 2;\n          local_234 = iVar7;\n          goto LAB_00021c20;\n        }\n      }\n      else {\n        if (cVar3 == 't') {\n          if ((int)local_23c <= local_234) {\n            local_23c = local_234 + 0x201;\n            local_238 = (char *)saferealloc(local_238,local_23c,1);\n          }\n          local_238[local_234] = '\t';\n          local_244 = local_230 + 2;\n          local_234 = iVar7;\n          goto LAB_00021c20;\n        }\n        if (cVar3 == 'x') goto LAB_000223b0;\n        if (cVar3 == 'r') {\n          if ((int)local_23c <= local_234) {\n            local_23c = local_234 + 0x201;\n            local_238 = (char *)saferealloc(local_238,local_23c,1);\n          }\n          local_238[local_234] = '\r';\n          local_244 = local_230 + 2;\n          local_234 = iVar7;\n          goto LAB_00021c20;\n        }\n      }\n      if ((int)local_23c <= iVar7) {\n        local_23c = local_234 + 0x202;\n        local_238 = (char *)saferealloc(local_238,local_23c,1);\n      }\n      local_244 = local_230 + 2;\n      *(undefined2 *)(local_238 + local_234) = *(undefined2 *)local_240;\n      local_234 = local_234 + 2;\n      goto LAB_00021c20;\n    }" { (labeled_statement "LAB_00021f38:\n      iVar7 = local_234 + 1;" statement_identifier : (expression_statement "iVar7 = local_234 + 1;" (assignment_expression "iVar7 = local_234 + 1" identifier = (binary_expression "local_234 + 1" identifier + number_literal)) ;)) (if_statement "if (cVar3 == 'n') {\n        if ((int)local_23c <= local_234) {\n          local_23c = local_234 + 0x201;\n          local_238 = (char *)saferealloc(local_238,local_23c,1);\n        }\n        local_238[local_234] = '\n';\n        local_244 = local_230 + 2;\n        local_234 = iVar7;\n        goto LAB_00021c20;\n      }" if (parenthesized_expression "(cVar3 == 'n')" ( (binary_expression "cVar3 == 'n'" identifier == (char_literal "'n'" ' character ')) )) (compound_statement "{\n        if ((int)local_23c <= local_234) {\n          local_23c = local_234 + 0x201;\n          local_238 = (char *)saferealloc(local_238,local_23c,1);\n        }\n        local_238[local_234] = '\n';\n        local_244 = local_230 + 2;\n        local_234 = iVar7;\n        goto LAB_00021c20;\n      }" { (if_statement "if ((int)local_23c <= local_234) {\n          local_23c = local_234 + 0x201;\n          local_238 = (char *)saferealloc(local_238,local_23c,1);\n        }" if (parenthesized_expression "((int)local_23c <= local_234)" ( (binary_expression "(int)local_23c <= local_234" (cast_expression "(int)local_23c" ( (type_descriptor "int" primitive_type) ) identifier) <= identifier) )) (compound_statement "{\n          local_23c = local_234 + 0x201;\n          local_238 = (char *)saferealloc(local_238,local_23c,1);\n        }" { (expression_statement "local_23c = local_234 + 0x201;" (assignment_expression "local_23c = local_234 + 0x201" identifier = (binary_expression "local_234 + 0x201" identifier + number_literal)) ;) (expression_statement "local_238 = (char *)saferealloc(local_238,local_23c,1);" (assignment_expression "local_238 = (char *)saferealloc(local_238,local_23c,1)" identifier = (cast_expression "(char *)saferealloc(local_238,local_23c,1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "saferealloc(local_238,local_23c,1)" identifier (argument_list "(local_238,local_23c,1)" ( identifier , identifier , number_literal ))))) ;) })) (expression_statement "local_238[local_234] = '\n';" (assignment_expression "local_238[local_234] = '\n'" (subscript_expression "local_238[local_234]" identifier [ identifier ]) = (char_literal "'\n'" ' escape_sequence ')) ;) (expression_statement "local_244 = local_230 + 2;" (assignment_expression "local_244 = local_230 + 2" identifier = (binary_expression "local_230 + 2" identifier + number_literal)) ;) (expression_statement "local_234 = iVar7;" (assignment_expression "local_234 = iVar7" identifier = identifier) ;) (goto_statement "goto LAB_00021c20;" goto statement_identifier ;) })) (if_statement "if (cVar3 < 'o') {\n        if (cVar3 == 'X') {\nLAB_000223b0:\n          cVar3 = pcVar5[local_244 + 1];\n          bVar4 = cVar3 - 0x30;\n          if (bVar4 < 10) {\nLAB_000223db:\n            cVar3 = pcVar5[local_244 + 2];\n            bVar2 = cVar3 - 0x30;\n            if (9 < bVar2) {\n              if ((byte)(cVar3 + 0x9fU) < 6) {\n                bVar2 = cVar3 + 0xa9;\n              }\n              else {\n                if (5 < (byte)(cVar3 + 0xbfU)) goto LAB_00022a16;\n                bVar2 = cVar3 - 0x37;\n              }\n            }\n            if ((int)local_23c <= local_234) {\n              local_23c = local_234 + 0x201;\n              local_238 = (char *)saferealloc(local_238,local_23c,1);\n            }\n            local_238[local_234] = bVar2 + bVar4 * '\x10';\n            local_244 = local_244 + 3;\n            local_234 = iVar7;\n          }\n          else {\n            if ((byte)(cVar3 + 0x9fU) < 6) {\n              bVar4 = cVar3 + 0xa9;\n              goto LAB_000223db;\n            }\n            if ((byte)(cVar3 + 0xbfU) < 6) {\n              bVar4 = cVar3 - 0x37;\n              goto LAB_000223db;\n            }\nLAB_00022a16:\n            if ((int)local_23c <= local_234) {\n              local_23c = local_234 + 0x201;\n              local_238 = (char *)saferealloc(local_238,local_23c,1);\n            }\n            local_238[local_234] = '\\';\n            local_234 = iVar7;\n          }\n          goto LAB_00021c20;\n        }\n        if (cVar3 == '\\') {\n          if ((int)local_23c <= local_234) {\n            local_23c = local_234 + 0x201;\n            local_238 = (char *)saferealloc(local_238,local_23c,1);\n          }\n          local_238[local_234] = '\\';\n          local_244 = local_230 + 2;\n          local_234 = iVar7;\n          goto LAB_00021c20;\n        }\n        if (cVar3 == '%') {\n          if ((int)local_23c <= local_234) {\n            local_23c = local_234 + 0x201;\n            local_238 = (char *)saferealloc(local_238,local_23c,1);\n          }\n          local_238[local_234] = '%';\n          local_244 = local_230 + 2;\n          local_234 = iVar7;\n          goto LAB_00021c20;\n        }\n      }\n      else {\n        if (cVar3 == 't') {\n          if ((int)local_23c <= local_234) {\n            local_23c = local_234 + 0x201;\n            local_238 = (char *)saferealloc(local_238,local_23c,1);\n          }\n          local_238[local_234] = '\t';\n          local_244 = local_230 + 2;\n          local_234 = iVar7;\n          goto LAB_00021c20;\n        }\n        if (cVar3 == 'x') goto LAB_000223b0;\n        if (cVar3 == 'r') {\n          if ((int)local_23c <= local_234) {\n            local_23c = local_234 + 0x201;\n            local_238 = (char *)saferealloc(local_238,local_23c,1);\n          }\n          local_238[local_234] = '\r';\n          local_244 = local_230 + 2;\n          local_234 = iVar7;\n          goto LAB_00021c20;\n        }\n      }" if (parenthesized_expression "(cVar3 < 'o')" ( (binary_expression "cVar3 < 'o'" identifier < (char_literal "'o'" ' character ')) )) (compound_statement "{\n        if (cVar3 == 'X') {\nLAB_000223b0:\n          cVar3 = pcVar5[local_244 + 1];\n          bVar4 = cVar3 - 0x30;\n          if (bVar4 < 10) {\nLAB_000223db:\n            cVar3 = pcVar5[local_244 + 2];\n            bVar2 = cVar3 - 0x30;\n            if (9 < bVar2) {\n              if ((byte)(cVar3 + 0x9fU) < 6) {\n                bVar2 = cVar3 + 0xa9;\n              }\n              else {\n                if (5 < (byte)(cVar3 + 0xbfU)) goto LAB_00022a16;\n                bVar2 = cVar3 - 0x37;\n              }\n            }\n            if ((int)local_23c <= local_234) {\n              local_23c = local_234 + 0x201;\n              local_238 = (char *)saferealloc(local_238,local_23c,1);\n            }\n            local_238[local_234] = bVar2 + bVar4 * '\x10';\n            local_244 = local_244 + 3;\n            local_234 = iVar7;\n          }\n          else {\n            if ((byte)(cVar3 + 0x9fU) < 6) {\n              bVar4 = cVar3 + 0xa9;\n              goto LAB_000223db;\n            }\n            if ((byte)(cVar3 + 0xbfU) < 6) {\n              bVar4 = cVar3 - 0x37;\n              goto LAB_000223db;\n            }\nLAB_00022a16:\n            if ((int)local_23c <= local_234) {\n              local_23c = local_234 + 0x201;\n              local_238 = (char *)saferealloc(local_238,local_23c,1);\n            }\n            local_238[local_234] = '\\';\n            local_234 = iVar7;\n          }\n          goto LAB_00021c20;\n        }\n        if (cVar3 == '\\') {\n          if ((int)local_23c <= local_234) {\n            local_23c = local_234 + 0x201;\n            local_238 = (char *)saferealloc(local_238,local_23c,1);\n          }\n          local_238[local_234] = '\\';\n          local_244 = local_230 + 2;\n          local_234 = iVar7;\n          goto LAB_00021c20;\n        }\n        if (cVar3 == '%') {\n          if ((int)local_23c <= local_234) {\n            local_23c = local_234 + 0x201;\n            local_238 = (char *)saferealloc(local_238,local_23c,1);\n          }\n          local_238[local_234] = '%';\n          local_244 = local_230 + 2;\n          local_234 = iVar7;\n          goto LAB_00021c20;\n        }\n      }" { (if_statement "if (cVar3 == 'X') {\nLAB_000223b0:\n          cVar3 = pcVar5[local_244 + 1];\n          bVar4 = cVar3 - 0x30;\n          if (bVar4 < 10) {\nLAB_000223db:\n            cVar3 = pcVar5[local_244 + 2];\n            bVar2 = cVar3 - 0x30;\n            if (9 < bVar2) {\n              if ((byte)(cVar3 + 0x9fU) < 6) {\n                bVar2 = cVar3 + 0xa9;\n              }\n              else {\n                if (5 < (byte)(cVar3 + 0xbfU)) goto LAB_00022a16;\n                bVar2 = cVar3 - 0x37;\n              }\n            }\n            if ((int)local_23c <= local_234) {\n              local_23c = local_234 + 0x201;\n              local_238 = (char *)saferealloc(local_238,local_23c,1);\n            }\n            local_238[local_234] = bVar2 + bVar4 * '\x10';\n            local_244 = local_244 + 3;\n            local_234 = iVar7;\n          }\n          else {\n            if ((byte)(cVar3 + 0x9fU) < 6) {\n              bVar4 = cVar3 + 0xa9;\n              goto LAB_000223db;\n            }\n            if ((byte)(cVar3 + 0xbfU) < 6) {\n              bVar4 = cVar3 - 0x37;\n              goto LAB_000223db;\n            }\nLAB_00022a16:\n            if ((int)local_23c <= local_234) {\n              local_23c = local_234 + 0x201;\n              local_238 = (char *)saferealloc(local_238,local_23c,1);\n            }\n            local_238[local_234] = '\\';\n            local_234 = iVar7;\n          }\n          goto LAB_00021c20;\n        }" if (parenthesized_expression "(cVar3 == 'X')" ( (binary_expression "cVar3 == 'X'" identifier == (char_literal "'X'" ' character ')) )) (compound_statement "{\nLAB_000223b0:\n          cVar3 = pcVar5[local_244 + 1];\n          bVar4 = cVar3 - 0x30;\n          if (bVar4 < 10) {\nLAB_000223db:\n            cVar3 = pcVar5[local_244 + 2];\n            bVar2 = cVar3 - 0x30;\n            if (9 < bVar2) {\n              if ((byte)(cVar3 + 0x9fU) < 6) {\n                bVar2 = cVar3 + 0xa9;\n              }\n              else {\n                if (5 < (byte)(cVar3 + 0xbfU)) goto LAB_00022a16;\n                bVar2 = cVar3 - 0x37;\n              }\n            }\n            if ((int)local_23c <= local_234) {\n              local_23c = local_234 + 0x201;\n              local_238 = (char *)saferealloc(local_238,local_23c,1);\n            }\n            local_238[local_234] = bVar2 + bVar4 * '\x10';\n            local_244 = local_244 + 3;\n            local_234 = iVar7;\n          }\n          else {\n            if ((byte)(cVar3 + 0x9fU) < 6) {\n              bVar4 = cVar3 + 0xa9;\n              goto LAB_000223db;\n            }\n            if ((byte)(cVar3 + 0xbfU) < 6) {\n              bVar4 = cVar3 - 0x37;\n              goto LAB_000223db;\n            }\nLAB_00022a16:\n            if ((int)local_23c <= local_234) {\n              local_23c = local_234 + 0x201;\n              local_238 = (char *)saferealloc(local_238,local_23c,1);\n            }\n            local_238[local_234] = '\\';\n            local_234 = iVar7;\n          }\n          goto LAB_00021c20;\n        }" { (labeled_statement "LAB_000223b0:\n          cVar3 = pcVar5[local_244 + 1];" statement_identifier : (expression_statement "cVar3 = pcVar5[local_244 + 1];" (assignment_expression "cVar3 = pcVar5[local_244 + 1]" identifier = (subscript_expression "pcVar5[local_244 + 1]" identifier [ (binary_expression "local_244 + 1" identifier + number_literal) ])) ;)) (expression_statement "bVar4 = cVar3 - 0x30;" (assignment_expression "bVar4 = cVar3 - 0x30" identifier = (binary_expression "cVar3 - 0x30" identifier - number_literal)) ;) (if_statement "if (bVar4 < 10) {\nLAB_000223db:\n            cVar3 = pcVar5[local_244 + 2];\n            bVar2 = cVar3 - 0x30;\n            if (9 < bVar2) {\n              if ((byte)(cVar3 + 0x9fU) < 6) {\n                bVar2 = cVar3 + 0xa9;\n              }\n              else {\n                if (5 < (byte)(cVar3 + 0xbfU)) goto LAB_00022a16;\n                bVar2 = cVar3 - 0x37;\n              }\n            }\n            if ((int)local_23c <= local_234) {\n              local_23c = local_234 + 0x201;\n              local_238 = (char *)saferealloc(local_238,local_23c,1);\n            }\n            local_238[local_234] = bVar2 + bVar4 * '\x10';\n            local_244 = local_244 + 3;\n            local_234 = iVar7;\n          }\n          else {\n            if ((byte)(cVar3 + 0x9fU) < 6) {\n              bVar4 = cVar3 + 0xa9;\n              goto LAB_000223db;\n            }\n            if ((byte)(cVar3 + 0xbfU) < 6) {\n              bVar4 = cVar3 - 0x37;\n              goto LAB_000223db;\n            }\nLAB_00022a16:\n            if ((int)local_23c <= local_234) {\n              local_23c = local_234 + 0x201;\n              local_238 = (char *)saferealloc(local_238,local_23c,1);\n            }\n            local_238[local_234] = '\\';\n            local_234 = iVar7;\n          }" if (parenthesized_expression "(bVar4 < 10)" ( (binary_expression "bVar4 < 10" identifier < number_literal) )) (compound_statement "{\nLAB_000223db:\n            cVar3 = pcVar5[local_244 + 2];\n            bVar2 = cVar3 - 0x30;\n            if (9 < bVar2) {\n              if ((byte)(cVar3 + 0x9fU) < 6) {\n                bVar2 = cVar3 + 0xa9;\n              }\n              else {\n                if (5 < (byte)(cVar3 + 0xbfU)) goto LAB_00022a16;\n                bVar2 = cVar3 - 0x37;\n              }\n            }\n            if ((int)local_23c <= local_234) {\n              local_23c = local_234 + 0x201;\n              local_238 = (char *)saferealloc(local_238,local_23c,1);\n            }\n            local_238[local_234] = bVar2 + bVar4 * '\x10';\n            local_244 = local_244 + 3;\n            local_234 = iVar7;\n          }" { (labeled_statement "LAB_000223db:\n            cVar3 = pcVar5[local_244 + 2];" statement_identifier : (expression_statement "cVar3 = pcVar5[local_244 + 2];" (assignment_expression "cVar3 = pcVar5[local_244 + 2]" identifier = (subscript_expression "pcVar5[local_244 + 2]" identifier [ (binary_expression "local_244 + 2" identifier + number_literal) ])) ;)) (expression_statement "bVar2 = cVar3 - 0x30;" (assignment_expression "bVar2 = cVar3 - 0x30" identifier = (binary_expression "cVar3 - 0x30" identifier - number_literal)) ;) (if_statement "if (9 < bVar2) {\n              if ((byte)(cVar3 + 0x9fU) < 6) {\n                bVar2 = cVar3 + 0xa9;\n              }\n              else {\n                if (5 < (byte)(cVar3 + 0xbfU)) goto LAB_00022a16;\n                bVar2 = cVar3 - 0x37;\n              }\n            }" if (parenthesized_expression "(9 < bVar2)" ( (binary_expression "9 < bVar2" number_literal < identifier) )) (compound_statement "{\n              if ((byte)(cVar3 + 0x9fU) < 6) {\n                bVar2 = cVar3 + 0xa9;\n              }\n              else {\n                if (5 < (byte)(cVar3 + 0xbfU)) goto LAB_00022a16;\n                bVar2 = cVar3 - 0x37;\n              }\n            }" { (if_statement "if ((byte)(cVar3 + 0x9fU) < 6) {\n                bVar2 = cVar3 + 0xa9;\n              }\n              else {\n                if (5 < (byte)(cVar3 + 0xbfU)) goto LAB_00022a16;\n                bVar2 = cVar3 - 0x37;\n              }" if (parenthesized_expression "((byte)(cVar3 + 0x9fU) < 6)" ( (binary_expression "(byte)(cVar3 + 0x9fU) < 6" (call_expression "(byte)(cVar3 + 0x9fU)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(cVar3 + 0x9fU)" ( (binary_expression "cVar3 + 0x9fU" identifier + number_literal) ))) < number_literal) )) (compound_statement "{\n                bVar2 = cVar3 + 0xa9;\n              }" { (expression_statement "bVar2 = cVar3 + 0xa9;" (assignment_expression "bVar2 = cVar3 + 0xa9" identifier = (binary_expression "cVar3 + 0xa9" identifier + number_literal)) ;) }) (else_clause "else {\n                if (5 < (byte)(cVar3 + 0xbfU)) goto LAB_00022a16;\n                bVar2 = cVar3 - 0x37;\n              }" else (compound_statement "{\n                if (5 < (byte)(cVar3 + 0xbfU)) goto LAB_00022a16;\n                bVar2 = cVar3 - 0x37;\n              }" { (if_statement "if (5 < (byte)(cVar3 + 0xbfU)) goto LAB_00022a16;" if (parenthesized_expression "(5 < (byte)(cVar3 + 0xbfU))" ( (binary_expression "5 < (byte)(cVar3 + 0xbfU)" number_literal < (call_expression "(byte)(cVar3 + 0xbfU)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(cVar3 + 0xbfU)" ( (binary_expression "cVar3 + 0xbfU" identifier + number_literal) )))) )) (goto_statement "goto LAB_00022a16;" goto statement_identifier ;)) (expression_statement "bVar2 = cVar3 - 0x37;" (assignment_expression "bVar2 = cVar3 - 0x37" identifier = (binary_expression "cVar3 - 0x37" identifier - number_literal)) ;) }))) })) (if_statement "if ((int)local_23c <= local_234) {\n              local_23c = local_234 + 0x201;\n              local_238 = (char *)saferealloc(local_238,local_23c,1);\n            }" if (parenthesized_expression "((int)local_23c <= local_234)" ( (binary_expression "(int)local_23c <= local_234" (cast_expression "(int)local_23c" ( (type_descriptor "int" primitive_type) ) identifier) <= identifier) )) (compound_statement "{\n              local_23c = local_234 + 0x201;\n              local_238 = (char *)saferealloc(local_238,local_23c,1);\n            }" { (expression_statement "local_23c = local_234 + 0x201;" (assignment_expression "local_23c = local_234 + 0x201" identifier = (binary_expression "local_234 + 0x201" identifier + number_literal)) ;) (expression_statement "local_238 = (char *)saferealloc(local_238,local_23c,1);" (assignment_expression "local_238 = (char *)saferealloc(local_238,local_23c,1)" identifier = (cast_expression "(char *)saferealloc(local_238,local_23c,1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "saferealloc(local_238,local_23c,1)" identifier (argument_list "(local_238,local_23c,1)" ( identifier , identifier , number_literal ))))) ;) })) (expression_statement "local_238[local_234] = bVar2 + bVar4 * '\x10';" (assignment_expression "local_238[local_234] = bVar2 + bVar4 * '\x10'" (subscript_expression "local_238[local_234]" identifier [ identifier ]) = (binary_expression "bVar2 + bVar4 * '\x10'" identifier + (binary_expression "bVar4 * '\x10'" identifier * (char_literal "'\x10'" ' escape_sequence ')))) ;) (expression_statement "local_244 = local_244 + 3;" (assignment_expression "local_244 = local_244 + 3" identifier = (binary_expression "local_244 + 3" identifier + number_literal)) ;) (expression_statement "local_234 = iVar7;" (assignment_expression "local_234 = iVar7" identifier = identifier) ;) }) (else_clause "else {\n            if ((byte)(cVar3 + 0x9fU) < 6) {\n              bVar4 = cVar3 + 0xa9;\n              goto LAB_000223db;\n            }\n            if ((byte)(cVar3 + 0xbfU) < 6) {\n              bVar4 = cVar3 - 0x37;\n              goto LAB_000223db;\n            }\nLAB_00022a16:\n            if ((int)local_23c <= local_234) {\n              local_23c = local_234 + 0x201;\n              local_238 = (char *)saferealloc(local_238,local_23c,1);\n            }\n            local_238[local_234] = '\\';\n            local_234 = iVar7;\n          }" else (compound_statement "{\n            if ((byte)(cVar3 + 0x9fU) < 6) {\n              bVar4 = cVar3 + 0xa9;\n              goto LAB_000223db;\n            }\n            if ((byte)(cVar3 + 0xbfU) < 6) {\n              bVar4 = cVar3 - 0x37;\n              goto LAB_000223db;\n            }\nLAB_00022a16:\n            if ((int)local_23c <= local_234) {\n              local_23c = local_234 + 0x201;\n              local_238 = (char *)saferealloc(local_238,local_23c,1);\n            }\n            local_238[local_234] = '\\';\n            local_234 = iVar7;\n          }" { (if_statement "if ((byte)(cVar3 + 0x9fU) < 6) {\n              bVar4 = cVar3 + 0xa9;\n              goto LAB_000223db;\n            }" if (parenthesized_expression "((byte)(cVar3 + 0x9fU) < 6)" ( (binary_expression "(byte)(cVar3 + 0x9fU) < 6" (call_expression "(byte)(cVar3 + 0x9fU)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(cVar3 + 0x9fU)" ( (binary_expression "cVar3 + 0x9fU" identifier + number_literal) ))) < number_literal) )) (compound_statement "{\n              bVar4 = cVar3 + 0xa9;\n              goto LAB_000223db;\n            }" { (expression_statement "bVar4 = cVar3 + 0xa9;" (assignment_expression "bVar4 = cVar3 + 0xa9" identifier = (binary_expression "cVar3 + 0xa9" identifier + number_literal)) ;) (goto_statement "goto LAB_000223db;" goto statement_identifier ;) })) (if_statement "if ((byte)(cVar3 + 0xbfU) < 6) {\n              bVar4 = cVar3 - 0x37;\n              goto LAB_000223db;\n            }" if (parenthesized_expression "((byte)(cVar3 + 0xbfU) < 6)" ( (binary_expression "(byte)(cVar3 + 0xbfU) < 6" (call_expression "(byte)(cVar3 + 0xbfU)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(cVar3 + 0xbfU)" ( (binary_expression "cVar3 + 0xbfU" identifier + number_literal) ))) < number_literal) )) (compound_statement "{\n              bVar4 = cVar3 - 0x37;\n              goto LAB_000223db;\n            }" { (expression_statement "bVar4 = cVar3 - 0x37;" (assignment_expression "bVar4 = cVar3 - 0x37" identifier = (binary_expression "cVar3 - 0x37" identifier - number_literal)) ;) (goto_statement "goto LAB_000223db;" goto statement_identifier ;) })) (labeled_statement "LAB_00022a16:\n            if ((int)local_23c <= local_234) {\n              local_23c = local_234 + 0x201;\n              local_238 = (char *)saferealloc(local_238,local_23c,1);\n            }" statement_identifier : (if_statement "if ((int)local_23c <= local_234) {\n              local_23c = local_234 + 0x201;\n              local_238 = (char *)saferealloc(local_238,local_23c,1);\n            }" if (parenthesized_expression "((int)local_23c <= local_234)" ( (binary_expression "(int)local_23c <= local_234" (cast_expression "(int)local_23c" ( (type_descriptor "int" primitive_type) ) identifier) <= identifier) )) (compound_statement "{\n              local_23c = local_234 + 0x201;\n              local_238 = (char *)saferealloc(local_238,local_23c,1);\n            }" { (expression_statement "local_23c = local_234 + 0x201;" (assignment_expression "local_23c = local_234 + 0x201" identifier = (binary_expression "local_234 + 0x201" identifier + number_literal)) ;) (expression_statement "local_238 = (char *)saferealloc(local_238,local_23c,1);" (assignment_expression "local_238 = (char *)saferealloc(local_238,local_23c,1)" identifier = (cast_expression "(char *)saferealloc(local_238,local_23c,1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "saferealloc(local_238,local_23c,1)" identifier (argument_list "(local_238,local_23c,1)" ( identifier , identifier , number_literal ))))) ;) }))) (expression_statement "local_238[local_234] = '\\';" (assignment_expression "local_238[local_234] = '\\'" (subscript_expression "local_238[local_234]" identifier [ identifier ]) = (char_literal "'\\'" ' escape_sequence ')) ;) (expression_statement "local_234 = iVar7;" (assignment_expression "local_234 = iVar7" identifier = identifier) ;) }))) (goto_statement "goto LAB_00021c20;" goto statement_identifier ;) })) (if_statement "if (cVar3 == '\\') {\n          if ((int)local_23c <= local_234) {\n            local_23c = local_234 + 0x201;\n            local_238 = (char *)saferealloc(local_238,local_23c,1);\n          }\n          local_238[local_234] = '\\';\n          local_244 = local_230 + 2;\n          local_234 = iVar7;\n          goto LAB_00021c20;\n        }" if (parenthesized_expression "(cVar3 == '\\')" ( (binary_expression "cVar3 == '\\'" identifier == (char_literal "'\\'" ' escape_sequence ')) )) (compound_statement "{\n          if ((int)local_23c <= local_234) {\n            local_23c = local_234 + 0x201;\n            local_238 = (char *)saferealloc(local_238,local_23c,1);\n          }\n          local_238[local_234] = '\\';\n          local_244 = local_230 + 2;\n          local_234 = iVar7;\n          goto LAB_00021c20;\n        }" { (if_statement "if ((int)local_23c <= local_234) {\n            local_23c = local_234 + 0x201;\n            local_238 = (char *)saferealloc(local_238,local_23c,1);\n          }" if (parenthesized_expression "((int)local_23c <= local_234)" ( (binary_expression "(int)local_23c <= local_234" (cast_expression "(int)local_23c" ( (type_descriptor "int" primitive_type) ) identifier) <= identifier) )) (compound_statement "{\n            local_23c = local_234 + 0x201;\n            local_238 = (char *)saferealloc(local_238,local_23c,1);\n          }" { (expression_statement "local_23c = local_234 + 0x201;" (assignment_expression "local_23c = local_234 + 0x201" identifier = (binary_expression "local_234 + 0x201" identifier + number_literal)) ;) (expression_statement "local_238 = (char *)saferealloc(local_238,local_23c,1);" (assignment_expression "local_238 = (char *)saferealloc(local_238,local_23c,1)" identifier = (cast_expression "(char *)saferealloc(local_238,local_23c,1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "saferealloc(local_238,local_23c,1)" identifier (argument_list "(local_238,local_23c,1)" ( identifier , identifier , number_literal ))))) ;) })) (expression_statement "local_238[local_234] = '\\';" (assignment_expression "local_238[local_234] = '\\'" (subscript_expression "local_238[local_234]" identifier [ identifier ]) = (char_literal "'\\'" ' escape_sequence ')) ;) (expression_statement "local_244 = local_230 + 2;" (assignment_expression "local_244 = local_230 + 2" identifier = (binary_expression "local_230 + 2" identifier + number_literal)) ;) (expression_statement "local_234 = iVar7;" (assignment_expression "local_234 = iVar7" identifier = identifier) ;) (goto_statement "goto LAB_00021c20;" goto statement_identifier ;) })) (if_statement "if (cVar3 == '%') {\n          if ((int)local_23c <= local_234) {\n            local_23c = local_234 + 0x201;\n            local_238 = (char *)saferealloc(local_238,local_23c,1);\n          }\n          local_238[local_234] = '%';\n          local_244 = local_230 + 2;\n          local_234 = iVar7;\n          goto LAB_00021c20;\n        }" if (parenthesized_expression "(cVar3 == '%')" ( (binary_expression "cVar3 == '%'" identifier == (char_literal "'%'" ' character ')) )) (compound_statement "{\n          if ((int)local_23c <= local_234) {\n            local_23c = local_234 + 0x201;\n            local_238 = (char *)saferealloc(local_238,local_23c,1);\n          }\n          local_238[local_234] = '%';\n          local_244 = local_230 + 2;\n          local_234 = iVar7;\n          goto LAB_00021c20;\n        }" { (if_statement "if ((int)local_23c <= local_234) {\n            local_23c = local_234 + 0x201;\n            local_238 = (char *)saferealloc(local_238,local_23c,1);\n          }" if (parenthesized_expression "((int)local_23c <= local_234)" ( (binary_expression "(int)local_23c <= local_234" (cast_expression "(int)local_23c" ( (type_descriptor "int" primitive_type) ) identifier) <= identifier) )) (compound_statement "{\n            local_23c = local_234 + 0x201;\n            local_238 = (char *)saferealloc(local_238,local_23c,1);\n          }" { (expression_statement "local_23c = local_234 + 0x201;" (assignment_expression "local_23c = local_234 + 0x201" identifier = (binary_expression "local_234 + 0x201" identifier + number_literal)) ;) (expression_statement "local_238 = (char *)saferealloc(local_238,local_23c,1);" (assignment_expression "local_238 = (char *)saferealloc(local_238,local_23c,1)" identifier = (cast_expression "(char *)saferealloc(local_238,local_23c,1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "saferealloc(local_238,local_23c,1)" identifier (argument_list "(local_238,local_23c,1)" ( identifier , identifier , number_literal ))))) ;) })) (expression_statement "local_238[local_234] = '%';" (assignment_expression "local_238[local_234] = '%'" (subscript_expression "local_238[local_234]" identifier [ identifier ]) = (char_literal "'%'" ' character ')) ;) (expression_statement "local_244 = local_230 + 2;" (assignment_expression "local_244 = local_230 + 2" identifier = (binary_expression "local_230 + 2" identifier + number_literal)) ;) (expression_statement "local_234 = iVar7;" (assignment_expression "local_234 = iVar7" identifier = identifier) ;) (goto_statement "goto LAB_00021c20;" goto statement_identifier ;) })) }) (else_clause "else {\n        if (cVar3 == 't') {\n          if ((int)local_23c <= local_234) {\n            local_23c = local_234 + 0x201;\n            local_238 = (char *)saferealloc(local_238,local_23c,1);\n          }\n          local_238[local_234] = '\t';\n          local_244 = local_230 + 2;\n          local_234 = iVar7;\n          goto LAB_00021c20;\n        }\n        if (cVar3 == 'x') goto LAB_000223b0;\n        if (cVar3 == 'r') {\n          if ((int)local_23c <= local_234) {\n            local_23c = local_234 + 0x201;\n            local_238 = (char *)saferealloc(local_238,local_23c,1);\n          }\n          local_238[local_234] = '\r';\n          local_244 = local_230 + 2;\n          local_234 = iVar7;\n          goto LAB_00021c20;\n        }\n      }" else (compound_statement "{\n        if (cVar3 == 't') {\n          if ((int)local_23c <= local_234) {\n            local_23c = local_234 + 0x201;\n            local_238 = (char *)saferealloc(local_238,local_23c,1);\n          }\n          local_238[local_234] = '\t';\n          local_244 = local_230 + 2;\n          local_234 = iVar7;\n          goto LAB_00021c20;\n        }\n        if (cVar3 == 'x') goto LAB_000223b0;\n        if (cVar3 == 'r') {\n          if ((int)local_23c <= local_234) {\n            local_23c = local_234 + 0x201;\n            local_238 = (char *)saferealloc(local_238,local_23c,1);\n          }\n          local_238[local_234] = '\r';\n          local_244 = local_230 + 2;\n          local_234 = iVar7;\n          goto LAB_00021c20;\n        }\n      }" { (if_statement "if (cVar3 == 't') {\n          if ((int)local_23c <= local_234) {\n            local_23c = local_234 + 0x201;\n            local_238 = (char *)saferealloc(local_238,local_23c,1);\n          }\n          local_238[local_234] = '\t';\n          local_244 = local_230 + 2;\n          local_234 = iVar7;\n          goto LAB_00021c20;\n        }" if (parenthesized_expression "(cVar3 == 't')" ( (binary_expression "cVar3 == 't'" identifier == (char_literal "'t'" ' character ')) )) (compound_statement "{\n          if ((int)local_23c <= local_234) {\n            local_23c = local_234 + 0x201;\n            local_238 = (char *)saferealloc(local_238,local_23c,1);\n          }\n          local_238[local_234] = '\t';\n          local_244 = local_230 + 2;\n          local_234 = iVar7;\n          goto LAB_00021c20;\n        }" { (if_statement "if ((int)local_23c <= local_234) {\n            local_23c = local_234 + 0x201;\n            local_238 = (char *)saferealloc(local_238,local_23c,1);\n          }" if (parenthesized_expression "((int)local_23c <= local_234)" ( (binary_expression "(int)local_23c <= local_234" (cast_expression "(int)local_23c" ( (type_descriptor "int" primitive_type) ) identifier) <= identifier) )) (compound_statement "{\n            local_23c = local_234 + 0x201;\n            local_238 = (char *)saferealloc(local_238,local_23c,1);\n          }" { (expression_statement "local_23c = local_234 + 0x201;" (assignment_expression "local_23c = local_234 + 0x201" identifier = (binary_expression "local_234 + 0x201" identifier + number_literal)) ;) (expression_statement "local_238 = (char *)saferealloc(local_238,local_23c,1);" (assignment_expression "local_238 = (char *)saferealloc(local_238,local_23c,1)" identifier = (cast_expression "(char *)saferealloc(local_238,local_23c,1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "saferealloc(local_238,local_23c,1)" identifier (argument_list "(local_238,local_23c,1)" ( identifier , identifier , number_literal ))))) ;) })) (expression_statement "local_238[local_234] = '\t';" (assignment_expression "local_238[local_234] = '\t'" (subscript_expression "local_238[local_234]" identifier [ identifier ]) = (char_literal "'\t'" ' escape_sequence ')) ;) (expression_statement "local_244 = local_230 + 2;" (assignment_expression "local_244 = local_230 + 2" identifier = (binary_expression "local_230 + 2" identifier + number_literal)) ;) (expression_statement "local_234 = iVar7;" (assignment_expression "local_234 = iVar7" identifier = identifier) ;) (goto_statement "goto LAB_00021c20;" goto statement_identifier ;) })) (if_statement "if (cVar3 == 'x') goto LAB_000223b0;" if (parenthesized_expression "(cVar3 == 'x')" ( (binary_expression "cVar3 == 'x'" identifier == (char_literal "'x'" ' character ')) )) (goto_statement "goto LAB_000223b0;" goto statement_identifier ;)) (if_statement "if (cVar3 == 'r') {\n          if ((int)local_23c <= local_234) {\n            local_23c = local_234 + 0x201;\n            local_238 = (char *)saferealloc(local_238,local_23c,1);\n          }\n          local_238[local_234] = '\r';\n          local_244 = local_230 + 2;\n          local_234 = iVar7;\n          goto LAB_00021c20;\n        }" if (parenthesized_expression "(cVar3 == 'r')" ( (binary_expression "cVar3 == 'r'" identifier == (char_literal "'r'" ' character ')) )) (compound_statement "{\n          if ((int)local_23c <= local_234) {\n            local_23c = local_234 + 0x201;\n            local_238 = (char *)saferealloc(local_238,local_23c,1);\n          }\n          local_238[local_234] = '\r';\n          local_244 = local_230 + 2;\n          local_234 = iVar7;\n          goto LAB_00021c20;\n        }" { (if_statement "if ((int)local_23c <= local_234) {\n            local_23c = local_234 + 0x201;\n            local_238 = (char *)saferealloc(local_238,local_23c,1);\n          }" if (parenthesized_expression "((int)local_23c <= local_234)" ( (binary_expression "(int)local_23c <= local_234" (cast_expression "(int)local_23c" ( (type_descriptor "int" primitive_type) ) identifier) <= identifier) )) (compound_statement "{\n            local_23c = local_234 + 0x201;\n            local_238 = (char *)saferealloc(local_238,local_23c,1);\n          }" { (expression_statement "local_23c = local_234 + 0x201;" (assignment_expression "local_23c = local_234 + 0x201" identifier = (binary_expression "local_234 + 0x201" identifier + number_literal)) ;) (expression_statement "local_238 = (char *)saferealloc(local_238,local_23c,1);" (assignment_expression "local_238 = (char *)saferealloc(local_238,local_23c,1)" identifier = (cast_expression "(char *)saferealloc(local_238,local_23c,1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "saferealloc(local_238,local_23c,1)" identifier (argument_list "(local_238,local_23c,1)" ( identifier , identifier , number_literal ))))) ;) })) (expression_statement "local_238[local_234] = '\r';" (assignment_expression "local_238[local_234] = '\r'" (subscript_expression "local_238[local_234]" identifier [ identifier ]) = (char_literal "'\r'" ' escape_sequence ')) ;) (expression_statement "local_244 = local_230 + 2;" (assignment_expression "local_244 = local_230 + 2" identifier = (binary_expression "local_230 + 2" identifier + number_literal)) ;) (expression_statement "local_234 = iVar7;" (assignment_expression "local_234 = iVar7" identifier = identifier) ;) (goto_statement "goto LAB_00021c20;" goto statement_identifier ;) })) }))) (if_statement "if ((int)local_23c <= iVar7) {\n        local_23c = local_234 + 0x202;\n        local_238 = (char *)saferealloc(local_238,local_23c,1);\n      }" if (parenthesized_expression "((int)local_23c <= iVar7)" ( (binary_expression "(int)local_23c <= iVar7" (cast_expression "(int)local_23c" ( (type_descriptor "int" primitive_type) ) identifier) <= identifier) )) (compound_statement "{\n        local_23c = local_234 + 0x202;\n        local_238 = (char *)saferealloc(local_238,local_23c,1);\n      }" { (expression_statement "local_23c = local_234 + 0x202;" (assignment_expression "local_23c = local_234 + 0x202" identifier = (binary_expression "local_234 + 0x202" identifier + number_literal)) ;) (expression_statement "local_238 = (char *)saferealloc(local_238,local_23c,1);" (assignment_expression "local_238 = (char *)saferealloc(local_238,local_23c,1)" identifier = (cast_expression "(char *)saferealloc(local_238,local_23c,1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "saferealloc(local_238,local_23c,1)" identifier (argument_list "(local_238,local_23c,1)" ( identifier , identifier , number_literal ))))) ;) })) (expression_statement "local_244 = local_230 + 2;" (assignment_expression "local_244 = local_230 + 2" identifier = (binary_expression "local_230 + 2" identifier + number_literal)) ;) (expression_statement "*(undefined2 *)(local_238 + local_234) = *(undefined2 *)local_240;" (assignment_expression "*(undefined2 *)(local_238 + local_234) = *(undefined2 *)local_240" (pointer_expression "*(undefined2 *)(local_238 + local_234)" * (cast_expression "(undefined2 *)(local_238 + local_234)" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_238 + local_234)" ( (binary_expression "local_238 + local_234" identifier + identifier) )))) = (pointer_expression "*(undefined2 *)local_240" * (cast_expression "(undefined2 *)local_240" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "local_234 = local_234 + 2;" (assignment_expression "local_234 = local_234 + 2" identifier = (binary_expression "local_234 + 2" identifier + number_literal)) ;) (goto_statement "goto LAB_00021c20;" goto statement_identifier ;) })) (if_statement "if (cVar3 == '%') {\n      if ((int)local_23c <= local_234) {\n        local_23c = local_234 + 0x201;\n        local_238 = (char *)saferealloc(local_238,local_23c,1);\n      }\n      local_238[local_234] = '%';\n      local_244 = local_230 + 2;\n      local_234 = local_234 + 1;\n      goto LAB_00021c20;\n    }" if (parenthesized_expression "(cVar3 == '%')" ( (binary_expression "cVar3 == '%'" identifier == (char_literal "'%'" ' character ')) )) (compound_statement "{\n      if ((int)local_23c <= local_234) {\n        local_23c = local_234 + 0x201;\n        local_238 = (char *)saferealloc(local_238,local_23c,1);\n      }\n      local_238[local_234] = '%';\n      local_244 = local_230 + 2;\n      local_234 = local_234 + 1;\n      goto LAB_00021c20;\n    }" { (if_statement "if ((int)local_23c <= local_234) {\n        local_23c = local_234 + 0x201;\n        local_238 = (char *)saferealloc(local_238,local_23c,1);\n      }" if (parenthesized_expression "((int)local_23c <= local_234)" ( (binary_expression "(int)local_23c <= local_234" (cast_expression "(int)local_23c" ( (type_descriptor "int" primitive_type) ) identifier) <= identifier) )) (compound_statement "{\n        local_23c = local_234 + 0x201;\n        local_238 = (char *)saferealloc(local_238,local_23c,1);\n      }" { (expression_statement "local_23c = local_234 + 0x201;" (assignment_expression "local_23c = local_234 + 0x201" identifier = (binary_expression "local_234 + 0x201" identifier + number_literal)) ;) (expression_statement "local_238 = (char *)saferealloc(local_238,local_23c,1);" (assignment_expression "local_238 = (char *)saferealloc(local_238,local_23c,1)" identifier = (cast_expression "(char *)saferealloc(local_238,local_23c,1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "saferealloc(local_238,local_23c,1)" identifier (argument_list "(local_238,local_23c,1)" ( identifier , identifier , number_literal ))))) ;) })) (expression_statement "local_238[local_234] = '%';" (assignment_expression "local_238[local_234] = '%'" (subscript_expression "local_238[local_234]" identifier [ identifier ]) = (char_literal "'%'" ' character ')) ;) (expression_statement "local_244 = local_230 + 2;" (assignment_expression "local_244 = local_230 + 2" identifier = (binary_expression "local_230 + 2" identifier + number_literal)) ;) (expression_statement "local_234 = local_234 + 1;" (assignment_expression "local_234 = local_234 + 1" identifier = (binary_expression "local_234 + 1" identifier + number_literal)) ;) (goto_statement "goto LAB_00021c20;" goto statement_identifier ;) })) (expression_statement "iVar7 = strncasecmp(pcVar12,"host",4);" (assignment_expression "iVar7 = strncasecmp(pcVar12,"host",4)" identifier = (call_expression "strncasecmp(pcVar12,"host",4)" identifier (argument_list "(pcVar12,"host",4)" ( identifier , (string_literal ""host"" " string_content ") , number_literal )))) ;) (if_statement "if (iVar7 != 0) {\n      iVar7 = strncasecmp(pcVar12,"port",4);\n      if (iVar7 == 0) {\n        cVar3 = __sprintf_chk(dest,1,8,&DAT_0008fa68,port);\n        pcVar12 = (char *)(int)cVar3;\n        goto joined_r0x000221ae;\n      }\n      iVar7 = strncasecmp(pcVar12,"user",4);\n      if (iVar7 == 0) {\n        pcVar12 = conf_get_str(conf,0x10);\n        sVar9 = strlen(pcVar12);\n        iVar7 = local_234 + sVar9;\n        if ((int)local_23c < iVar7) {\n          local_23c = iVar7 + 0x200;\n          local_238 = (char *)saferealloc(local_238,local_23c,1);\n        }\n        memcpy(local_238 + local_234,pcVar12,sVar9);\n        local_244 = local_230 + 5;\n        local_234 = iVar7;\n        goto LAB_00021c20;\n      }\n      iVar7 = strncasecmp(pcVar12,"pass",4);\n      if (iVar7 == 0) {\n        pcVar12 = conf_get_str(conf,0x11);\n        sVar9 = strlen(pcVar12);\n        iVar7 = local_234 + sVar9;\n        if ((int)local_23c < iVar7) {\n          local_23c = iVar7 + 0x200;\n          local_238 = (char *)saferealloc(local_238,local_23c,1);\n        }\n        memcpy(local_238 + local_234,pcVar12,sVar9);\n        local_244 = local_230 + 5;\n        local_234 = iVar7;\n        goto LAB_00021c20;\n      }\n      iVar7 = strncasecmp(pcVar12,"proxyhost",9);\n      if (iVar7 == 0) {\n        pcVar12 = conf_get_str(conf,0xe);\n        sVar9 = strlen(pcVar12);\n        iVar7 = local_234 + sVar9;\n        if ((int)local_23c < iVar7) {\n          local_23c = iVar7 + 0x200;\n          local_238 = (char *)saferealloc(local_238,local_23c,1);\n        }\n        memcpy(local_238 + local_234,pcVar12,sVar9);\n        local_244 = local_230 + 10;\n        local_234 = iVar7;\n        goto LAB_00021c20;\n      }\n      iVar7 = strncasecmp(pcVar12,"proxyport",9);\n      if (iVar7 == 0) break;\n      if ((int)local_23c <= local_234) {\n        local_23c = local_234 + 0x201;\n        local_238 = (char *)saferealloc(local_238,local_23c,1);\n      }\n      local_238[local_234] = '%';\n      local_234 = local_234 + 1;\n      pcVar12 = pcVar5 + local_244;\n      cVar3 = *pcVar12;\n      iVar7 = local_244;\n      goto joined_r0x00021c28;\n    }" if (parenthesized_expression "(iVar7 != 0)" ( (binary_expression "iVar7 != 0" identifier != number_literal) )) (compound_statement "{\n      iVar7 = strncasecmp(pcVar12,"port",4);\n      if (iVar7 == 0) {\n        cVar3 = __sprintf_chk(dest,1,8,&DAT_0008fa68,port);\n        pcVar12 = (char *)(int)cVar3;\n        goto joined_r0x000221ae;\n      }\n      iVar7 = strncasecmp(pcVar12,"user",4);\n      if (iVar7 == 0) {\n        pcVar12 = conf_get_str(conf,0x10);\n        sVar9 = strlen(pcVar12);\n        iVar7 = local_234 + sVar9;\n        if ((int)local_23c < iVar7) {\n          local_23c = iVar7 + 0x200;\n          local_238 = (char *)saferealloc(local_238,local_23c,1);\n        }\n        memcpy(local_238 + local_234,pcVar12,sVar9);\n        local_244 = local_230 + 5;\n        local_234 = iVar7;\n        goto LAB_00021c20;\n      }\n      iVar7 = strncasecmp(pcVar12,"pass",4);\n      if (iVar7 == 0) {\n        pcVar12 = conf_get_str(conf,0x11);\n        sVar9 = strlen(pcVar12);\n        iVar7 = local_234 + sVar9;\n        if ((int)local_23c < iVar7) {\n          local_23c = iVar7 + 0x200;\n          local_238 = (char *)saferealloc(local_238,local_23c,1);\n        }\n        memcpy(local_238 + local_234,pcVar12,sVar9);\n        local_244 = local_230 + 5;\n        local_234 = iVar7;\n        goto LAB_00021c20;\n      }\n      iVar7 = strncasecmp(pcVar12,"proxyhost",9);\n      if (iVar7 == 0) {\n        pcVar12 = conf_get_str(conf,0xe);\n        sVar9 = strlen(pcVar12);\n        iVar7 = local_234 + sVar9;\n        if ((int)local_23c < iVar7) {\n          local_23c = iVar7 + 0x200;\n          local_238 = (char *)saferealloc(local_238,local_23c,1);\n        }\n        memcpy(local_238 + local_234,pcVar12,sVar9);\n        local_244 = local_230 + 10;\n        local_234 = iVar7;\n        goto LAB_00021c20;\n      }\n      iVar7 = strncasecmp(pcVar12,"proxyport",9);\n      if (iVar7 == 0) break;\n      if ((int)local_23c <= local_234) {\n        local_23c = local_234 + 0x201;\n        local_238 = (char *)saferealloc(local_238,local_23c,1);\n      }\n      local_238[local_234] = '%';\n      local_234 = local_234 + 1;\n      pcVar12 = pcVar5 + local_244;\n      cVar3 = *pcVar12;\n      iVar7 = local_244;\n      goto joined_r0x00021c28;\n    }" { (expression_statement "iVar7 = strncasecmp(pcVar12,"port",4);" (assignment_expression "iVar7 = strncasecmp(pcVar12,"port",4)" identifier = (call_expression "strncasecmp(pcVar12,"port",4)" identifier (argument_list "(pcVar12,"port",4)" ( identifier , (string_literal ""port"" " string_content ") , number_literal )))) ;) (if_statement "if (iVar7 == 0) {\n        cVar3 = __sprintf_chk(dest,1,8,&DAT_0008fa68,port);\n        pcVar12 = (char *)(int)cVar3;\n        goto joined_r0x000221ae;\n      }" if (parenthesized_expression "(iVar7 == 0)" ( (binary_expression "iVar7 == 0" identifier == number_literal) )) (compound_statement "{\n        cVar3 = __sprintf_chk(dest,1,8,&DAT_0008fa68,port);\n        pcVar12 = (char *)(int)cVar3;\n        goto joined_r0x000221ae;\n      }" { (expression_statement "cVar3 = __sprintf_chk(dest,1,8,&DAT_0008fa68,port);" (assignment_expression "cVar3 = __sprintf_chk(dest,1,8,&DAT_0008fa68,port)" identifier = (call_expression "__sprintf_chk(dest,1,8,&DAT_0008fa68,port)" identifier (argument_list "(dest,1,8,&DAT_0008fa68,port)" ( identifier , number_literal , number_literal , (pointer_expression "&DAT_0008fa68" & identifier) , identifier )))) ;) (expression_statement "pcVar12 = (char *)(int)cVar3;" (assignment_expression "pcVar12 = (char *)(int)cVar3" identifier = (cast_expression "(char *)(int)cVar3" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (cast_expression "(int)cVar3" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (goto_statement "goto joined_r0x000221ae;" goto statement_identifier ;) })) (expression_statement "iVar7 = strncasecmp(pcVar12,"user",4);" (assignment_expression "iVar7 = strncasecmp(pcVar12,"user",4)" identifier = (call_expression "strncasecmp(pcVar12,"user",4)" identifier (argument_list "(pcVar12,"user",4)" ( identifier , (string_literal ""user"" " string_content ") , number_literal )))) ;) (if_statement "if (iVar7 == 0) {\n        pcVar12 = conf_get_str(conf,0x10);\n        sVar9 = strlen(pcVar12);\n        iVar7 = local_234 + sVar9;\n        if ((int)local_23c < iVar7) {\n          local_23c = iVar7 + 0x200;\n          local_238 = (char *)saferealloc(local_238,local_23c,1);\n        }\n        memcpy(local_238 + local_234,pcVar12,sVar9);\n        local_244 = local_230 + 5;\n        local_234 = iVar7;\n        goto LAB_00021c20;\n      }" if (parenthesized_expression "(iVar7 == 0)" ( (binary_expression "iVar7 == 0" identifier == number_literal) )) (compound_statement "{\n        pcVar12 = conf_get_str(conf,0x10);\n        sVar9 = strlen(pcVar12);\n        iVar7 = local_234 + sVar9;\n        if ((int)local_23c < iVar7) {\n          local_23c = iVar7 + 0x200;\n          local_238 = (char *)saferealloc(local_238,local_23c,1);\n        }\n        memcpy(local_238 + local_234,pcVar12,sVar9);\n        local_244 = local_230 + 5;\n        local_234 = iVar7;\n        goto LAB_00021c20;\n      }" { (expression_statement "pcVar12 = conf_get_str(conf,0x10);" (assignment_expression "pcVar12 = conf_get_str(conf,0x10)" identifier = (call_expression "conf_get_str(conf,0x10)" identifier (argument_list "(conf,0x10)" ( identifier , number_literal )))) ;) (expression_statement "sVar9 = strlen(pcVar12);" (assignment_expression "sVar9 = strlen(pcVar12)" identifier = (call_expression "strlen(pcVar12)" identifier (argument_list "(pcVar12)" ( identifier )))) ;) (expression_statement "iVar7 = local_234 + sVar9;" (assignment_expression "iVar7 = local_234 + sVar9" identifier = (binary_expression "local_234 + sVar9" identifier + identifier)) ;) (if_statement "if ((int)local_23c < iVar7) {\n          local_23c = iVar7 + 0x200;\n          local_238 = (char *)saferealloc(local_238,local_23c,1);\n        }" if (parenthesized_expression "((int)local_23c < iVar7)" ( (binary_expression "(int)local_23c < iVar7" (cast_expression "(int)local_23c" ( (type_descriptor "int" primitive_type) ) identifier) < identifier) )) (compound_statement "{\n          local_23c = iVar7 + 0x200;\n          local_238 = (char *)saferealloc(local_238,local_23c,1);\n        }" { (expression_statement "local_23c = iVar7 + 0x200;" (assignment_expression "local_23c = iVar7 + 0x200" identifier = (binary_expression "iVar7 + 0x200" identifier + number_literal)) ;) (expression_statement "local_238 = (char *)saferealloc(local_238,local_23c,1);" (assignment_expression "local_238 = (char *)saferealloc(local_238,local_23c,1)" identifier = (cast_expression "(char *)saferealloc(local_238,local_23c,1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "saferealloc(local_238,local_23c,1)" identifier (argument_list "(local_238,local_23c,1)" ( identifier , identifier , number_literal ))))) ;) })) (expression_statement "memcpy(local_238 + local_234,pcVar12,sVar9);" (call_expression "memcpy(local_238 + local_234,pcVar12,sVar9)" identifier (argument_list "(local_238 + local_234,pcVar12,sVar9)" ( (binary_expression "local_238 + local_234" identifier + identifier) , identifier , identifier ))) ;) (expression_statement "local_244 = local_230 + 5;" (assignment_expression "local_244 = local_230 + 5" identifier = (binary_expression "local_230 + 5" identifier + number_literal)) ;) (expression_statement "local_234 = iVar7;" (assignment_expression "local_234 = iVar7" identifier = identifier) ;) (goto_statement "goto LAB_00021c20;" goto statement_identifier ;) })) (expression_statement "iVar7 = strncasecmp(pcVar12,"pass",4);" (assignment_expression "iVar7 = strncasecmp(pcVar12,"pass",4)" identifier = (call_expression "strncasecmp(pcVar12,"pass",4)" identifier (argument_list "(pcVar12,"pass",4)" ( identifier , (string_literal ""pass"" " string_content ") , number_literal )))) ;) (if_statement "if (iVar7 == 0) {\n        pcVar12 = conf_get_str(conf,0x11);\n        sVar9 = strlen(pcVar12);\n        iVar7 = local_234 + sVar9;\n        if ((int)local_23c < iVar7) {\n          local_23c = iVar7 + 0x200;\n          local_238 = (char *)saferealloc(local_238,local_23c,1);\n        }\n        memcpy(local_238 + local_234,pcVar12,sVar9);\n        local_244 = local_230 + 5;\n        local_234 = iVar7;\n        goto LAB_00021c20;\n      }" if (parenthesized_expression "(iVar7 == 0)" ( (binary_expression "iVar7 == 0" identifier == number_literal) )) (compound_statement "{\n        pcVar12 = conf_get_str(conf,0x11);\n        sVar9 = strlen(pcVar12);\n        iVar7 = local_234 + sVar9;\n        if ((int)local_23c < iVar7) {\n          local_23c = iVar7 + 0x200;\n          local_238 = (char *)saferealloc(local_238,local_23c,1);\n        }\n        memcpy(local_238 + local_234,pcVar12,sVar9);\n        local_244 = local_230 + 5;\n        local_234 = iVar7;\n        goto LAB_00021c20;\n      }" { (expression_statement "pcVar12 = conf_get_str(conf,0x11);" (assignment_expression "pcVar12 = conf_get_str(conf,0x11)" identifier = (call_expression "conf_get_str(conf,0x11)" identifier (argument_list "(conf,0x11)" ( identifier , number_literal )))) ;) (expression_statement "sVar9 = strlen(pcVar12);" (assignment_expression "sVar9 = strlen(pcVar12)" identifier = (call_expression "strlen(pcVar12)" identifier (argument_list "(pcVar12)" ( identifier )))) ;) (expression_statement "iVar7 = local_234 + sVar9;" (assignment_expression "iVar7 = local_234 + sVar9" identifier = (binary_expression "local_234 + sVar9" identifier + identifier)) ;) (if_statement "if ((int)local_23c < iVar7) {\n          local_23c = iVar7 + 0x200;\n          local_238 = (char *)saferealloc(local_238,local_23c,1);\n        }" if (parenthesized_expression "((int)local_23c < iVar7)" ( (binary_expression "(int)local_23c < iVar7" (cast_expression "(int)local_23c" ( (type_descriptor "int" primitive_type) ) identifier) < identifier) )) (compound_statement "{\n          local_23c = iVar7 + 0x200;\n          local_238 = (char *)saferealloc(local_238,local_23c,1);\n        }" { (expression_statement "local_23c = iVar7 + 0x200;" (assignment_expression "local_23c = iVar7 + 0x200" identifier = (binary_expression "iVar7 + 0x200" identifier + number_literal)) ;) (expression_statement "local_238 = (char *)saferealloc(local_238,local_23c,1);" (assignment_expression "local_238 = (char *)saferealloc(local_238,local_23c,1)" identifier = (cast_expression "(char *)saferealloc(local_238,local_23c,1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "saferealloc(local_238,local_23c,1)" identifier (argument_list "(local_238,local_23c,1)" ( identifier , identifier , number_literal ))))) ;) })) (expression_statement "memcpy(local_238 + local_234,pcVar12,sVar9);" (call_expression "memcpy(local_238 + local_234,pcVar12,sVar9)" identifier (argument_list "(local_238 + local_234,pcVar12,sVar9)" ( (binary_expression "local_238 + local_234" identifier + identifier) , identifier , identifier ))) ;) (expression_statement "local_244 = local_230 + 5;" (assignment_expression "local_244 = local_230 + 5" identifier = (binary_expression "local_230 + 5" identifier + number_literal)) ;) (expression_statement "local_234 = iVar7;" (assignment_expression "local_234 = iVar7" identifier = identifier) ;) (goto_statement "goto LAB_00021c20;" goto statement_identifier ;) })) (expression_statement "iVar7 = strncasecmp(pcVar12,"proxyhost",9);" (assignment_expression "iVar7 = strncasecmp(pcVar12,"proxyhost",9)" identifier = (call_expression "strncasecmp(pcVar12,"proxyhost",9)" identifier (argument_list "(pcVar12,"proxyhost",9)" ( identifier , (string_literal ""proxyhost"" " string_content ") , number_literal )))) ;) (if_statement "if (iVar7 == 0) {\n        pcVar12 = conf_get_str(conf,0xe);\n        sVar9 = strlen(pcVar12);\n        iVar7 = local_234 + sVar9;\n        if ((int)local_23c < iVar7) {\n          local_23c = iVar7 + 0x200;\n          local_238 = (char *)saferealloc(local_238,local_23c,1);\n        }\n        memcpy(local_238 + local_234,pcVar12,sVar9);\n        local_244 = local_230 + 10;\n        local_234 = iVar7;\n        goto LAB_00021c20;\n      }" if (parenthesized_expression "(iVar7 == 0)" ( (binary_expression "iVar7 == 0" identifier == number_literal) )) (compound_statement "{\n        pcVar12 = conf_get_str(conf,0xe);\n        sVar9 = strlen(pcVar12);\n        iVar7 = local_234 + sVar9;\n        if ((int)local_23c < iVar7) {\n          local_23c = iVar7 + 0x200;\n          local_238 = (char *)saferealloc(local_238,local_23c,1);\n        }\n        memcpy(local_238 + local_234,pcVar12,sVar9);\n        local_244 = local_230 + 10;\n        local_234 = iVar7;\n        goto LAB_00021c20;\n      }" { (expression_statement "pcVar12 = conf_get_str(conf,0xe);" (assignment_expression "pcVar12 = conf_get_str(conf,0xe)" identifier = (call_expression "conf_get_str(conf,0xe)" identifier (argument_list "(conf,0xe)" ( identifier , number_literal )))) ;) (expression_statement "sVar9 = strlen(pcVar12);" (assignment_expression "sVar9 = strlen(pcVar12)" identifier = (call_expression "strlen(pcVar12)" identifier (argument_list "(pcVar12)" ( identifier )))) ;) (expression_statement "iVar7 = local_234 + sVar9;" (assignment_expression "iVar7 = local_234 + sVar9" identifier = (binary_expression "local_234 + sVar9" identifier + identifier)) ;) (if_statement "if ((int)local_23c < iVar7) {\n          local_23c = iVar7 + 0x200;\n          local_238 = (char *)saferealloc(local_238,local_23c,1);\n        }" if (parenthesized_expression "((int)local_23c < iVar7)" ( (binary_expression "(int)local_23c < iVar7" (cast_expression "(int)local_23c" ( (type_descriptor "int" primitive_type) ) identifier) < identifier) )) (compound_statement "{\n          local_23c = iVar7 + 0x200;\n          local_238 = (char *)saferealloc(local_238,local_23c,1);\n        }" { (expression_statement "local_23c = iVar7 + 0x200;" (assignment_expression "local_23c = iVar7 + 0x200" identifier = (binary_expression "iVar7 + 0x200" identifier + number_literal)) ;) (expression_statement "local_238 = (char *)saferealloc(local_238,local_23c,1);" (assignment_expression "local_238 = (char *)saferealloc(local_238,local_23c,1)" identifier = (cast_expression "(char *)saferealloc(local_238,local_23c,1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "saferealloc(local_238,local_23c,1)" identifier (argument_list "(local_238,local_23c,1)" ( identifier , identifier , number_literal ))))) ;) })) (expression_statement "memcpy(local_238 + local_234,pcVar12,sVar9);" (call_expression "memcpy(local_238 + local_234,pcVar12,sVar9)" identifier (argument_list "(local_238 + local_234,pcVar12,sVar9)" ( (binary_expression "local_238 + local_234" identifier + identifier) , identifier , identifier ))) ;) (expression_statement "local_244 = local_230 + 10;" (assignment_expression "local_244 = local_230 + 10" identifier = (binary_expression "local_230 + 10" identifier + number_literal)) ;) (expression_statement "local_234 = iVar7;" (assignment_expression "local_234 = iVar7" identifier = identifier) ;) (goto_statement "goto LAB_00021c20;" goto statement_identifier ;) })) (expression_statement "iVar7 = strncasecmp(pcVar12,"proxyport",9);" (assignment_expression "iVar7 = strncasecmp(pcVar12,"proxyport",9)" identifier = (call_expression "strncasecmp(pcVar12,"proxyport",9)" identifier (argument_list "(pcVar12,"proxyport",9)" ( identifier , (string_literal ""proxyport"" " string_content ") , number_literal )))) ;) (if_statement "if (iVar7 == 0) break;" if (parenthesized_expression "(iVar7 == 0)" ( (binary_expression "iVar7 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (if_statement "if ((int)local_23c <= local_234) {\n        local_23c = local_234 + 0x201;\n        local_238 = (char *)saferealloc(local_238,local_23c,1);\n      }" if (parenthesized_expression "((int)local_23c <= local_234)" ( (binary_expression "(int)local_23c <= local_234" (cast_expression "(int)local_23c" ( (type_descriptor "int" primitive_type) ) identifier) <= identifier) )) (compound_statement "{\n        local_23c = local_234 + 0x201;\n        local_238 = (char *)saferealloc(local_238,local_23c,1);\n      }" { (expression_statement "local_23c = local_234 + 0x201;" (assignment_expression "local_23c = local_234 + 0x201" identifier = (binary_expression "local_234 + 0x201" identifier + number_literal)) ;) (expression_statement "local_238 = (char *)saferealloc(local_238,local_23c,1);" (assignment_expression "local_238 = (char *)saferealloc(local_238,local_23c,1)" identifier = (cast_expression "(char *)saferealloc(local_238,local_23c,1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "saferealloc(local_238,local_23c,1)" identifier (argument_list "(local_238,local_23c,1)" ( identifier , identifier , number_literal ))))) ;) })) (expression_statement "local_238[local_234] = '%';" (assignment_expression "local_238[local_234] = '%'" (subscript_expression "local_238[local_234]" identifier [ identifier ]) = (char_literal "'%'" ' character ')) ;) (expression_statement "local_234 = local_234 + 1;" (assignment_expression "local_234 = local_234 + 1" identifier = (binary_expression "local_234 + 1" identifier + number_literal)) ;) (expression_statement "pcVar12 = pcVar5 + local_244;" (assignment_expression "pcVar12 = pcVar5 + local_244" identifier = (binary_expression "pcVar5 + local_244" identifier + identifier)) ;) (expression_statement "cVar3 = *pcVar12;" (assignment_expression "cVar3 = *pcVar12" identifier = (pointer_expression "*pcVar12" * identifier)) ;) (expression_statement "iVar7 = local_244;" (assignment_expression "iVar7 = local_244" identifier = identifier) ;) (goto_statement "goto joined_r0x00021c28;" goto statement_identifier ;) })) (expression_statement "sk_getaddr(addr,dest,0x200);" (call_expression "sk_getaddr(addr,dest,0x200)" identifier (argument_list "(addr,dest,0x200)" ( identifier , identifier , number_literal ))) ;) (expression_statement "puVar15 = (uint *)dest;" (assignment_expression "puVar15 = (uint *)dest" identifier = (cast_expression "(uint *)dest" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (do_statement "do {\n      puVar13 = puVar15;\n      uVar10 = *puVar13 + 0xfefefeff & ~*puVar13;\n      uVar11 = uVar10 & 0x80808080;\n      puVar15 = puVar13 + 1;\n    } while (uVar11 == 0);" do (compound_statement "{\n      puVar13 = puVar15;\n      uVar10 = *puVar13 + 0xfefefeff & ~*puVar13;\n      uVar11 = uVar10 & 0x80808080;\n      puVar15 = puVar13 + 1;\n    }" { (expression_statement "puVar13 = puVar15;" (assignment_expression "puVar13 = puVar15" identifier = identifier) ;) (expression_statement "uVar10 = *puVar13 + 0xfefefeff & ~*puVar13;" (assignment_expression "uVar10 = *puVar13 + 0xfefefeff & ~*puVar13" identifier = (binary_expression "*puVar13 + 0xfefefeff & ~*puVar13" (binary_expression "*puVar13 + 0xfefefeff" (pointer_expression "*puVar13" * identifier) + number_literal) & (unary_expression "~*puVar13" ~ (pointer_expression "*puVar13" * identifier)))) ;) (expression_statement "uVar11 = uVar10 & 0x80808080;" (assignment_expression "uVar11 = uVar10 & 0x80808080" identifier = (binary_expression "uVar10 & 0x80808080" identifier & number_literal)) ;) (expression_statement "puVar15 = puVar13 + 1;" (assignment_expression "puVar15 = puVar13 + 1" identifier = (binary_expression "puVar13 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(uVar11 == 0)" ( (binary_expression "uVar11 == 0" identifier == number_literal) )) ;) (expression_statement "bVar16 = (uVar10 & 0x8080) == 0;" (assignment_expression "bVar16 = (uVar10 & 0x8080) == 0" identifier = (binary_expression "(uVar10 & 0x8080) == 0" (parenthesized_expression "(uVar10 & 0x8080)" ( (binary_expression "uVar10 & 0x8080" identifier & number_literal) )) == number_literal)) ;) (if_statement "if (bVar16) {\n      uVar11 = uVar11 >> 0x10;\n    }" if (parenthesized_expression "(bVar16)" ( identifier )) (compound_statement "{\n      uVar11 = uVar11 >> 0x10;\n    }" { (expression_statement "uVar11 = uVar11 >> 0x10;" (assignment_expression "uVar11 = uVar11 >> 0x10" identifier = (binary_expression "uVar11 >> 0x10" identifier >> number_literal)) ;) })) (expression_statement "puVar15 = (uint *)((int)puVar13 + 6);" (assignment_expression "puVar15 = (uint *)((int)puVar13 + 6)" identifier = (cast_expression "(uint *)((int)puVar13 + 6)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar13 + 6)" ( (binary_expression "(int)puVar13 + 6" (cast_expression "(int)puVar13" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (if_statement "if (!bVar16) {\n      puVar15 = puVar13 + 1;\n    }" if (parenthesized_expression "(!bVar16)" ( (unary_expression "!bVar16" ! identifier) )) (compound_statement "{\n      puVar15 = puVar13 + 1;\n    }" { (expression_statement "puVar15 = puVar13 + 1;" (assignment_expression "puVar15 = puVar13 + 1" identifier = (binary_expression "puVar13 + 1" identifier + number_literal)) ;) })) (expression_statement "pcVar12 = (char *)((int)puVar15 + ((-3 - (uint)CARRY1((byte)uVar11,(byte)uVar11)) - (int)dest));" (assignment_expression "pcVar12 = (char *)((int)puVar15 + ((-3 - (uint)CARRY1((byte)uVar11,(byte)uVar11)) - (int)dest))" identifier = (cast_expression "(char *)((int)puVar15 + ((-3 - (uint)CARRY1((byte)uVar11,(byte)uVar11)) - (int)dest))" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar15 + ((-3 - (uint)CARRY1((byte)uVar11,(byte)uVar11)) - (int)dest))" ( (binary_expression "(int)puVar15 + ((-3 - (uint)CARRY1((byte)uVar11,(byte)uVar11)) - (int)dest)" (cast_expression "(int)puVar15" ( (type_descriptor "int" primitive_type) ) identifier) + (parenthesized_expression "((-3 - (uint)CARRY1((byte)uVar11,(byte)uVar11)) - (int)dest)" ( (binary_expression "(-3 - (uint)CARRY1((byte)uVar11,(byte)uVar11)) - (int)dest" (parenthesized_expression "(-3 - (uint)CARRY1((byte)uVar11,(byte)uVar11))" ( (binary_expression "-3 - (uint)CARRY1((byte)uVar11,(byte)uVar11)" number_literal - (cast_expression "(uint)CARRY1((byte)uVar11,(byte)uVar11)" ( (type_descriptor "uint" type_identifier) ) (call_expression "CARRY1((byte)uVar11,(byte)uVar11)" identifier (argument_list "((byte)uVar11,(byte)uVar11)" ( (cast_expression "(byte)uVar11" ( (type_descriptor "byte" type_identifier) ) identifier) , (cast_expression "(byte)uVar11" ( (type_descriptor "byte" type_identifier) ) identifier) ))))) )) - (cast_expression "(int)dest" ( (type_descriptor "int" primitive_type) ) identifier)) ))) )))) ;) (labeled_statement "joined_r0x000221ae:\n    iVar7 = local_234 + (int)pcVar12;" statement_identifier : (expression_statement "iVar7 = local_234 + (int)pcVar12;" (assignment_expression "iVar7 = local_234 + (int)pcVar12" identifier = (binary_expression "local_234 + (int)pcVar12" identifier + (cast_expression "(int)pcVar12" ( (type_descriptor "int" primitive_type) ) identifier))) ;)) (if_statement "if ((int)local_23c < iVar7) {\n      local_23c = iVar7 + 0x200;\n      local_238 = (char *)saferealloc(local_238,local_23c,1);\n    }" if (parenthesized_expression "((int)local_23c < iVar7)" ( (binary_expression "(int)local_23c < iVar7" (cast_expression "(int)local_23c" ( (type_descriptor "int" primitive_type) ) identifier) < identifier) )) (compound_statement "{\n      local_23c = iVar7 + 0x200;\n      local_238 = (char *)saferealloc(local_238,local_23c,1);\n    }" { (expression_statement "local_23c = iVar7 + 0x200;" (assignment_expression "local_23c = iVar7 + 0x200" identifier = (binary_expression "iVar7 + 0x200" identifier + number_literal)) ;) (expression_statement "local_238 = (char *)saferealloc(local_238,local_23c,1);" (assignment_expression "local_238 = (char *)saferealloc(local_238,local_23c,1)" identifier = (cast_expression "(char *)saferealloc(local_238,local_23c,1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "saferealloc(local_238,local_23c,1)" identifier (argument_list "(local_238,local_23c,1)" ( identifier , identifier , number_literal ))))) ;) })) (expression_statement "pcVar8 = local_238 + local_234;" (assignment_expression "pcVar8 = local_238 + local_234" identifier = (binary_expression "local_238 + local_234" identifier + identifier)) ;) (if_statement "if (pcVar12 < (char *)0x4) {\n      if (pcVar12 != (char *)0x0) {\n        *pcVar8 = dest[0];\n        if (((uint)pcVar12 & 2) != 0) {\n          *(undefined2 *)(pcVar8 + (int)(pcVar12 + -2)) =\n               *(undefined2 *)(acStack_227 + (int)(pcVar12 + 5));\n        }\n      }\n    }\n    else {\n      *(undefined4 *)pcVar8 = dest._0_4_;\n      *(undefined4 *)(pcVar8 + (int)(pcVar12 + -4)) =\n           *(undefined4 *)(acStack_227 + (int)(pcVar12 + 3));\n      iVar6 = (int)pcVar8 - (int)((uint)(pcVar8 + 4) & 0xfffffffc);\n      uVar11 = (uint)(pcVar12 + iVar6) >> 2;\n      pcVar12 = dest + -iVar6;\n      puVar14 = (undefined4 *)((uint)(pcVar8 + 4) & 0xfffffffc);\n      for (; uVar11 != 0; uVar11 = uVar11 - 1) {\n        *puVar14 = *(undefined4 *)pcVar12;\n        pcVar12 = pcVar12 + ((uint)bVar17 * -2 + 1) * 4;\n        puVar14 = puVar14 + (uint)bVar17 * -2 + 1;\n      }\n    }" if (parenthesized_expression "(pcVar12 < (char *)0x4)" ( (binary_expression "pcVar12 < (char *)0x4" identifier < (cast_expression "(char *)0x4" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      if (pcVar12 != (char *)0x0) {\n        *pcVar8 = dest[0];\n        if (((uint)pcVar12 & 2) != 0) {\n          *(undefined2 *)(pcVar8 + (int)(pcVar12 + -2)) =\n               *(undefined2 *)(acStack_227 + (int)(pcVar12 + 5));\n        }\n      }\n    }" { (if_statement "if (pcVar12 != (char *)0x0) {\n        *pcVar8 = dest[0];\n        if (((uint)pcVar12 & 2) != 0) {\n          *(undefined2 *)(pcVar8 + (int)(pcVar12 + -2)) =\n               *(undefined2 *)(acStack_227 + (int)(pcVar12 + 5));\n        }\n      }" if (parenthesized_expression "(pcVar12 != (char *)0x0)" ( (binary_expression "pcVar12 != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        *pcVar8 = dest[0];\n        if (((uint)pcVar12 & 2) != 0) {\n          *(undefined2 *)(pcVar8 + (int)(pcVar12 + -2)) =\n               *(undefined2 *)(acStack_227 + (int)(pcVar12 + 5));\n        }\n      }" { (expression_statement "*pcVar8 = dest[0];" (assignment_expression "*pcVar8 = dest[0]" (pointer_expression "*pcVar8" * identifier) = (subscript_expression "dest[0]" identifier [ number_literal ])) ;) (if_statement "if (((uint)pcVar12 & 2) != 0) {\n          *(undefined2 *)(pcVar8 + (int)(pcVar12 + -2)) =\n               *(undefined2 *)(acStack_227 + (int)(pcVar12 + 5));\n        }" if (parenthesized_expression "(((uint)pcVar12 & 2) != 0)" ( (binary_expression "((uint)pcVar12 & 2) != 0" (parenthesized_expression "((uint)pcVar12 & 2)" ( (binary_expression "(uint)pcVar12 & 2" (cast_expression "(uint)pcVar12" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) )) != number_literal) )) (compound_statement "{\n          *(undefined2 *)(pcVar8 + (int)(pcVar12 + -2)) =\n               *(undefined2 *)(acStack_227 + (int)(pcVar12 + 5));\n        }" { (expression_statement "*(undefined2 *)(pcVar8 + (int)(pcVar12 + -2)) =\n               *(undefined2 *)(acStack_227 + (int)(pcVar12 + 5));" (assignment_expression "*(undefined2 *)(pcVar8 + (int)(pcVar12 + -2)) =\n               *(undefined2 *)(acStack_227 + (int)(pcVar12 + 5))" (pointer_expression "*(undefined2 *)(pcVar8 + (int)(pcVar12 + -2))" * (cast_expression "(undefined2 *)(pcVar8 + (int)(pcVar12 + -2))" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar8 + (int)(pcVar12 + -2))" ( (binary_expression "pcVar8 + (int)(pcVar12 + -2)" identifier + (cast_expression "(int)(pcVar12 + -2)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(pcVar12 + -2)" ( (binary_expression "pcVar12 + -2" identifier + number_literal) )))) )))) = (pointer_expression "*(undefined2 *)(acStack_227 + (int)(pcVar12 + 5))" * (cast_expression "(undefined2 *)(acStack_227 + (int)(pcVar12 + 5))" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(acStack_227 + (int)(pcVar12 + 5))" ( (binary_expression "acStack_227 + (int)(pcVar12 + 5)" identifier + (cast_expression "(int)(pcVar12 + 5)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(pcVar12 + 5)" ( (binary_expression "pcVar12 + 5" identifier + number_literal) )))) ))))) ;) })) })) }) (else_clause "else {\n      *(undefined4 *)pcVar8 = dest._0_4_;\n      *(undefined4 *)(pcVar8 + (int)(pcVar12 + -4)) =\n           *(undefined4 *)(acStack_227 + (int)(pcVar12 + 3));\n      iVar6 = (int)pcVar8 - (int)((uint)(pcVar8 + 4) & 0xfffffffc);\n      uVar11 = (uint)(pcVar12 + iVar6) >> 2;\n      pcVar12 = dest + -iVar6;\n      puVar14 = (undefined4 *)((uint)(pcVar8 + 4) & 0xfffffffc);\n      for (; uVar11 != 0; uVar11 = uVar11 - 1) {\n        *puVar14 = *(undefined4 *)pcVar12;\n        pcVar12 = pcVar12 + ((uint)bVar17 * -2 + 1) * 4;\n        puVar14 = puVar14 + (uint)bVar17 * -2 + 1;\n      }\n    }" else (compound_statement "{\n      *(undefined4 *)pcVar8 = dest._0_4_;\n      *(undefined4 *)(pcVar8 + (int)(pcVar12 + -4)) =\n           *(undefined4 *)(acStack_227 + (int)(pcVar12 + 3));\n      iVar6 = (int)pcVar8 - (int)((uint)(pcVar8 + 4) & 0xfffffffc);\n      uVar11 = (uint)(pcVar12 + iVar6) >> 2;\n      pcVar12 = dest + -iVar6;\n      puVar14 = (undefined4 *)((uint)(pcVar8 + 4) & 0xfffffffc);\n      for (; uVar11 != 0; uVar11 = uVar11 - 1) {\n        *puVar14 = *(undefined4 *)pcVar12;\n        pcVar12 = pcVar12 + ((uint)bVar17 * -2 + 1) * 4;\n        puVar14 = puVar14 + (uint)bVar17 * -2 + 1;\n      }\n    }" { (expression_statement "*(undefined4 *)pcVar8 = dest._0_4_;" (assignment_expression "*(undefined4 *)pcVar8 = dest._0_4_" (pointer_expression "*(undefined4 *)pcVar8" * (cast_expression "(undefined4 *)pcVar8" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = (field_expression "dest._0_4_" identifier . field_identifier)) ;) (expression_statement "*(undefined4 *)(pcVar8 + (int)(pcVar12 + -4)) =\n           *(undefined4 *)(acStack_227 + (int)(pcVar12 + 3));" (assignment_expression "*(undefined4 *)(pcVar8 + (int)(pcVar12 + -4)) =\n           *(undefined4 *)(acStack_227 + (int)(pcVar12 + 3))" (pointer_expression "*(undefined4 *)(pcVar8 + (int)(pcVar12 + -4))" * (cast_expression "(undefined4 *)(pcVar8 + (int)(pcVar12 + -4))" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar8 + (int)(pcVar12 + -4))" ( (binary_expression "pcVar8 + (int)(pcVar12 + -4)" identifier + (cast_expression "(int)(pcVar12 + -4)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(pcVar12 + -4)" ( (binary_expression "pcVar12 + -4" identifier + number_literal) )))) )))) = (pointer_expression "*(undefined4 *)(acStack_227 + (int)(pcVar12 + 3))" * (cast_expression "(undefined4 *)(acStack_227 + (int)(pcVar12 + 3))" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(acStack_227 + (int)(pcVar12 + 3))" ( (binary_expression "acStack_227 + (int)(pcVar12 + 3)" identifier + (cast_expression "(int)(pcVar12 + 3)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(pcVar12 + 3)" ( (binary_expression "pcVar12 + 3" identifier + number_literal) )))) ))))) ;) (expression_statement "iVar6 = (int)pcVar8 - (int)((uint)(pcVar8 + 4) & 0xfffffffc);" (assignment_expression "iVar6 = (int)pcVar8 - (int)((uint)(pcVar8 + 4) & 0xfffffffc)" identifier = (binary_expression "(int)pcVar8 - (int)((uint)(pcVar8 + 4) & 0xfffffffc)" (cast_expression "(int)pcVar8" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)((uint)(pcVar8 + 4) & 0xfffffffc)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((uint)(pcVar8 + 4) & 0xfffffffc)" ( (binary_expression "(uint)(pcVar8 + 4) & 0xfffffffc" (call_expression "(uint)(pcVar8 + 4)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(pcVar8 + 4)" ( (binary_expression "pcVar8 + 4" identifier + number_literal) ))) & number_literal) ))))) ;) (expression_statement "uVar11 = (uint)(pcVar12 + iVar6) >> 2;" (assignment_expression "uVar11 = (uint)(pcVar12 + iVar6) >> 2" identifier = (binary_expression "(uint)(pcVar12 + iVar6) >> 2" (call_expression "(uint)(pcVar12 + iVar6)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(pcVar12 + iVar6)" ( (binary_expression "pcVar12 + iVar6" identifier + identifier) ))) >> number_literal)) ;) (expression_statement "pcVar12 = dest + -iVar6;" (assignment_expression "pcVar12 = dest + -iVar6" identifier = (binary_expression "dest + -iVar6" identifier + (unary_expression "-iVar6" - identifier))) ;) (expression_statement "puVar14 = (undefined4 *)((uint)(pcVar8 + 4) & 0xfffffffc);" (assignment_expression "puVar14 = (undefined4 *)((uint)(pcVar8 + 4) & 0xfffffffc)" identifier = (cast_expression "(undefined4 *)((uint)(pcVar8 + 4) & 0xfffffffc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((uint)(pcVar8 + 4) & 0xfffffffc)" ( (binary_expression "(uint)(pcVar8 + 4) & 0xfffffffc" (call_expression "(uint)(pcVar8 + 4)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(pcVar8 + 4)" ( (binary_expression "pcVar8 + 4" identifier + number_literal) ))) & number_literal) )))) ;) (for_statement "for (; uVar11 != 0; uVar11 = uVar11 - 1) {\n        *puVar14 = *(undefined4 *)pcVar12;\n        pcVar12 = pcVar12 + ((uint)bVar17 * -2 + 1) * 4;\n        puVar14 = puVar14 + (uint)bVar17 * -2 + 1;\n      }" for ( ; (binary_expression "uVar11 != 0" identifier != number_literal) ; (assignment_expression "uVar11 = uVar11 - 1" identifier = (binary_expression "uVar11 - 1" identifier - number_literal)) ) (compound_statement "{\n        *puVar14 = *(undefined4 *)pcVar12;\n        pcVar12 = pcVar12 + ((uint)bVar17 * -2 + 1) * 4;\n        puVar14 = puVar14 + (uint)bVar17 * -2 + 1;\n      }" { (expression_statement "*puVar14 = *(undefined4 *)pcVar12;" (assignment_expression "*puVar14 = *(undefined4 *)pcVar12" (pointer_expression "*puVar14" * identifier) = (pointer_expression "*(undefined4 *)pcVar12" * (cast_expression "(undefined4 *)pcVar12" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "pcVar12 = pcVar12 + ((uint)bVar17 * -2 + 1) * 4;" (assignment_expression "pcVar12 = pcVar12 + ((uint)bVar17 * -2 + 1) * 4" identifier = (binary_expression "pcVar12 + ((uint)bVar17 * -2 + 1) * 4" identifier + (binary_expression "((uint)bVar17 * -2 + 1) * 4" (parenthesized_expression "((uint)bVar17 * -2 + 1)" ( (binary_expression "(uint)bVar17 * -2 + 1" (binary_expression "(uint)bVar17 * -2" (cast_expression "(uint)bVar17" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal) + number_literal) )) * number_literal))) ;) (expression_statement "puVar14 = puVar14 + (uint)bVar17 * -2 + 1;" (assignment_expression "puVar14 = puVar14 + (uint)bVar17 * -2 + 1" identifier = (binary_expression "puVar14 + (uint)bVar17 * -2 + 1" (binary_expression "puVar14 + (uint)bVar17 * -2" identifier + (binary_expression "(uint)bVar17 * -2" (cast_expression "(uint)bVar17" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) })) }))) (expression_statement "local_244 = local_230 + 5;" (assignment_expression "local_244 = local_230 + 5" identifier = (binary_expression "local_230 + 5" identifier + number_literal)) ;) (expression_statement "local_234 = iVar7;" (assignment_expression "local_234 = iVar7" identifier = identifier) ;) }) while (parenthesized_expression "( true )" ( true )) ;)) (expression_statement "iVar7 = conf_get_int(conf,0xf);" (assignment_expression "iVar7 = conf_get_int(conf,0xf)" identifier = (call_expression "conf_get_int(conf,0xf)" identifier (argument_list "(conf,0xf)" ( identifier , number_literal )))) ;) (expression_statement "__sprintf_chk(dest,1,0x32,"%d",iVar7);" (call_expression "__sprintf_chk(dest,1,0x32,"%d",iVar7)" identifier (argument_list "(dest,1,0x32,"%d",iVar7)" ( identifier , number_literal , number_literal , (string_literal ""%d"" " string_content ") , identifier ))) ;) (expression_statement "puVar15 = (uint *)dest;" (assignment_expression "puVar15 = (uint *)dest" identifier = (cast_expression "(uint *)dest" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (do_statement "do {\n    puVar13 = puVar15;\n    uVar10 = *puVar13 + 0xfefefeff & ~*puVar13;\n    uVar11 = uVar10 & 0x80808080;\n    puVar15 = puVar13 + 1;\n  } while (uVar11 == 0);" do (compound_statement "{\n    puVar13 = puVar15;\n    uVar10 = *puVar13 + 0xfefefeff & ~*puVar13;\n    uVar11 = uVar10 & 0x80808080;\n    puVar15 = puVar13 + 1;\n  }" { (expression_statement "puVar13 = puVar15;" (assignment_expression "puVar13 = puVar15" identifier = identifier) ;) (expression_statement "uVar10 = *puVar13 + 0xfefefeff & ~*puVar13;" (assignment_expression "uVar10 = *puVar13 + 0xfefefeff & ~*puVar13" identifier = (binary_expression "*puVar13 + 0xfefefeff & ~*puVar13" (binary_expression "*puVar13 + 0xfefefeff" (pointer_expression "*puVar13" * identifier) + number_literal) & (unary_expression "~*puVar13" ~ (pointer_expression "*puVar13" * identifier)))) ;) (expression_statement "uVar11 = uVar10 & 0x80808080;" (assignment_expression "uVar11 = uVar10 & 0x80808080" identifier = (binary_expression "uVar10 & 0x80808080" identifier & number_literal)) ;) (expression_statement "puVar15 = puVar13 + 1;" (assignment_expression "puVar15 = puVar13 + 1" identifier = (binary_expression "puVar13 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(uVar11 == 0)" ( (binary_expression "uVar11 == 0" identifier == number_literal) )) ;) (expression_statement "bVar16 = (uVar10 & 0x8080) == 0;" (assignment_expression "bVar16 = (uVar10 & 0x8080) == 0" identifier = (binary_expression "(uVar10 & 0x8080) == 0" (parenthesized_expression "(uVar10 & 0x8080)" ( (binary_expression "uVar10 & 0x8080" identifier & number_literal) )) == number_literal)) ;) (if_statement "if (bVar16) {\n    uVar11 = uVar11 >> 0x10;\n  }" if (parenthesized_expression "(bVar16)" ( identifier )) (compound_statement "{\n    uVar11 = uVar11 >> 0x10;\n  }" { (expression_statement "uVar11 = uVar11 >> 0x10;" (assignment_expression "uVar11 = uVar11 >> 0x10" identifier = (binary_expression "uVar11 >> 0x10" identifier >> number_literal)) ;) })) (if_statement "if (bVar16) {\n    puVar15 = (uint *)((int)puVar13 + 6);\n  }" if (parenthesized_expression "(bVar16)" ( identifier )) (compound_statement "{\n    puVar15 = (uint *)((int)puVar13 + 6);\n  }" { (expression_statement "puVar15 = (uint *)((int)puVar13 + 6);" (assignment_expression "puVar15 = (uint *)((int)puVar13 + 6)" identifier = (cast_expression "(uint *)((int)puVar13 + 6)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar13 + 6)" ( (binary_expression "(int)puVar13 + 6" (cast_expression "(int)puVar13" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) })) (expression_statement "uVar11 = (int)puVar15 + ((-3 - (uint)CARRY1((byte)uVar11,(byte)uVar11)) - (int)dest);" (assignment_expression "uVar11 = (int)puVar15 + ((-3 - (uint)CARRY1((byte)uVar11,(byte)uVar11)) - (int)dest)" identifier = (binary_expression "(int)puVar15 + ((-3 - (uint)CARRY1((byte)uVar11,(byte)uVar11)) - (int)dest)" (cast_expression "(int)puVar15" ( (type_descriptor "int" primitive_type) ) identifier) + (parenthesized_expression "((-3 - (uint)CARRY1((byte)uVar11,(byte)uVar11)) - (int)dest)" ( (binary_expression "(-3 - (uint)CARRY1((byte)uVar11,(byte)uVar11)) - (int)dest" (parenthesized_expression "(-3 - (uint)CARRY1((byte)uVar11,(byte)uVar11))" ( (binary_expression "-3 - (uint)CARRY1((byte)uVar11,(byte)uVar11)" number_literal - (cast_expression "(uint)CARRY1((byte)uVar11,(byte)uVar11)" ( (type_descriptor "uint" type_identifier) ) (call_expression "CARRY1((byte)uVar11,(byte)uVar11)" identifier (argument_list "((byte)uVar11,(byte)uVar11)" ( (cast_expression "(byte)uVar11" ( (type_descriptor "byte" type_identifier) ) identifier) , (cast_expression "(byte)uVar11" ( (type_descriptor "byte" type_identifier) ) identifier) ))))) )) - (cast_expression "(int)dest" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (expression_statement "iVar7 = local_234 + uVar11;" (assignment_expression "iVar7 = local_234 + uVar11" identifier = (binary_expression "local_234 + uVar11" identifier + identifier)) ;) (if_statement "if ((int)local_23c < iVar7) {\n    local_23c = iVar7 + 0x200;\n    local_238 = (char *)saferealloc(local_238,local_23c,1);\n  }" if (parenthesized_expression "((int)local_23c < iVar7)" ( (binary_expression "(int)local_23c < iVar7" (cast_expression "(int)local_23c" ( (type_descriptor "int" primitive_type) ) identifier) < identifier) )) (compound_statement "{\n    local_23c = iVar7 + 0x200;\n    local_238 = (char *)saferealloc(local_238,local_23c,1);\n  }" { (expression_statement "local_23c = iVar7 + 0x200;" (assignment_expression "local_23c = iVar7 + 0x200" identifier = (binary_expression "iVar7 + 0x200" identifier + number_literal)) ;) (expression_statement "local_238 = (char *)saferealloc(local_238,local_23c,1);" (assignment_expression "local_238 = (char *)saferealloc(local_238,local_23c,1)" identifier = (cast_expression "(char *)saferealloc(local_238,local_23c,1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "saferealloc(local_238,local_23c,1)" identifier (argument_list "(local_238,local_23c,1)" ( identifier , identifier , number_literal ))))) ;) })) (expression_statement "pcVar12 = local_238 + local_234;" (assignment_expression "pcVar12 = local_238 + local_234" identifier = (binary_expression "local_238 + local_234" identifier + identifier)) ;) (if_statement "if (uVar11 < 4) {\n    if (uVar11 != 0) {\n      *pcVar12 = dest[0];\n      if ((uVar11 & 2) != 0) {\n        *(undefined2 *)(pcVar12 + (uVar11 - 2)) = *(undefined2 *)(acStack_227 + uVar11 + 5);\n      }\n    }\n  }\n  else {\n    *(undefined4 *)pcVar12 = dest._0_4_;\n    *(undefined4 *)(pcVar12 + (uVar11 - 4)) = *(undefined4 *)(acStack_227 + uVar11 + 3);\n    iVar6 = (int)pcVar12 - ((uint)(pcVar12 + 4) & 0xfffffffc);\n    uVar11 = iVar6 + uVar11 & 0xfffffffc;\n    if (3 < uVar11) {\n      uVar10 = 0;\n      do {\n        *(undefined4 *)(((uint)(pcVar12 + 4) & 0xfffffffc) + uVar10) =\n             *(undefined4 *)((int)dest + (uVar10 - iVar6));\n        uVar10 = uVar10 + 4;\n      } while (uVar10 < uVar11);\n    }\n  }" if (parenthesized_expression "(uVar11 < 4)" ( (binary_expression "uVar11 < 4" identifier < number_literal) )) (compound_statement "{\n    if (uVar11 != 0) {\n      *pcVar12 = dest[0];\n      if ((uVar11 & 2) != 0) {\n        *(undefined2 *)(pcVar12 + (uVar11 - 2)) = *(undefined2 *)(acStack_227 + uVar11 + 5);\n      }\n    }\n  }" { (if_statement "if (uVar11 != 0) {\n      *pcVar12 = dest[0];\n      if ((uVar11 & 2) != 0) {\n        *(undefined2 *)(pcVar12 + (uVar11 - 2)) = *(undefined2 *)(acStack_227 + uVar11 + 5);\n      }\n    }" if (parenthesized_expression "(uVar11 != 0)" ( (binary_expression "uVar11 != 0" identifier != number_literal) )) (compound_statement "{\n      *pcVar12 = dest[0];\n      if ((uVar11 & 2) != 0) {\n        *(undefined2 *)(pcVar12 + (uVar11 - 2)) = *(undefined2 *)(acStack_227 + uVar11 + 5);\n      }\n    }" { (expression_statement "*pcVar12 = dest[0];" (assignment_expression "*pcVar12 = dest[0]" (pointer_expression "*pcVar12" * identifier) = (subscript_expression "dest[0]" identifier [ number_literal ])) ;) (if_statement "if ((uVar11 & 2) != 0) {\n        *(undefined2 *)(pcVar12 + (uVar11 - 2)) = *(undefined2 *)(acStack_227 + uVar11 + 5);\n      }" if (parenthesized_expression "((uVar11 & 2) != 0)" ( (binary_expression "(uVar11 & 2) != 0" (parenthesized_expression "(uVar11 & 2)" ( (binary_expression "uVar11 & 2" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n        *(undefined2 *)(pcVar12 + (uVar11 - 2)) = *(undefined2 *)(acStack_227 + uVar11 + 5);\n      }" { (expression_statement "*(undefined2 *)(pcVar12 + (uVar11 - 2)) = *(undefined2 *)(acStack_227 + uVar11 + 5);" (assignment_expression "*(undefined2 *)(pcVar12 + (uVar11 - 2)) = *(undefined2 *)(acStack_227 + uVar11 + 5)" (pointer_expression "*(undefined2 *)(pcVar12 + (uVar11 - 2))" * (cast_expression "(undefined2 *)(pcVar12 + (uVar11 - 2))" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar12 + (uVar11 - 2))" ( (binary_expression "pcVar12 + (uVar11 - 2)" identifier + (parenthesized_expression "(uVar11 - 2)" ( (binary_expression "uVar11 - 2" identifier - number_literal) ))) )))) = (pointer_expression "*(undefined2 *)(acStack_227 + uVar11 + 5)" * (cast_expression "(undefined2 *)(acStack_227 + uVar11 + 5)" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(acStack_227 + uVar11 + 5)" ( (binary_expression "acStack_227 + uVar11 + 5" (binary_expression "acStack_227 + uVar11" identifier + identifier) + number_literal) ))))) ;) })) })) }) (else_clause "else {\n    *(undefined4 *)pcVar12 = dest._0_4_;\n    *(undefined4 *)(pcVar12 + (uVar11 - 4)) = *(undefined4 *)(acStack_227 + uVar11 + 3);\n    iVar6 = (int)pcVar12 - ((uint)(pcVar12 + 4) & 0xfffffffc);\n    uVar11 = iVar6 + uVar11 & 0xfffffffc;\n    if (3 < uVar11) {\n      uVar10 = 0;\n      do {\n        *(undefined4 *)(((uint)(pcVar12 + 4) & 0xfffffffc) + uVar10) =\n             *(undefined4 *)((int)dest + (uVar10 - iVar6));\n        uVar10 = uVar10 + 4;\n      } while (uVar10 < uVar11);\n    }\n  }" else (compound_statement "{\n    *(undefined4 *)pcVar12 = dest._0_4_;\n    *(undefined4 *)(pcVar12 + (uVar11 - 4)) = *(undefined4 *)(acStack_227 + uVar11 + 3);\n    iVar6 = (int)pcVar12 - ((uint)(pcVar12 + 4) & 0xfffffffc);\n    uVar11 = iVar6 + uVar11 & 0xfffffffc;\n    if (3 < uVar11) {\n      uVar10 = 0;\n      do {\n        *(undefined4 *)(((uint)(pcVar12 + 4) & 0xfffffffc) + uVar10) =\n             *(undefined4 *)((int)dest + (uVar10 - iVar6));\n        uVar10 = uVar10 + 4;\n      } while (uVar10 < uVar11);\n    }\n  }" { (expression_statement "*(undefined4 *)pcVar12 = dest._0_4_;" (assignment_expression "*(undefined4 *)pcVar12 = dest._0_4_" (pointer_expression "*(undefined4 *)pcVar12" * (cast_expression "(undefined4 *)pcVar12" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = (field_expression "dest._0_4_" identifier . field_identifier)) ;) (expression_statement "*(undefined4 *)(pcVar12 + (uVar11 - 4)) = *(undefined4 *)(acStack_227 + uVar11 + 3);" (assignment_expression "*(undefined4 *)(pcVar12 + (uVar11 - 4)) = *(undefined4 *)(acStack_227 + uVar11 + 3)" (pointer_expression "*(undefined4 *)(pcVar12 + (uVar11 - 4))" * (cast_expression "(undefined4 *)(pcVar12 + (uVar11 - 4))" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar12 + (uVar11 - 4))" ( (binary_expression "pcVar12 + (uVar11 - 4)" identifier + (parenthesized_expression "(uVar11 - 4)" ( (binary_expression "uVar11 - 4" identifier - number_literal) ))) )))) = (pointer_expression "*(undefined4 *)(acStack_227 + uVar11 + 3)" * (cast_expression "(undefined4 *)(acStack_227 + uVar11 + 3)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(acStack_227 + uVar11 + 3)" ( (binary_expression "acStack_227 + uVar11 + 3" (binary_expression "acStack_227 + uVar11" identifier + identifier) + number_literal) ))))) ;) (expression_statement "iVar6 = (int)pcVar12 - ((uint)(pcVar12 + 4) & 0xfffffffc);" (assignment_expression "iVar6 = (int)pcVar12 - ((uint)(pcVar12 + 4) & 0xfffffffc)" identifier = (binary_expression "(int)pcVar12 - ((uint)(pcVar12 + 4) & 0xfffffffc)" (cast_expression "(int)pcVar12" ( (type_descriptor "int" primitive_type) ) identifier) - (parenthesized_expression "((uint)(pcVar12 + 4) & 0xfffffffc)" ( (binary_expression "(uint)(pcVar12 + 4) & 0xfffffffc" (call_expression "(uint)(pcVar12 + 4)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(pcVar12 + 4)" ( (binary_expression "pcVar12 + 4" identifier + number_literal) ))) & number_literal) )))) ;) (expression_statement "uVar11 = iVar6 + uVar11 & 0xfffffffc;" (assignment_expression "uVar11 = iVar6 + uVar11 & 0xfffffffc" identifier = (binary_expression "iVar6 + uVar11 & 0xfffffffc" (binary_expression "iVar6 + uVar11" identifier + identifier) & number_literal)) ;) (if_statement "if (3 < uVar11) {\n      uVar10 = 0;\n      do {\n        *(undefined4 *)(((uint)(pcVar12 + 4) & 0xfffffffc) + uVar10) =\n             *(undefined4 *)((int)dest + (uVar10 - iVar6));\n        uVar10 = uVar10 + 4;\n      } while (uVar10 < uVar11);\n    }" if (parenthesized_expression "(3 < uVar11)" ( (binary_expression "3 < uVar11" number_literal < identifier) )) (compound_statement "{\n      uVar10 = 0;\n      do {\n        *(undefined4 *)(((uint)(pcVar12 + 4) & 0xfffffffc) + uVar10) =\n             *(undefined4 *)((int)dest + (uVar10 - iVar6));\n        uVar10 = uVar10 + 4;\n      } while (uVar10 < uVar11);\n    }" { (expression_statement "uVar10 = 0;" (assignment_expression "uVar10 = 0" identifier = number_literal) ;) (do_statement "do {\n        *(undefined4 *)(((uint)(pcVar12 + 4) & 0xfffffffc) + uVar10) =\n             *(undefined4 *)((int)dest + (uVar10 - iVar6));\n        uVar10 = uVar10 + 4;\n      } while (uVar10 < uVar11);" do (compound_statement "{\n        *(undefined4 *)(((uint)(pcVar12 + 4) & 0xfffffffc) + uVar10) =\n             *(undefined4 *)((int)dest + (uVar10 - iVar6));\n        uVar10 = uVar10 + 4;\n      }" { (expression_statement "*(undefined4 *)(((uint)(pcVar12 + 4) & 0xfffffffc) + uVar10) =\n             *(undefined4 *)((int)dest + (uVar10 - iVar6));" (assignment_expression "*(undefined4 *)(((uint)(pcVar12 + 4) & 0xfffffffc) + uVar10) =\n             *(undefined4 *)((int)dest + (uVar10 - iVar6))" (pointer_expression "*(undefined4 *)(((uint)(pcVar12 + 4) & 0xfffffffc) + uVar10)" * (cast_expression "(undefined4 *)(((uint)(pcVar12 + 4) & 0xfffffffc) + uVar10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(((uint)(pcVar12 + 4) & 0xfffffffc) + uVar10)" ( (binary_expression "((uint)(pcVar12 + 4) & 0xfffffffc) + uVar10" (parenthesized_expression "((uint)(pcVar12 + 4) & 0xfffffffc)" ( (binary_expression "(uint)(pcVar12 + 4) & 0xfffffffc" (call_expression "(uint)(pcVar12 + 4)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(pcVar12 + 4)" ( (binary_expression "pcVar12 + 4" identifier + number_literal) ))) & number_literal) )) + identifier) )))) = (pointer_expression "*(undefined4 *)((int)dest + (uVar10 - iVar6))" * (cast_expression "(undefined4 *)((int)dest + (uVar10 - iVar6))" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)dest + (uVar10 - iVar6))" ( (binary_expression "(int)dest + (uVar10 - iVar6)" (cast_expression "(int)dest" ( (type_descriptor "int" primitive_type) ) identifier) + (parenthesized_expression "(uVar10 - iVar6)" ( (binary_expression "uVar10 - iVar6" identifier - identifier) ))) ))))) ;) (expression_statement "uVar10 = uVar10 + 4;" (assignment_expression "uVar10 = uVar10 + 4" identifier = (binary_expression "uVar10 + 4" identifier + number_literal)) ;) }) while (parenthesized_expression "(uVar10 < uVar11)" ( (binary_expression "uVar10 < uVar11" identifier < identifier) )) ;) })) }))) (expression_statement "local_244 = local_230 + 10;" (assignment_expression "local_244 = local_230 + 10" identifier = (binary_expression "local_230 + 10" identifier + number_literal)) ;) (expression_statement "local_234 = iVar7;" (assignment_expression "local_234 = iVar7" identifier = identifier) ;) (goto_statement "goto LAB_00021c20;" goto statement_identifier ;) })))
(translation_unit "void FUN_00021ba0(undefined4 param_1,undefined4 param_2,undefined4 param_3)\n\n{\n  byte bVar1;\n  char cVar2;\n  byte bVar3;\n  int iVar4;\n  int iVar5;\n  int iVar6;\n  char *pcVar7;\n  size_t sVar8;\n  undefined4 uVar9;\n  uint uVar10;\n  uint uVar11;\n  uint *puVar12;\n  uint *puVar13;\n  undefined4 *puVar14;\n  undefined4 *puVar15;\n  int in_GS_OFFSET;\n  bool bVar16;\n  byte bVar17;\n  int local_244;\n  char *local_240;\n  int local_23c;\n  int local_238;\n  int local_234;\n  int local_230;\n  undefined1 auStack_227 [5];\n  undefined2 uStack_222;\n  uint local_220 [128];\n  int local_20;\n  undefined4 uStack_14;\n  \n  bVar17 = 0;\n  local_244 = 0;\n  uStack_14 = 0x21bad;\n  local_20 = *(int *)(in_GS_OFFSET + 0x14);\n  iVar4 = FUN_00018b60(param_3,0x12);\n  local_23c = 0;\n  local_234 = 0;\n  local_238 = 0;\nLAB_00021c20:\n  do {\n    pcVar7 = (char *)(iVar4 + local_244);\n    cVar2 = *pcVar7;\n    iVar6 = local_244;\njoined_r0x00021c28:\n    if (cVar2 == '\0') {\nLAB_00021e3b:\n      if (local_234 < local_23c) goto LAB_00021e4d;\nLAB_00021eed:\n      local_238 = FUN_0001dc50(local_238,local_234 + 0x201,1);\nLAB_00021e4d:\n      *(undefined1 *)(local_238 + local_234) = 0;\n      if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    \n        FUN_0008d800();\n      }\n      return;\n    }\n    local_240 = pcVar7;\n    local_230 = iVar6;\n    if (cVar2 != '%') {\n      if (cVar2 != '\\') {\n        do {\n          local_244 = local_230 + 1;\n          cVar2 = *(char *)(iVar4 + local_244);\n          if ((cVar2 == '\0') || (cVar2 == '%')) {\n            if (cVar2 == '\0') goto LAB_00021e99;\n            break;\n          }\n          local_230 = local_244;\n        } while (cVar2 != '\\');\n        local_240 = (char *)(iVar4 + local_244);\n        local_230 = local_244;\n        if (iVar6 != local_244) {\n          iVar5 = (local_234 + local_244) - iVar6;\n          if (local_23c < iVar5) {\n            local_23c = iVar5 + 0x200;\n            local_238 = FUN_0001dc50(local_238,local_23c,1);\n          }\n          memcpy((void *)(local_238 + local_234),pcVar7,local_244 - iVar6);\n          local_234 = local_234 + (local_244 - iVar6);\n          local_230 = local_244;\n        }\n        goto LAB_00021cd4;\n      }\n      local_244 = iVar6 + 1;\n      cVar2 = *(char *)(iVar4 + 1 + iVar6);\n      if (cVar2 != '\0') goto LAB_00021f38;\nLAB_00021e99:\n      if (iVar6 == local_244) goto LAB_00021e3b;\n      iVar5 = (local_234 + local_244) - iVar6;\n      if (local_23c < iVar5) {\n        local_23c = iVar5 + 0x200;\n        local_238 = FUN_0001dc50(local_238,local_23c,1);\n      }\n      memcpy((void *)(local_238 + local_234),(void *)(iVar6 + iVar4),local_244 - iVar6);\n      local_234 = local_234 + (local_244 - iVar6);\n      if (local_234 < local_23c) goto LAB_00021e4d;\n      goto LAB_00021eed;\n    }\nLAB_00021cd4:\n    local_244 = local_230 + 1;\n    pcVar7 = (char *)(iVar4 + local_244);\n    cVar2 = *pcVar7;\n    iVar6 = local_230;\n    if (cVar2 == '\0') goto LAB_00021e99;\n    if (*local_240 == '\\') {\nLAB_00021f38:\n      iVar6 = local_234 + 1;\n      if (cVar2 == 'n') {\n        if (local_23c <= local_234) {\n          local_23c = local_234 + 0x201;\n          local_238 = FUN_0001dc50(local_238,local_23c,1);\n        }\n        *(undefined1 *)(local_238 + local_234) = 10;\n        local_244 = local_230 + 2;\n        local_234 = iVar6;\n        goto LAB_00021c20;\n      }\n      if (cVar2 < 'o') {\n        if (cVar2 == 'X') {\nLAB_000223b0:\n          cVar2 = *(char *)(iVar4 + 1 + local_244);\n          bVar3 = cVar2 - 0x30;\n          if (bVar3 < 10) {\nLAB_000223db:\n            cVar2 = *(char *)(iVar4 + 2 + local_244);\n            bVar1 = cVar2 - 0x30;\n            if (9 < bVar1) {\n              if ((byte)(cVar2 + 0x9fU) < 6) {\n                bVar1 = cVar2 + 0xa9;\n              }\n              else {\n                if (5 < (byte)(cVar2 + 0xbfU)) goto LAB_00022a16;\n                bVar1 = cVar2 - 0x37;\n              }\n            }\n            if (local_23c <= local_234) {\n              local_23c = local_234 + 0x201;\n              local_238 = FUN_0001dc50(local_238,local_23c,1);\n            }\n            *(byte *)(local_238 + local_234) = bVar1 + bVar3 * '\x10';\n            local_244 = local_244 + 3;\n            local_234 = iVar6;\n          }\n          else {\n            if ((byte)(cVar2 + 0x9fU) < 6) {\n              bVar3 = cVar2 + 0xa9;\n              goto LAB_000223db;\n            }\n            if ((byte)(cVar2 + 0xbfU) < 6) {\n              bVar3 = cVar2 - 0x37;\n              goto LAB_000223db;\n            }\nLAB_00022a16:\n            if (local_23c <= local_234) {\n              local_23c = local_234 + 0x201;\n              local_238 = FUN_0001dc50(local_238,local_23c,1);\n            }\n            *(undefined1 *)(local_238 + local_234) = 0x5c;\n            local_234 = iVar6;\n          }\n          goto LAB_00021c20;\n        }\n        if (cVar2 == '\\') {\n          if (local_23c <= local_234) {\n            local_23c = local_234 + 0x201;\n            local_238 = FUN_0001dc50(local_238,local_23c,1);\n          }\n          *(undefined1 *)(local_238 + local_234) = 0x5c;\n          local_244 = local_230 + 2;\n          local_234 = iVar6;\n          goto LAB_00021c20;\n        }\n        if (cVar2 == '%') {\n          if (local_23c <= local_234) {\n            local_23c = local_234 + 0x201;\n            local_238 = FUN_0001dc50(local_238,local_23c,1);\n          }\n          *(undefined1 *)(local_238 + local_234) = 0x25;\n          local_244 = local_230 + 2;\n          local_234 = iVar6;\n          goto LAB_00021c20;\n        }\n      }\n      else {\n        if (cVar2 == 't') {\n          if (local_23c <= local_234) {\n            local_23c = local_234 + 0x201;\n            local_238 = FUN_0001dc50(local_238,local_23c,1);\n          }\n          *(undefined1 *)(local_238 + local_234) = 9;\n          local_244 = local_230 + 2;\n          local_234 = iVar6;\n          goto LAB_00021c20;\n        }\n        if (cVar2 == 'x') goto LAB_000223b0;\n        if (cVar2 == 'r') {\n          if (local_23c <= local_234) {\n            local_23c = local_234 + 0x201;\n            local_238 = FUN_0001dc50(local_238,local_23c,1);\n          }\n          *(undefined1 *)(local_238 + local_234) = 0xd;\n          local_244 = local_230 + 2;\n          local_234 = iVar6;\n          goto LAB_00021c20;\n        }\n      }\n      if (local_23c <= iVar6) {\n        local_23c = local_234 + 0x202;\n        local_238 = FUN_0001dc50(local_238,local_23c,1);\n      }\n      local_244 = local_230 + 2;\n      *(undefined2 *)(local_238 + local_234) = *(undefined2 *)local_240;\n      local_234 = local_234 + 2;\n      goto LAB_00021c20;\n    }\n    if (cVar2 == '%') {\n      if (local_23c <= local_234) {\n        local_23c = local_234 + 0x201;\n        local_238 = FUN_0001dc50(local_238,local_23c,1);\n      }\n      *(undefined1 *)(local_238 + local_234) = 0x25;\n      local_244 = local_230 + 2;\n      local_234 = local_234 + 1;\n      goto LAB_00021c20;\n    }\n    iVar6 = strncasecmp(pcVar7,"host",4);\n    if (iVar6 != 0) {\n      iVar6 = strncasecmp(pcVar7,"port",4);\n      if (iVar6 == 0) {\n        cVar2 = __sprintf_chk(local_220,1,8,&DAT_0008fa68,param_2);\n        uVar11 = (uint)cVar2;\n        goto joined_r0x000221ae;\n      }\n      iVar6 = strncasecmp(pcVar7,"user",4);\n      if (iVar6 == 0) {\n        pcVar7 = (char *)FUN_00018b60(param_3,0x10);\n        sVar8 = strlen(pcVar7);\n        iVar6 = sVar8 + local_234;\n        if (local_23c < iVar6) {\n          local_23c = iVar6 + 0x200;\n          local_238 = FUN_0001dc50(local_238,local_23c,1);\n        }\n        memcpy((void *)(local_234 + local_238),pcVar7,sVar8);\n        local_244 = local_230 + 5;\n        local_234 = iVar6;\n        goto LAB_00021c20;\n      }\n      iVar6 = strncasecmp(pcVar7,"pass",4);\n      if (iVar6 == 0) {\n        pcVar7 = (char *)FUN_00018b60(param_3,0x11);\n        sVar8 = strlen(pcVar7);\n        iVar6 = sVar8 + local_234;\n        if (local_23c < iVar6) {\n          local_23c = iVar6 + 0x200;\n          local_238 = FUN_0001dc50(local_238,local_23c,1);\n        }\n        memcpy((void *)(local_234 + local_238),pcVar7,sVar8);\n        local_244 = local_230 + 5;\n        local_234 = iVar6;\n        goto LAB_00021c20;\n      }\n      iVar6 = strncasecmp(pcVar7,"proxyhost",9);\n      if (iVar6 == 0) {\n        pcVar7 = (char *)FUN_00018b60(param_3,0xe);\n        sVar8 = strlen(pcVar7);\n        iVar6 = sVar8 + local_234;\n        if (local_23c < iVar6) {\n          local_23c = iVar6 + 0x200;\n          local_238 = FUN_0001dc50(local_238,local_23c,1);\n        }\n        memcpy((void *)(local_234 + local_238),pcVar7,sVar8);\n        local_244 = local_230 + 10;\n        local_234 = iVar6;\n        goto LAB_00021c20;\n      }\n      iVar6 = strncasecmp(pcVar7,"proxyport",9);\n      if (iVar6 == 0) break;\n      if (local_23c <= local_234) {\n        local_23c = local_234 + 0x201;\n        local_238 = FUN_0001dc50(local_238,local_23c,1);\n      }\n      *(undefined1 *)(local_238 + local_234) = 0x25;\n      local_234 = local_234 + 1;\n      pcVar7 = (char *)(iVar4 + local_244);\n      cVar2 = *pcVar7;\n      iVar6 = local_244;\n      goto joined_r0x00021c28;\n    }\n    FUN_00084190(param_1,local_220,0x200);\n    puVar12 = local_220;\n    do {\n      puVar13 = puVar12;\n      uVar10 = *puVar13 + 0xfefefeff & ~*puVar13;\n      uVar11 = uVar10 & 0x80808080;\n      puVar12 = puVar13 + 1;\n    } while (uVar11 == 0);\n    bVar16 = (uVar10 & 0x8080) == 0;\n    if (bVar16) {\n      uVar11 = uVar11 >> 0x10;\n    }\n    puVar12 = (uint *)((int)puVar13 + 6);\n    if (!bVar16) {\n      puVar12 = puVar13 + 1;\n    }\n    uVar11 = (int)puVar12 + ((-3 - (uint)CARRY1((byte)uVar11,(byte)uVar11)) - (int)local_220);\njoined_r0x000221ae:\n    iVar6 = local_234 + uVar11;\n    if (local_23c < iVar6) {\n      local_23c = iVar6 + 0x200;\n      local_238 = FUN_0001dc50(local_238,local_23c,1);\n    }\n    puVar12 = (uint *)(local_234 + local_238);\n    if (uVar11 < 4) {\n      if (uVar11 != 0) {\n        *(undefined1 *)puVar12 = (undefined1)local_220[0];\n        if ((uVar11 & 2) != 0) {\n          *(undefined2 *)((int)puVar12 + (uVar11 - 2)) = *(undefined2 *)(auStack_227 + uVar11 + 5);\n        }\n      }\n    }\n    else {\n      *puVar12 = local_220[0];\n      *(undefined4 *)((int)puVar12 + (uVar11 - 4)) = *(undefined4 *)(auStack_227 + uVar11 + 3);\n      iVar5 = (int)puVar12 - (int)((uint)(puVar12 + 1) & 0xfffffffc);\n      puVar14 = (undefined4 *)((int)local_220 - iVar5);\n      puVar15 = (undefined4 *)((uint)(puVar12 + 1) & 0xfffffffc);\n      for (uVar11 = uVar11 + iVar5 >> 2; uVar11 != 0; uVar11 = uVar11 - 1) {\n        *puVar15 = *puVar14;\n        puVar14 = puVar14 + (uint)bVar17 * -2 + 1;\n        puVar15 = puVar15 + (uint)bVar17 * -2 + 1;\n      }\n    }\n    local_244 = local_230 + 5;\n    local_234 = iVar6;\n  } while( true );\n  uVar9 = FUN_000189b0(param_3,0xf);\n  __sprintf_chk(local_220,1,0x32,"%d",uVar9);\n  puVar12 = local_220;\n  do {\n    puVar13 = puVar12;\n    uVar10 = *puVar13 + 0xfefefeff & ~*puVar13;\n    uVar11 = uVar10 & 0x80808080;\n    puVar12 = puVar13 + 1;\n  } while (uVar11 == 0);\n  bVar16 = (uVar10 & 0x8080) == 0;\n  if (bVar16) {\n    uVar11 = uVar11 >> 0x10;\n  }\n  if (bVar16) {\n    puVar12 = (uint *)((int)puVar13 + 6);\n  }\n  uVar11 = (int)puVar12 + ((-3 - (uint)CARRY1((byte)uVar11,(byte)uVar11)) - (int)local_220);\n  iVar6 = local_234 + uVar11;\n  if (local_23c < iVar6) {\n    local_23c = iVar6 + 0x200;\n    local_238 = FUN_0001dc50(local_238,local_23c,1);\n  }\n  puVar12 = (uint *)(local_234 + local_238);\n  if (uVar11 < 4) {\n    if (uVar11 != 0) {\n      *(undefined1 *)puVar12 = (undefined1)local_220[0];\n      if ((uVar11 & 2) != 0) {\n        *(undefined2 *)((int)puVar12 + (uVar11 - 2)) = *(undefined2 *)(auStack_227 + uVar11 + 5);\n      }\n    }\n  }\n  else {\n    *puVar12 = local_220[0];\n    *(undefined4 *)((int)puVar12 + (uVar11 - 4)) = *(undefined4 *)(auStack_227 + uVar11 + 3);\n    iVar5 = (int)puVar12 - ((uint)(puVar12 + 1) & 0xfffffffc);\n    uVar11 = iVar5 + uVar11 & 0xfffffffc;\n    if (3 < uVar11) {\n      uVar10 = 0;\n      do {\n        *(undefined4 *)(((uint)(puVar12 + 1) & 0xfffffffc) + uVar10) =\n             *(undefined4 *)((int)local_220 + (uVar10 - iVar5));\n        uVar10 = uVar10 + 4;\n      } while (uVar10 < uVar11);\n    }\n  }\n  local_244 = local_230 + 10;\n  local_234 = iVar6;\n  goto LAB_00021c20;\n}\n\n" (function_definition "void FUN_00021ba0(undefined4 param_1,undefined4 param_2,undefined4 param_3)\n\n{\n  byte bVar1;\n  char cVar2;\n  byte bVar3;\n  int iVar4;\n  int iVar5;\n  int iVar6;\n  char *pcVar7;\n  size_t sVar8;\n  undefined4 uVar9;\n  uint uVar10;\n  uint uVar11;\n  uint *puVar12;\n  uint *puVar13;\n  undefined4 *puVar14;\n  undefined4 *puVar15;\n  int in_GS_OFFSET;\n  bool bVar16;\n  byte bVar17;\n  int local_244;\n  char *local_240;\n  int local_23c;\n  int local_238;\n  int local_234;\n  int local_230;\n  undefined1 auStack_227 [5];\n  undefined2 uStack_222;\n  uint local_220 [128];\n  int local_20;\n  undefined4 uStack_14;\n  \n  bVar17 = 0;\n  local_244 = 0;\n  uStack_14 = 0x21bad;\n  local_20 = *(int *)(in_GS_OFFSET + 0x14);\n  iVar4 = FUN_00018b60(param_3,0x12);\n  local_23c = 0;\n  local_234 = 0;\n  local_238 = 0;\nLAB_00021c20:\n  do {\n    pcVar7 = (char *)(iVar4 + local_244);\n    cVar2 = *pcVar7;\n    iVar6 = local_244;\njoined_r0x00021c28:\n    if (cVar2 == '\0') {\nLAB_00021e3b:\n      if (local_234 < local_23c) goto LAB_00021e4d;\nLAB_00021eed:\n      local_238 = FUN_0001dc50(local_238,local_234 + 0x201,1);\nLAB_00021e4d:\n      *(undefined1 *)(local_238 + local_234) = 0;\n      if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    \n        FUN_0008d800();\n      }\n      return;\n    }\n    local_240 = pcVar7;\n    local_230 = iVar6;\n    if (cVar2 != '%') {\n      if (cVar2 != '\\') {\n        do {\n          local_244 = local_230 + 1;\n          cVar2 = *(char *)(iVar4 + local_244);\n          if ((cVar2 == '\0') || (cVar2 == '%')) {\n            if (cVar2 == '\0') goto LAB_00021e99;\n            break;\n          }\n          local_230 = local_244;\n        } while (cVar2 != '\\');\n        local_240 = (char *)(iVar4 + local_244);\n        local_230 = local_244;\n        if (iVar6 != local_244) {\n          iVar5 = (local_234 + local_244) - iVar6;\n          if (local_23c < iVar5) {\n            local_23c = iVar5 + 0x200;\n            local_238 = FUN_0001dc50(local_238,local_23c,1);\n          }\n          memcpy((void *)(local_238 + local_234),pcVar7,local_244 - iVar6);\n          local_234 = local_234 + (local_244 - iVar6);\n          local_230 = local_244;\n        }\n        goto LAB_00021cd4;\n      }\n      local_244 = iVar6 + 1;\n      cVar2 = *(char *)(iVar4 + 1 + iVar6);\n      if (cVar2 != '\0') goto LAB_00021f38;\nLAB_00021e99:\n      if (iVar6 == local_244) goto LAB_00021e3b;\n      iVar5 = (local_234 + local_244) - iVar6;\n      if (local_23c < iVar5) {\n        local_23c = iVar5 + 0x200;\n        local_238 = FUN_0001dc50(local_238,local_23c,1);\n      }\n      memcpy((void *)(local_238 + local_234),(void *)(iVar6 + iVar4),local_244 - iVar6);\n      local_234 = local_234 + (local_244 - iVar6);\n      if (local_234 < local_23c) goto LAB_00021e4d;\n      goto LAB_00021eed;\n    }\nLAB_00021cd4:\n    local_244 = local_230 + 1;\n    pcVar7 = (char *)(iVar4 + local_244);\n    cVar2 = *pcVar7;\n    iVar6 = local_230;\n    if (cVar2 == '\0') goto LAB_00021e99;\n    if (*local_240 == '\\') {\nLAB_00021f38:\n      iVar6 = local_234 + 1;\n      if (cVar2 == 'n') {\n        if (local_23c <= local_234) {\n          local_23c = local_234 + 0x201;\n          local_238 = FUN_0001dc50(local_238,local_23c,1);\n        }\n        *(undefined1 *)(local_238 + local_234) = 10;\n        local_244 = local_230 + 2;\n        local_234 = iVar6;\n        goto LAB_00021c20;\n      }\n      if (cVar2 < 'o') {\n        if (cVar2 == 'X') {\nLAB_000223b0:\n          cVar2 = *(char *)(iVar4 + 1 + local_244);\n          bVar3 = cVar2 - 0x30;\n          if (bVar3 < 10) {\nLAB_000223db:\n            cVar2 = *(char *)(iVar4 + 2 + local_244);\n            bVar1 = cVar2 - 0x30;\n            if (9 < bVar1) {\n              if ((byte)(cVar2 + 0x9fU) < 6) {\n                bVar1 = cVar2 + 0xa9;\n              }\n              else {\n                if (5 < (byte)(cVar2 + 0xbfU)) goto LAB_00022a16;\n                bVar1 = cVar2 - 0x37;\n              }\n            }\n            if (local_23c <= local_234) {\n              local_23c = local_234 + 0x201;\n              local_238 = FUN_0001dc50(local_238,local_23c,1);\n            }\n            *(byte *)(local_238 + local_234) = bVar1 + bVar3 * '\x10';\n            local_244 = local_244 + 3;\n            local_234 = iVar6;\n          }\n          else {\n            if ((byte)(cVar2 + 0x9fU) < 6) {\n              bVar3 = cVar2 + 0xa9;\n              goto LAB_000223db;\n            }\n            if ((byte)(cVar2 + 0xbfU) < 6) {\n              bVar3 = cVar2 - 0x37;\n              goto LAB_000223db;\n            }\nLAB_00022a16:\n            if (local_23c <= local_234) {\n              local_23c = local_234 + 0x201;\n              local_238 = FUN_0001dc50(local_238,local_23c,1);\n            }\n            *(undefined1 *)(local_238 + local_234) = 0x5c;\n            local_234 = iVar6;\n          }\n          goto LAB_00021c20;\n        }\n        if (cVar2 == '\\') {\n          if (local_23c <= local_234) {\n            local_23c = local_234 + 0x201;\n            local_238 = FUN_0001dc50(local_238,local_23c,1);\n          }\n          *(undefined1 *)(local_238 + local_234) = 0x5c;\n          local_244 = local_230 + 2;\n          local_234 = iVar6;\n          goto LAB_00021c20;\n        }\n        if (cVar2 == '%') {\n          if (local_23c <= local_234) {\n            local_23c = local_234 + 0x201;\n            local_238 = FUN_0001dc50(local_238,local_23c,1);\n          }\n          *(undefined1 *)(local_238 + local_234) = 0x25;\n          local_244 = local_230 + 2;\n          local_234 = iVar6;\n          goto LAB_00021c20;\n        }\n      }\n      else {\n        if (cVar2 == 't') {\n          if (local_23c <= local_234) {\n            local_23c = local_234 + 0x201;\n            local_238 = FUN_0001dc50(local_238,local_23c,1);\n          }\n          *(undefined1 *)(local_238 + local_234) = 9;\n          local_244 = local_230 + 2;\n          local_234 = iVar6;\n          goto LAB_00021c20;\n        }\n        if (cVar2 == 'x') goto LAB_000223b0;\n        if (cVar2 == 'r') {\n          if (local_23c <= local_234) {\n            local_23c = local_234 + 0x201;\n            local_238 = FUN_0001dc50(local_238,local_23c,1);\n          }\n          *(undefined1 *)(local_238 + local_234) = 0xd;\n          local_244 = local_230 + 2;\n          local_234 = iVar6;\n          goto LAB_00021c20;\n        }\n      }\n      if (local_23c <= iVar6) {\n        local_23c = local_234 + 0x202;\n        local_238 = FUN_0001dc50(local_238,local_23c,1);\n      }\n      local_244 = local_230 + 2;\n      *(undefined2 *)(local_238 + local_234) = *(undefined2 *)local_240;\n      local_234 = local_234 + 2;\n      goto LAB_00021c20;\n    }\n    if (cVar2 == '%') {\n      if (local_23c <= local_234) {\n        local_23c = local_234 + 0x201;\n        local_238 = FUN_0001dc50(local_238,local_23c,1);\n      }\n      *(undefined1 *)(local_238 + local_234) = 0x25;\n      local_244 = local_230 + 2;\n      local_234 = local_234 + 1;\n      goto LAB_00021c20;\n    }\n    iVar6 = strncasecmp(pcVar7,"host",4);\n    if (iVar6 != 0) {\n      iVar6 = strncasecmp(pcVar7,"port",4);\n      if (iVar6 == 0) {\n        cVar2 = __sprintf_chk(local_220,1,8,&DAT_0008fa68,param_2);\n        uVar11 = (uint)cVar2;\n        goto joined_r0x000221ae;\n      }\n      iVar6 = strncasecmp(pcVar7,"user",4);\n      if (iVar6 == 0) {\n        pcVar7 = (char *)FUN_00018b60(param_3,0x10);\n        sVar8 = strlen(pcVar7);\n        iVar6 = sVar8 + local_234;\n        if (local_23c < iVar6) {\n          local_23c = iVar6 + 0x200;\n          local_238 = FUN_0001dc50(local_238,local_23c,1);\n        }\n        memcpy((void *)(local_234 + local_238),pcVar7,sVar8);\n        local_244 = local_230 + 5;\n        local_234 = iVar6;\n        goto LAB_00021c20;\n      }\n      iVar6 = strncasecmp(pcVar7,"pass",4);\n      if (iVar6 == 0) {\n        pcVar7 = (char *)FUN_00018b60(param_3,0x11);\n        sVar8 = strlen(pcVar7);\n        iVar6 = sVar8 + local_234;\n        if (local_23c < iVar6) {\n          local_23c = iVar6 + 0x200;\n          local_238 = FUN_0001dc50(local_238,local_23c,1);\n        }\n        memcpy((void *)(local_234 + local_238),pcVar7,sVar8);\n        local_244 = local_230 + 5;\n        local_234 = iVar6;\n        goto LAB_00021c20;\n      }\n      iVar6 = strncasecmp(pcVar7,"proxyhost",9);\n      if (iVar6 == 0) {\n        pcVar7 = (char *)FUN_00018b60(param_3,0xe);\n        sVar8 = strlen(pcVar7);\n        iVar6 = sVar8 + local_234;\n        if (local_23c < iVar6) {\n          local_23c = iVar6 + 0x200;\n          local_238 = FUN_0001dc50(local_238,local_23c,1);\n        }\n        memcpy((void *)(local_234 + local_238),pcVar7,sVar8);\n        local_244 = local_230 + 10;\n        local_234 = iVar6;\n        goto LAB_00021c20;\n      }\n      iVar6 = strncasecmp(pcVar7,"proxyport",9);\n      if (iVar6 == 0) break;\n      if (local_23c <= local_234) {\n        local_23c = local_234 + 0x201;\n        local_238 = FUN_0001dc50(local_238,local_23c,1);\n      }\n      *(undefined1 *)(local_238 + local_234) = 0x25;\n      local_234 = local_234 + 1;\n      pcVar7 = (char *)(iVar4 + local_244);\n      cVar2 = *pcVar7;\n      iVar6 = local_244;\n      goto joined_r0x00021c28;\n    }\n    FUN_00084190(param_1,local_220,0x200);\n    puVar12 = local_220;\n    do {\n      puVar13 = puVar12;\n      uVar10 = *puVar13 + 0xfefefeff & ~*puVar13;\n      uVar11 = uVar10 & 0x80808080;\n      puVar12 = puVar13 + 1;\n    } while (uVar11 == 0);\n    bVar16 = (uVar10 & 0x8080) == 0;\n    if (bVar16) {\n      uVar11 = uVar11 >> 0x10;\n    }\n    puVar12 = (uint *)((int)puVar13 + 6);\n    if (!bVar16) {\n      puVar12 = puVar13 + 1;\n    }\n    uVar11 = (int)puVar12 + ((-3 - (uint)CARRY1((byte)uVar11,(byte)uVar11)) - (int)local_220);\njoined_r0x000221ae:\n    iVar6 = local_234 + uVar11;\n    if (local_23c < iVar6) {\n      local_23c = iVar6 + 0x200;\n      local_238 = FUN_0001dc50(local_238,local_23c,1);\n    }\n    puVar12 = (uint *)(local_234 + local_238);\n    if (uVar11 < 4) {\n      if (uVar11 != 0) {\n        *(undefined1 *)puVar12 = (undefined1)local_220[0];\n        if ((uVar11 & 2) != 0) {\n          *(undefined2 *)((int)puVar12 + (uVar11 - 2)) = *(undefined2 *)(auStack_227 + uVar11 + 5);\n        }\n      }\n    }\n    else {\n      *puVar12 = local_220[0];\n      *(undefined4 *)((int)puVar12 + (uVar11 - 4)) = *(undefined4 *)(auStack_227 + uVar11 + 3);\n      iVar5 = (int)puVar12 - (int)((uint)(puVar12 + 1) & 0xfffffffc);\n      puVar14 = (undefined4 *)((int)local_220 - iVar5);\n      puVar15 = (undefined4 *)((uint)(puVar12 + 1) & 0xfffffffc);\n      for (uVar11 = uVar11 + iVar5 >> 2; uVar11 != 0; uVar11 = uVar11 - 1) {\n        *puVar15 = *puVar14;\n        puVar14 = puVar14 + (uint)bVar17 * -2 + 1;\n        puVar15 = puVar15 + (uint)bVar17 * -2 + 1;\n      }\n    }\n    local_244 = local_230 + 5;\n    local_234 = iVar6;\n  } while( true );\n  uVar9 = FUN_000189b0(param_3,0xf);\n  __sprintf_chk(local_220,1,0x32,"%d",uVar9);\n  puVar12 = local_220;\n  do {\n    puVar13 = puVar12;\n    uVar10 = *puVar13 + 0xfefefeff & ~*puVar13;\n    uVar11 = uVar10 & 0x80808080;\n    puVar12 = puVar13 + 1;\n  } while (uVar11 == 0);\n  bVar16 = (uVar10 & 0x8080) == 0;\n  if (bVar16) {\n    uVar11 = uVar11 >> 0x10;\n  }\n  if (bVar16) {\n    puVar12 = (uint *)((int)puVar13 + 6);\n  }\n  uVar11 = (int)puVar12 + ((-3 - (uint)CARRY1((byte)uVar11,(byte)uVar11)) - (int)local_220);\n  iVar6 = local_234 + uVar11;\n  if (local_23c < iVar6) {\n    local_23c = iVar6 + 0x200;\n    local_238 = FUN_0001dc50(local_238,local_23c,1);\n  }\n  puVar12 = (uint *)(local_234 + local_238);\n  if (uVar11 < 4) {\n    if (uVar11 != 0) {\n      *(undefined1 *)puVar12 = (undefined1)local_220[0];\n      if ((uVar11 & 2) != 0) {\n        *(undefined2 *)((int)puVar12 + (uVar11 - 2)) = *(undefined2 *)(auStack_227 + uVar11 + 5);\n      }\n    }\n  }\n  else {\n    *puVar12 = local_220[0];\n    *(undefined4 *)((int)puVar12 + (uVar11 - 4)) = *(undefined4 *)(auStack_227 + uVar11 + 3);\n    iVar5 = (int)puVar12 - ((uint)(puVar12 + 1) & 0xfffffffc);\n    uVar11 = iVar5 + uVar11 & 0xfffffffc;\n    if (3 < uVar11) {\n      uVar10 = 0;\n      do {\n        *(undefined4 *)(((uint)(puVar12 + 1) & 0xfffffffc) + uVar10) =\n             *(undefined4 *)((int)local_220 + (uVar10 - iVar5));\n        uVar10 = uVar10 + 4;\n      } while (uVar10 < uVar11);\n    }\n  }\n  local_244 = local_230 + 10;\n  local_234 = iVar6;\n  goto LAB_00021c20;\n}" primitive_type (function_declarator "FUN_00021ba0(undefined4 param_1,undefined4 param_2,undefined4 param_3)" identifier (parameter_list "(undefined4 param_1,undefined4 param_2,undefined4 param_3)" ( (parameter_declaration "undefined4 param_1" type_identifier identifier) , (parameter_declaration "undefined4 param_2" type_identifier identifier) , (parameter_declaration "undefined4 param_3" type_identifier identifier) ))) (compound_statement "{\n  byte bVar1;\n  char cVar2;\n  byte bVar3;\n  int iVar4;\n  int iVar5;\n  int iVar6;\n  char *pcVar7;\n  size_t sVar8;\n  undefined4 uVar9;\n  uint uVar10;\n  uint uVar11;\n  uint *puVar12;\n  uint *puVar13;\n  undefined4 *puVar14;\n  undefined4 *puVar15;\n  int in_GS_OFFSET;\n  bool bVar16;\n  byte bVar17;\n  int local_244;\n  char *local_240;\n  int local_23c;\n  int local_238;\n  int local_234;\n  int local_230;\n  undefined1 auStack_227 [5];\n  undefined2 uStack_222;\n  uint local_220 [128];\n  int local_20;\n  undefined4 uStack_14;\n  \n  bVar17 = 0;\n  local_244 = 0;\n  uStack_14 = 0x21bad;\n  local_20 = *(int *)(in_GS_OFFSET + 0x14);\n  iVar4 = FUN_00018b60(param_3,0x12);\n  local_23c = 0;\n  local_234 = 0;\n  local_238 = 0;\nLAB_00021c20:\n  do {\n    pcVar7 = (char *)(iVar4 + local_244);\n    cVar2 = *pcVar7;\n    iVar6 = local_244;\njoined_r0x00021c28:\n    if (cVar2 == '\0') {\nLAB_00021e3b:\n      if (local_234 < local_23c) goto LAB_00021e4d;\nLAB_00021eed:\n      local_238 = FUN_0001dc50(local_238,local_234 + 0x201,1);\nLAB_00021e4d:\n      *(undefined1 *)(local_238 + local_234) = 0;\n      if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    \n        FUN_0008d800();\n      }\n      return;\n    }\n    local_240 = pcVar7;\n    local_230 = iVar6;\n    if (cVar2 != '%') {\n      if (cVar2 != '\\') {\n        do {\n          local_244 = local_230 + 1;\n          cVar2 = *(char *)(iVar4 + local_244);\n          if ((cVar2 == '\0') || (cVar2 == '%')) {\n            if (cVar2 == '\0') goto LAB_00021e99;\n            break;\n          }\n          local_230 = local_244;\n        } while (cVar2 != '\\');\n        local_240 = (char *)(iVar4 + local_244);\n        local_230 = local_244;\n        if (iVar6 != local_244) {\n          iVar5 = (local_234 + local_244) - iVar6;\n          if (local_23c < iVar5) {\n            local_23c = iVar5 + 0x200;\n            local_238 = FUN_0001dc50(local_238,local_23c,1);\n          }\n          memcpy((void *)(local_238 + local_234),pcVar7,local_244 - iVar6);\n          local_234 = local_234 + (local_244 - iVar6);\n          local_230 = local_244;\n        }\n        goto LAB_00021cd4;\n      }\n      local_244 = iVar6 + 1;\n      cVar2 = *(char *)(iVar4 + 1 + iVar6);\n      if (cVar2 != '\0') goto LAB_00021f38;\nLAB_00021e99:\n      if (iVar6 == local_244) goto LAB_00021e3b;\n      iVar5 = (local_234 + local_244) - iVar6;\n      if (local_23c < iVar5) {\n        local_23c = iVar5 + 0x200;\n        local_238 = FUN_0001dc50(local_238,local_23c,1);\n      }\n      memcpy((void *)(local_238 + local_234),(void *)(iVar6 + iVar4),local_244 - iVar6);\n      local_234 = local_234 + (local_244 - iVar6);\n      if (local_234 < local_23c) goto LAB_00021e4d;\n      goto LAB_00021eed;\n    }\nLAB_00021cd4:\n    local_244 = local_230 + 1;\n    pcVar7 = (char *)(iVar4 + local_244);\n    cVar2 = *pcVar7;\n    iVar6 = local_230;\n    if (cVar2 == '\0') goto LAB_00021e99;\n    if (*local_240 == '\\') {\nLAB_00021f38:\n      iVar6 = local_234 + 1;\n      if (cVar2 == 'n') {\n        if (local_23c <= local_234) {\n          local_23c = local_234 + 0x201;\n          local_238 = FUN_0001dc50(local_238,local_23c,1);\n        }\n        *(undefined1 *)(local_238 + local_234) = 10;\n        local_244 = local_230 + 2;\n        local_234 = iVar6;\n        goto LAB_00021c20;\n      }\n      if (cVar2 < 'o') {\n        if (cVar2 == 'X') {\nLAB_000223b0:\n          cVar2 = *(char *)(iVar4 + 1 + local_244);\n          bVar3 = cVar2 - 0x30;\n          if (bVar3 < 10) {\nLAB_000223db:\n            cVar2 = *(char *)(iVar4 + 2 + local_244);\n            bVar1 = cVar2 - 0x30;\n            if (9 < bVar1) {\n              if ((byte)(cVar2 + 0x9fU) < 6) {\n                bVar1 = cVar2 + 0xa9;\n              }\n              else {\n                if (5 < (byte)(cVar2 + 0xbfU)) goto LAB_00022a16;\n                bVar1 = cVar2 - 0x37;\n              }\n            }\n            if (local_23c <= local_234) {\n              local_23c = local_234 + 0x201;\n              local_238 = FUN_0001dc50(local_238,local_23c,1);\n            }\n            *(byte *)(local_238 + local_234) = bVar1 + bVar3 * '\x10';\n            local_244 = local_244 + 3;\n            local_234 = iVar6;\n          }\n          else {\n            if ((byte)(cVar2 + 0x9fU) < 6) {\n              bVar3 = cVar2 + 0xa9;\n              goto LAB_000223db;\n            }\n            if ((byte)(cVar2 + 0xbfU) < 6) {\n              bVar3 = cVar2 - 0x37;\n              goto LAB_000223db;\n            }\nLAB_00022a16:\n            if (local_23c <= local_234) {\n              local_23c = local_234 + 0x201;\n              local_238 = FUN_0001dc50(local_238,local_23c,1);\n            }\n            *(undefined1 *)(local_238 + local_234) = 0x5c;\n            local_234 = iVar6;\n          }\n          goto LAB_00021c20;\n        }\n        if (cVar2 == '\\') {\n          if (local_23c <= local_234) {\n            local_23c = local_234 + 0x201;\n            local_238 = FUN_0001dc50(local_238,local_23c,1);\n          }\n          *(undefined1 *)(local_238 + local_234) = 0x5c;\n          local_244 = local_230 + 2;\n          local_234 = iVar6;\n          goto LAB_00021c20;\n        }\n        if (cVar2 == '%') {\n          if (local_23c <= local_234) {\n            local_23c = local_234 + 0x201;\n            local_238 = FUN_0001dc50(local_238,local_23c,1);\n          }\n          *(undefined1 *)(local_238 + local_234) = 0x25;\n          local_244 = local_230 + 2;\n          local_234 = iVar6;\n          goto LAB_00021c20;\n        }\n      }\n      else {\n        if (cVar2 == 't') {\n          if (local_23c <= local_234) {\n            local_23c = local_234 + 0x201;\n            local_238 = FUN_0001dc50(local_238,local_23c,1);\n          }\n          *(undefined1 *)(local_238 + local_234) = 9;\n          local_244 = local_230 + 2;\n          local_234 = iVar6;\n          goto LAB_00021c20;\n        }\n        if (cVar2 == 'x') goto LAB_000223b0;\n        if (cVar2 == 'r') {\n          if (local_23c <= local_234) {\n            local_23c = local_234 + 0x201;\n            local_238 = FUN_0001dc50(local_238,local_23c,1);\n          }\n          *(undefined1 *)(local_238 + local_234) = 0xd;\n          local_244 = local_230 + 2;\n          local_234 = iVar6;\n          goto LAB_00021c20;\n        }\n      }\n      if (local_23c <= iVar6) {\n        local_23c = local_234 + 0x202;\n        local_238 = FUN_0001dc50(local_238,local_23c,1);\n      }\n      local_244 = local_230 + 2;\n      *(undefined2 *)(local_238 + local_234) = *(undefined2 *)local_240;\n      local_234 = local_234 + 2;\n      goto LAB_00021c20;\n    }\n    if (cVar2 == '%') {\n      if (local_23c <= local_234) {\n        local_23c = local_234 + 0x201;\n        local_238 = FUN_0001dc50(local_238,local_23c,1);\n      }\n      *(undefined1 *)(local_238 + local_234) = 0x25;\n      local_244 = local_230 + 2;\n      local_234 = local_234 + 1;\n      goto LAB_00021c20;\n    }\n    iVar6 = strncasecmp(pcVar7,"host",4);\n    if (iVar6 != 0) {\n      iVar6 = strncasecmp(pcVar7,"port",4);\n      if (iVar6 == 0) {\n        cVar2 = __sprintf_chk(local_220,1,8,&DAT_0008fa68,param_2);\n        uVar11 = (uint)cVar2;\n        goto joined_r0x000221ae;\n      }\n      iVar6 = strncasecmp(pcVar7,"user",4);\n      if (iVar6 == 0) {\n        pcVar7 = (char *)FUN_00018b60(param_3,0x10);\n        sVar8 = strlen(pcVar7);\n        iVar6 = sVar8 + local_234;\n        if (local_23c < iVar6) {\n          local_23c = iVar6 + 0x200;\n          local_238 = FUN_0001dc50(local_238,local_23c,1);\n        }\n        memcpy((void *)(local_234 + local_238),pcVar7,sVar8);\n        local_244 = local_230 + 5;\n        local_234 = iVar6;\n        goto LAB_00021c20;\n      }\n      iVar6 = strncasecmp(pcVar7,"pass",4);\n      if (iVar6 == 0) {\n        pcVar7 = (char *)FUN_00018b60(param_3,0x11);\n        sVar8 = strlen(pcVar7);\n        iVar6 = sVar8 + local_234;\n        if (local_23c < iVar6) {\n          local_23c = iVar6 + 0x200;\n          local_238 = FUN_0001dc50(local_238,local_23c,1);\n        }\n        memcpy((void *)(local_234 + local_238),pcVar7,sVar8);\n        local_244 = local_230 + 5;\n        local_234 = iVar6;\n        goto LAB_00021c20;\n      }\n      iVar6 = strncasecmp(pcVar7,"proxyhost",9);\n      if (iVar6 == 0) {\n        pcVar7 = (char *)FUN_00018b60(param_3,0xe);\n        sVar8 = strlen(pcVar7);\n        iVar6 = sVar8 + local_234;\n        if (local_23c < iVar6) {\n          local_23c = iVar6 + 0x200;\n          local_238 = FUN_0001dc50(local_238,local_23c,1);\n        }\n        memcpy((void *)(local_234 + local_238),pcVar7,sVar8);\n        local_244 = local_230 + 10;\n        local_234 = iVar6;\n        goto LAB_00021c20;\n      }\n      iVar6 = strncasecmp(pcVar7,"proxyport",9);\n      if (iVar6 == 0) break;\n      if (local_23c <= local_234) {\n        local_23c = local_234 + 0x201;\n        local_238 = FUN_0001dc50(local_238,local_23c,1);\n      }\n      *(undefined1 *)(local_238 + local_234) = 0x25;\n      local_234 = local_234 + 1;\n      pcVar7 = (char *)(iVar4 + local_244);\n      cVar2 = *pcVar7;\n      iVar6 = local_244;\n      goto joined_r0x00021c28;\n    }\n    FUN_00084190(param_1,local_220,0x200);\n    puVar12 = local_220;\n    do {\n      puVar13 = puVar12;\n      uVar10 = *puVar13 + 0xfefefeff & ~*puVar13;\n      uVar11 = uVar10 & 0x80808080;\n      puVar12 = puVar13 + 1;\n    } while (uVar11 == 0);\n    bVar16 = (uVar10 & 0x8080) == 0;\n    if (bVar16) {\n      uVar11 = uVar11 >> 0x10;\n    }\n    puVar12 = (uint *)((int)puVar13 + 6);\n    if (!bVar16) {\n      puVar12 = puVar13 + 1;\n    }\n    uVar11 = (int)puVar12 + ((-3 - (uint)CARRY1((byte)uVar11,(byte)uVar11)) - (int)local_220);\njoined_r0x000221ae:\n    iVar6 = local_234 + uVar11;\n    if (local_23c < iVar6) {\n      local_23c = iVar6 + 0x200;\n      local_238 = FUN_0001dc50(local_238,local_23c,1);\n    }\n    puVar12 = (uint *)(local_234 + local_238);\n    if (uVar11 < 4) {\n      if (uVar11 != 0) {\n        *(undefined1 *)puVar12 = (undefined1)local_220[0];\n        if ((uVar11 & 2) != 0) {\n          *(undefined2 *)((int)puVar12 + (uVar11 - 2)) = *(undefined2 *)(auStack_227 + uVar11 + 5);\n        }\n      }\n    }\n    else {\n      *puVar12 = local_220[0];\n      *(undefined4 *)((int)puVar12 + (uVar11 - 4)) = *(undefined4 *)(auStack_227 + uVar11 + 3);\n      iVar5 = (int)puVar12 - (int)((uint)(puVar12 + 1) & 0xfffffffc);\n      puVar14 = (undefined4 *)((int)local_220 - iVar5);\n      puVar15 = (undefined4 *)((uint)(puVar12 + 1) & 0xfffffffc);\n      for (uVar11 = uVar11 + iVar5 >> 2; uVar11 != 0; uVar11 = uVar11 - 1) {\n        *puVar15 = *puVar14;\n        puVar14 = puVar14 + (uint)bVar17 * -2 + 1;\n        puVar15 = puVar15 + (uint)bVar17 * -2 + 1;\n      }\n    }\n    local_244 = local_230 + 5;\n    local_234 = iVar6;\n  } while( true );\n  uVar9 = FUN_000189b0(param_3,0xf);\n  __sprintf_chk(local_220,1,0x32,"%d",uVar9);\n  puVar12 = local_220;\n  do {\n    puVar13 = puVar12;\n    uVar10 = *puVar13 + 0xfefefeff & ~*puVar13;\n    uVar11 = uVar10 & 0x80808080;\n    puVar12 = puVar13 + 1;\n  } while (uVar11 == 0);\n  bVar16 = (uVar10 & 0x8080) == 0;\n  if (bVar16) {\n    uVar11 = uVar11 >> 0x10;\n  }\n  if (bVar16) {\n    puVar12 = (uint *)((int)puVar13 + 6);\n  }\n  uVar11 = (int)puVar12 + ((-3 - (uint)CARRY1((byte)uVar11,(byte)uVar11)) - (int)local_220);\n  iVar6 = local_234 + uVar11;\n  if (local_23c < iVar6) {\n    local_23c = iVar6 + 0x200;\n    local_238 = FUN_0001dc50(local_238,local_23c,1);\n  }\n  puVar12 = (uint *)(local_234 + local_238);\n  if (uVar11 < 4) {\n    if (uVar11 != 0) {\n      *(undefined1 *)puVar12 = (undefined1)local_220[0];\n      if ((uVar11 & 2) != 0) {\n        *(undefined2 *)((int)puVar12 + (uVar11 - 2)) = *(undefined2 *)(auStack_227 + uVar11 + 5);\n      }\n    }\n  }\n  else {\n    *puVar12 = local_220[0];\n    *(undefined4 *)((int)puVar12 + (uVar11 - 4)) = *(undefined4 *)(auStack_227 + uVar11 + 3);\n    iVar5 = (int)puVar12 - ((uint)(puVar12 + 1) & 0xfffffffc);\n    uVar11 = iVar5 + uVar11 & 0xfffffffc;\n    if (3 < uVar11) {\n      uVar10 = 0;\n      do {\n        *(undefined4 *)(((uint)(puVar12 + 1) & 0xfffffffc) + uVar10) =\n             *(undefined4 *)((int)local_220 + (uVar10 - iVar5));\n        uVar10 = uVar10 + 4;\n      } while (uVar10 < uVar11);\n    }\n  }\n  local_244 = local_230 + 10;\n  local_234 = iVar6;\n  goto LAB_00021c20;\n}" { (declaration "byte bVar1;" type_identifier identifier ;) (declaration "char cVar2;" primitive_type identifier ;) (declaration "byte bVar3;" type_identifier identifier ;) (declaration "int iVar4;" primitive_type identifier ;) (declaration "int iVar5;" primitive_type identifier ;) (declaration "int iVar6;" primitive_type identifier ;) (declaration "char *pcVar7;" primitive_type (pointer_declarator "*pcVar7" * identifier) ;) (declaration "size_t sVar8;" primitive_type identifier ;) (declaration "undefined4 uVar9;" type_identifier identifier ;) (declaration "uint uVar10;" type_identifier identifier ;) (declaration "uint uVar11;" type_identifier identifier ;) (declaration "uint *puVar12;" type_identifier (pointer_declarator "*puVar12" * identifier) ;) (declaration "uint *puVar13;" type_identifier (pointer_declarator "*puVar13" * identifier) ;) (declaration "undefined4 *puVar14;" type_identifier (pointer_declarator "*puVar14" * identifier) ;) (declaration "undefined4 *puVar15;" type_identifier (pointer_declarator "*puVar15" * identifier) ;) (declaration "int in_GS_OFFSET;" primitive_type identifier ;) (declaration "bool bVar16;" primitive_type identifier ;) (declaration "byte bVar17;" type_identifier identifier ;) (declaration "int local_244;" primitive_type identifier ;) (declaration "char *local_240;" primitive_type (pointer_declarator "*local_240" * identifier) ;) (declaration "int local_23c;" primitive_type identifier ;) (declaration "int local_238;" primitive_type identifier ;) (declaration "int local_234;" primitive_type identifier ;) (declaration "int local_230;" primitive_type identifier ;) (declaration "undefined1 auStack_227 [5];" type_identifier (array_declarator "auStack_227 [5]" identifier [ number_literal ]) ;) (declaration "undefined2 uStack_222;" type_identifier identifier ;) (declaration "uint local_220 [128];" type_identifier (array_declarator "local_220 [128]" identifier [ number_literal ]) ;) (declaration "int local_20;" primitive_type identifier ;) (declaration "undefined4 uStack_14;" type_identifier identifier ;) (expression_statement "bVar17 = 0;" (assignment_expression "bVar17 = 0" identifier = number_literal) ;) (expression_statement "local_244 = 0;" (assignment_expression "local_244 = 0" identifier = number_literal) ;) (expression_statement "uStack_14 = 0x21bad;" (assignment_expression "uStack_14 = 0x21bad" identifier = number_literal) ;) (expression_statement "local_20 = *(int *)(in_GS_OFFSET + 0x14);" (assignment_expression "local_20 = *(int *)(in_GS_OFFSET + 0x14)" identifier = (pointer_expression "*(int *)(in_GS_OFFSET + 0x14)" * (cast_expression "(int *)(in_GS_OFFSET + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_GS_OFFSET + 0x14)" ( (binary_expression "in_GS_OFFSET + 0x14" identifier + number_literal) ))))) ;) (expression_statement "iVar4 = FUN_00018b60(param_3,0x12);" (assignment_expression "iVar4 = FUN_00018b60(param_3,0x12)" identifier = (call_expression "FUN_00018b60(param_3,0x12)" identifier (argument_list "(param_3,0x12)" ( identifier , number_literal )))) ;) (expression_statement "local_23c = 0;" (assignment_expression "local_23c = 0" identifier = number_literal) ;) (expression_statement "local_234 = 0;" (assignment_expression "local_234 = 0" identifier = number_literal) ;) (expression_statement "local_238 = 0;" (assignment_expression "local_238 = 0" identifier = number_literal) ;) (labeled_statement "LAB_00021c20:\n  do {\n    pcVar7 = (char *)(iVar4 + local_244);\n    cVar2 = *pcVar7;\n    iVar6 = local_244;\njoined_r0x00021c28:\n    if (cVar2 == '\0') {\nLAB_00021e3b:\n      if (local_234 < local_23c) goto LAB_00021e4d;\nLAB_00021eed:\n      local_238 = FUN_0001dc50(local_238,local_234 + 0x201,1);\nLAB_00021e4d:\n      *(undefined1 *)(local_238 + local_234) = 0;\n      if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    \n        FUN_0008d800();\n      }\n      return;\n    }\n    local_240 = pcVar7;\n    local_230 = iVar6;\n    if (cVar2 != '%') {\n      if (cVar2 != '\\') {\n        do {\n          local_244 = local_230 + 1;\n          cVar2 = *(char *)(iVar4 + local_244);\n          if ((cVar2 == '\0') || (cVar2 == '%')) {\n            if (cVar2 == '\0') goto LAB_00021e99;\n            break;\n          }\n          local_230 = local_244;\n        } while (cVar2 != '\\');\n        local_240 = (char *)(iVar4 + local_244);\n        local_230 = local_244;\n        if (iVar6 != local_244) {\n          iVar5 = (local_234 + local_244) - iVar6;\n          if (local_23c < iVar5) {\n            local_23c = iVar5 + 0x200;\n            local_238 = FUN_0001dc50(local_238,local_23c,1);\n          }\n          memcpy((void *)(local_238 + local_234),pcVar7,local_244 - iVar6);\n          local_234 = local_234 + (local_244 - iVar6);\n          local_230 = local_244;\n        }\n        goto LAB_00021cd4;\n      }\n      local_244 = iVar6 + 1;\n      cVar2 = *(char *)(iVar4 + 1 + iVar6);\n      if (cVar2 != '\0') goto LAB_00021f38;\nLAB_00021e99:\n      if (iVar6 == local_244) goto LAB_00021e3b;\n      iVar5 = (local_234 + local_244) - iVar6;\n      if (local_23c < iVar5) {\n        local_23c = iVar5 + 0x200;\n        local_238 = FUN_0001dc50(local_238,local_23c,1);\n      }\n      memcpy((void *)(local_238 + local_234),(void *)(iVar6 + iVar4),local_244 - iVar6);\n      local_234 = local_234 + (local_244 - iVar6);\n      if (local_234 < local_23c) goto LAB_00021e4d;\n      goto LAB_00021eed;\n    }\nLAB_00021cd4:\n    local_244 = local_230 + 1;\n    pcVar7 = (char *)(iVar4 + local_244);\n    cVar2 = *pcVar7;\n    iVar6 = local_230;\n    if (cVar2 == '\0') goto LAB_00021e99;\n    if (*local_240 == '\\') {\nLAB_00021f38:\n      iVar6 = local_234 + 1;\n      if (cVar2 == 'n') {\n        if (local_23c <= local_234) {\n          local_23c = local_234 + 0x201;\n          local_238 = FUN_0001dc50(local_238,local_23c,1);\n        }\n        *(undefined1 *)(local_238 + local_234) = 10;\n        local_244 = local_230 + 2;\n        local_234 = iVar6;\n        goto LAB_00021c20;\n      }\n      if (cVar2 < 'o') {\n        if (cVar2 == 'X') {\nLAB_000223b0:\n          cVar2 = *(char *)(iVar4 + 1 + local_244);\n          bVar3 = cVar2 - 0x30;\n          if (bVar3 < 10) {\nLAB_000223db:\n            cVar2 = *(char *)(iVar4 + 2 + local_244);\n            bVar1 = cVar2 - 0x30;\n            if (9 < bVar1) {\n              if ((byte)(cVar2 + 0x9fU) < 6) {\n                bVar1 = cVar2 + 0xa9;\n              }\n              else {\n                if (5 < (byte)(cVar2 + 0xbfU)) goto LAB_00022a16;\n                bVar1 = cVar2 - 0x37;\n              }\n            }\n            if (local_23c <= local_234) {\n              local_23c = local_234 + 0x201;\n              local_238 = FUN_0001dc50(local_238,local_23c,1);\n            }\n            *(byte *)(local_238 + local_234) = bVar1 + bVar3 * '\x10';\n            local_244 = local_244 + 3;\n            local_234 = iVar6;\n          }\n          else {\n            if ((byte)(cVar2 + 0x9fU) < 6) {\n              bVar3 = cVar2 + 0xa9;\n              goto LAB_000223db;\n            }\n            if ((byte)(cVar2 + 0xbfU) < 6) {\n              bVar3 = cVar2 - 0x37;\n              goto LAB_000223db;\n            }\nLAB_00022a16:\n            if (local_23c <= local_234) {\n              local_23c = local_234 + 0x201;\n              local_238 = FUN_0001dc50(local_238,local_23c,1);\n            }\n            *(undefined1 *)(local_238 + local_234) = 0x5c;\n            local_234 = iVar6;\n          }\n          goto LAB_00021c20;\n        }\n        if (cVar2 == '\\') {\n          if (local_23c <= local_234) {\n            local_23c = local_234 + 0x201;\n            local_238 = FUN_0001dc50(local_238,local_23c,1);\n          }\n          *(undefined1 *)(local_238 + local_234) = 0x5c;\n          local_244 = local_230 + 2;\n          local_234 = iVar6;\n          goto LAB_00021c20;\n        }\n        if (cVar2 == '%') {\n          if (local_23c <= local_234) {\n            local_23c = local_234 + 0x201;\n            local_238 = FUN_0001dc50(local_238,local_23c,1);\n          }\n          *(undefined1 *)(local_238 + local_234) = 0x25;\n          local_244 = local_230 + 2;\n          local_234 = iVar6;\n          goto LAB_00021c20;\n        }\n      }\n      else {\n        if (cVar2 == 't') {\n          if (local_23c <= local_234) {\n            local_23c = local_234 + 0x201;\n            local_238 = FUN_0001dc50(local_238,local_23c,1);\n          }\n          *(undefined1 *)(local_238 + local_234) = 9;\n          local_244 = local_230 + 2;\n          local_234 = iVar6;\n          goto LAB_00021c20;\n        }\n        if (cVar2 == 'x') goto LAB_000223b0;\n        if (cVar2 == 'r') {\n          if (local_23c <= local_234) {\n            local_23c = local_234 + 0x201;\n            local_238 = FUN_0001dc50(local_238,local_23c,1);\n          }\n          *(undefined1 *)(local_238 + local_234) = 0xd;\n          local_244 = local_230 + 2;\n          local_234 = iVar6;\n          goto LAB_00021c20;\n        }\n      }\n      if (local_23c <= iVar6) {\n        local_23c = local_234 + 0x202;\n        local_238 = FUN_0001dc50(local_238,local_23c,1);\n      }\n      local_244 = local_230 + 2;\n      *(undefined2 *)(local_238 + local_234) = *(undefined2 *)local_240;\n      local_234 = local_234 + 2;\n      goto LAB_00021c20;\n    }\n    if (cVar2 == '%') {\n      if (local_23c <= local_234) {\n        local_23c = local_234 + 0x201;\n        local_238 = FUN_0001dc50(local_238,local_23c,1);\n      }\n      *(undefined1 *)(local_238 + local_234) = 0x25;\n      local_244 = local_230 + 2;\n      local_234 = local_234 + 1;\n      goto LAB_00021c20;\n    }\n    iVar6 = strncasecmp(pcVar7,"host",4);\n    if (iVar6 != 0) {\n      iVar6 = strncasecmp(pcVar7,"port",4);\n      if (iVar6 == 0) {\n        cVar2 = __sprintf_chk(local_220,1,8,&DAT_0008fa68,param_2);\n        uVar11 = (uint)cVar2;\n        goto joined_r0x000221ae;\n      }\n      iVar6 = strncasecmp(pcVar7,"user",4);\n      if (iVar6 == 0) {\n        pcVar7 = (char *)FUN_00018b60(param_3,0x10);\n        sVar8 = strlen(pcVar7);\n        iVar6 = sVar8 + local_234;\n        if (local_23c < iVar6) {\n          local_23c = iVar6 + 0x200;\n          local_238 = FUN_0001dc50(local_238,local_23c,1);\n        }\n        memcpy((void *)(local_234 + local_238),pcVar7,sVar8);\n        local_244 = local_230 + 5;\n        local_234 = iVar6;\n        goto LAB_00021c20;\n      }\n      iVar6 = strncasecmp(pcVar7,"pass",4);\n      if (iVar6 == 0) {\n        pcVar7 = (char *)FUN_00018b60(param_3,0x11);\n        sVar8 = strlen(pcVar7);\n        iVar6 = sVar8 + local_234;\n        if (local_23c < iVar6) {\n          local_23c = iVar6 + 0x200;\n          local_238 = FUN_0001dc50(local_238,local_23c,1);\n        }\n        memcpy((void *)(local_234 + local_238),pcVar7,sVar8);\n        local_244 = local_230 + 5;\n        local_234 = iVar6;\n        goto LAB_00021c20;\n      }\n      iVar6 = strncasecmp(pcVar7,"proxyhost",9);\n      if (iVar6 == 0) {\n        pcVar7 = (char *)FUN_00018b60(param_3,0xe);\n        sVar8 = strlen(pcVar7);\n        iVar6 = sVar8 + local_234;\n        if (local_23c < iVar6) {\n          local_23c = iVar6 + 0x200;\n          local_238 = FUN_0001dc50(local_238,local_23c,1);\n        }\n        memcpy((void *)(local_234 + local_238),pcVar7,sVar8);\n        local_244 = local_230 + 10;\n        local_234 = iVar6;\n        goto LAB_00021c20;\n      }\n      iVar6 = strncasecmp(pcVar7,"proxyport",9);\n      if (iVar6 == 0) break;\n      if (local_23c <= local_234) {\n        local_23c = local_234 + 0x201;\n        local_238 = FUN_0001dc50(local_238,local_23c,1);\n      }\n      *(undefined1 *)(local_238 + local_234) = 0x25;\n      local_234 = local_234 + 1;\n      pcVar7 = (char *)(iVar4 + local_244);\n      cVar2 = *pcVar7;\n      iVar6 = local_244;\n      goto joined_r0x00021c28;\n    }\n    FUN_00084190(param_1,local_220,0x200);\n    puVar12 = local_220;\n    do {\n      puVar13 = puVar12;\n      uVar10 = *puVar13 + 0xfefefeff & ~*puVar13;\n      uVar11 = uVar10 & 0x80808080;\n      puVar12 = puVar13 + 1;\n    } while (uVar11 == 0);\n    bVar16 = (uVar10 & 0x8080) == 0;\n    if (bVar16) {\n      uVar11 = uVar11 >> 0x10;\n    }\n    puVar12 = (uint *)((int)puVar13 + 6);\n    if (!bVar16) {\n      puVar12 = puVar13 + 1;\n    }\n    uVar11 = (int)puVar12 + ((-3 - (uint)CARRY1((byte)uVar11,(byte)uVar11)) - (int)local_220);\njoined_r0x000221ae:\n    iVar6 = local_234 + uVar11;\n    if (local_23c < iVar6) {\n      local_23c = iVar6 + 0x200;\n      local_238 = FUN_0001dc50(local_238,local_23c,1);\n    }\n    puVar12 = (uint *)(local_234 + local_238);\n    if (uVar11 < 4) {\n      if (uVar11 != 0) {\n        *(undefined1 *)puVar12 = (undefined1)local_220[0];\n        if ((uVar11 & 2) != 0) {\n          *(undefined2 *)((int)puVar12 + (uVar11 - 2)) = *(undefined2 *)(auStack_227 + uVar11 + 5);\n        }\n      }\n    }\n    else {\n      *puVar12 = local_220[0];\n      *(undefined4 *)((int)puVar12 + (uVar11 - 4)) = *(undefined4 *)(auStack_227 + uVar11 + 3);\n      iVar5 = (int)puVar12 - (int)((uint)(puVar12 + 1) & 0xfffffffc);\n      puVar14 = (undefined4 *)((int)local_220 - iVar5);\n      puVar15 = (undefined4 *)((uint)(puVar12 + 1) & 0xfffffffc);\n      for (uVar11 = uVar11 + iVar5 >> 2; uVar11 != 0; uVar11 = uVar11 - 1) {\n        *puVar15 = *puVar14;\n        puVar14 = puVar14 + (uint)bVar17 * -2 + 1;\n        puVar15 = puVar15 + (uint)bVar17 * -2 + 1;\n      }\n    }\n    local_244 = local_230 + 5;\n    local_234 = iVar6;\n  } while( true );" statement_identifier : (do_statement "do {\n    pcVar7 = (char *)(iVar4 + local_244);\n    cVar2 = *pcVar7;\n    iVar6 = local_244;\njoined_r0x00021c28:\n    if (cVar2 == '\0') {\nLAB_00021e3b:\n      if (local_234 < local_23c) goto LAB_00021e4d;\nLAB_00021eed:\n      local_238 = FUN_0001dc50(local_238,local_234 + 0x201,1);\nLAB_00021e4d:\n      *(undefined1 *)(local_238 + local_234) = 0;\n      if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    \n        FUN_0008d800();\n      }\n      return;\n    }\n    local_240 = pcVar7;\n    local_230 = iVar6;\n    if (cVar2 != '%') {\n      if (cVar2 != '\\') {\n        do {\n          local_244 = local_230 + 1;\n          cVar2 = *(char *)(iVar4 + local_244);\n          if ((cVar2 == '\0') || (cVar2 == '%')) {\n            if (cVar2 == '\0') goto LAB_00021e99;\n            break;\n          }\n          local_230 = local_244;\n        } while (cVar2 != '\\');\n        local_240 = (char *)(iVar4 + local_244);\n        local_230 = local_244;\n        if (iVar6 != local_244) {\n          iVar5 = (local_234 + local_244) - iVar6;\n          if (local_23c < iVar5) {\n            local_23c = iVar5 + 0x200;\n            local_238 = FUN_0001dc50(local_238,local_23c,1);\n          }\n          memcpy((void *)(local_238 + local_234),pcVar7,local_244 - iVar6);\n          local_234 = local_234 + (local_244 - iVar6);\n          local_230 = local_244;\n        }\n        goto LAB_00021cd4;\n      }\n      local_244 = iVar6 + 1;\n      cVar2 = *(char *)(iVar4 + 1 + iVar6);\n      if (cVar2 != '\0') goto LAB_00021f38;\nLAB_00021e99:\n      if (iVar6 == local_244) goto LAB_00021e3b;\n      iVar5 = (local_234 + local_244) - iVar6;\n      if (local_23c < iVar5) {\n        local_23c = iVar5 + 0x200;\n        local_238 = FUN_0001dc50(local_238,local_23c,1);\n      }\n      memcpy((void *)(local_238 + local_234),(void *)(iVar6 + iVar4),local_244 - iVar6);\n      local_234 = local_234 + (local_244 - iVar6);\n      if (local_234 < local_23c) goto LAB_00021e4d;\n      goto LAB_00021eed;\n    }\nLAB_00021cd4:\n    local_244 = local_230 + 1;\n    pcVar7 = (char *)(iVar4 + local_244);\n    cVar2 = *pcVar7;\n    iVar6 = local_230;\n    if (cVar2 == '\0') goto LAB_00021e99;\n    if (*local_240 == '\\') {\nLAB_00021f38:\n      iVar6 = local_234 + 1;\n      if (cVar2 == 'n') {\n        if (local_23c <= local_234) {\n          local_23c = local_234 + 0x201;\n          local_238 = FUN_0001dc50(local_238,local_23c,1);\n        }\n        *(undefined1 *)(local_238 + local_234) = 10;\n        local_244 = local_230 + 2;\n        local_234 = iVar6;\n        goto LAB_00021c20;\n      }\n      if (cVar2 < 'o') {\n        if (cVar2 == 'X') {\nLAB_000223b0:\n          cVar2 = *(char *)(iVar4 + 1 + local_244);\n          bVar3 = cVar2 - 0x30;\n          if (bVar3 < 10) {\nLAB_000223db:\n            cVar2 = *(char *)(iVar4 + 2 + local_244);\n            bVar1 = cVar2 - 0x30;\n            if (9 < bVar1) {\n              if ((byte)(cVar2 + 0x9fU) < 6) {\n                bVar1 = cVar2 + 0xa9;\n              }\n              else {\n                if (5 < (byte)(cVar2 + 0xbfU)) goto LAB_00022a16;\n                bVar1 = cVar2 - 0x37;\n              }\n            }\n            if (local_23c <= local_234) {\n              local_23c = local_234 + 0x201;\n              local_238 = FUN_0001dc50(local_238,local_23c,1);\n            }\n            *(byte *)(local_238 + local_234) = bVar1 + bVar3 * '\x10';\n            local_244 = local_244 + 3;\n            local_234 = iVar6;\n          }\n          else {\n            if ((byte)(cVar2 + 0x9fU) < 6) {\n              bVar3 = cVar2 + 0xa9;\n              goto LAB_000223db;\n            }\n            if ((byte)(cVar2 + 0xbfU) < 6) {\n              bVar3 = cVar2 - 0x37;\n              goto LAB_000223db;\n            }\nLAB_00022a16:\n            if (local_23c <= local_234) {\n              local_23c = local_234 + 0x201;\n              local_238 = FUN_0001dc50(local_238,local_23c,1);\n            }\n            *(undefined1 *)(local_238 + local_234) = 0x5c;\n            local_234 = iVar6;\n          }\n          goto LAB_00021c20;\n        }\n        if (cVar2 == '\\') {\n          if (local_23c <= local_234) {\n            local_23c = local_234 + 0x201;\n            local_238 = FUN_0001dc50(local_238,local_23c,1);\n          }\n          *(undefined1 *)(local_238 + local_234) = 0x5c;\n          local_244 = local_230 + 2;\n          local_234 = iVar6;\n          goto LAB_00021c20;\n        }\n        if (cVar2 == '%') {\n          if (local_23c <= local_234) {\n            local_23c = local_234 + 0x201;\n            local_238 = FUN_0001dc50(local_238,local_23c,1);\n          }\n          *(undefined1 *)(local_238 + local_234) = 0x25;\n          local_244 = local_230 + 2;\n          local_234 = iVar6;\n          goto LAB_00021c20;\n        }\n      }\n      else {\n        if (cVar2 == 't') {\n          if (local_23c <= local_234) {\n            local_23c = local_234 + 0x201;\n            local_238 = FUN_0001dc50(local_238,local_23c,1);\n          }\n          *(undefined1 *)(local_238 + local_234) = 9;\n          local_244 = local_230 + 2;\n          local_234 = iVar6;\n          goto LAB_00021c20;\n        }\n        if (cVar2 == 'x') goto LAB_000223b0;\n        if (cVar2 == 'r') {\n          if (local_23c <= local_234) {\n            local_23c = local_234 + 0x201;\n            local_238 = FUN_0001dc50(local_238,local_23c,1);\n          }\n          *(undefined1 *)(local_238 + local_234) = 0xd;\n          local_244 = local_230 + 2;\n          local_234 = iVar6;\n          goto LAB_00021c20;\n        }\n      }\n      if (local_23c <= iVar6) {\n        local_23c = local_234 + 0x202;\n        local_238 = FUN_0001dc50(local_238,local_23c,1);\n      }\n      local_244 = local_230 + 2;\n      *(undefined2 *)(local_238 + local_234) = *(undefined2 *)local_240;\n      local_234 = local_234 + 2;\n      goto LAB_00021c20;\n    }\n    if (cVar2 == '%') {\n      if (local_23c <= local_234) {\n        local_23c = local_234 + 0x201;\n        local_238 = FUN_0001dc50(local_238,local_23c,1);\n      }\n      *(undefined1 *)(local_238 + local_234) = 0x25;\n      local_244 = local_230 + 2;\n      local_234 = local_234 + 1;\n      goto LAB_00021c20;\n    }\n    iVar6 = strncasecmp(pcVar7,"host",4);\n    if (iVar6 != 0) {\n      iVar6 = strncasecmp(pcVar7,"port",4);\n      if (iVar6 == 0) {\n        cVar2 = __sprintf_chk(local_220,1,8,&DAT_0008fa68,param_2);\n        uVar11 = (uint)cVar2;\n        goto joined_r0x000221ae;\n      }\n      iVar6 = strncasecmp(pcVar7,"user",4);\n      if (iVar6 == 0) {\n        pcVar7 = (char *)FUN_00018b60(param_3,0x10);\n        sVar8 = strlen(pcVar7);\n        iVar6 = sVar8 + local_234;\n        if (local_23c < iVar6) {\n          local_23c = iVar6 + 0x200;\n          local_238 = FUN_0001dc50(local_238,local_23c,1);\n        }\n        memcpy((void *)(local_234 + local_238),pcVar7,sVar8);\n        local_244 = local_230 + 5;\n        local_234 = iVar6;\n        goto LAB_00021c20;\n      }\n      iVar6 = strncasecmp(pcVar7,"pass",4);\n      if (iVar6 == 0) {\n        pcVar7 = (char *)FUN_00018b60(param_3,0x11);\n        sVar8 = strlen(pcVar7);\n        iVar6 = sVar8 + local_234;\n        if (local_23c < iVar6) {\n          local_23c = iVar6 + 0x200;\n          local_238 = FUN_0001dc50(local_238,local_23c,1);\n        }\n        memcpy((void *)(local_234 + local_238),pcVar7,sVar8);\n        local_244 = local_230 + 5;\n        local_234 = iVar6;\n        goto LAB_00021c20;\n      }\n      iVar6 = strncasecmp(pcVar7,"proxyhost",9);\n      if (iVar6 == 0) {\n        pcVar7 = (char *)FUN_00018b60(param_3,0xe);\n        sVar8 = strlen(pcVar7);\n        iVar6 = sVar8 + local_234;\n        if (local_23c < iVar6) {\n          local_23c = iVar6 + 0x200;\n          local_238 = FUN_0001dc50(local_238,local_23c,1);\n        }\n        memcpy((void *)(local_234 + local_238),pcVar7,sVar8);\n        local_244 = local_230 + 10;\n        local_234 = iVar6;\n        goto LAB_00021c20;\n      }\n      iVar6 = strncasecmp(pcVar7,"proxyport",9);\n      if (iVar6 == 0) break;\n      if (local_23c <= local_234) {\n        local_23c = local_234 + 0x201;\n        local_238 = FUN_0001dc50(local_238,local_23c,1);\n      }\n      *(undefined1 *)(local_238 + local_234) = 0x25;\n      local_234 = local_234 + 1;\n      pcVar7 = (char *)(iVar4 + local_244);\n      cVar2 = *pcVar7;\n      iVar6 = local_244;\n      goto joined_r0x00021c28;\n    }\n    FUN_00084190(param_1,local_220,0x200);\n    puVar12 = local_220;\n    do {\n      puVar13 = puVar12;\n      uVar10 = *puVar13 + 0xfefefeff & ~*puVar13;\n      uVar11 = uVar10 & 0x80808080;\n      puVar12 = puVar13 + 1;\n    } while (uVar11 == 0);\n    bVar16 = (uVar10 & 0x8080) == 0;\n    if (bVar16) {\n      uVar11 = uVar11 >> 0x10;\n    }\n    puVar12 = (uint *)((int)puVar13 + 6);\n    if (!bVar16) {\n      puVar12 = puVar13 + 1;\n    }\n    uVar11 = (int)puVar12 + ((-3 - (uint)CARRY1((byte)uVar11,(byte)uVar11)) - (int)local_220);\njoined_r0x000221ae:\n    iVar6 = local_234 + uVar11;\n    if (local_23c < iVar6) {\n      local_23c = iVar6 + 0x200;\n      local_238 = FUN_0001dc50(local_238,local_23c,1);\n    }\n    puVar12 = (uint *)(local_234 + local_238);\n    if (uVar11 < 4) {\n      if (uVar11 != 0) {\n        *(undefined1 *)puVar12 = (undefined1)local_220[0];\n        if ((uVar11 & 2) != 0) {\n          *(undefined2 *)((int)puVar12 + (uVar11 - 2)) = *(undefined2 *)(auStack_227 + uVar11 + 5);\n        }\n      }\n    }\n    else {\n      *puVar12 = local_220[0];\n      *(undefined4 *)((int)puVar12 + (uVar11 - 4)) = *(undefined4 *)(auStack_227 + uVar11 + 3);\n      iVar5 = (int)puVar12 - (int)((uint)(puVar12 + 1) & 0xfffffffc);\n      puVar14 = (undefined4 *)((int)local_220 - iVar5);\n      puVar15 = (undefined4 *)((uint)(puVar12 + 1) & 0xfffffffc);\n      for (uVar11 = uVar11 + iVar5 >> 2; uVar11 != 0; uVar11 = uVar11 - 1) {\n        *puVar15 = *puVar14;\n        puVar14 = puVar14 + (uint)bVar17 * -2 + 1;\n        puVar15 = puVar15 + (uint)bVar17 * -2 + 1;\n      }\n    }\n    local_244 = local_230 + 5;\n    local_234 = iVar6;\n  } while( true );" do (compound_statement "{\n    pcVar7 = (char *)(iVar4 + local_244);\n    cVar2 = *pcVar7;\n    iVar6 = local_244;\njoined_r0x00021c28:\n    if (cVar2 == '\0') {\nLAB_00021e3b:\n      if (local_234 < local_23c) goto LAB_00021e4d;\nLAB_00021eed:\n      local_238 = FUN_0001dc50(local_238,local_234 + 0x201,1);\nLAB_00021e4d:\n      *(undefined1 *)(local_238 + local_234) = 0;\n      if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    \n        FUN_0008d800();\n      }\n      return;\n    }\n    local_240 = pcVar7;\n    local_230 = iVar6;\n    if (cVar2 != '%') {\n      if (cVar2 != '\\') {\n        do {\n          local_244 = local_230 + 1;\n          cVar2 = *(char *)(iVar4 + local_244);\n          if ((cVar2 == '\0') || (cVar2 == '%')) {\n            if (cVar2 == '\0') goto LAB_00021e99;\n            break;\n          }\n          local_230 = local_244;\n        } while (cVar2 != '\\');\n        local_240 = (char *)(iVar4 + local_244);\n        local_230 = local_244;\n        if (iVar6 != local_244) {\n          iVar5 = (local_234 + local_244) - iVar6;\n          if (local_23c < iVar5) {\n            local_23c = iVar5 + 0x200;\n            local_238 = FUN_0001dc50(local_238,local_23c,1);\n          }\n          memcpy((void *)(local_238 + local_234),pcVar7,local_244 - iVar6);\n          local_234 = local_234 + (local_244 - iVar6);\n          local_230 = local_244;\n        }\n        goto LAB_00021cd4;\n      }\n      local_244 = iVar6 + 1;\n      cVar2 = *(char *)(iVar4 + 1 + iVar6);\n      if (cVar2 != '\0') goto LAB_00021f38;\nLAB_00021e99:\n      if (iVar6 == local_244) goto LAB_00021e3b;\n      iVar5 = (local_234 + local_244) - iVar6;\n      if (local_23c < iVar5) {\n        local_23c = iVar5 + 0x200;\n        local_238 = FUN_0001dc50(local_238,local_23c,1);\n      }\n      memcpy((void *)(local_238 + local_234),(void *)(iVar6 + iVar4),local_244 - iVar6);\n      local_234 = local_234 + (local_244 - iVar6);\n      if (local_234 < local_23c) goto LAB_00021e4d;\n      goto LAB_00021eed;\n    }\nLAB_00021cd4:\n    local_244 = local_230 + 1;\n    pcVar7 = (char *)(iVar4 + local_244);\n    cVar2 = *pcVar7;\n    iVar6 = local_230;\n    if (cVar2 == '\0') goto LAB_00021e99;\n    if (*local_240 == '\\') {\nLAB_00021f38:\n      iVar6 = local_234 + 1;\n      if (cVar2 == 'n') {\n        if (local_23c <= local_234) {\n          local_23c = local_234 + 0x201;\n          local_238 = FUN_0001dc50(local_238,local_23c,1);\n        }\n        *(undefined1 *)(local_238 + local_234) = 10;\n        local_244 = local_230 + 2;\n        local_234 = iVar6;\n        goto LAB_00021c20;\n      }\n      if (cVar2 < 'o') {\n        if (cVar2 == 'X') {\nLAB_000223b0:\n          cVar2 = *(char *)(iVar4 + 1 + local_244);\n          bVar3 = cVar2 - 0x30;\n          if (bVar3 < 10) {\nLAB_000223db:\n            cVar2 = *(char *)(iVar4 + 2 + local_244);\n            bVar1 = cVar2 - 0x30;\n            if (9 < bVar1) {\n              if ((byte)(cVar2 + 0x9fU) < 6) {\n                bVar1 = cVar2 + 0xa9;\n              }\n              else {\n                if (5 < (byte)(cVar2 + 0xbfU)) goto LAB_00022a16;\n                bVar1 = cVar2 - 0x37;\n              }\n            }\n            if (local_23c <= local_234) {\n              local_23c = local_234 + 0x201;\n              local_238 = FUN_0001dc50(local_238,local_23c,1);\n            }\n            *(byte *)(local_238 + local_234) = bVar1 + bVar3 * '\x10';\n            local_244 = local_244 + 3;\n            local_234 = iVar6;\n          }\n          else {\n            if ((byte)(cVar2 + 0x9fU) < 6) {\n              bVar3 = cVar2 + 0xa9;\n              goto LAB_000223db;\n            }\n            if ((byte)(cVar2 + 0xbfU) < 6) {\n              bVar3 = cVar2 - 0x37;\n              goto LAB_000223db;\n            }\nLAB_00022a16:\n            if (local_23c <= local_234) {\n              local_23c = local_234 + 0x201;\n              local_238 = FUN_0001dc50(local_238,local_23c,1);\n            }\n            *(undefined1 *)(local_238 + local_234) = 0x5c;\n            local_234 = iVar6;\n          }\n          goto LAB_00021c20;\n        }\n        if (cVar2 == '\\') {\n          if (local_23c <= local_234) {\n            local_23c = local_234 + 0x201;\n            local_238 = FUN_0001dc50(local_238,local_23c,1);\n          }\n          *(undefined1 *)(local_238 + local_234) = 0x5c;\n          local_244 = local_230 + 2;\n          local_234 = iVar6;\n          goto LAB_00021c20;\n        }\n        if (cVar2 == '%') {\n          if (local_23c <= local_234) {\n            local_23c = local_234 + 0x201;\n            local_238 = FUN_0001dc50(local_238,local_23c,1);\n          }\n          *(undefined1 *)(local_238 + local_234) = 0x25;\n          local_244 = local_230 + 2;\n          local_234 = iVar6;\n          goto LAB_00021c20;\n        }\n      }\n      else {\n        if (cVar2 == 't') {\n          if (local_23c <= local_234) {\n            local_23c = local_234 + 0x201;\n            local_238 = FUN_0001dc50(local_238,local_23c,1);\n          }\n          *(undefined1 *)(local_238 + local_234) = 9;\n          local_244 = local_230 + 2;\n          local_234 = iVar6;\n          goto LAB_00021c20;\n        }\n        if (cVar2 == 'x') goto LAB_000223b0;\n        if (cVar2 == 'r') {\n          if (local_23c <= local_234) {\n            local_23c = local_234 + 0x201;\n            local_238 = FUN_0001dc50(local_238,local_23c,1);\n          }\n          *(undefined1 *)(local_238 + local_234) = 0xd;\n          local_244 = local_230 + 2;\n          local_234 = iVar6;\n          goto LAB_00021c20;\n        }\n      }\n      if (local_23c <= iVar6) {\n        local_23c = local_234 + 0x202;\n        local_238 = FUN_0001dc50(local_238,local_23c,1);\n      }\n      local_244 = local_230 + 2;\n      *(undefined2 *)(local_238 + local_234) = *(undefined2 *)local_240;\n      local_234 = local_234 + 2;\n      goto LAB_00021c20;\n    }\n    if (cVar2 == '%') {\n      if (local_23c <= local_234) {\n        local_23c = local_234 + 0x201;\n        local_238 = FUN_0001dc50(local_238,local_23c,1);\n      }\n      *(undefined1 *)(local_238 + local_234) = 0x25;\n      local_244 = local_230 + 2;\n      local_234 = local_234 + 1;\n      goto LAB_00021c20;\n    }\n    iVar6 = strncasecmp(pcVar7,"host",4);\n    if (iVar6 != 0) {\n      iVar6 = strncasecmp(pcVar7,"port",4);\n      if (iVar6 == 0) {\n        cVar2 = __sprintf_chk(local_220,1,8,&DAT_0008fa68,param_2);\n        uVar11 = (uint)cVar2;\n        goto joined_r0x000221ae;\n      }\n      iVar6 = strncasecmp(pcVar7,"user",4);\n      if (iVar6 == 0) {\n        pcVar7 = (char *)FUN_00018b60(param_3,0x10);\n        sVar8 = strlen(pcVar7);\n        iVar6 = sVar8 + local_234;\n        if (local_23c < iVar6) {\n          local_23c = iVar6 + 0x200;\n          local_238 = FUN_0001dc50(local_238,local_23c,1);\n        }\n        memcpy((void *)(local_234 + local_238),pcVar7,sVar8);\n        local_244 = local_230 + 5;\n        local_234 = iVar6;\n        goto LAB_00021c20;\n      }\n      iVar6 = strncasecmp(pcVar7,"pass",4);\n      if (iVar6 == 0) {\n        pcVar7 = (char *)FUN_00018b60(param_3,0x11);\n        sVar8 = strlen(pcVar7);\n        iVar6 = sVar8 + local_234;\n        if (local_23c < iVar6) {\n          local_23c = iVar6 + 0x200;\n          local_238 = FUN_0001dc50(local_238,local_23c,1);\n        }\n        memcpy((void *)(local_234 + local_238),pcVar7,sVar8);\n        local_244 = local_230 + 5;\n        local_234 = iVar6;\n        goto LAB_00021c20;\n      }\n      iVar6 = strncasecmp(pcVar7,"proxyhost",9);\n      if (iVar6 == 0) {\n        pcVar7 = (char *)FUN_00018b60(param_3,0xe);\n        sVar8 = strlen(pcVar7);\n        iVar6 = sVar8 + local_234;\n        if (local_23c < iVar6) {\n          local_23c = iVar6 + 0x200;\n          local_238 = FUN_0001dc50(local_238,local_23c,1);\n        }\n        memcpy((void *)(local_234 + local_238),pcVar7,sVar8);\n        local_244 = local_230 + 10;\n        local_234 = iVar6;\n        goto LAB_00021c20;\n      }\n      iVar6 = strncasecmp(pcVar7,"proxyport",9);\n      if (iVar6 == 0) break;\n      if (local_23c <= local_234) {\n        local_23c = local_234 + 0x201;\n        local_238 = FUN_0001dc50(local_238,local_23c,1);\n      }\n      *(undefined1 *)(local_238 + local_234) = 0x25;\n      local_234 = local_234 + 1;\n      pcVar7 = (char *)(iVar4 + local_244);\n      cVar2 = *pcVar7;\n      iVar6 = local_244;\n      goto joined_r0x00021c28;\n    }\n    FUN_00084190(param_1,local_220,0x200);\n    puVar12 = local_220;\n    do {\n      puVar13 = puVar12;\n      uVar10 = *puVar13 + 0xfefefeff & ~*puVar13;\n      uVar11 = uVar10 & 0x80808080;\n      puVar12 = puVar13 + 1;\n    } while (uVar11 == 0);\n    bVar16 = (uVar10 & 0x8080) == 0;\n    if (bVar16) {\n      uVar11 = uVar11 >> 0x10;\n    }\n    puVar12 = (uint *)((int)puVar13 + 6);\n    if (!bVar16) {\n      puVar12 = puVar13 + 1;\n    }\n    uVar11 = (int)puVar12 + ((-3 - (uint)CARRY1((byte)uVar11,(byte)uVar11)) - (int)local_220);\njoined_r0x000221ae:\n    iVar6 = local_234 + uVar11;\n    if (local_23c < iVar6) {\n      local_23c = iVar6 + 0x200;\n      local_238 = FUN_0001dc50(local_238,local_23c,1);\n    }\n    puVar12 = (uint *)(local_234 + local_238);\n    if (uVar11 < 4) {\n      if (uVar11 != 0) {\n        *(undefined1 *)puVar12 = (undefined1)local_220[0];\n        if ((uVar11 & 2) != 0) {\n          *(undefined2 *)((int)puVar12 + (uVar11 - 2)) = *(undefined2 *)(auStack_227 + uVar11 + 5);\n        }\n      }\n    }\n    else {\n      *puVar12 = local_220[0];\n      *(undefined4 *)((int)puVar12 + (uVar11 - 4)) = *(undefined4 *)(auStack_227 + uVar11 + 3);\n      iVar5 = (int)puVar12 - (int)((uint)(puVar12 + 1) & 0xfffffffc);\n      puVar14 = (undefined4 *)((int)local_220 - iVar5);\n      puVar15 = (undefined4 *)((uint)(puVar12 + 1) & 0xfffffffc);\n      for (uVar11 = uVar11 + iVar5 >> 2; uVar11 != 0; uVar11 = uVar11 - 1) {\n        *puVar15 = *puVar14;\n        puVar14 = puVar14 + (uint)bVar17 * -2 + 1;\n        puVar15 = puVar15 + (uint)bVar17 * -2 + 1;\n      }\n    }\n    local_244 = local_230 + 5;\n    local_234 = iVar6;\n  }" { (expression_statement "pcVar7 = (char *)(iVar4 + local_244);" (assignment_expression "pcVar7 = (char *)(iVar4 + local_244)" identifier = (cast_expression "(char *)(iVar4 + local_244)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + local_244)" ( (binary_expression "iVar4 + local_244" identifier + identifier) )))) ;) (expression_statement "cVar2 = *pcVar7;" (assignment_expression "cVar2 = *pcVar7" identifier = (pointer_expression "*pcVar7" * identifier)) ;) (expression_statement "iVar6 = local_244;" (assignment_expression "iVar6 = local_244" identifier = identifier) ;) (labeled_statement "joined_r0x00021c28:\n    if (cVar2 == '\0') {\nLAB_00021e3b:\n      if (local_234 < local_23c) goto LAB_00021e4d;\nLAB_00021eed:\n      local_238 = FUN_0001dc50(local_238,local_234 + 0x201,1);\nLAB_00021e4d:\n      *(undefined1 *)(local_238 + local_234) = 0;\n      if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    \n        FUN_0008d800();\n      }\n      return;\n    }" statement_identifier : (if_statement "if (cVar2 == '\0') {\nLAB_00021e3b:\n      if (local_234 < local_23c) goto LAB_00021e4d;\nLAB_00021eed:\n      local_238 = FUN_0001dc50(local_238,local_234 + 0x201,1);\nLAB_00021e4d:\n      *(undefined1 *)(local_238 + local_234) = 0;\n      if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    \n        FUN_0008d800();\n      }\n      return;\n    }" if (parenthesized_expression "(cVar2 == '\0')" ( (binary_expression "cVar2 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\nLAB_00021e3b:\n      if (local_234 < local_23c) goto LAB_00021e4d;\nLAB_00021eed:\n      local_238 = FUN_0001dc50(local_238,local_234 + 0x201,1);\nLAB_00021e4d:\n      *(undefined1 *)(local_238 + local_234) = 0;\n      if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    \n        FUN_0008d800();\n      }\n      return;\n    }" { (labeled_statement "LAB_00021e3b:\n      if (local_234 < local_23c) goto LAB_00021e4d;" statement_identifier : (if_statement "if (local_234 < local_23c) goto LAB_00021e4d;" if (parenthesized_expression "(local_234 < local_23c)" ( (binary_expression "local_234 < local_23c" identifier < identifier) )) (goto_statement "goto LAB_00021e4d;" goto statement_identifier ;))) (labeled_statement "LAB_00021eed:\n      local_238 = FUN_0001dc50(local_238,local_234 + 0x201,1);" statement_identifier : (expression_statement "local_238 = FUN_0001dc50(local_238,local_234 + 0x201,1);" (assignment_expression "local_238 = FUN_0001dc50(local_238,local_234 + 0x201,1)" identifier = (call_expression "FUN_0001dc50(local_238,local_234 + 0x201,1)" identifier (argument_list "(local_238,local_234 + 0x201,1)" ( identifier , (binary_expression "local_234 + 0x201" identifier + number_literal) , number_literal )))) ;)) (labeled_statement "LAB_00021e4d:\n      *(undefined1 *)(local_238 + local_234) = 0;" statement_identifier : (expression_statement "*(undefined1 *)(local_238 + local_234) = 0;" (assignment_expression "*(undefined1 *)(local_238 + local_234) = 0" (pointer_expression "*(undefined1 *)(local_238 + local_234)" * (cast_expression "(undefined1 *)(local_238 + local_234)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_238 + local_234)" ( (binary_expression "local_238 + local_234" identifier + identifier) )))) = number_literal) ;)) (if_statement "if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    \n        FUN_0008d800();\n      }" if (parenthesized_expression "(local_20 != *(int *)(in_GS_OFFSET + 0x14))" ( (binary_expression "local_20 != *(int *)(in_GS_OFFSET + 0x14)" identifier != (pointer_expression "*(int *)(in_GS_OFFSET + 0x14)" * (cast_expression "(int *)(in_GS_OFFSET + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_GS_OFFSET + 0x14)" ( (binary_expression "in_GS_OFFSET + 0x14" identifier + number_literal) ))))) )) (compound_statement "{\n                    \n        FUN_0008d800();\n      }" { (expression_statement "FUN_0008d800();" (call_expression "FUN_0008d800()" identifier (argument_list "()" ( ))) ;) })) (return_statement "return;" return ;) }))) (expression_statement "local_240 = pcVar7;" (assignment_expression "local_240 = pcVar7" identifier = identifier) ;) (expression_statement "local_230 = iVar6;" (assignment_expression "local_230 = iVar6" identifier = identifier) ;) (if_statement "if (cVar2 != '%') {\n      if (cVar2 != '\\') {\n        do {\n          local_244 = local_230 + 1;\n          cVar2 = *(char *)(iVar4 + local_244);\n          if ((cVar2 == '\0') || (cVar2 == '%')) {\n            if (cVar2 == '\0') goto LAB_00021e99;\n            break;\n          }\n          local_230 = local_244;\n        } while (cVar2 != '\\');\n        local_240 = (char *)(iVar4 + local_244);\n        local_230 = local_244;\n        if (iVar6 != local_244) {\n          iVar5 = (local_234 + local_244) - iVar6;\n          if (local_23c < iVar5) {\n            local_23c = iVar5 + 0x200;\n            local_238 = FUN_0001dc50(local_238,local_23c,1);\n          }\n          memcpy((void *)(local_238 + local_234),pcVar7,local_244 - iVar6);\n          local_234 = local_234 + (local_244 - iVar6);\n          local_230 = local_244;\n        }\n        goto LAB_00021cd4;\n      }\n      local_244 = iVar6 + 1;\n      cVar2 = *(char *)(iVar4 + 1 + iVar6);\n      if (cVar2 != '\0') goto LAB_00021f38;\nLAB_00021e99:\n      if (iVar6 == local_244) goto LAB_00021e3b;\n      iVar5 = (local_234 + local_244) - iVar6;\n      if (local_23c < iVar5) {\n        local_23c = iVar5 + 0x200;\n        local_238 = FUN_0001dc50(local_238,local_23c,1);\n      }\n      memcpy((void *)(local_238 + local_234),(void *)(iVar6 + iVar4),local_244 - iVar6);\n      local_234 = local_234 + (local_244 - iVar6);\n      if (local_234 < local_23c) goto LAB_00021e4d;\n      goto LAB_00021eed;\n    }" if (parenthesized_expression "(cVar2 != '%')" ( (binary_expression "cVar2 != '%'" identifier != (char_literal "'%'" ' character ')) )) (compound_statement "{\n      if (cVar2 != '\\') {\n        do {\n          local_244 = local_230 + 1;\n          cVar2 = *(char *)(iVar4 + local_244);\n          if ((cVar2 == '\0') || (cVar2 == '%')) {\n            if (cVar2 == '\0') goto LAB_00021e99;\n            break;\n          }\n          local_230 = local_244;\n        } while (cVar2 != '\\');\n        local_240 = (char *)(iVar4 + local_244);\n        local_230 = local_244;\n        if (iVar6 != local_244) {\n          iVar5 = (local_234 + local_244) - iVar6;\n          if (local_23c < iVar5) {\n            local_23c = iVar5 + 0x200;\n            local_238 = FUN_0001dc50(local_238,local_23c,1);\n          }\n          memcpy((void *)(local_238 + local_234),pcVar7,local_244 - iVar6);\n          local_234 = local_234 + (local_244 - iVar6);\n          local_230 = local_244;\n        }\n        goto LAB_00021cd4;\n      }\n      local_244 = iVar6 + 1;\n      cVar2 = *(char *)(iVar4 + 1 + iVar6);\n      if (cVar2 != '\0') goto LAB_00021f38;\nLAB_00021e99:\n      if (iVar6 == local_244) goto LAB_00021e3b;\n      iVar5 = (local_234 + local_244) - iVar6;\n      if (local_23c < iVar5) {\n        local_23c = iVar5 + 0x200;\n        local_238 = FUN_0001dc50(local_238,local_23c,1);\n      }\n      memcpy((void *)(local_238 + local_234),(void *)(iVar6 + iVar4),local_244 - iVar6);\n      local_234 = local_234 + (local_244 - iVar6);\n      if (local_234 < local_23c) goto LAB_00021e4d;\n      goto LAB_00021eed;\n    }" { (if_statement "if (cVar2 != '\\') {\n        do {\n          local_244 = local_230 + 1;\n          cVar2 = *(char *)(iVar4 + local_244);\n          if ((cVar2 == '\0') || (cVar2 == '%')) {\n            if (cVar2 == '\0') goto LAB_00021e99;\n            break;\n          }\n          local_230 = local_244;\n        } while (cVar2 != '\\');\n        local_240 = (char *)(iVar4 + local_244);\n        local_230 = local_244;\n        if (iVar6 != local_244) {\n          iVar5 = (local_234 + local_244) - iVar6;\n          if (local_23c < iVar5) {\n            local_23c = iVar5 + 0x200;\n            local_238 = FUN_0001dc50(local_238,local_23c,1);\n          }\n          memcpy((void *)(local_238 + local_234),pcVar7,local_244 - iVar6);\n          local_234 = local_234 + (local_244 - iVar6);\n          local_230 = local_244;\n        }\n        goto LAB_00021cd4;\n      }" if (parenthesized_expression "(cVar2 != '\\')" ( (binary_expression "cVar2 != '\\'" identifier != (char_literal "'\\'" ' escape_sequence ')) )) (compound_statement "{\n        do {\n          local_244 = local_230 + 1;\n          cVar2 = *(char *)(iVar4 + local_244);\n          if ((cVar2 == '\0') || (cVar2 == '%')) {\n            if (cVar2 == '\0') goto LAB_00021e99;\n            break;\n          }\n          local_230 = local_244;\n        } while (cVar2 != '\\');\n        local_240 = (char *)(iVar4 + local_244);\n        local_230 = local_244;\n        if (iVar6 != local_244) {\n          iVar5 = (local_234 + local_244) - iVar6;\n          if (local_23c < iVar5) {\n            local_23c = iVar5 + 0x200;\n            local_238 = FUN_0001dc50(local_238,local_23c,1);\n          }\n          memcpy((void *)(local_238 + local_234),pcVar7,local_244 - iVar6);\n          local_234 = local_234 + (local_244 - iVar6);\n          local_230 = local_244;\n        }\n        goto LAB_00021cd4;\n      }" { (do_statement "do {\n          local_244 = local_230 + 1;\n          cVar2 = *(char *)(iVar4 + local_244);\n          if ((cVar2 == '\0') || (cVar2 == '%')) {\n            if (cVar2 == '\0') goto LAB_00021e99;\n            break;\n          }\n          local_230 = local_244;\n        } while (cVar2 != '\\');" do (compound_statement "{\n          local_244 = local_230 + 1;\n          cVar2 = *(char *)(iVar4 + local_244);\n          if ((cVar2 == '\0') || (cVar2 == '%')) {\n            if (cVar2 == '\0') goto LAB_00021e99;\n            break;\n          }\n          local_230 = local_244;\n        }" { (expression_statement "local_244 = local_230 + 1;" (assignment_expression "local_244 = local_230 + 1" identifier = (binary_expression "local_230 + 1" identifier + number_literal)) ;) (expression_statement "cVar2 = *(char *)(iVar4 + local_244);" (assignment_expression "cVar2 = *(char *)(iVar4 + local_244)" identifier = (pointer_expression "*(char *)(iVar4 + local_244)" * (cast_expression "(char *)(iVar4 + local_244)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + local_244)" ( (binary_expression "iVar4 + local_244" identifier + identifier) ))))) ;) (if_statement "if ((cVar2 == '\0') || (cVar2 == '%')) {\n            if (cVar2 == '\0') goto LAB_00021e99;\n            break;\n          }" if (parenthesized_expression "((cVar2 == '\0') || (cVar2 == '%'))" ( (binary_expression "(cVar2 == '\0') || (cVar2 == '%')" (parenthesized_expression "(cVar2 == '\0')" ( (binary_expression "cVar2 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) || (parenthesized_expression "(cVar2 == '%')" ( (binary_expression "cVar2 == '%'" identifier == (char_literal "'%'" ' character ')) ))) )) (compound_statement "{\n            if (cVar2 == '\0') goto LAB_00021e99;\n            break;\n          }" { (if_statement "if (cVar2 == '\0') goto LAB_00021e99;" if (parenthesized_expression "(cVar2 == '\0')" ( (binary_expression "cVar2 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_00021e99;" goto statement_identifier ;)) (break_statement "break;" break ;) })) (expression_statement "local_230 = local_244;" (assignment_expression "local_230 = local_244" identifier = identifier) ;) }) while (parenthesized_expression "(cVar2 != '\\')" ( (binary_expression "cVar2 != '\\'" identifier != (char_literal "'\\'" ' escape_sequence ')) )) ;) (expression_statement "local_240 = (char *)(iVar4 + local_244);" (assignment_expression "local_240 = (char *)(iVar4 + local_244)" identifier = (cast_expression "(char *)(iVar4 + local_244)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + local_244)" ( (binary_expression "iVar4 + local_244" identifier + identifier) )))) ;) (expression_statement "local_230 = local_244;" (assignment_expression "local_230 = local_244" identifier = identifier) ;) (if_statement "if (iVar6 != local_244) {\n          iVar5 = (local_234 + local_244) - iVar6;\n          if (local_23c < iVar5) {\n            local_23c = iVar5 + 0x200;\n            local_238 = FUN_0001dc50(local_238,local_23c,1);\n          }\n          memcpy((void *)(local_238 + local_234),pcVar7,local_244 - iVar6);\n          local_234 = local_234 + (local_244 - iVar6);\n          local_230 = local_244;\n        }" if (parenthesized_expression "(iVar6 != local_244)" ( (binary_expression "iVar6 != local_244" identifier != identifier) )) (compound_statement "{\n          iVar5 = (local_234 + local_244) - iVar6;\n          if (local_23c < iVar5) {\n            local_23c = iVar5 + 0x200;\n            local_238 = FUN_0001dc50(local_238,local_23c,1);\n          }\n          memcpy((void *)(local_238 + local_234),pcVar7,local_244 - iVar6);\n          local_234 = local_234 + (local_244 - iVar6);\n          local_230 = local_244;\n        }" { (expression_statement "iVar5 = (local_234 + local_244) - iVar6;" (assignment_expression "iVar5 = (local_234 + local_244) - iVar6" identifier = (binary_expression "(local_234 + local_244) - iVar6" (parenthesized_expression "(local_234 + local_244)" ( (binary_expression "local_234 + local_244" identifier + identifier) )) - identifier)) ;) (if_statement "if (local_23c < iVar5) {\n            local_23c = iVar5 + 0x200;\n            local_238 = FUN_0001dc50(local_238,local_23c,1);\n          }" if (parenthesized_expression "(local_23c < iVar5)" ( (binary_expression "local_23c < iVar5" identifier < identifier) )) (compound_statement "{\n            local_23c = iVar5 + 0x200;\n            local_238 = FUN_0001dc50(local_238,local_23c,1);\n          }" { (expression_statement "local_23c = iVar5 + 0x200;" (assignment_expression "local_23c = iVar5 + 0x200" identifier = (binary_expression "iVar5 + 0x200" identifier + number_literal)) ;) (expression_statement "local_238 = FUN_0001dc50(local_238,local_23c,1);" (assignment_expression "local_238 = FUN_0001dc50(local_238,local_23c,1)" identifier = (call_expression "FUN_0001dc50(local_238,local_23c,1)" identifier (argument_list "(local_238,local_23c,1)" ( identifier , identifier , number_literal )))) ;) })) (expression_statement "memcpy((void *)(local_238 + local_234),pcVar7,local_244 - iVar6);" (call_expression "memcpy((void *)(local_238 + local_234),pcVar7,local_244 - iVar6)" identifier (argument_list "((void *)(local_238 + local_234),pcVar7,local_244 - iVar6)" ( (cast_expression "(void *)(local_238 + local_234)" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_238 + local_234)" ( (binary_expression "local_238 + local_234" identifier + identifier) ))) , identifier , (binary_expression "local_244 - iVar6" identifier - identifier) ))) ;) (expression_statement "local_234 = local_234 + (local_244 - iVar6);" (assignment_expression "local_234 = local_234 + (local_244 - iVar6)" identifier = (binary_expression "local_234 + (local_244 - iVar6)" identifier + (parenthesized_expression "(local_244 - iVar6)" ( (binary_expression "local_244 - iVar6" identifier - identifier) )))) ;) (expression_statement "local_230 = local_244;" (assignment_expression "local_230 = local_244" identifier = identifier) ;) })) (goto_statement "goto LAB_00021cd4;" goto statement_identifier ;) })) (expression_statement "local_244 = iVar6 + 1;" (assignment_expression "local_244 = iVar6 + 1" identifier = (binary_expression "iVar6 + 1" identifier + number_literal)) ;) (expression_statement "cVar2 = *(char *)(iVar4 + 1 + iVar6);" (assignment_expression "cVar2 = *(char *)(iVar4 + 1 + iVar6)" identifier = (pointer_expression "*(char *)(iVar4 + 1 + iVar6)" * (cast_expression "(char *)(iVar4 + 1 + iVar6)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 1 + iVar6)" ( (binary_expression "iVar4 + 1 + iVar6" (binary_expression "iVar4 + 1" identifier + number_literal) + identifier) ))))) ;) (if_statement "if (cVar2 != '\0') goto LAB_00021f38;" if (parenthesized_expression "(cVar2 != '\0')" ( (binary_expression "cVar2 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_00021f38;" goto statement_identifier ;)) (labeled_statement "LAB_00021e99:\n      if (iVar6 == local_244) goto LAB_00021e3b;" statement_identifier : (if_statement "if (iVar6 == local_244) goto LAB_00021e3b;" if (parenthesized_expression "(iVar6 == local_244)" ( (binary_expression "iVar6 == local_244" identifier == identifier) )) (goto_statement "goto LAB_00021e3b;" goto statement_identifier ;))) (expression_statement "iVar5 = (local_234 + local_244) - iVar6;" (assignment_expression "iVar5 = (local_234 + local_244) - iVar6" identifier = (binary_expression "(local_234 + local_244) - iVar6" (parenthesized_expression "(local_234 + local_244)" ( (binary_expression "local_234 + local_244" identifier + identifier) )) - identifier)) ;) (if_statement "if (local_23c < iVar5) {\n        local_23c = iVar5 + 0x200;\n        local_238 = FUN_0001dc50(local_238,local_23c,1);\n      }" if (parenthesized_expression "(local_23c < iVar5)" ( (binary_expression "local_23c < iVar5" identifier < identifier) )) (compound_statement "{\n        local_23c = iVar5 + 0x200;\n        local_238 = FUN_0001dc50(local_238,local_23c,1);\n      }" { (expression_statement "local_23c = iVar5 + 0x200;" (assignment_expression "local_23c = iVar5 + 0x200" identifier = (binary_expression "iVar5 + 0x200" identifier + number_literal)) ;) (expression_statement "local_238 = FUN_0001dc50(local_238,local_23c,1);" (assignment_expression "local_238 = FUN_0001dc50(local_238,local_23c,1)" identifier = (call_expression "FUN_0001dc50(local_238,local_23c,1)" identifier (argument_list "(local_238,local_23c,1)" ( identifier , identifier , number_literal )))) ;) })) (expression_statement "memcpy((void *)(local_238 + local_234),(void *)(iVar6 + iVar4),local_244 - iVar6);" (call_expression "memcpy((void *)(local_238 + local_234),(void *)(iVar6 + iVar4),local_244 - iVar6)" identifier (argument_list "((void *)(local_238 + local_234),(void *)(iVar6 + iVar4),local_244 - iVar6)" ( (cast_expression "(void *)(local_238 + local_234)" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_238 + local_234)" ( (binary_expression "local_238 + local_234" identifier + identifier) ))) , (cast_expression "(void *)(iVar6 + iVar4)" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + iVar4)" ( (binary_expression "iVar6 + iVar4" identifier + identifier) ))) , (binary_expression "local_244 - iVar6" identifier - identifier) ))) ;) (expression_statement "local_234 = local_234 + (local_244 - iVar6);" (assignment_expression "local_234 = local_234 + (local_244 - iVar6)" identifier = (binary_expression "local_234 + (local_244 - iVar6)" identifier + (parenthesized_expression "(local_244 - iVar6)" ( (binary_expression "local_244 - iVar6" identifier - identifier) )))) ;) (if_statement "if (local_234 < local_23c) goto LAB_00021e4d;" if (parenthesized_expression "(local_234 < local_23c)" ( (binary_expression "local_234 < local_23c" identifier < identifier) )) (goto_statement "goto LAB_00021e4d;" goto statement_identifier ;)) (goto_statement "goto LAB_00021eed;" goto statement_identifier ;) })) (labeled_statement "LAB_00021cd4:\n    local_244 = local_230 + 1;" statement_identifier : (expression_statement "local_244 = local_230 + 1;" (assignment_expression "local_244 = local_230 + 1" identifier = (binary_expression "local_230 + 1" identifier + number_literal)) ;)) (expression_statement "pcVar7 = (char *)(iVar4 + local_244);" (assignment_expression "pcVar7 = (char *)(iVar4 + local_244)" identifier = (cast_expression "(char *)(iVar4 + local_244)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + local_244)" ( (binary_expression "iVar4 + local_244" identifier + identifier) )))) ;) (expression_statement "cVar2 = *pcVar7;" (assignment_expression "cVar2 = *pcVar7" identifier = (pointer_expression "*pcVar7" * identifier)) ;) (expression_statement "iVar6 = local_230;" (assignment_expression "iVar6 = local_230" identifier = identifier) ;) (if_statement "if (cVar2 == '\0') goto LAB_00021e99;" if (parenthesized_expression "(cVar2 == '\0')" ( (binary_expression "cVar2 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_00021e99;" goto statement_identifier ;)) (if_statement "if (*local_240 == '\\') {\nLAB_00021f38:\n      iVar6 = local_234 + 1;\n      if (cVar2 == 'n') {\n        if (local_23c <= local_234) {\n          local_23c = local_234 + 0x201;\n          local_238 = FUN_0001dc50(local_238,local_23c,1);\n        }\n        *(undefined1 *)(local_238 + local_234) = 10;\n        local_244 = local_230 + 2;\n        local_234 = iVar6;\n        goto LAB_00021c20;\n      }\n      if (cVar2 < 'o') {\n        if (cVar2 == 'X') {\nLAB_000223b0:\n          cVar2 = *(char *)(iVar4 + 1 + local_244);\n          bVar3 = cVar2 - 0x30;\n          if (bVar3 < 10) {\nLAB_000223db:\n            cVar2 = *(char *)(iVar4 + 2 + local_244);\n            bVar1 = cVar2 - 0x30;\n            if (9 < bVar1) {\n              if ((byte)(cVar2 + 0x9fU) < 6) {\n                bVar1 = cVar2 + 0xa9;\n              }\n              else {\n                if (5 < (byte)(cVar2 + 0xbfU)) goto LAB_00022a16;\n                bVar1 = cVar2 - 0x37;\n              }\n            }\n            if (local_23c <= local_234) {\n              local_23c = local_234 + 0x201;\n              local_238 = FUN_0001dc50(local_238,local_23c,1);\n            }\n            *(byte *)(local_238 + local_234) = bVar1 + bVar3 * '\x10';\n            local_244 = local_244 + 3;\n            local_234 = iVar6;\n          }\n          else {\n            if ((byte)(cVar2 + 0x9fU) < 6) {\n              bVar3 = cVar2 + 0xa9;\n              goto LAB_000223db;\n            }\n            if ((byte)(cVar2 + 0xbfU) < 6) {\n              bVar3 = cVar2 - 0x37;\n              goto LAB_000223db;\n            }\nLAB_00022a16:\n            if (local_23c <= local_234) {\n              local_23c = local_234 + 0x201;\n              local_238 = FUN_0001dc50(local_238,local_23c,1);\n            }\n            *(undefined1 *)(local_238 + local_234) = 0x5c;\n            local_234 = iVar6;\n          }\n          goto LAB_00021c20;\n        }\n        if (cVar2 == '\\') {\n          if (local_23c <= local_234) {\n            local_23c = local_234 + 0x201;\n            local_238 = FUN_0001dc50(local_238,local_23c,1);\n          }\n          *(undefined1 *)(local_238 + local_234) = 0x5c;\n          local_244 = local_230 + 2;\n          local_234 = iVar6;\n          goto LAB_00021c20;\n        }\n        if (cVar2 == '%') {\n          if (local_23c <= local_234) {\n            local_23c = local_234 + 0x201;\n            local_238 = FUN_0001dc50(local_238,local_23c,1);\n          }\n          *(undefined1 *)(local_238 + local_234) = 0x25;\n          local_244 = local_230 + 2;\n          local_234 = iVar6;\n          goto LAB_00021c20;\n        }\n      }\n      else {\n        if (cVar2 == 't') {\n          if (local_23c <= local_234) {\n            local_23c = local_234 + 0x201;\n            local_238 = FUN_0001dc50(local_238,local_23c,1);\n          }\n          *(undefined1 *)(local_238 + local_234) = 9;\n          local_244 = local_230 + 2;\n          local_234 = iVar6;\n          goto LAB_00021c20;\n        }\n        if (cVar2 == 'x') goto LAB_000223b0;\n        if (cVar2 == 'r') {\n          if (local_23c <= local_234) {\n            local_23c = local_234 + 0x201;\n            local_238 = FUN_0001dc50(local_238,local_23c,1);\n          }\n          *(undefined1 *)(local_238 + local_234) = 0xd;\n          local_244 = local_230 + 2;\n          local_234 = iVar6;\n          goto LAB_00021c20;\n        }\n      }\n      if (local_23c <= iVar6) {\n        local_23c = local_234 + 0x202;\n        local_238 = FUN_0001dc50(local_238,local_23c,1);\n      }\n      local_244 = local_230 + 2;\n      *(undefined2 *)(local_238 + local_234) = *(undefined2 *)local_240;\n      local_234 = local_234 + 2;\n      goto LAB_00021c20;\n    }" if (parenthesized_expression "(*local_240 == '\\')" ( (binary_expression "*local_240 == '\\'" (pointer_expression "*local_240" * identifier) == (char_literal "'\\'" ' escape_sequence ')) )) (compound_statement "{\nLAB_00021f38:\n      iVar6 = local_234 + 1;\n      if (cVar2 == 'n') {\n        if (local_23c <= local_234) {\n          local_23c = local_234 + 0x201;\n          local_238 = FUN_0001dc50(local_238,local_23c,1);\n        }\n        *(undefined1 *)(local_238 + local_234) = 10;\n        local_244 = local_230 + 2;\n        local_234 = iVar6;\n        goto LAB_00021c20;\n      }\n      if (cVar2 < 'o') {\n        if (cVar2 == 'X') {\nLAB_000223b0:\n          cVar2 = *(char *)(iVar4 + 1 + local_244);\n          bVar3 = cVar2 - 0x30;\n          if (bVar3 < 10) {\nLAB_000223db:\n            cVar2 = *(char *)(iVar4 + 2 + local_244);\n            bVar1 = cVar2 - 0x30;\n            if (9 < bVar1) {\n              if ((byte)(cVar2 + 0x9fU) < 6) {\n                bVar1 = cVar2 + 0xa9;\n              }\n              else {\n                if (5 < (byte)(cVar2 + 0xbfU)) goto LAB_00022a16;\n                bVar1 = cVar2 - 0x37;\n              }\n            }\n            if (local_23c <= local_234) {\n              local_23c = local_234 + 0x201;\n              local_238 = FUN_0001dc50(local_238,local_23c,1);\n            }\n            *(byte *)(local_238 + local_234) = bVar1 + bVar3 * '\x10';\n            local_244 = local_244 + 3;\n            local_234 = iVar6;\n          }\n          else {\n            if ((byte)(cVar2 + 0x9fU) < 6) {\n              bVar3 = cVar2 + 0xa9;\n              goto LAB_000223db;\n            }\n            if ((byte)(cVar2 + 0xbfU) < 6) {\n              bVar3 = cVar2 - 0x37;\n              goto LAB_000223db;\n            }\nLAB_00022a16:\n            if (local_23c <= local_234) {\n              local_23c = local_234 + 0x201;\n              local_238 = FUN_0001dc50(local_238,local_23c,1);\n            }\n            *(undefined1 *)(local_238 + local_234) = 0x5c;\n            local_234 = iVar6;\n          }\n          goto LAB_00021c20;\n        }\n        if (cVar2 == '\\') {\n          if (local_23c <= local_234) {\n            local_23c = local_234 + 0x201;\n            local_238 = FUN_0001dc50(local_238,local_23c,1);\n          }\n          *(undefined1 *)(local_238 + local_234) = 0x5c;\n          local_244 = local_230 + 2;\n          local_234 = iVar6;\n          goto LAB_00021c20;\n        }\n        if (cVar2 == '%') {\n          if (local_23c <= local_234) {\n            local_23c = local_234 + 0x201;\n            local_238 = FUN_0001dc50(local_238,local_23c,1);\n          }\n          *(undefined1 *)(local_238 + local_234) = 0x25;\n          local_244 = local_230 + 2;\n          local_234 = iVar6;\n          goto LAB_00021c20;\n        }\n      }\n      else {\n        if (cVar2 == 't') {\n          if (local_23c <= local_234) {\n            local_23c = local_234 + 0x201;\n            local_238 = FUN_0001dc50(local_238,local_23c,1);\n          }\n          *(undefined1 *)(local_238 + local_234) = 9;\n          local_244 = local_230 + 2;\n          local_234 = iVar6;\n          goto LAB_00021c20;\n        }\n        if (cVar2 == 'x') goto LAB_000223b0;\n        if (cVar2 == 'r') {\n          if (local_23c <= local_234) {\n            local_23c = local_234 + 0x201;\n            local_238 = FUN_0001dc50(local_238,local_23c,1);\n          }\n          *(undefined1 *)(local_238 + local_234) = 0xd;\n          local_244 = local_230 + 2;\n          local_234 = iVar6;\n          goto LAB_00021c20;\n        }\n      }\n      if (local_23c <= iVar6) {\n        local_23c = local_234 + 0x202;\n        local_238 = FUN_0001dc50(local_238,local_23c,1);\n      }\n      local_244 = local_230 + 2;\n      *(undefined2 *)(local_238 + local_234) = *(undefined2 *)local_240;\n      local_234 = local_234 + 2;\n      goto LAB_00021c20;\n    }" { (labeled_statement "LAB_00021f38:\n      iVar6 = local_234 + 1;" statement_identifier : (expression_statement "iVar6 = local_234 + 1;" (assignment_expression "iVar6 = local_234 + 1" identifier = (binary_expression "local_234 + 1" identifier + number_literal)) ;)) (if_statement "if (cVar2 == 'n') {\n        if (local_23c <= local_234) {\n          local_23c = local_234 + 0x201;\n          local_238 = FUN_0001dc50(local_238,local_23c,1);\n        }\n        *(undefined1 *)(local_238 + local_234) = 10;\n        local_244 = local_230 + 2;\n        local_234 = iVar6;\n        goto LAB_00021c20;\n      }" if (parenthesized_expression "(cVar2 == 'n')" ( (binary_expression "cVar2 == 'n'" identifier == (char_literal "'n'" ' character ')) )) (compound_statement "{\n        if (local_23c <= local_234) {\n          local_23c = local_234 + 0x201;\n          local_238 = FUN_0001dc50(local_238,local_23c,1);\n        }\n        *(undefined1 *)(local_238 + local_234) = 10;\n        local_244 = local_230 + 2;\n        local_234 = iVar6;\n        goto LAB_00021c20;\n      }" { (if_statement "if (local_23c <= local_234) {\n          local_23c = local_234 + 0x201;\n          local_238 = FUN_0001dc50(local_238,local_23c,1);\n        }" if (parenthesized_expression "(local_23c <= local_234)" ( (binary_expression "local_23c <= local_234" identifier <= identifier) )) (compound_statement "{\n          local_23c = local_234 + 0x201;\n          local_238 = FUN_0001dc50(local_238,local_23c,1);\n        }" { (expression_statement "local_23c = local_234 + 0x201;" (assignment_expression "local_23c = local_234 + 0x201" identifier = (binary_expression "local_234 + 0x201" identifier + number_literal)) ;) (expression_statement "local_238 = FUN_0001dc50(local_238,local_23c,1);" (assignment_expression "local_238 = FUN_0001dc50(local_238,local_23c,1)" identifier = (call_expression "FUN_0001dc50(local_238,local_23c,1)" identifier (argument_list "(local_238,local_23c,1)" ( identifier , identifier , number_literal )))) ;) })) (expression_statement "*(undefined1 *)(local_238 + local_234) = 10;" (assignment_expression "*(undefined1 *)(local_238 + local_234) = 10" (pointer_expression "*(undefined1 *)(local_238 + local_234)" * (cast_expression "(undefined1 *)(local_238 + local_234)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_238 + local_234)" ( (binary_expression "local_238 + local_234" identifier + identifier) )))) = number_literal) ;) (expression_statement "local_244 = local_230 + 2;" (assignment_expression "local_244 = local_230 + 2" identifier = (binary_expression "local_230 + 2" identifier + number_literal)) ;) (expression_statement "local_234 = iVar6;" (assignment_expression "local_234 = iVar6" identifier = identifier) ;) (goto_statement "goto LAB_00021c20;" goto statement_identifier ;) })) (if_statement "if (cVar2 < 'o') {\n        if (cVar2 == 'X') {\nLAB_000223b0:\n          cVar2 = *(char *)(iVar4 + 1 + local_244);\n          bVar3 = cVar2 - 0x30;\n          if (bVar3 < 10) {\nLAB_000223db:\n            cVar2 = *(char *)(iVar4 + 2 + local_244);\n            bVar1 = cVar2 - 0x30;\n            if (9 < bVar1) {\n              if ((byte)(cVar2 + 0x9fU) < 6) {\n                bVar1 = cVar2 + 0xa9;\n              }\n              else {\n                if (5 < (byte)(cVar2 + 0xbfU)) goto LAB_00022a16;\n                bVar1 = cVar2 - 0x37;\n              }\n            }\n            if (local_23c <= local_234) {\n              local_23c = local_234 + 0x201;\n              local_238 = FUN_0001dc50(local_238,local_23c,1);\n            }\n            *(byte *)(local_238 + local_234) = bVar1 + bVar3 * '\x10';\n            local_244 = local_244 + 3;\n            local_234 = iVar6;\n          }\n          else {\n            if ((byte)(cVar2 + 0x9fU) < 6) {\n              bVar3 = cVar2 + 0xa9;\n              goto LAB_000223db;\n            }\n            if ((byte)(cVar2 + 0xbfU) < 6) {\n              bVar3 = cVar2 - 0x37;\n              goto LAB_000223db;\n            }\nLAB_00022a16:\n            if (local_23c <= local_234) {\n              local_23c = local_234 + 0x201;\n              local_238 = FUN_0001dc50(local_238,local_23c,1);\n            }\n            *(undefined1 *)(local_238 + local_234) = 0x5c;\n            local_234 = iVar6;\n          }\n          goto LAB_00021c20;\n        }\n        if (cVar2 == '\\') {\n          if (local_23c <= local_234) {\n            local_23c = local_234 + 0x201;\n            local_238 = FUN_0001dc50(local_238,local_23c,1);\n          }\n          *(undefined1 *)(local_238 + local_234) = 0x5c;\n          local_244 = local_230 + 2;\n          local_234 = iVar6;\n          goto LAB_00021c20;\n        }\n        if (cVar2 == '%') {\n          if (local_23c <= local_234) {\n            local_23c = local_234 + 0x201;\n            local_238 = FUN_0001dc50(local_238,local_23c,1);\n          }\n          *(undefined1 *)(local_238 + local_234) = 0x25;\n          local_244 = local_230 + 2;\n          local_234 = iVar6;\n          goto LAB_00021c20;\n        }\n      }\n      else {\n        if (cVar2 == 't') {\n          if (local_23c <= local_234) {\n            local_23c = local_234 + 0x201;\n            local_238 = FUN_0001dc50(local_238,local_23c,1);\n          }\n          *(undefined1 *)(local_238 + local_234) = 9;\n          local_244 = local_230 + 2;\n          local_234 = iVar6;\n          goto LAB_00021c20;\n        }\n        if (cVar2 == 'x') goto LAB_000223b0;\n        if (cVar2 == 'r') {\n          if (local_23c <= local_234) {\n            local_23c = local_234 + 0x201;\n            local_238 = FUN_0001dc50(local_238,local_23c,1);\n          }\n          *(undefined1 *)(local_238 + local_234) = 0xd;\n          local_244 = local_230 + 2;\n          local_234 = iVar6;\n          goto LAB_00021c20;\n        }\n      }" if (parenthesized_expression "(cVar2 < 'o')" ( (binary_expression "cVar2 < 'o'" identifier < (char_literal "'o'" ' character ')) )) (compound_statement "{\n        if (cVar2 == 'X') {\nLAB_000223b0:\n          cVar2 = *(char *)(iVar4 + 1 + local_244);\n          bVar3 = cVar2 - 0x30;\n          if (bVar3 < 10) {\nLAB_000223db:\n            cVar2 = *(char *)(iVar4 + 2 + local_244);\n            bVar1 = cVar2 - 0x30;\n            if (9 < bVar1) {\n              if ((byte)(cVar2 + 0x9fU) < 6) {\n                bVar1 = cVar2 + 0xa9;\n              }\n              else {\n                if (5 < (byte)(cVar2 + 0xbfU)) goto LAB_00022a16;\n                bVar1 = cVar2 - 0x37;\n              }\n            }\n            if (local_23c <= local_234) {\n              local_23c = local_234 + 0x201;\n              local_238 = FUN_0001dc50(local_238,local_23c,1);\n            }\n            *(byte *)(local_238 + local_234) = bVar1 + bVar3 * '\x10';\n            local_244 = local_244 + 3;\n            local_234 = iVar6;\n          }\n          else {\n            if ((byte)(cVar2 + 0x9fU) < 6) {\n              bVar3 = cVar2 + 0xa9;\n              goto LAB_000223db;\n            }\n            if ((byte)(cVar2 + 0xbfU) < 6) {\n              bVar3 = cVar2 - 0x37;\n              goto LAB_000223db;\n            }\nLAB_00022a16:\n            if (local_23c <= local_234) {\n              local_23c = local_234 + 0x201;\n              local_238 = FUN_0001dc50(local_238,local_23c,1);\n            }\n            *(undefined1 *)(local_238 + local_234) = 0x5c;\n            local_234 = iVar6;\n          }\n          goto LAB_00021c20;\n        }\n        if (cVar2 == '\\') {\n          if (local_23c <= local_234) {\n            local_23c = local_234 + 0x201;\n            local_238 = FUN_0001dc50(local_238,local_23c,1);\n          }\n          *(undefined1 *)(local_238 + local_234) = 0x5c;\n          local_244 = local_230 + 2;\n          local_234 = iVar6;\n          goto LAB_00021c20;\n        }\n        if (cVar2 == '%') {\n          if (local_23c <= local_234) {\n            local_23c = local_234 + 0x201;\n            local_238 = FUN_0001dc50(local_238,local_23c,1);\n          }\n          *(undefined1 *)(local_238 + local_234) = 0x25;\n          local_244 = local_230 + 2;\n          local_234 = iVar6;\n          goto LAB_00021c20;\n        }\n      }" { (if_statement "if (cVar2 == 'X') {\nLAB_000223b0:\n          cVar2 = *(char *)(iVar4 + 1 + local_244);\n          bVar3 = cVar2 - 0x30;\n          if (bVar3 < 10) {\nLAB_000223db:\n            cVar2 = *(char *)(iVar4 + 2 + local_244);\n            bVar1 = cVar2 - 0x30;\n            if (9 < bVar1) {\n              if ((byte)(cVar2 + 0x9fU) < 6) {\n                bVar1 = cVar2 + 0xa9;\n              }\n              else {\n                if (5 < (byte)(cVar2 + 0xbfU)) goto LAB_00022a16;\n                bVar1 = cVar2 - 0x37;\n              }\n            }\n            if (local_23c <= local_234) {\n              local_23c = local_234 + 0x201;\n              local_238 = FUN_0001dc50(local_238,local_23c,1);\n            }\n            *(byte *)(local_238 + local_234) = bVar1 + bVar3 * '\x10';\n            local_244 = local_244 + 3;\n            local_234 = iVar6;\n          }\n          else {\n            if ((byte)(cVar2 + 0x9fU) < 6) {\n              bVar3 = cVar2 + 0xa9;\n              goto LAB_000223db;\n            }\n            if ((byte)(cVar2 + 0xbfU) < 6) {\n              bVar3 = cVar2 - 0x37;\n              goto LAB_000223db;\n            }\nLAB_00022a16:\n            if (local_23c <= local_234) {\n              local_23c = local_234 + 0x201;\n              local_238 = FUN_0001dc50(local_238,local_23c,1);\n            }\n            *(undefined1 *)(local_238 + local_234) = 0x5c;\n            local_234 = iVar6;\n          }\n          goto LAB_00021c20;\n        }" if (parenthesized_expression "(cVar2 == 'X')" ( (binary_expression "cVar2 == 'X'" identifier == (char_literal "'X'" ' character ')) )) (compound_statement "{\nLAB_000223b0:\n          cVar2 = *(char *)(iVar4 + 1 + local_244);\n          bVar3 = cVar2 - 0x30;\n          if (bVar3 < 10) {\nLAB_000223db:\n            cVar2 = *(char *)(iVar4 + 2 + local_244);\n            bVar1 = cVar2 - 0x30;\n            if (9 < bVar1) {\n              if ((byte)(cVar2 + 0x9fU) < 6) {\n                bVar1 = cVar2 + 0xa9;\n              }\n              else {\n                if (5 < (byte)(cVar2 + 0xbfU)) goto LAB_00022a16;\n                bVar1 = cVar2 - 0x37;\n              }\n            }\n            if (local_23c <= local_234) {\n              local_23c = local_234 + 0x201;\n              local_238 = FUN_0001dc50(local_238,local_23c,1);\n            }\n            *(byte *)(local_238 + local_234) = bVar1 + bVar3 * '\x10';\n            local_244 = local_244 + 3;\n            local_234 = iVar6;\n          }\n          else {\n            if ((byte)(cVar2 + 0x9fU) < 6) {\n              bVar3 = cVar2 + 0xa9;\n              goto LAB_000223db;\n            }\n            if ((byte)(cVar2 + 0xbfU) < 6) {\n              bVar3 = cVar2 - 0x37;\n              goto LAB_000223db;\n            }\nLAB_00022a16:\n            if (local_23c <= local_234) {\n              local_23c = local_234 + 0x201;\n              local_238 = FUN_0001dc50(local_238,local_23c,1);\n            }\n            *(undefined1 *)(local_238 + local_234) = 0x5c;\n            local_234 = iVar6;\n          }\n          goto LAB_00021c20;\n        }" { (labeled_statement "LAB_000223b0:\n          cVar2 = *(char *)(iVar4 + 1 + local_244);" statement_identifier : (expression_statement "cVar2 = *(char *)(iVar4 + 1 + local_244);" (assignment_expression "cVar2 = *(char *)(iVar4 + 1 + local_244)" identifier = (pointer_expression "*(char *)(iVar4 + 1 + local_244)" * (cast_expression "(char *)(iVar4 + 1 + local_244)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 1 + local_244)" ( (binary_expression "iVar4 + 1 + local_244" (binary_expression "iVar4 + 1" identifier + number_literal) + identifier) ))))) ;)) (expression_statement "bVar3 = cVar2 - 0x30;" (assignment_expression "bVar3 = cVar2 - 0x30" identifier = (binary_expression "cVar2 - 0x30" identifier - number_literal)) ;) (if_statement "if (bVar3 < 10) {\nLAB_000223db:\n            cVar2 = *(char *)(iVar4 + 2 + local_244);\n            bVar1 = cVar2 - 0x30;\n            if (9 < bVar1) {\n              if ((byte)(cVar2 + 0x9fU) < 6) {\n                bVar1 = cVar2 + 0xa9;\n              }\n              else {\n                if (5 < (byte)(cVar2 + 0xbfU)) goto LAB_00022a16;\n                bVar1 = cVar2 - 0x37;\n              }\n            }\n            if (local_23c <= local_234) {\n              local_23c = local_234 + 0x201;\n              local_238 = FUN_0001dc50(local_238,local_23c,1);\n            }\n            *(byte *)(local_238 + local_234) = bVar1 + bVar3 * '\x10';\n            local_244 = local_244 + 3;\n            local_234 = iVar6;\n          }\n          else {\n            if ((byte)(cVar2 + 0x9fU) < 6) {\n              bVar3 = cVar2 + 0xa9;\n              goto LAB_000223db;\n            }\n            if ((byte)(cVar2 + 0xbfU) < 6) {\n              bVar3 = cVar2 - 0x37;\n              goto LAB_000223db;\n            }\nLAB_00022a16:\n            if (local_23c <= local_234) {\n              local_23c = local_234 + 0x201;\n              local_238 = FUN_0001dc50(local_238,local_23c,1);\n            }\n            *(undefined1 *)(local_238 + local_234) = 0x5c;\n            local_234 = iVar6;\n          }" if (parenthesized_expression "(bVar3 < 10)" ( (binary_expression "bVar3 < 10" identifier < number_literal) )) (compound_statement "{\nLAB_000223db:\n            cVar2 = *(char *)(iVar4 + 2 + local_244);\n            bVar1 = cVar2 - 0x30;\n            if (9 < bVar1) {\n              if ((byte)(cVar2 + 0x9fU) < 6) {\n                bVar1 = cVar2 + 0xa9;\n              }\n              else {\n                if (5 < (byte)(cVar2 + 0xbfU)) goto LAB_00022a16;\n                bVar1 = cVar2 - 0x37;\n              }\n            }\n            if (local_23c <= local_234) {\n              local_23c = local_234 + 0x201;\n              local_238 = FUN_0001dc50(local_238,local_23c,1);\n            }\n            *(byte *)(local_238 + local_234) = bVar1 + bVar3 * '\x10';\n            local_244 = local_244 + 3;\n            local_234 = iVar6;\n          }" { (labeled_statement "LAB_000223db:\n            cVar2 = *(char *)(iVar4 + 2 + local_244);" statement_identifier : (expression_statement "cVar2 = *(char *)(iVar4 + 2 + local_244);" (assignment_expression "cVar2 = *(char *)(iVar4 + 2 + local_244)" identifier = (pointer_expression "*(char *)(iVar4 + 2 + local_244)" * (cast_expression "(char *)(iVar4 + 2 + local_244)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 2 + local_244)" ( (binary_expression "iVar4 + 2 + local_244" (binary_expression "iVar4 + 2" identifier + number_literal) + identifier) ))))) ;)) (expression_statement "bVar1 = cVar2 - 0x30;" (assignment_expression "bVar1 = cVar2 - 0x30" identifier = (binary_expression "cVar2 - 0x30" identifier - number_literal)) ;) (if_statement "if (9 < bVar1) {\n              if ((byte)(cVar2 + 0x9fU) < 6) {\n                bVar1 = cVar2 + 0xa9;\n              }\n              else {\n                if (5 < (byte)(cVar2 + 0xbfU)) goto LAB_00022a16;\n                bVar1 = cVar2 - 0x37;\n              }\n            }" if (parenthesized_expression "(9 < bVar1)" ( (binary_expression "9 < bVar1" number_literal < identifier) )) (compound_statement "{\n              if ((byte)(cVar2 + 0x9fU) < 6) {\n                bVar1 = cVar2 + 0xa9;\n              }\n              else {\n                if (5 < (byte)(cVar2 + 0xbfU)) goto LAB_00022a16;\n                bVar1 = cVar2 - 0x37;\n              }\n            }" { (if_statement "if ((byte)(cVar2 + 0x9fU) < 6) {\n                bVar1 = cVar2 + 0xa9;\n              }\n              else {\n                if (5 < (byte)(cVar2 + 0xbfU)) goto LAB_00022a16;\n                bVar1 = cVar2 - 0x37;\n              }" if (parenthesized_expression "((byte)(cVar2 + 0x9fU) < 6)" ( (binary_expression "(byte)(cVar2 + 0x9fU) < 6" (call_expression "(byte)(cVar2 + 0x9fU)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(cVar2 + 0x9fU)" ( (binary_expression "cVar2 + 0x9fU" identifier + number_literal) ))) < number_literal) )) (compound_statement "{\n                bVar1 = cVar2 + 0xa9;\n              }" { (expression_statement "bVar1 = cVar2 + 0xa9;" (assignment_expression "bVar1 = cVar2 + 0xa9" identifier = (binary_expression "cVar2 + 0xa9" identifier + number_literal)) ;) }) (else_clause "else {\n                if (5 < (byte)(cVar2 + 0xbfU)) goto LAB_00022a16;\n                bVar1 = cVar2 - 0x37;\n              }" else (compound_statement "{\n                if (5 < (byte)(cVar2 + 0xbfU)) goto LAB_00022a16;\n                bVar1 = cVar2 - 0x37;\n              }" { (if_statement "if (5 < (byte)(cVar2 + 0xbfU)) goto LAB_00022a16;" if (parenthesized_expression "(5 < (byte)(cVar2 + 0xbfU))" ( (binary_expression "5 < (byte)(cVar2 + 0xbfU)" number_literal < (call_expression "(byte)(cVar2 + 0xbfU)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(cVar2 + 0xbfU)" ( (binary_expression "cVar2 + 0xbfU" identifier + number_literal) )))) )) (goto_statement "goto LAB_00022a16;" goto statement_identifier ;)) (expression_statement "bVar1 = cVar2 - 0x37;" (assignment_expression "bVar1 = cVar2 - 0x37" identifier = (binary_expression "cVar2 - 0x37" identifier - number_literal)) ;) }))) })) (if_statement "if (local_23c <= local_234) {\n              local_23c = local_234 + 0x201;\n              local_238 = FUN_0001dc50(local_238,local_23c,1);\n            }" if (parenthesized_expression "(local_23c <= local_234)" ( (binary_expression "local_23c <= local_234" identifier <= identifier) )) (compound_statement "{\n              local_23c = local_234 + 0x201;\n              local_238 = FUN_0001dc50(local_238,local_23c,1);\n            }" { (expression_statement "local_23c = local_234 + 0x201;" (assignment_expression "local_23c = local_234 + 0x201" identifier = (binary_expression "local_234 + 0x201" identifier + number_literal)) ;) (expression_statement "local_238 = FUN_0001dc50(local_238,local_23c,1);" (assignment_expression "local_238 = FUN_0001dc50(local_238,local_23c,1)" identifier = (call_expression "FUN_0001dc50(local_238,local_23c,1)" identifier (argument_list "(local_238,local_23c,1)" ( identifier , identifier , number_literal )))) ;) })) (expression_statement "*(byte *)(local_238 + local_234) = bVar1 + bVar3 * '\x10';" (assignment_expression "*(byte *)(local_238 + local_234) = bVar1 + bVar3 * '\x10'" (pointer_expression "*(byte *)(local_238 + local_234)" * (cast_expression "(byte *)(local_238 + local_234)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_238 + local_234)" ( (binary_expression "local_238 + local_234" identifier + identifier) )))) = (binary_expression "bVar1 + bVar3 * '\x10'" identifier + (binary_expression "bVar3 * '\x10'" identifier * (char_literal "'\x10'" ' escape_sequence ')))) ;) (expression_statement "local_244 = local_244 + 3;" (assignment_expression "local_244 = local_244 + 3" identifier = (binary_expression "local_244 + 3" identifier + number_literal)) ;) (expression_statement "local_234 = iVar6;" (assignment_expression "local_234 = iVar6" identifier = identifier) ;) }) (else_clause "else {\n            if ((byte)(cVar2 + 0x9fU) < 6) {\n              bVar3 = cVar2 + 0xa9;\n              goto LAB_000223db;\n            }\n            if ((byte)(cVar2 + 0xbfU) < 6) {\n              bVar3 = cVar2 - 0x37;\n              goto LAB_000223db;\n            }\nLAB_00022a16:\n            if (local_23c <= local_234) {\n              local_23c = local_234 + 0x201;\n              local_238 = FUN_0001dc50(local_238,local_23c,1);\n            }\n            *(undefined1 *)(local_238 + local_234) = 0x5c;\n            local_234 = iVar6;\n          }" else (compound_statement "{\n            if ((byte)(cVar2 + 0x9fU) < 6) {\n              bVar3 = cVar2 + 0xa9;\n              goto LAB_000223db;\n            }\n            if ((byte)(cVar2 + 0xbfU) < 6) {\n              bVar3 = cVar2 - 0x37;\n              goto LAB_000223db;\n            }\nLAB_00022a16:\n            if (local_23c <= local_234) {\n              local_23c = local_234 + 0x201;\n              local_238 = FUN_0001dc50(local_238,local_23c,1);\n            }\n            *(undefined1 *)(local_238 + local_234) = 0x5c;\n            local_234 = iVar6;\n          }" { (if_statement "if ((byte)(cVar2 + 0x9fU) < 6) {\n              bVar3 = cVar2 + 0xa9;\n              goto LAB_000223db;\n            }" if (parenthesized_expression "((byte)(cVar2 + 0x9fU) < 6)" ( (binary_expression "(byte)(cVar2 + 0x9fU) < 6" (call_expression "(byte)(cVar2 + 0x9fU)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(cVar2 + 0x9fU)" ( (binary_expression "cVar2 + 0x9fU" identifier + number_literal) ))) < number_literal) )) (compound_statement "{\n              bVar3 = cVar2 + 0xa9;\n              goto LAB_000223db;\n            }" { (expression_statement "bVar3 = cVar2 + 0xa9;" (assignment_expression "bVar3 = cVar2 + 0xa9" identifier = (binary_expression "cVar2 + 0xa9" identifier + number_literal)) ;) (goto_statement "goto LAB_000223db;" goto statement_identifier ;) })) (if_statement "if ((byte)(cVar2 + 0xbfU) < 6) {\n              bVar3 = cVar2 - 0x37;\n              goto LAB_000223db;\n            }" if (parenthesized_expression "((byte)(cVar2 + 0xbfU) < 6)" ( (binary_expression "(byte)(cVar2 + 0xbfU) < 6" (call_expression "(byte)(cVar2 + 0xbfU)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(cVar2 + 0xbfU)" ( (binary_expression "cVar2 + 0xbfU" identifier + number_literal) ))) < number_literal) )) (compound_statement "{\n              bVar3 = cVar2 - 0x37;\n              goto LAB_000223db;\n            }" { (expression_statement "bVar3 = cVar2 - 0x37;" (assignment_expression "bVar3 = cVar2 - 0x37" identifier = (binary_expression "cVar2 - 0x37" identifier - number_literal)) ;) (goto_statement "goto LAB_000223db;" goto statement_identifier ;) })) (labeled_statement "LAB_00022a16:\n            if (local_23c <= local_234) {\n              local_23c = local_234 + 0x201;\n              local_238 = FUN_0001dc50(local_238,local_23c,1);\n            }" statement_identifier : (if_statement "if (local_23c <= local_234) {\n              local_23c = local_234 + 0x201;\n              local_238 = FUN_0001dc50(local_238,local_23c,1);\n            }" if (parenthesized_expression "(local_23c <= local_234)" ( (binary_expression "local_23c <= local_234" identifier <= identifier) )) (compound_statement "{\n              local_23c = local_234 + 0x201;\n              local_238 = FUN_0001dc50(local_238,local_23c,1);\n            }" { (expression_statement "local_23c = local_234 + 0x201;" (assignment_expression "local_23c = local_234 + 0x201" identifier = (binary_expression "local_234 + 0x201" identifier + number_literal)) ;) (expression_statement "local_238 = FUN_0001dc50(local_238,local_23c,1);" (assignment_expression "local_238 = FUN_0001dc50(local_238,local_23c,1)" identifier = (call_expression "FUN_0001dc50(local_238,local_23c,1)" identifier (argument_list "(local_238,local_23c,1)" ( identifier , identifier , number_literal )))) ;) }))) (expression_statement "*(undefined1 *)(local_238 + local_234) = 0x5c;" (assignment_expression "*(undefined1 *)(local_238 + local_234) = 0x5c" (pointer_expression "*(undefined1 *)(local_238 + local_234)" * (cast_expression "(undefined1 *)(local_238 + local_234)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_238 + local_234)" ( (binary_expression "local_238 + local_234" identifier + identifier) )))) = number_literal) ;) (expression_statement "local_234 = iVar6;" (assignment_expression "local_234 = iVar6" identifier = identifier) ;) }))) (goto_statement "goto LAB_00021c20;" goto statement_identifier ;) })) (if_statement "if (cVar2 == '\\') {\n          if (local_23c <= local_234) {\n            local_23c = local_234 + 0x201;\n            local_238 = FUN_0001dc50(local_238,local_23c,1);\n          }\n          *(undefined1 *)(local_238 + local_234) = 0x5c;\n          local_244 = local_230 + 2;\n          local_234 = iVar6;\n          goto LAB_00021c20;\n        }" if (parenthesized_expression "(cVar2 == '\\')" ( (binary_expression "cVar2 == '\\'" identifier == (char_literal "'\\'" ' escape_sequence ')) )) (compound_statement "{\n          if (local_23c <= local_234) {\n            local_23c = local_234 + 0x201;\n            local_238 = FUN_0001dc50(local_238,local_23c,1);\n          }\n          *(undefined1 *)(local_238 + local_234) = 0x5c;\n          local_244 = local_230 + 2;\n          local_234 = iVar6;\n          goto LAB_00021c20;\n        }" { (if_statement "if (local_23c <= local_234) {\n            local_23c = local_234 + 0x201;\n            local_238 = FUN_0001dc50(local_238,local_23c,1);\n          }" if (parenthesized_expression "(local_23c <= local_234)" ( (binary_expression "local_23c <= local_234" identifier <= identifier) )) (compound_statement "{\n            local_23c = local_234 + 0x201;\n            local_238 = FUN_0001dc50(local_238,local_23c,1);\n          }" { (expression_statement "local_23c = local_234 + 0x201;" (assignment_expression "local_23c = local_234 + 0x201" identifier = (binary_expression "local_234 + 0x201" identifier + number_literal)) ;) (expression_statement "local_238 = FUN_0001dc50(local_238,local_23c,1);" (assignment_expression "local_238 = FUN_0001dc50(local_238,local_23c,1)" identifier = (call_expression "FUN_0001dc50(local_238,local_23c,1)" identifier (argument_list "(local_238,local_23c,1)" ( identifier , identifier , number_literal )))) ;) })) (expression_statement "*(undefined1 *)(local_238 + local_234) = 0x5c;" (assignment_expression "*(undefined1 *)(local_238 + local_234) = 0x5c" (pointer_expression "*(undefined1 *)(local_238 + local_234)" * (cast_expression "(undefined1 *)(local_238 + local_234)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_238 + local_234)" ( (binary_expression "local_238 + local_234" identifier + identifier) )))) = number_literal) ;) (expression_statement "local_244 = local_230 + 2;" (assignment_expression "local_244 = local_230 + 2" identifier = (binary_expression "local_230 + 2" identifier + number_literal)) ;) (expression_statement "local_234 = iVar6;" (assignment_expression "local_234 = iVar6" identifier = identifier) ;) (goto_statement "goto LAB_00021c20;" goto statement_identifier ;) })) (if_statement "if (cVar2 == '%') {\n          if (local_23c <= local_234) {\n            local_23c = local_234 + 0x201;\n            local_238 = FUN_0001dc50(local_238,local_23c,1);\n          }\n          *(undefined1 *)(local_238 + local_234) = 0x25;\n          local_244 = local_230 + 2;\n          local_234 = iVar6;\n          goto LAB_00021c20;\n        }" if (parenthesized_expression "(cVar2 == '%')" ( (binary_expression "cVar2 == '%'" identifier == (char_literal "'%'" ' character ')) )) (compound_statement "{\n          if (local_23c <= local_234) {\n            local_23c = local_234 + 0x201;\n            local_238 = FUN_0001dc50(local_238,local_23c,1);\n          }\n          *(undefined1 *)(local_238 + local_234) = 0x25;\n          local_244 = local_230 + 2;\n          local_234 = iVar6;\n          goto LAB_00021c20;\n        }" { (if_statement "if (local_23c <= local_234) {\n            local_23c = local_234 + 0x201;\n            local_238 = FUN_0001dc50(local_238,local_23c,1);\n          }" if (parenthesized_expression "(local_23c <= local_234)" ( (binary_expression "local_23c <= local_234" identifier <= identifier) )) (compound_statement "{\n            local_23c = local_234 + 0x201;\n            local_238 = FUN_0001dc50(local_238,local_23c,1);\n          }" { (expression_statement "local_23c = local_234 + 0x201;" (assignment_expression "local_23c = local_234 + 0x201" identifier = (binary_expression "local_234 + 0x201" identifier + number_literal)) ;) (expression_statement "local_238 = FUN_0001dc50(local_238,local_23c,1);" (assignment_expression "local_238 = FUN_0001dc50(local_238,local_23c,1)" identifier = (call_expression "FUN_0001dc50(local_238,local_23c,1)" identifier (argument_list "(local_238,local_23c,1)" ( identifier , identifier , number_literal )))) ;) })) (expression_statement "*(undefined1 *)(local_238 + local_234) = 0x25;" (assignment_expression "*(undefined1 *)(local_238 + local_234) = 0x25" (pointer_expression "*(undefined1 *)(local_238 + local_234)" * (cast_expression "(undefined1 *)(local_238 + local_234)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_238 + local_234)" ( (binary_expression "local_238 + local_234" identifier + identifier) )))) = number_literal) ;) (expression_statement "local_244 = local_230 + 2;" (assignment_expression "local_244 = local_230 + 2" identifier = (binary_expression "local_230 + 2" identifier + number_literal)) ;) (expression_statement "local_234 = iVar6;" (assignment_expression "local_234 = iVar6" identifier = identifier) ;) (goto_statement "goto LAB_00021c20;" goto statement_identifier ;) })) }) (else_clause "else {\n        if (cVar2 == 't') {\n          if (local_23c <= local_234) {\n            local_23c = local_234 + 0x201;\n            local_238 = FUN_0001dc50(local_238,local_23c,1);\n          }\n          *(undefined1 *)(local_238 + local_234) = 9;\n          local_244 = local_230 + 2;\n          local_234 = iVar6;\n          goto LAB_00021c20;\n        }\n        if (cVar2 == 'x') goto LAB_000223b0;\n        if (cVar2 == 'r') {\n          if (local_23c <= local_234) {\n            local_23c = local_234 + 0x201;\n            local_238 = FUN_0001dc50(local_238,local_23c,1);\n          }\n          *(undefined1 *)(local_238 + local_234) = 0xd;\n          local_244 = local_230 + 2;\n          local_234 = iVar6;\n          goto LAB_00021c20;\n        }\n      }" else (compound_statement "{\n        if (cVar2 == 't') {\n          if (local_23c <= local_234) {\n            local_23c = local_234 + 0x201;\n            local_238 = FUN_0001dc50(local_238,local_23c,1);\n          }\n          *(undefined1 *)(local_238 + local_234) = 9;\n          local_244 = local_230 + 2;\n          local_234 = iVar6;\n          goto LAB_00021c20;\n        }\n        if (cVar2 == 'x') goto LAB_000223b0;\n        if (cVar2 == 'r') {\n          if (local_23c <= local_234) {\n            local_23c = local_234 + 0x201;\n            local_238 = FUN_0001dc50(local_238,local_23c,1);\n          }\n          *(undefined1 *)(local_238 + local_234) = 0xd;\n          local_244 = local_230 + 2;\n          local_234 = iVar6;\n          goto LAB_00021c20;\n        }\n      }" { (if_statement "if (cVar2 == 't') {\n          if (local_23c <= local_234) {\n            local_23c = local_234 + 0x201;\n            local_238 = FUN_0001dc50(local_238,local_23c,1);\n          }\n          *(undefined1 *)(local_238 + local_234) = 9;\n          local_244 = local_230 + 2;\n          local_234 = iVar6;\n          goto LAB_00021c20;\n        }" if (parenthesized_expression "(cVar2 == 't')" ( (binary_expression "cVar2 == 't'" identifier == (char_literal "'t'" ' character ')) )) (compound_statement "{\n          if (local_23c <= local_234) {\n            local_23c = local_234 + 0x201;\n            local_238 = FUN_0001dc50(local_238,local_23c,1);\n          }\n          *(undefined1 *)(local_238 + local_234) = 9;\n          local_244 = local_230 + 2;\n          local_234 = iVar6;\n          goto LAB_00021c20;\n        }" { (if_statement "if (local_23c <= local_234) {\n            local_23c = local_234 + 0x201;\n            local_238 = FUN_0001dc50(local_238,local_23c,1);\n          }" if (parenthesized_expression "(local_23c <= local_234)" ( (binary_expression "local_23c <= local_234" identifier <= identifier) )) (compound_statement "{\n            local_23c = local_234 + 0x201;\n            local_238 = FUN_0001dc50(local_238,local_23c,1);\n          }" { (expression_statement "local_23c = local_234 + 0x201;" (assignment_expression "local_23c = local_234 + 0x201" identifier = (binary_expression "local_234 + 0x201" identifier + number_literal)) ;) (expression_statement "local_238 = FUN_0001dc50(local_238,local_23c,1);" (assignment_expression "local_238 = FUN_0001dc50(local_238,local_23c,1)" identifier = (call_expression "FUN_0001dc50(local_238,local_23c,1)" identifier (argument_list "(local_238,local_23c,1)" ( identifier , identifier , number_literal )))) ;) })) (expression_statement "*(undefined1 *)(local_238 + local_234) = 9;" (assignment_expression "*(undefined1 *)(local_238 + local_234) = 9" (pointer_expression "*(undefined1 *)(local_238 + local_234)" * (cast_expression "(undefined1 *)(local_238 + local_234)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_238 + local_234)" ( (binary_expression "local_238 + local_234" identifier + identifier) )))) = number_literal) ;) (expression_statement "local_244 = local_230 + 2;" (assignment_expression "local_244 = local_230 + 2" identifier = (binary_expression "local_230 + 2" identifier + number_literal)) ;) (expression_statement "local_234 = iVar6;" (assignment_expression "local_234 = iVar6" identifier = identifier) ;) (goto_statement "goto LAB_00021c20;" goto statement_identifier ;) })) (if_statement "if (cVar2 == 'x') goto LAB_000223b0;" if (parenthesized_expression "(cVar2 == 'x')" ( (binary_expression "cVar2 == 'x'" identifier == (char_literal "'x'" ' character ')) )) (goto_statement "goto LAB_000223b0;" goto statement_identifier ;)) (if_statement "if (cVar2 == 'r') {\n          if (local_23c <= local_234) {\n            local_23c = local_234 + 0x201;\n            local_238 = FUN_0001dc50(local_238,local_23c,1);\n          }\n          *(undefined1 *)(local_238 + local_234) = 0xd;\n          local_244 = local_230 + 2;\n          local_234 = iVar6;\n          goto LAB_00021c20;\n        }" if (parenthesized_expression "(cVar2 == 'r')" ( (binary_expression "cVar2 == 'r'" identifier == (char_literal "'r'" ' character ')) )) (compound_statement "{\n          if (local_23c <= local_234) {\n            local_23c = local_234 + 0x201;\n            local_238 = FUN_0001dc50(local_238,local_23c,1);\n          }\n          *(undefined1 *)(local_238 + local_234) = 0xd;\n          local_244 = local_230 + 2;\n          local_234 = iVar6;\n          goto LAB_00021c20;\n        }" { (if_statement "if (local_23c <= local_234) {\n            local_23c = local_234 + 0x201;\n            local_238 = FUN_0001dc50(local_238,local_23c,1);\n          }" if (parenthesized_expression "(local_23c <= local_234)" ( (binary_expression "local_23c <= local_234" identifier <= identifier) )) (compound_statement "{\n            local_23c = local_234 + 0x201;\n            local_238 = FUN_0001dc50(local_238,local_23c,1);\n          }" { (expression_statement "local_23c = local_234 + 0x201;" (assignment_expression "local_23c = local_234 + 0x201" identifier = (binary_expression "local_234 + 0x201" identifier + number_literal)) ;) (expression_statement "local_238 = FUN_0001dc50(local_238,local_23c,1);" (assignment_expression "local_238 = FUN_0001dc50(local_238,local_23c,1)" identifier = (call_expression "FUN_0001dc50(local_238,local_23c,1)" identifier (argument_list "(local_238,local_23c,1)" ( identifier , identifier , number_literal )))) ;) })) (expression_statement "*(undefined1 *)(local_238 + local_234) = 0xd;" (assignment_expression "*(undefined1 *)(local_238 + local_234) = 0xd" (pointer_expression "*(undefined1 *)(local_238 + local_234)" * (cast_expression "(undefined1 *)(local_238 + local_234)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_238 + local_234)" ( (binary_expression "local_238 + local_234" identifier + identifier) )))) = number_literal) ;) (expression_statement "local_244 = local_230 + 2;" (assignment_expression "local_244 = local_230 + 2" identifier = (binary_expression "local_230 + 2" identifier + number_literal)) ;) (expression_statement "local_234 = iVar6;" (assignment_expression "local_234 = iVar6" identifier = identifier) ;) (goto_statement "goto LAB_00021c20;" goto statement_identifier ;) })) }))) (if_statement "if (local_23c <= iVar6) {\n        local_23c = local_234 + 0x202;\n        local_238 = FUN_0001dc50(local_238,local_23c,1);\n      }" if (parenthesized_expression "(local_23c <= iVar6)" ( (binary_expression "local_23c <= iVar6" identifier <= identifier) )) (compound_statement "{\n        local_23c = local_234 + 0x202;\n        local_238 = FUN_0001dc50(local_238,local_23c,1);\n      }" { (expression_statement "local_23c = local_234 + 0x202;" (assignment_expression "local_23c = local_234 + 0x202" identifier = (binary_expression "local_234 + 0x202" identifier + number_literal)) ;) (expression_statement "local_238 = FUN_0001dc50(local_238,local_23c,1);" (assignment_expression "local_238 = FUN_0001dc50(local_238,local_23c,1)" identifier = (call_expression "FUN_0001dc50(local_238,local_23c,1)" identifier (argument_list "(local_238,local_23c,1)" ( identifier , identifier , number_literal )))) ;) })) (expression_statement "local_244 = local_230 + 2;" (assignment_expression "local_244 = local_230 + 2" identifier = (binary_expression "local_230 + 2" identifier + number_literal)) ;) (expression_statement "*(undefined2 *)(local_238 + local_234) = *(undefined2 *)local_240;" (assignment_expression "*(undefined2 *)(local_238 + local_234) = *(undefined2 *)local_240" (pointer_expression "*(undefined2 *)(local_238 + local_234)" * (cast_expression "(undefined2 *)(local_238 + local_234)" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_238 + local_234)" ( (binary_expression "local_238 + local_234" identifier + identifier) )))) = (pointer_expression "*(undefined2 *)local_240" * (cast_expression "(undefined2 *)local_240" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "local_234 = local_234 + 2;" (assignment_expression "local_234 = local_234 + 2" identifier = (binary_expression "local_234 + 2" identifier + number_literal)) ;) (goto_statement "goto LAB_00021c20;" goto statement_identifier ;) })) (if_statement "if (cVar2 == '%') {\n      if (local_23c <= local_234) {\n        local_23c = local_234 + 0x201;\n        local_238 = FUN_0001dc50(local_238,local_23c,1);\n      }\n      *(undefined1 *)(local_238 + local_234) = 0x25;\n      local_244 = local_230 + 2;\n      local_234 = local_234 + 1;\n      goto LAB_00021c20;\n    }" if (parenthesized_expression "(cVar2 == '%')" ( (binary_expression "cVar2 == '%'" identifier == (char_literal "'%'" ' character ')) )) (compound_statement "{\n      if (local_23c <= local_234) {\n        local_23c = local_234 + 0x201;\n        local_238 = FUN_0001dc50(local_238,local_23c,1);\n      }\n      *(undefined1 *)(local_238 + local_234) = 0x25;\n      local_244 = local_230 + 2;\n      local_234 = local_234 + 1;\n      goto LAB_00021c20;\n    }" { (if_statement "if (local_23c <= local_234) {\n        local_23c = local_234 + 0x201;\n        local_238 = FUN_0001dc50(local_238,local_23c,1);\n      }" if (parenthesized_expression "(local_23c <= local_234)" ( (binary_expression "local_23c <= local_234" identifier <= identifier) )) (compound_statement "{\n        local_23c = local_234 + 0x201;\n        local_238 = FUN_0001dc50(local_238,local_23c,1);\n      }" { (expression_statement "local_23c = local_234 + 0x201;" (assignment_expression "local_23c = local_234 + 0x201" identifier = (binary_expression "local_234 + 0x201" identifier + number_literal)) ;) (expression_statement "local_238 = FUN_0001dc50(local_238,local_23c,1);" (assignment_expression "local_238 = FUN_0001dc50(local_238,local_23c,1)" identifier = (call_expression "FUN_0001dc50(local_238,local_23c,1)" identifier (argument_list "(local_238,local_23c,1)" ( identifier , identifier , number_literal )))) ;) })) (expression_statement "*(undefined1 *)(local_238 + local_234) = 0x25;" (assignment_expression "*(undefined1 *)(local_238 + local_234) = 0x25" (pointer_expression "*(undefined1 *)(local_238 + local_234)" * (cast_expression "(undefined1 *)(local_238 + local_234)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_238 + local_234)" ( (binary_expression "local_238 + local_234" identifier + identifier) )))) = number_literal) ;) (expression_statement "local_244 = local_230 + 2;" (assignment_expression "local_244 = local_230 + 2" identifier = (binary_expression "local_230 + 2" identifier + number_literal)) ;) (expression_statement "local_234 = local_234 + 1;" (assignment_expression "local_234 = local_234 + 1" identifier = (binary_expression "local_234 + 1" identifier + number_literal)) ;) (goto_statement "goto LAB_00021c20;" goto statement_identifier ;) })) (expression_statement "iVar6 = strncasecmp(pcVar7,"host",4);" (assignment_expression "iVar6 = strncasecmp(pcVar7,"host",4)" identifier = (call_expression "strncasecmp(pcVar7,"host",4)" identifier (argument_list "(pcVar7,"host",4)" ( identifier , (string_literal ""host"" " string_content ") , number_literal )))) ;) (if_statement "if (iVar6 != 0) {\n      iVar6 = strncasecmp(pcVar7,"port",4);\n      if (iVar6 == 0) {\n        cVar2 = __sprintf_chk(local_220,1,8,&DAT_0008fa68,param_2);\n        uVar11 = (uint)cVar2;\n        goto joined_r0x000221ae;\n      }\n      iVar6 = strncasecmp(pcVar7,"user",4);\n      if (iVar6 == 0) {\n        pcVar7 = (char *)FUN_00018b60(param_3,0x10);\n        sVar8 = strlen(pcVar7);\n        iVar6 = sVar8 + local_234;\n        if (local_23c < iVar6) {\n          local_23c = iVar6 + 0x200;\n          local_238 = FUN_0001dc50(local_238,local_23c,1);\n        }\n        memcpy((void *)(local_234 + local_238),pcVar7,sVar8);\n        local_244 = local_230 + 5;\n        local_234 = iVar6;\n        goto LAB_00021c20;\n      }\n      iVar6 = strncasecmp(pcVar7,"pass",4);\n      if (iVar6 == 0) {\n        pcVar7 = (char *)FUN_00018b60(param_3,0x11);\n        sVar8 = strlen(pcVar7);\n        iVar6 = sVar8 + local_234;\n        if (local_23c < iVar6) {\n          local_23c = iVar6 + 0x200;\n          local_238 = FUN_0001dc50(local_238,local_23c,1);\n        }\n        memcpy((void *)(local_234 + local_238),pcVar7,sVar8);\n        local_244 = local_230 + 5;\n        local_234 = iVar6;\n        goto LAB_00021c20;\n      }\n      iVar6 = strncasecmp(pcVar7,"proxyhost",9);\n      if (iVar6 == 0) {\n        pcVar7 = (char *)FUN_00018b60(param_3,0xe);\n        sVar8 = strlen(pcVar7);\n        iVar6 = sVar8 + local_234;\n        if (local_23c < iVar6) {\n          local_23c = iVar6 + 0x200;\n          local_238 = FUN_0001dc50(local_238,local_23c,1);\n        }\n        memcpy((void *)(local_234 + local_238),pcVar7,sVar8);\n        local_244 = local_230 + 10;\n        local_234 = iVar6;\n        goto LAB_00021c20;\n      }\n      iVar6 = strncasecmp(pcVar7,"proxyport",9);\n      if (iVar6 == 0) break;\n      if (local_23c <= local_234) {\n        local_23c = local_234 + 0x201;\n        local_238 = FUN_0001dc50(local_238,local_23c,1);\n      }\n      *(undefined1 *)(local_238 + local_234) = 0x25;\n      local_234 = local_234 + 1;\n      pcVar7 = (char *)(iVar4 + local_244);\n      cVar2 = *pcVar7;\n      iVar6 = local_244;\n      goto joined_r0x00021c28;\n    }" if (parenthesized_expression "(iVar6 != 0)" ( (binary_expression "iVar6 != 0" identifier != number_literal) )) (compound_statement "{\n      iVar6 = strncasecmp(pcVar7,"port",4);\n      if (iVar6 == 0) {\n        cVar2 = __sprintf_chk(local_220,1,8,&DAT_0008fa68,param_2);\n        uVar11 = (uint)cVar2;\n        goto joined_r0x000221ae;\n      }\n      iVar6 = strncasecmp(pcVar7,"user",4);\n      if (iVar6 == 0) {\n        pcVar7 = (char *)FUN_00018b60(param_3,0x10);\n        sVar8 = strlen(pcVar7);\n        iVar6 = sVar8 + local_234;\n        if (local_23c < iVar6) {\n          local_23c = iVar6 + 0x200;\n          local_238 = FUN_0001dc50(local_238,local_23c,1);\n        }\n        memcpy((void *)(local_234 + local_238),pcVar7,sVar8);\n        local_244 = local_230 + 5;\n        local_234 = iVar6;\n        goto LAB_00021c20;\n      }\n      iVar6 = strncasecmp(pcVar7,"pass",4);\n      if (iVar6 == 0) {\n        pcVar7 = (char *)FUN_00018b60(param_3,0x11);\n        sVar8 = strlen(pcVar7);\n        iVar6 = sVar8 + local_234;\n        if (local_23c < iVar6) {\n          local_23c = iVar6 + 0x200;\n          local_238 = FUN_0001dc50(local_238,local_23c,1);\n        }\n        memcpy((void *)(local_234 + local_238),pcVar7,sVar8);\n        local_244 = local_230 + 5;\n        local_234 = iVar6;\n        goto LAB_00021c20;\n      }\n      iVar6 = strncasecmp(pcVar7,"proxyhost",9);\n      if (iVar6 == 0) {\n        pcVar7 = (char *)FUN_00018b60(param_3,0xe);\n        sVar8 = strlen(pcVar7);\n        iVar6 = sVar8 + local_234;\n        if (local_23c < iVar6) {\n          local_23c = iVar6 + 0x200;\n          local_238 = FUN_0001dc50(local_238,local_23c,1);\n        }\n        memcpy((void *)(local_234 + local_238),pcVar7,sVar8);\n        local_244 = local_230 + 10;\n        local_234 = iVar6;\n        goto LAB_00021c20;\n      }\n      iVar6 = strncasecmp(pcVar7,"proxyport",9);\n      if (iVar6 == 0) break;\n      if (local_23c <= local_234) {\n        local_23c = local_234 + 0x201;\n        local_238 = FUN_0001dc50(local_238,local_23c,1);\n      }\n      *(undefined1 *)(local_238 + local_234) = 0x25;\n      local_234 = local_234 + 1;\n      pcVar7 = (char *)(iVar4 + local_244);\n      cVar2 = *pcVar7;\n      iVar6 = local_244;\n      goto joined_r0x00021c28;\n    }" { (expression_statement "iVar6 = strncasecmp(pcVar7,"port",4);" (assignment_expression "iVar6 = strncasecmp(pcVar7,"port",4)" identifier = (call_expression "strncasecmp(pcVar7,"port",4)" identifier (argument_list "(pcVar7,"port",4)" ( identifier , (string_literal ""port"" " string_content ") , number_literal )))) ;) (if_statement "if (iVar6 == 0) {\n        cVar2 = __sprintf_chk(local_220,1,8,&DAT_0008fa68,param_2);\n        uVar11 = (uint)cVar2;\n        goto joined_r0x000221ae;\n      }" if (parenthesized_expression "(iVar6 == 0)" ( (binary_expression "iVar6 == 0" identifier == number_literal) )) (compound_statement "{\n        cVar2 = __sprintf_chk(local_220,1,8,&DAT_0008fa68,param_2);\n        uVar11 = (uint)cVar2;\n        goto joined_r0x000221ae;\n      }" { (expression_statement "cVar2 = __sprintf_chk(local_220,1,8,&DAT_0008fa68,param_2);" (assignment_expression "cVar2 = __sprintf_chk(local_220,1,8,&DAT_0008fa68,param_2)" identifier = (call_expression "__sprintf_chk(local_220,1,8,&DAT_0008fa68,param_2)" identifier (argument_list "(local_220,1,8,&DAT_0008fa68,param_2)" ( identifier , number_literal , number_literal , (pointer_expression "&DAT_0008fa68" & identifier) , identifier )))) ;) (expression_statement "uVar11 = (uint)cVar2;" (assignment_expression "uVar11 = (uint)cVar2" identifier = (cast_expression "(uint)cVar2" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (goto_statement "goto joined_r0x000221ae;" goto statement_identifier ;) })) (expression_statement "iVar6 = strncasecmp(pcVar7,"user",4);" (assignment_expression "iVar6 = strncasecmp(pcVar7,"user",4)" identifier = (call_expression "strncasecmp(pcVar7,"user",4)" identifier (argument_list "(pcVar7,"user",4)" ( identifier , (string_literal ""user"" " string_content ") , number_literal )))) ;) (if_statement "if (iVar6 == 0) {\n        pcVar7 = (char *)FUN_00018b60(param_3,0x10);\n        sVar8 = strlen(pcVar7);\n        iVar6 = sVar8 + local_234;\n        if (local_23c < iVar6) {\n          local_23c = iVar6 + 0x200;\n          local_238 = FUN_0001dc50(local_238,local_23c,1);\n        }\n        memcpy((void *)(local_234 + local_238),pcVar7,sVar8);\n        local_244 = local_230 + 5;\n        local_234 = iVar6;\n        goto LAB_00021c20;\n      }" if (parenthesized_expression "(iVar6 == 0)" ( (binary_expression "iVar6 == 0" identifier == number_literal) )) (compound_statement "{\n        pcVar7 = (char *)FUN_00018b60(param_3,0x10);\n        sVar8 = strlen(pcVar7);\n        iVar6 = sVar8 + local_234;\n        if (local_23c < iVar6) {\n          local_23c = iVar6 + 0x200;\n          local_238 = FUN_0001dc50(local_238,local_23c,1);\n        }\n        memcpy((void *)(local_234 + local_238),pcVar7,sVar8);\n        local_244 = local_230 + 5;\n        local_234 = iVar6;\n        goto LAB_00021c20;\n      }" { (expression_statement "pcVar7 = (char *)FUN_00018b60(param_3,0x10);" (assignment_expression "pcVar7 = (char *)FUN_00018b60(param_3,0x10)" identifier = (cast_expression "(char *)FUN_00018b60(param_3,0x10)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00018b60(param_3,0x10)" identifier (argument_list "(param_3,0x10)" ( identifier , number_literal ))))) ;) (expression_statement "sVar8 = strlen(pcVar7);" (assignment_expression "sVar8 = strlen(pcVar7)" identifier = (call_expression "strlen(pcVar7)" identifier (argument_list "(pcVar7)" ( identifier )))) ;) (expression_statement "iVar6 = sVar8 + local_234;" (assignment_expression "iVar6 = sVar8 + local_234" identifier = (binary_expression "sVar8 + local_234" identifier + identifier)) ;) (if_statement "if (local_23c < iVar6) {\n          local_23c = iVar6 + 0x200;\n          local_238 = FUN_0001dc50(local_238,local_23c,1);\n        }" if (parenthesized_expression "(local_23c < iVar6)" ( (binary_expression "local_23c < iVar6" identifier < identifier) )) (compound_statement "{\n          local_23c = iVar6 + 0x200;\n          local_238 = FUN_0001dc50(local_238,local_23c,1);\n        }" { (expression_statement "local_23c = iVar6 + 0x200;" (assignment_expression "local_23c = iVar6 + 0x200" identifier = (binary_expression "iVar6 + 0x200" identifier + number_literal)) ;) (expression_statement "local_238 = FUN_0001dc50(local_238,local_23c,1);" (assignment_expression "local_238 = FUN_0001dc50(local_238,local_23c,1)" identifier = (call_expression "FUN_0001dc50(local_238,local_23c,1)" identifier (argument_list "(local_238,local_23c,1)" ( identifier , identifier , number_literal )))) ;) })) (expression_statement "memcpy((void *)(local_234 + local_238),pcVar7,sVar8);" (call_expression "memcpy((void *)(local_234 + local_238),pcVar7,sVar8)" identifier (argument_list "((void *)(local_234 + local_238),pcVar7,sVar8)" ( (cast_expression "(void *)(local_234 + local_238)" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_234 + local_238)" ( (binary_expression "local_234 + local_238" identifier + identifier) ))) , identifier , identifier ))) ;) (expression_statement "local_244 = local_230 + 5;" (assignment_expression "local_244 = local_230 + 5" identifier = (binary_expression "local_230 + 5" identifier + number_literal)) ;) (expression_statement "local_234 = iVar6;" (assignment_expression "local_234 = iVar6" identifier = identifier) ;) (goto_statement "goto LAB_00021c20;" goto statement_identifier ;) })) (expression_statement "iVar6 = strncasecmp(pcVar7,"pass",4);" (assignment_expression "iVar6 = strncasecmp(pcVar7,"pass",4)" identifier = (call_expression "strncasecmp(pcVar7,"pass",4)" identifier (argument_list "(pcVar7,"pass",4)" ( identifier , (string_literal ""pass"" " string_content ") , number_literal )))) ;) (if_statement "if (iVar6 == 0) {\n        pcVar7 = (char *)FUN_00018b60(param_3,0x11);\n        sVar8 = strlen(pcVar7);\n        iVar6 = sVar8 + local_234;\n        if (local_23c < iVar6) {\n          local_23c = iVar6 + 0x200;\n          local_238 = FUN_0001dc50(local_238,local_23c,1);\n        }\n        memcpy((void *)(local_234 + local_238),pcVar7,sVar8);\n        local_244 = local_230 + 5;\n        local_234 = iVar6;\n        goto LAB_00021c20;\n      }" if (parenthesized_expression "(iVar6 == 0)" ( (binary_expression "iVar6 == 0" identifier == number_literal) )) (compound_statement "{\n        pcVar7 = (char *)FUN_00018b60(param_3,0x11);\n        sVar8 = strlen(pcVar7);\n        iVar6 = sVar8 + local_234;\n        if (local_23c < iVar6) {\n          local_23c = iVar6 + 0x200;\n          local_238 = FUN_0001dc50(local_238,local_23c,1);\n        }\n        memcpy((void *)(local_234 + local_238),pcVar7,sVar8);\n        local_244 = local_230 + 5;\n        local_234 = iVar6;\n        goto LAB_00021c20;\n      }" { (expression_statement "pcVar7 = (char *)FUN_00018b60(param_3,0x11);" (assignment_expression "pcVar7 = (char *)FUN_00018b60(param_3,0x11)" identifier = (cast_expression "(char *)FUN_00018b60(param_3,0x11)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00018b60(param_3,0x11)" identifier (argument_list "(param_3,0x11)" ( identifier , number_literal ))))) ;) (expression_statement "sVar8 = strlen(pcVar7);" (assignment_expression "sVar8 = strlen(pcVar7)" identifier = (call_expression "strlen(pcVar7)" identifier (argument_list "(pcVar7)" ( identifier )))) ;) (expression_statement "iVar6 = sVar8 + local_234;" (assignment_expression "iVar6 = sVar8 + local_234" identifier = (binary_expression "sVar8 + local_234" identifier + identifier)) ;) (if_statement "if (local_23c < iVar6) {\n          local_23c = iVar6 + 0x200;\n          local_238 = FUN_0001dc50(local_238,local_23c,1);\n        }" if (parenthesized_expression "(local_23c < iVar6)" ( (binary_expression "local_23c < iVar6" identifier < identifier) )) (compound_statement "{\n          local_23c = iVar6 + 0x200;\n          local_238 = FUN_0001dc50(local_238,local_23c,1);\n        }" { (expression_statement "local_23c = iVar6 + 0x200;" (assignment_expression "local_23c = iVar6 + 0x200" identifier = (binary_expression "iVar6 + 0x200" identifier + number_literal)) ;) (expression_statement "local_238 = FUN_0001dc50(local_238,local_23c,1);" (assignment_expression "local_238 = FUN_0001dc50(local_238,local_23c,1)" identifier = (call_expression "FUN_0001dc50(local_238,local_23c,1)" identifier (argument_list "(local_238,local_23c,1)" ( identifier , identifier , number_literal )))) ;) })) (expression_statement "memcpy((void *)(local_234 + local_238),pcVar7,sVar8);" (call_expression "memcpy((void *)(local_234 + local_238),pcVar7,sVar8)" identifier (argument_list "((void *)(local_234 + local_238),pcVar7,sVar8)" ( (cast_expression "(void *)(local_234 + local_238)" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_234 + local_238)" ( (binary_expression "local_234 + local_238" identifier + identifier) ))) , identifier , identifier ))) ;) (expression_statement "local_244 = local_230 + 5;" (assignment_expression "local_244 = local_230 + 5" identifier = (binary_expression "local_230 + 5" identifier + number_literal)) ;) (expression_statement "local_234 = iVar6;" (assignment_expression "local_234 = iVar6" identifier = identifier) ;) (goto_statement "goto LAB_00021c20;" goto statement_identifier ;) })) (expression_statement "iVar6 = strncasecmp(pcVar7,"proxyhost",9);" (assignment_expression "iVar6 = strncasecmp(pcVar7,"proxyhost",9)" identifier = (call_expression "strncasecmp(pcVar7,"proxyhost",9)" identifier (argument_list "(pcVar7,"proxyhost",9)" ( identifier , (string_literal ""proxyhost"" " string_content ") , number_literal )))) ;) (if_statement "if (iVar6 == 0) {\n        pcVar7 = (char *)FUN_00018b60(param_3,0xe);\n        sVar8 = strlen(pcVar7);\n        iVar6 = sVar8 + local_234;\n        if (local_23c < iVar6) {\n          local_23c = iVar6 + 0x200;\n          local_238 = FUN_0001dc50(local_238,local_23c,1);\n        }\n        memcpy((void *)(local_234 + local_238),pcVar7,sVar8);\n        local_244 = local_230 + 10;\n        local_234 = iVar6;\n        goto LAB_00021c20;\n      }" if (parenthesized_expression "(iVar6 == 0)" ( (binary_expression "iVar6 == 0" identifier == number_literal) )) (compound_statement "{\n        pcVar7 = (char *)FUN_00018b60(param_3,0xe);\n        sVar8 = strlen(pcVar7);\n        iVar6 = sVar8 + local_234;\n        if (local_23c < iVar6) {\n          local_23c = iVar6 + 0x200;\n          local_238 = FUN_0001dc50(local_238,local_23c,1);\n        }\n        memcpy((void *)(local_234 + local_238),pcVar7,sVar8);\n        local_244 = local_230 + 10;\n        local_234 = iVar6;\n        goto LAB_00021c20;\n      }" { (expression_statement "pcVar7 = (char *)FUN_00018b60(param_3,0xe);" (assignment_expression "pcVar7 = (char *)FUN_00018b60(param_3,0xe)" identifier = (cast_expression "(char *)FUN_00018b60(param_3,0xe)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00018b60(param_3,0xe)" identifier (argument_list "(param_3,0xe)" ( identifier , number_literal ))))) ;) (expression_statement "sVar8 = strlen(pcVar7);" (assignment_expression "sVar8 = strlen(pcVar7)" identifier = (call_expression "strlen(pcVar7)" identifier (argument_list "(pcVar7)" ( identifier )))) ;) (expression_statement "iVar6 = sVar8 + local_234;" (assignment_expression "iVar6 = sVar8 + local_234" identifier = (binary_expression "sVar8 + local_234" identifier + identifier)) ;) (if_statement "if (local_23c < iVar6) {\n          local_23c = iVar6 + 0x200;\n          local_238 = FUN_0001dc50(local_238,local_23c,1);\n        }" if (parenthesized_expression "(local_23c < iVar6)" ( (binary_expression "local_23c < iVar6" identifier < identifier) )) (compound_statement "{\n          local_23c = iVar6 + 0x200;\n          local_238 = FUN_0001dc50(local_238,local_23c,1);\n        }" { (expression_statement "local_23c = iVar6 + 0x200;" (assignment_expression "local_23c = iVar6 + 0x200" identifier = (binary_expression "iVar6 + 0x200" identifier + number_literal)) ;) (expression_statement "local_238 = FUN_0001dc50(local_238,local_23c,1);" (assignment_expression "local_238 = FUN_0001dc50(local_238,local_23c,1)" identifier = (call_expression "FUN_0001dc50(local_238,local_23c,1)" identifier (argument_list "(local_238,local_23c,1)" ( identifier , identifier , number_literal )))) ;) })) (expression_statement "memcpy((void *)(local_234 + local_238),pcVar7,sVar8);" (call_expression "memcpy((void *)(local_234 + local_238),pcVar7,sVar8)" identifier (argument_list "((void *)(local_234 + local_238),pcVar7,sVar8)" ( (cast_expression "(void *)(local_234 + local_238)" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_234 + local_238)" ( (binary_expression "local_234 + local_238" identifier + identifier) ))) , identifier , identifier ))) ;) (expression_statement "local_244 = local_230 + 10;" (assignment_expression "local_244 = local_230 + 10" identifier = (binary_expression "local_230 + 10" identifier + number_literal)) ;) (expression_statement "local_234 = iVar6;" (assignment_expression "local_234 = iVar6" identifier = identifier) ;) (goto_statement "goto LAB_00021c20;" goto statement_identifier ;) })) (expression_statement "iVar6 = strncasecmp(pcVar7,"proxyport",9);" (assignment_expression "iVar6 = strncasecmp(pcVar7,"proxyport",9)" identifier = (call_expression "strncasecmp(pcVar7,"proxyport",9)" identifier (argument_list "(pcVar7,"proxyport",9)" ( identifier , (string_literal ""proxyport"" " string_content ") , number_literal )))) ;) (if_statement "if (iVar6 == 0) break;" if (parenthesized_expression "(iVar6 == 0)" ( (binary_expression "iVar6 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (if_statement "if (local_23c <= local_234) {\n        local_23c = local_234 + 0x201;\n        local_238 = FUN_0001dc50(local_238,local_23c,1);\n      }" if (parenthesized_expression "(local_23c <= local_234)" ( (binary_expression "local_23c <= local_234" identifier <= identifier) )) (compound_statement "{\n        local_23c = local_234 + 0x201;\n        local_238 = FUN_0001dc50(local_238,local_23c,1);\n      }" { (expression_statement "local_23c = local_234 + 0x201;" (assignment_expression "local_23c = local_234 + 0x201" identifier = (binary_expression "local_234 + 0x201" identifier + number_literal)) ;) (expression_statement "local_238 = FUN_0001dc50(local_238,local_23c,1);" (assignment_expression "local_238 = FUN_0001dc50(local_238,local_23c,1)" identifier = (call_expression "FUN_0001dc50(local_238,local_23c,1)" identifier (argument_list "(local_238,local_23c,1)" ( identifier , identifier , number_literal )))) ;) })) (expression_statement "*(undefined1 *)(local_238 + local_234) = 0x25;" (assignment_expression "*(undefined1 *)(local_238 + local_234) = 0x25" (pointer_expression "*(undefined1 *)(local_238 + local_234)" * (cast_expression "(undefined1 *)(local_238 + local_234)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_238 + local_234)" ( (binary_expression "local_238 + local_234" identifier + identifier) )))) = number_literal) ;) (expression_statement "local_234 = local_234 + 1;" (assignment_expression "local_234 = local_234 + 1" identifier = (binary_expression "local_234 + 1" identifier + number_literal)) ;) (expression_statement "pcVar7 = (char *)(iVar4 + local_244);" (assignment_expression "pcVar7 = (char *)(iVar4 + local_244)" identifier = (cast_expression "(char *)(iVar4 + local_244)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + local_244)" ( (binary_expression "iVar4 + local_244" identifier + identifier) )))) ;) (expression_statement "cVar2 = *pcVar7;" (assignment_expression "cVar2 = *pcVar7" identifier = (pointer_expression "*pcVar7" * identifier)) ;) (expression_statement "iVar6 = local_244;" (assignment_expression "iVar6 = local_244" identifier = identifier) ;) (goto_statement "goto joined_r0x00021c28;" goto statement_identifier ;) })) (expression_statement "FUN_00084190(param_1,local_220,0x200);" (call_expression "FUN_00084190(param_1,local_220,0x200)" identifier (argument_list "(param_1,local_220,0x200)" ( identifier , identifier , number_literal ))) ;) (expression_statement "puVar12 = local_220;" (assignment_expression "puVar12 = local_220" identifier = identifier) ;) (do_statement "do {\n      puVar13 = puVar12;\n      uVar10 = *puVar13 + 0xfefefeff & ~*puVar13;\n      uVar11 = uVar10 & 0x80808080;\n      puVar12 = puVar13 + 1;\n    } while (uVar11 == 0);" do (compound_statement "{\n      puVar13 = puVar12;\n      uVar10 = *puVar13 + 0xfefefeff & ~*puVar13;\n      uVar11 = uVar10 & 0x80808080;\n      puVar12 = puVar13 + 1;\n    }" { (expression_statement "puVar13 = puVar12;" (assignment_expression "puVar13 = puVar12" identifier = identifier) ;) (expression_statement "uVar10 = *puVar13 + 0xfefefeff & ~*puVar13;" (assignment_expression "uVar10 = *puVar13 + 0xfefefeff & ~*puVar13" identifier = (binary_expression "*puVar13 + 0xfefefeff & ~*puVar13" (binary_expression "*puVar13 + 0xfefefeff" (pointer_expression "*puVar13" * identifier) + number_literal) & (unary_expression "~*puVar13" ~ (pointer_expression "*puVar13" * identifier)))) ;) (expression_statement "uVar11 = uVar10 & 0x80808080;" (assignment_expression "uVar11 = uVar10 & 0x80808080" identifier = (binary_expression "uVar10 & 0x80808080" identifier & number_literal)) ;) (expression_statement "puVar12 = puVar13 + 1;" (assignment_expression "puVar12 = puVar13 + 1" identifier = (binary_expression "puVar13 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(uVar11 == 0)" ( (binary_expression "uVar11 == 0" identifier == number_literal) )) ;) (expression_statement "bVar16 = (uVar10 & 0x8080) == 0;" (assignment_expression "bVar16 = (uVar10 & 0x8080) == 0" identifier = (binary_expression "(uVar10 & 0x8080) == 0" (parenthesized_expression "(uVar10 & 0x8080)" ( (binary_expression "uVar10 & 0x8080" identifier & number_literal) )) == number_literal)) ;) (if_statement "if (bVar16) {\n      uVar11 = uVar11 >> 0x10;\n    }" if (parenthesized_expression "(bVar16)" ( identifier )) (compound_statement "{\n      uVar11 = uVar11 >> 0x10;\n    }" { (expression_statement "uVar11 = uVar11 >> 0x10;" (assignment_expression "uVar11 = uVar11 >> 0x10" identifier = (binary_expression "uVar11 >> 0x10" identifier >> number_literal)) ;) })) (expression_statement "puVar12 = (uint *)((int)puVar13 + 6);" (assignment_expression "puVar12 = (uint *)((int)puVar13 + 6)" identifier = (cast_expression "(uint *)((int)puVar13 + 6)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar13 + 6)" ( (binary_expression "(int)puVar13 + 6" (cast_expression "(int)puVar13" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (if_statement "if (!bVar16) {\n      puVar12 = puVar13 + 1;\n    }" if (parenthesized_expression "(!bVar16)" ( (unary_expression "!bVar16" ! identifier) )) (compound_statement "{\n      puVar12 = puVar13 + 1;\n    }" { (expression_statement "puVar12 = puVar13 + 1;" (assignment_expression "puVar12 = puVar13 + 1" identifier = (binary_expression "puVar13 + 1" identifier + number_literal)) ;) })) (expression_statement "uVar11 = (int)puVar12 + ((-3 - (uint)CARRY1((byte)uVar11,(byte)uVar11)) - (int)local_220);" (assignment_expression "uVar11 = (int)puVar12 + ((-3 - (uint)CARRY1((byte)uVar11,(byte)uVar11)) - (int)local_220)" identifier = (binary_expression "(int)puVar12 + ((-3 - (uint)CARRY1((byte)uVar11,(byte)uVar11)) - (int)local_220)" (cast_expression "(int)puVar12" ( (type_descriptor "int" primitive_type) ) identifier) + (parenthesized_expression "((-3 - (uint)CARRY1((byte)uVar11,(byte)uVar11)) - (int)local_220)" ( (binary_expression "(-3 - (uint)CARRY1((byte)uVar11,(byte)uVar11)) - (int)local_220" (parenthesized_expression "(-3 - (uint)CARRY1((byte)uVar11,(byte)uVar11))" ( (binary_expression "-3 - (uint)CARRY1((byte)uVar11,(byte)uVar11)" number_literal - (cast_expression "(uint)CARRY1((byte)uVar11,(byte)uVar11)" ( (type_descriptor "uint" type_identifier) ) (call_expression "CARRY1((byte)uVar11,(byte)uVar11)" identifier (argument_list "((byte)uVar11,(byte)uVar11)" ( (cast_expression "(byte)uVar11" ( (type_descriptor "byte" type_identifier) ) identifier) , (cast_expression "(byte)uVar11" ( (type_descriptor "byte" type_identifier) ) identifier) ))))) )) - (cast_expression "(int)local_220" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (labeled_statement "joined_r0x000221ae:\n    iVar6 = local_234 + uVar11;" statement_identifier : (expression_statement "iVar6 = local_234 + uVar11;" (assignment_expression "iVar6 = local_234 + uVar11" identifier = (binary_expression "local_234 + uVar11" identifier + identifier)) ;)) (if_statement "if (local_23c < iVar6) {\n      local_23c = iVar6 + 0x200;\n      local_238 = FUN_0001dc50(local_238,local_23c,1);\n    }" if (parenthesized_expression "(local_23c < iVar6)" ( (binary_expression "local_23c < iVar6" identifier < identifier) )) (compound_statement "{\n      local_23c = iVar6 + 0x200;\n      local_238 = FUN_0001dc50(local_238,local_23c,1);\n    }" { (expression_statement "local_23c = iVar6 + 0x200;" (assignment_expression "local_23c = iVar6 + 0x200" identifier = (binary_expression "iVar6 + 0x200" identifier + number_literal)) ;) (expression_statement "local_238 = FUN_0001dc50(local_238,local_23c,1);" (assignment_expression "local_238 = FUN_0001dc50(local_238,local_23c,1)" identifier = (call_expression "FUN_0001dc50(local_238,local_23c,1)" identifier (argument_list "(local_238,local_23c,1)" ( identifier , identifier , number_literal )))) ;) })) (expression_statement "puVar12 = (uint *)(local_234 + local_238);" (assignment_expression "puVar12 = (uint *)(local_234 + local_238)" identifier = (cast_expression "(uint *)(local_234 + local_238)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_234 + local_238)" ( (binary_expression "local_234 + local_238" identifier + identifier) )))) ;) (if_statement "if (uVar11 < 4) {\n      if (uVar11 != 0) {\n        *(undefined1 *)puVar12 = (undefined1)local_220[0];\n        if ((uVar11 & 2) != 0) {\n          *(undefined2 *)((int)puVar12 + (uVar11 - 2)) = *(undefined2 *)(auStack_227 + uVar11 + 5);\n        }\n      }\n    }\n    else {\n      *puVar12 = local_220[0];\n      *(undefined4 *)((int)puVar12 + (uVar11 - 4)) = *(undefined4 *)(auStack_227 + uVar11 + 3);\n      iVar5 = (int)puVar12 - (int)((uint)(puVar12 + 1) & 0xfffffffc);\n      puVar14 = (undefined4 *)((int)local_220 - iVar5);\n      puVar15 = (undefined4 *)((uint)(puVar12 + 1) & 0xfffffffc);\n      for (uVar11 = uVar11 + iVar5 >> 2; uVar11 != 0; uVar11 = uVar11 - 1) {\n        *puVar15 = *puVar14;\n        puVar14 = puVar14 + (uint)bVar17 * -2 + 1;\n        puVar15 = puVar15 + (uint)bVar17 * -2 + 1;\n      }\n    }" if (parenthesized_expression "(uVar11 < 4)" ( (binary_expression "uVar11 < 4" identifier < number_literal) )) (compound_statement "{\n      if (uVar11 != 0) {\n        *(undefined1 *)puVar12 = (undefined1)local_220[0];\n        if ((uVar11 & 2) != 0) {\n          *(undefined2 *)((int)puVar12 + (uVar11 - 2)) = *(undefined2 *)(auStack_227 + uVar11 + 5);\n        }\n      }\n    }" { (if_statement "if (uVar11 != 0) {\n        *(undefined1 *)puVar12 = (undefined1)local_220[0];\n        if ((uVar11 & 2) != 0) {\n          *(undefined2 *)((int)puVar12 + (uVar11 - 2)) = *(undefined2 *)(auStack_227 + uVar11 + 5);\n        }\n      }" if (parenthesized_expression "(uVar11 != 0)" ( (binary_expression "uVar11 != 0" identifier != number_literal) )) (compound_statement "{\n        *(undefined1 *)puVar12 = (undefined1)local_220[0];\n        if ((uVar11 & 2) != 0) {\n          *(undefined2 *)((int)puVar12 + (uVar11 - 2)) = *(undefined2 *)(auStack_227 + uVar11 + 5);\n        }\n      }" { (expression_statement "*(undefined1 *)puVar12 = (undefined1)local_220[0];" (assignment_expression "*(undefined1 *)puVar12 = (undefined1)local_220[0]" (pointer_expression "*(undefined1 *)puVar12" * (cast_expression "(undefined1 *)puVar12" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = (cast_expression "(undefined1)local_220[0]" ( (type_descriptor "undefined1" type_identifier) ) (subscript_expression "local_220[0]" identifier [ number_literal ]))) ;) (if_statement "if ((uVar11 & 2) != 0) {\n          *(undefined2 *)((int)puVar12 + (uVar11 - 2)) = *(undefined2 *)(auStack_227 + uVar11 + 5);\n        }" if (parenthesized_expression "((uVar11 & 2) != 0)" ( (binary_expression "(uVar11 & 2) != 0" (parenthesized_expression "(uVar11 & 2)" ( (binary_expression "uVar11 & 2" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n          *(undefined2 *)((int)puVar12 + (uVar11 - 2)) = *(undefined2 *)(auStack_227 + uVar11 + 5);\n        }" { (expression_statement "*(undefined2 *)((int)puVar12 + (uVar11 - 2)) = *(undefined2 *)(auStack_227 + uVar11 + 5);" (assignment_expression "*(undefined2 *)((int)puVar12 + (uVar11 - 2)) = *(undefined2 *)(auStack_227 + uVar11 + 5)" (pointer_expression "*(undefined2 *)((int)puVar12 + (uVar11 - 2))" * (cast_expression "(undefined2 *)((int)puVar12 + (uVar11 - 2))" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar12 + (uVar11 - 2))" ( (binary_expression "(int)puVar12 + (uVar11 - 2)" (cast_expression "(int)puVar12" ( (type_descriptor "int" primitive_type) ) identifier) + (parenthesized_expression "(uVar11 - 2)" ( (binary_expression "uVar11 - 2" identifier - number_literal) ))) )))) = (pointer_expression "*(undefined2 *)(auStack_227 + uVar11 + 5)" * (cast_expression "(undefined2 *)(auStack_227 + uVar11 + 5)" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(auStack_227 + uVar11 + 5)" ( (binary_expression "auStack_227 + uVar11 + 5" (binary_expression "auStack_227 + uVar11" identifier + identifier) + number_literal) ))))) ;) })) })) }) (else_clause "else {\n      *puVar12 = local_220[0];\n      *(undefined4 *)((int)puVar12 + (uVar11 - 4)) = *(undefined4 *)(auStack_227 + uVar11 + 3);\n      iVar5 = (int)puVar12 - (int)((uint)(puVar12 + 1) & 0xfffffffc);\n      puVar14 = (undefined4 *)((int)local_220 - iVar5);\n      puVar15 = (undefined4 *)((uint)(puVar12 + 1) & 0xfffffffc);\n      for (uVar11 = uVar11 + iVar5 >> 2; uVar11 != 0; uVar11 = uVar11 - 1) {\n        *puVar15 = *puVar14;\n        puVar14 = puVar14 + (uint)bVar17 * -2 + 1;\n        puVar15 = puVar15 + (uint)bVar17 * -2 + 1;\n      }\n    }" else (compound_statement "{\n      *puVar12 = local_220[0];\n      *(undefined4 *)((int)puVar12 + (uVar11 - 4)) = *(undefined4 *)(auStack_227 + uVar11 + 3);\n      iVar5 = (int)puVar12 - (int)((uint)(puVar12 + 1) & 0xfffffffc);\n      puVar14 = (undefined4 *)((int)local_220 - iVar5);\n      puVar15 = (undefined4 *)((uint)(puVar12 + 1) & 0xfffffffc);\n      for (uVar11 = uVar11 + iVar5 >> 2; uVar11 != 0; uVar11 = uVar11 - 1) {\n        *puVar15 = *puVar14;\n        puVar14 = puVar14 + (uint)bVar17 * -2 + 1;\n        puVar15 = puVar15 + (uint)bVar17 * -2 + 1;\n      }\n    }" { (expression_statement "*puVar12 = local_220[0];" (assignment_expression "*puVar12 = local_220[0]" (pointer_expression "*puVar12" * identifier) = (subscript_expression "local_220[0]" identifier [ number_literal ])) ;) (expression_statement "*(undefined4 *)((int)puVar12 + (uVar11 - 4)) = *(undefined4 *)(auStack_227 + uVar11 + 3);" (assignment_expression "*(undefined4 *)((int)puVar12 + (uVar11 - 4)) = *(undefined4 *)(auStack_227 + uVar11 + 3)" (pointer_expression "*(undefined4 *)((int)puVar12 + (uVar11 - 4))" * (cast_expression "(undefined4 *)((int)puVar12 + (uVar11 - 4))" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar12 + (uVar11 - 4))" ( (binary_expression "(int)puVar12 + (uVar11 - 4)" (cast_expression "(int)puVar12" ( (type_descriptor "int" primitive_type) ) identifier) + (parenthesized_expression "(uVar11 - 4)" ( (binary_expression "uVar11 - 4" identifier - number_literal) ))) )))) = (pointer_expression "*(undefined4 *)(auStack_227 + uVar11 + 3)" * (cast_expression "(undefined4 *)(auStack_227 + uVar11 + 3)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(auStack_227 + uVar11 + 3)" ( (binary_expression "auStack_227 + uVar11 + 3" (binary_expression "auStack_227 + uVar11" identifier + identifier) + number_literal) ))))) ;) (expression_statement "iVar5 = (int)puVar12 - (int)((uint)(puVar12 + 1) & 0xfffffffc);" (assignment_expression "iVar5 = (int)puVar12 - (int)((uint)(puVar12 + 1) & 0xfffffffc)" identifier = (binary_expression "(int)puVar12 - (int)((uint)(puVar12 + 1) & 0xfffffffc)" (cast_expression "(int)puVar12" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)((uint)(puVar12 + 1) & 0xfffffffc)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((uint)(puVar12 + 1) & 0xfffffffc)" ( (binary_expression "(uint)(puVar12 + 1) & 0xfffffffc" (call_expression "(uint)(puVar12 + 1)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(puVar12 + 1)" ( (binary_expression "puVar12 + 1" identifier + number_literal) ))) & number_literal) ))))) ;) (expression_statement "puVar14 = (undefined4 *)((int)local_220 - iVar5);" (assignment_expression "puVar14 = (undefined4 *)((int)local_220 - iVar5)" identifier = (cast_expression "(undefined4 *)((int)local_220 - iVar5)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_220 - iVar5)" ( (binary_expression "(int)local_220 - iVar5" (cast_expression "(int)local_220" ( (type_descriptor "int" primitive_type) ) identifier) - identifier) )))) ;) (expression_statement "puVar15 = (undefined4 *)((uint)(puVar12 + 1) & 0xfffffffc);" (assignment_expression "puVar15 = (undefined4 *)((uint)(puVar12 + 1) & 0xfffffffc)" identifier = (cast_expression "(undefined4 *)((uint)(puVar12 + 1) & 0xfffffffc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((uint)(puVar12 + 1) & 0xfffffffc)" ( (binary_expression "(uint)(puVar12 + 1) & 0xfffffffc" (call_expression "(uint)(puVar12 + 1)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(puVar12 + 1)" ( (binary_expression "puVar12 + 1" identifier + number_literal) ))) & number_literal) )))) ;) (for_statement "for (uVar11 = uVar11 + iVar5 >> 2; uVar11 != 0; uVar11 = uVar11 - 1) {\n        *puVar15 = *puVar14;\n        puVar14 = puVar14 + (uint)bVar17 * -2 + 1;\n        puVar15 = puVar15 + (uint)bVar17 * -2 + 1;\n      }" for ( (assignment_expression "uVar11 = uVar11 + iVar5 >> 2" identifier = (binary_expression "uVar11 + iVar5 >> 2" (binary_expression "uVar11 + iVar5" identifier + identifier) >> number_literal)) ; (binary_expression "uVar11 != 0" identifier != number_literal) ; (assignment_expression "uVar11 = uVar11 - 1" identifier = (binary_expression "uVar11 - 1" identifier - number_literal)) ) (compound_statement "{\n        *puVar15 = *puVar14;\n        puVar14 = puVar14 + (uint)bVar17 * -2 + 1;\n        puVar15 = puVar15 + (uint)bVar17 * -2 + 1;\n      }" { (expression_statement "*puVar15 = *puVar14;" (assignment_expression "*puVar15 = *puVar14" (pointer_expression "*puVar15" * identifier) = (pointer_expression "*puVar14" * identifier)) ;) (expression_statement "puVar14 = puVar14 + (uint)bVar17 * -2 + 1;" (assignment_expression "puVar14 = puVar14 + (uint)bVar17 * -2 + 1" identifier = (binary_expression "puVar14 + (uint)bVar17 * -2 + 1" (binary_expression "puVar14 + (uint)bVar17 * -2" identifier + (binary_expression "(uint)bVar17 * -2" (cast_expression "(uint)bVar17" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "puVar15 = puVar15 + (uint)bVar17 * -2 + 1;" (assignment_expression "puVar15 = puVar15 + (uint)bVar17 * -2 + 1" identifier = (binary_expression "puVar15 + (uint)bVar17 * -2 + 1" (binary_expression "puVar15 + (uint)bVar17 * -2" identifier + (binary_expression "(uint)bVar17 * -2" (cast_expression "(uint)bVar17" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) })) }))) (expression_statement "local_244 = local_230 + 5;" (assignment_expression "local_244 = local_230 + 5" identifier = (binary_expression "local_230 + 5" identifier + number_literal)) ;) (expression_statement "local_234 = iVar6;" (assignment_expression "local_234 = iVar6" identifier = identifier) ;) }) while (parenthesized_expression "( true )" ( true )) ;)) (expression_statement "uVar9 = FUN_000189b0(param_3,0xf);" (assignment_expression "uVar9 = FUN_000189b0(param_3,0xf)" identifier = (call_expression "FUN_000189b0(param_3,0xf)" identifier (argument_list "(param_3,0xf)" ( identifier , number_literal )))) ;) (expression_statement "__sprintf_chk(local_220,1,0x32,"%d",uVar9);" (call_expression "__sprintf_chk(local_220,1,0x32,"%d",uVar9)" identifier (argument_list "(local_220,1,0x32,"%d",uVar9)" ( identifier , number_literal , number_literal , (string_literal ""%d"" " string_content ") , identifier ))) ;) (expression_statement "puVar12 = local_220;" (assignment_expression "puVar12 = local_220" identifier = identifier) ;) (do_statement "do {\n    puVar13 = puVar12;\n    uVar10 = *puVar13 + 0xfefefeff & ~*puVar13;\n    uVar11 = uVar10 & 0x80808080;\n    puVar12 = puVar13 + 1;\n  } while (uVar11 == 0);" do (compound_statement "{\n    puVar13 = puVar12;\n    uVar10 = *puVar13 + 0xfefefeff & ~*puVar13;\n    uVar11 = uVar10 & 0x80808080;\n    puVar12 = puVar13 + 1;\n  }" { (expression_statement "puVar13 = puVar12;" (assignment_expression "puVar13 = puVar12" identifier = identifier) ;) (expression_statement "uVar10 = *puVar13 + 0xfefefeff & ~*puVar13;" (assignment_expression "uVar10 = *puVar13 + 0xfefefeff & ~*puVar13" identifier = (binary_expression "*puVar13 + 0xfefefeff & ~*puVar13" (binary_expression "*puVar13 + 0xfefefeff" (pointer_expression "*puVar13" * identifier) + number_literal) & (unary_expression "~*puVar13" ~ (pointer_expression "*puVar13" * identifier)))) ;) (expression_statement "uVar11 = uVar10 & 0x80808080;" (assignment_expression "uVar11 = uVar10 & 0x80808080" identifier = (binary_expression "uVar10 & 0x80808080" identifier & number_literal)) ;) (expression_statement "puVar12 = puVar13 + 1;" (assignment_expression "puVar12 = puVar13 + 1" identifier = (binary_expression "puVar13 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(uVar11 == 0)" ( (binary_expression "uVar11 == 0" identifier == number_literal) )) ;) (expression_statement "bVar16 = (uVar10 & 0x8080) == 0;" (assignment_expression "bVar16 = (uVar10 & 0x8080) == 0" identifier = (binary_expression "(uVar10 & 0x8080) == 0" (parenthesized_expression "(uVar10 & 0x8080)" ( (binary_expression "uVar10 & 0x8080" identifier & number_literal) )) == number_literal)) ;) (if_statement "if (bVar16) {\n    uVar11 = uVar11 >> 0x10;\n  }" if (parenthesized_expression "(bVar16)" ( identifier )) (compound_statement "{\n    uVar11 = uVar11 >> 0x10;\n  }" { (expression_statement "uVar11 = uVar11 >> 0x10;" (assignment_expression "uVar11 = uVar11 >> 0x10" identifier = (binary_expression "uVar11 >> 0x10" identifier >> number_literal)) ;) })) (if_statement "if (bVar16) {\n    puVar12 = (uint *)((int)puVar13 + 6);\n  }" if (parenthesized_expression "(bVar16)" ( identifier )) (compound_statement "{\n    puVar12 = (uint *)((int)puVar13 + 6);\n  }" { (expression_statement "puVar12 = (uint *)((int)puVar13 + 6);" (assignment_expression "puVar12 = (uint *)((int)puVar13 + 6)" identifier = (cast_expression "(uint *)((int)puVar13 + 6)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar13 + 6)" ( (binary_expression "(int)puVar13 + 6" (cast_expression "(int)puVar13" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) })) (expression_statement "uVar11 = (int)puVar12 + ((-3 - (uint)CARRY1((byte)uVar11,(byte)uVar11)) - (int)local_220);" (assignment_expression "uVar11 = (int)puVar12 + ((-3 - (uint)CARRY1((byte)uVar11,(byte)uVar11)) - (int)local_220)" identifier = (binary_expression "(int)puVar12 + ((-3 - (uint)CARRY1((byte)uVar11,(byte)uVar11)) - (int)local_220)" (cast_expression "(int)puVar12" ( (type_descriptor "int" primitive_type) ) identifier) + (parenthesized_expression "((-3 - (uint)CARRY1((byte)uVar11,(byte)uVar11)) - (int)local_220)" ( (binary_expression "(-3 - (uint)CARRY1((byte)uVar11,(byte)uVar11)) - (int)local_220" (parenthesized_expression "(-3 - (uint)CARRY1((byte)uVar11,(byte)uVar11))" ( (binary_expression "-3 - (uint)CARRY1((byte)uVar11,(byte)uVar11)" number_literal - (cast_expression "(uint)CARRY1((byte)uVar11,(byte)uVar11)" ( (type_descriptor "uint" type_identifier) ) (call_expression "CARRY1((byte)uVar11,(byte)uVar11)" identifier (argument_list "((byte)uVar11,(byte)uVar11)" ( (cast_expression "(byte)uVar11" ( (type_descriptor "byte" type_identifier) ) identifier) , (cast_expression "(byte)uVar11" ( (type_descriptor "byte" type_identifier) ) identifier) ))))) )) - (cast_expression "(int)local_220" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (expression_statement "iVar6 = local_234 + uVar11;" (assignment_expression "iVar6 = local_234 + uVar11" identifier = (binary_expression "local_234 + uVar11" identifier + identifier)) ;) (if_statement "if (local_23c < iVar6) {\n    local_23c = iVar6 + 0x200;\n    local_238 = FUN_0001dc50(local_238,local_23c,1);\n  }" if (parenthesized_expression "(local_23c < iVar6)" ( (binary_expression "local_23c < iVar6" identifier < identifier) )) (compound_statement "{\n    local_23c = iVar6 + 0x200;\n    local_238 = FUN_0001dc50(local_238,local_23c,1);\n  }" { (expression_statement "local_23c = iVar6 + 0x200;" (assignment_expression "local_23c = iVar6 + 0x200" identifier = (binary_expression "iVar6 + 0x200" identifier + number_literal)) ;) (expression_statement "local_238 = FUN_0001dc50(local_238,local_23c,1);" (assignment_expression "local_238 = FUN_0001dc50(local_238,local_23c,1)" identifier = (call_expression "FUN_0001dc50(local_238,local_23c,1)" identifier (argument_list "(local_238,local_23c,1)" ( identifier , identifier , number_literal )))) ;) })) (expression_statement "puVar12 = (uint *)(local_234 + local_238);" (assignment_expression "puVar12 = (uint *)(local_234 + local_238)" identifier = (cast_expression "(uint *)(local_234 + local_238)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_234 + local_238)" ( (binary_expression "local_234 + local_238" identifier + identifier) )))) ;) (if_statement "if (uVar11 < 4) {\n    if (uVar11 != 0) {\n      *(undefined1 *)puVar12 = (undefined1)local_220[0];\n      if ((uVar11 & 2) != 0) {\n        *(undefined2 *)((int)puVar12 + (uVar11 - 2)) = *(undefined2 *)(auStack_227 + uVar11 + 5);\n      }\n    }\n  }\n  else {\n    *puVar12 = local_220[0];\n    *(undefined4 *)((int)puVar12 + (uVar11 - 4)) = *(undefined4 *)(auStack_227 + uVar11 + 3);\n    iVar5 = (int)puVar12 - ((uint)(puVar12 + 1) & 0xfffffffc);\n    uVar11 = iVar5 + uVar11 & 0xfffffffc;\n    if (3 < uVar11) {\n      uVar10 = 0;\n      do {\n        *(undefined4 *)(((uint)(puVar12 + 1) & 0xfffffffc) + uVar10) =\n             *(undefined4 *)((int)local_220 + (uVar10 - iVar5));\n        uVar10 = uVar10 + 4;\n      } while (uVar10 < uVar11);\n    }\n  }" if (parenthesized_expression "(uVar11 < 4)" ( (binary_expression "uVar11 < 4" identifier < number_literal) )) (compound_statement "{\n    if (uVar11 != 0) {\n      *(undefined1 *)puVar12 = (undefined1)local_220[0];\n      if ((uVar11 & 2) != 0) {\n        *(undefined2 *)((int)puVar12 + (uVar11 - 2)) = *(undefined2 *)(auStack_227 + uVar11 + 5);\n      }\n    }\n  }" { (if_statement "if (uVar11 != 0) {\n      *(undefined1 *)puVar12 = (undefined1)local_220[0];\n      if ((uVar11 & 2) != 0) {\n        *(undefined2 *)((int)puVar12 + (uVar11 - 2)) = *(undefined2 *)(auStack_227 + uVar11 + 5);\n      }\n    }" if (parenthesized_expression "(uVar11 != 0)" ( (binary_expression "uVar11 != 0" identifier != number_literal) )) (compound_statement "{\n      *(undefined1 *)puVar12 = (undefined1)local_220[0];\n      if ((uVar11 & 2) != 0) {\n        *(undefined2 *)((int)puVar12 + (uVar11 - 2)) = *(undefined2 *)(auStack_227 + uVar11 + 5);\n      }\n    }" { (expression_statement "*(undefined1 *)puVar12 = (undefined1)local_220[0];" (assignment_expression "*(undefined1 *)puVar12 = (undefined1)local_220[0]" (pointer_expression "*(undefined1 *)puVar12" * (cast_expression "(undefined1 *)puVar12" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = (cast_expression "(undefined1)local_220[0]" ( (type_descriptor "undefined1" type_identifier) ) (subscript_expression "local_220[0]" identifier [ number_literal ]))) ;) (if_statement "if ((uVar11 & 2) != 0) {\n        *(undefined2 *)((int)puVar12 + (uVar11 - 2)) = *(undefined2 *)(auStack_227 + uVar11 + 5);\n      }" if (parenthesized_expression "((uVar11 & 2) != 0)" ( (binary_expression "(uVar11 & 2) != 0" (parenthesized_expression "(uVar11 & 2)" ( (binary_expression "uVar11 & 2" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n        *(undefined2 *)((int)puVar12 + (uVar11 - 2)) = *(undefined2 *)(auStack_227 + uVar11 + 5);\n      }" { (expression_statement "*(undefined2 *)((int)puVar12 + (uVar11 - 2)) = *(undefined2 *)(auStack_227 + uVar11 + 5);" (assignment_expression "*(undefined2 *)((int)puVar12 + (uVar11 - 2)) = *(undefined2 *)(auStack_227 + uVar11 + 5)" (pointer_expression "*(undefined2 *)((int)puVar12 + (uVar11 - 2))" * (cast_expression "(undefined2 *)((int)puVar12 + (uVar11 - 2))" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar12 + (uVar11 - 2))" ( (binary_expression "(int)puVar12 + (uVar11 - 2)" (cast_expression "(int)puVar12" ( (type_descriptor "int" primitive_type) ) identifier) + (parenthesized_expression "(uVar11 - 2)" ( (binary_expression "uVar11 - 2" identifier - number_literal) ))) )))) = (pointer_expression "*(undefined2 *)(auStack_227 + uVar11 + 5)" * (cast_expression "(undefined2 *)(auStack_227 + uVar11 + 5)" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(auStack_227 + uVar11 + 5)" ( (binary_expression "auStack_227 + uVar11 + 5" (binary_expression "auStack_227 + uVar11" identifier + identifier) + number_literal) ))))) ;) })) })) }) (else_clause "else {\n    *puVar12 = local_220[0];\n    *(undefined4 *)((int)puVar12 + (uVar11 - 4)) = *(undefined4 *)(auStack_227 + uVar11 + 3);\n    iVar5 = (int)puVar12 - ((uint)(puVar12 + 1) & 0xfffffffc);\n    uVar11 = iVar5 + uVar11 & 0xfffffffc;\n    if (3 < uVar11) {\n      uVar10 = 0;\n      do {\n        *(undefined4 *)(((uint)(puVar12 + 1) & 0xfffffffc) + uVar10) =\n             *(undefined4 *)((int)local_220 + (uVar10 - iVar5));\n        uVar10 = uVar10 + 4;\n      } while (uVar10 < uVar11);\n    }\n  }" else (compound_statement "{\n    *puVar12 = local_220[0];\n    *(undefined4 *)((int)puVar12 + (uVar11 - 4)) = *(undefined4 *)(auStack_227 + uVar11 + 3);\n    iVar5 = (int)puVar12 - ((uint)(puVar12 + 1) & 0xfffffffc);\n    uVar11 = iVar5 + uVar11 & 0xfffffffc;\n    if (3 < uVar11) {\n      uVar10 = 0;\n      do {\n        *(undefined4 *)(((uint)(puVar12 + 1) & 0xfffffffc) + uVar10) =\n             *(undefined4 *)((int)local_220 + (uVar10 - iVar5));\n        uVar10 = uVar10 + 4;\n      } while (uVar10 < uVar11);\n    }\n  }" { (expression_statement "*puVar12 = local_220[0];" (assignment_expression "*puVar12 = local_220[0]" (pointer_expression "*puVar12" * identifier) = (subscript_expression "local_220[0]" identifier [ number_literal ])) ;) (expression_statement "*(undefined4 *)((int)puVar12 + (uVar11 - 4)) = *(undefined4 *)(auStack_227 + uVar11 + 3);" (assignment_expression "*(undefined4 *)((int)puVar12 + (uVar11 - 4)) = *(undefined4 *)(auStack_227 + uVar11 + 3)" (pointer_expression "*(undefined4 *)((int)puVar12 + (uVar11 - 4))" * (cast_expression "(undefined4 *)((int)puVar12 + (uVar11 - 4))" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar12 + (uVar11 - 4))" ( (binary_expression "(int)puVar12 + (uVar11 - 4)" (cast_expression "(int)puVar12" ( (type_descriptor "int" primitive_type) ) identifier) + (parenthesized_expression "(uVar11 - 4)" ( (binary_expression "uVar11 - 4" identifier - number_literal) ))) )))) = (pointer_expression "*(undefined4 *)(auStack_227 + uVar11 + 3)" * (cast_expression "(undefined4 *)(auStack_227 + uVar11 + 3)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(auStack_227 + uVar11 + 3)" ( (binary_expression "auStack_227 + uVar11 + 3" (binary_expression "auStack_227 + uVar11" identifier + identifier) + number_literal) ))))) ;) (expression_statement "iVar5 = (int)puVar12 - ((uint)(puVar12 + 1) & 0xfffffffc);" (assignment_expression "iVar5 = (int)puVar12 - ((uint)(puVar12 + 1) & 0xfffffffc)" identifier = (binary_expression "(int)puVar12 - ((uint)(puVar12 + 1) & 0xfffffffc)" (cast_expression "(int)puVar12" ( (type_descriptor "int" primitive_type) ) identifier) - (parenthesized_expression "((uint)(puVar12 + 1) & 0xfffffffc)" ( (binary_expression "(uint)(puVar12 + 1) & 0xfffffffc" (call_expression "(uint)(puVar12 + 1)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(puVar12 + 1)" ( (binary_expression "puVar12 + 1" identifier + number_literal) ))) & number_literal) )))) ;) (expression_statement "uVar11 = iVar5 + uVar11 & 0xfffffffc;" (assignment_expression "uVar11 = iVar5 + uVar11 & 0xfffffffc" identifier = (binary_expression "iVar5 + uVar11 & 0xfffffffc" (binary_expression "iVar5 + uVar11" identifier + identifier) & number_literal)) ;) (if_statement "if (3 < uVar11) {\n      uVar10 = 0;\n      do {\n        *(undefined4 *)(((uint)(puVar12 + 1) & 0xfffffffc) + uVar10) =\n             *(undefined4 *)((int)local_220 + (uVar10 - iVar5));\n        uVar10 = uVar10 + 4;\n      } while (uVar10 < uVar11);\n    }" if (parenthesized_expression "(3 < uVar11)" ( (binary_expression "3 < uVar11" number_literal < identifier) )) (compound_statement "{\n      uVar10 = 0;\n      do {\n        *(undefined4 *)(((uint)(puVar12 + 1) & 0xfffffffc) + uVar10) =\n             *(undefined4 *)((int)local_220 + (uVar10 - iVar5));\n        uVar10 = uVar10 + 4;\n      } while (uVar10 < uVar11);\n    }" { (expression_statement "uVar10 = 0;" (assignment_expression "uVar10 = 0" identifier = number_literal) ;) (do_statement "do {\n        *(undefined4 *)(((uint)(puVar12 + 1) & 0xfffffffc) + uVar10) =\n             *(undefined4 *)((int)local_220 + (uVar10 - iVar5));\n        uVar10 = uVar10 + 4;\n      } while (uVar10 < uVar11);" do (compound_statement "{\n        *(undefined4 *)(((uint)(puVar12 + 1) & 0xfffffffc) + uVar10) =\n             *(undefined4 *)((int)local_220 + (uVar10 - iVar5));\n        uVar10 = uVar10 + 4;\n      }" { (expression_statement "*(undefined4 *)(((uint)(puVar12 + 1) & 0xfffffffc) + uVar10) =\n             *(undefined4 *)((int)local_220 + (uVar10 - iVar5));" (assignment_expression "*(undefined4 *)(((uint)(puVar12 + 1) & 0xfffffffc) + uVar10) =\n             *(undefined4 *)((int)local_220 + (uVar10 - iVar5))" (pointer_expression "*(undefined4 *)(((uint)(puVar12 + 1) & 0xfffffffc) + uVar10)" * (cast_expression "(undefined4 *)(((uint)(puVar12 + 1) & 0xfffffffc) + uVar10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(((uint)(puVar12 + 1) & 0xfffffffc) + uVar10)" ( (binary_expression "((uint)(puVar12 + 1) & 0xfffffffc) + uVar10" (parenthesized_expression "((uint)(puVar12 + 1) & 0xfffffffc)" ( (binary_expression "(uint)(puVar12 + 1) & 0xfffffffc" (call_expression "(uint)(puVar12 + 1)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(puVar12 + 1)" ( (binary_expression "puVar12 + 1" identifier + number_literal) ))) & number_literal) )) + identifier) )))) = (pointer_expression "*(undefined4 *)((int)local_220 + (uVar10 - iVar5))" * (cast_expression "(undefined4 *)((int)local_220 + (uVar10 - iVar5))" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_220 + (uVar10 - iVar5))" ( (binary_expression "(int)local_220 + (uVar10 - iVar5)" (cast_expression "(int)local_220" ( (type_descriptor "int" primitive_type) ) identifier) + (parenthesized_expression "(uVar10 - iVar5)" ( (binary_expression "uVar10 - iVar5" identifier - identifier) ))) ))))) ;) (expression_statement "uVar10 = uVar10 + 4;" (assignment_expression "uVar10 = uVar10 + 4" identifier = (binary_expression "uVar10 + 4" identifier + number_literal)) ;) }) while (parenthesized_expression "(uVar10 < uVar11)" ( (binary_expression "uVar10 < uVar11" identifier < identifier) )) ;) })) }))) (expression_statement "local_244 = local_230 + 10;" (assignment_expression "local_244 = local_230 + 10" identifier = (binary_expression "local_230 + 10" identifier + number_literal)) ;) (expression_statement "local_234 = iVar6;" (assignment_expression "local_234 = iVar6" identifier = identifier) ;) (goto_statement "goto LAB_00021c20;" goto statement_identifier ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) ))) (compound_statement { (declaration TYPE 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 IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE IDENT ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , LIT )))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (labeled_statement statement_identifier : (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + IDENT) )))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT == (char_literal ' escape_sequence ')) )) (compound_statement { (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT < IDENT) )) (goto_statement goto statement_identifier ;))) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (binary_expression IDENT + LIT) , LIT )))) ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + IDENT) )))) = LIT) ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (return_statement return ;) }))) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (char_literal ' character ')) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != (char_literal ' escape_sequence ')) )) (compound_statement { (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + IDENT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == (char_literal ' escape_sequence ')) )) || (parenthesized_expression ( (binary_expression IDENT == (char_literal ' character ')) ))) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == (char_literal ' escape_sequence ')) )) (goto_statement goto statement_identifier ;)) (break_statement break ;) })) (expression_statement (assignment_expression IDENT = IDENT) ;) }) while (parenthesized_expression ( (binary_expression IDENT != (char_literal ' escape_sequence ')) )) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + IDENT) )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression IDENT + IDENT) )) - IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , LIT )))) ;) })) (expression_statement (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + IDENT) ))) , IDENT , (binary_expression IDENT - IDENT) ))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (parenthesized_expression ( (binary_expression IDENT - IDENT) )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) })) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + LIT) + IDENT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (char_literal ' escape_sequence ')) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT == IDENT) )) (goto_statement goto statement_identifier ;))) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression IDENT + IDENT) )) - IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , LIT )))) ;) })) (expression_statement (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + IDENT) ))) , (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + IDENT) ))) , (binary_expression IDENT - IDENT) ))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (parenthesized_expression ( (binary_expression IDENT - IDENT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < IDENT) )) (goto_statement goto statement_identifier ;)) (goto_statement goto statement_identifier ;) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + IDENT) )))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (char_literal ' escape_sequence ')) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) == (char_literal ' escape_sequence ')) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (char_literal ' character ')) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT <= IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , LIT )))) ;) })) (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 IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT < (char_literal ' character ')) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == (char_literal ' character ')) )) (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 (binary_expression IDENT + LIT) + IDENT) ))))) ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT - LIT)) ;) (if_statement if (parenthesized_expression ( (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 (binary_expression IDENT + LIT) + IDENT) ))))) ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT - LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT + LIT) ))) < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression LIT < (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT + LIT) )))) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT - LIT)) ;) }))) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT <= IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , LIT )))) ;) })) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + IDENT) )))) = (binary_expression IDENT + (binary_expression IDENT * (char_literal ' escape_sequence ')))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT + LIT) ))) < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT + LIT) ))) < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT - LIT)) ;) (goto_statement goto statement_identifier ;) })) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT <= IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , LIT )))) ;) }))) (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 IDENT = IDENT) ;) }))) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (char_literal ' escape_sequence ')) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT <= IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , LIT )))) ;) })) (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 IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (char_literal ' character ')) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT <= IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , LIT )))) ;) })) (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 IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (goto_statement goto statement_identifier ;) })) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == (char_literal ' character ')) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT <= IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , LIT )))) ;) })) (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 IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (char_literal ' character ')) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (char_literal ' character ')) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT <= IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , LIT )))) ;) })) (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 IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (goto_statement goto statement_identifier ;) })) }))) (if_statement if (parenthesized_expression ( (binary_expression IDENT <= IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , 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 + IDENT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (char_literal ' character ')) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT <= IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , LIT )))) ;) })) (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 IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (string_literal " string_content ") , LIT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (string_literal " string_content ") , LIT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , LIT , LIT , (pointer_expression & IDENT) , IDENT )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (string_literal " string_content ") , LIT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( IDENT , LIT ))))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , LIT )))) ;) })) (expression_statement (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + IDENT) ))) , IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (string_literal " string_content ") , LIT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( IDENT , LIT ))))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , LIT )))) ;) })) (expression_statement (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + IDENT) ))) , IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (string_literal " string_content ") , LIT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( IDENT , LIT ))))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , LIT )))) ;) })) (expression_statement (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + IDENT) ))) , IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (string_literal " string_content ") , LIT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT <= IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , LIT )))) ;) })) (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 IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + IDENT) )))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , LIT ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (pointer_expression * IDENT) + LIT) & (unary_expression ~ (pointer_expression * IDENT)))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT & LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT == LIT) )) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT)) ;) (if_statement if (parenthesized_expression ( IDENT )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT >> LIT)) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) ;) (if_statement if (parenthesized_expression ( (unary_expression ! IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression LIT - (cast_expression ( (type_descriptor TYPE) ) (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE) ) IDENT) , (cast_expression ( (type_descriptor TYPE) ) IDENT) ))))) )) - (cast_expression ( (type_descriptor TYPE) ) IDENT)) )))) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , LIT )))) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + IDENT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (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 *)) ) IDENT)) = (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ]))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (parenthesized_expression ( (binary_expression IDENT - LIT) ))) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + IDENT) + LIT) ))))) ;) })) })) }) (else_clause else (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (parenthesized_expression ( (binary_expression IDENT - LIT) ))) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + IDENT) + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT + LIT) ))) & LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - IDENT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT + LIT) ))) & LIT) )))) ;) (for_statement for ( (assignment_expression IDENT = (binary_expression (binary_expression IDENT + IDENT) >> LIT)) ; (binary_expression IDENT != LIT) ; (assignment_expression IDENT = (binary_expression IDENT - LIT)) ) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) })) }))) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) while (parenthesized_expression ( BOOL )) ;)) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , LIT )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT , LIT , (string_literal " string_content ") , IDENT ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (pointer_expression * IDENT) + LIT) & (unary_expression ~ (pointer_expression * IDENT)))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT & LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT == LIT) )) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT)) ;) (if_statement if (parenthesized_expression ( IDENT )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT >> LIT)) ;) })) (if_statement if (parenthesized_expression ( IDENT )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression LIT - (cast_expression ( (type_descriptor TYPE) ) (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE) ) IDENT) , (cast_expression ( (type_descriptor TYPE) ) IDENT) ))))) )) - (cast_expression ( (type_descriptor TYPE) ) IDENT)) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , LIT )))) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + IDENT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (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 *)) ) IDENT)) = (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ]))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (parenthesized_expression ( (binary_expression IDENT - LIT) ))) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + IDENT) + LIT) ))))) ;) })) })) }) (else_clause else (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (parenthesized_expression ( (binary_expression IDENT - LIT) ))) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + IDENT) + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - (parenthesized_expression ( (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT + LIT) ))) & LIT) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + IDENT) & LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT + LIT) ))) & LIT) )) + IDENT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (parenthesized_expression ( (binary_expression IDENT - IDENT) ))) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT < IDENT) )) ;) })) }))) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (goto_statement goto statement_identifier ;) })))
(function_definition "void FUN_00021ba0(undefined4 param_1,undefined4 param_2,undefined4 param_3)\n\n{\n  byte bVar1;\n  char cVar2;\n  byte bVar3;\n  int iVar4;\n  int iVar5;\n  int iVar6;\n  char *pcVar7;\n  size_t sVar8;\n  undefined4 uVar9;\n  uint uVar10;\n  uint uVar11;\n  uint *puVar12;\n  uint *puVar13;\n  undefined4 *puVar14;\n  undefined4 *puVar15;\n  int in_GS_OFFSET;\n  bool bVar16;\n  byte bVar17;\n  int local_244;\n  char *local_240;\n  int local_23c;\n  int local_238;\n  int local_234;\n  int local_230;\n  undefined1 auStack_227 [5];\n  undefined2 uStack_222;\n  uint local_220 [128];\n  int local_20;\n  undefined4 uStack_14;\n  \n  bVar17 = 0;\n  local_244 = 0;\n  uStack_14 = 0x21bad;\n  local_20 = *(int *)(in_GS_OFFSET + 0x14);\n  iVar4 = FUN_00018b60(param_3,0x12);\n  local_23c = 0;\n  local_234 = 0;\n  local_238 = 0;\nLAB_00021c20:\n  do {\n    pcVar7 = (char *)(iVar4 + local_244);\n    cVar2 = *pcVar7;\n    iVar6 = local_244;\njoined_r0x00021c28:\n    if (cVar2 == '\0') {\nLAB_00021e3b:\n      if (local_234 < local_23c) goto LAB_00021e4d;\nLAB_00021eed:\n      local_238 = FUN_0001dc50(local_238,local_234 + 0x201,1);\nLAB_00021e4d:\n      *(undefined1 *)(local_238 + local_234) = 0;\n      if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    \n        FUN_0008d800();\n      }\n      return;\n    }\n    local_240 = pcVar7;\n    local_230 = iVar6;\n    if (cVar2 != '%') {\n      if (cVar2 != '\\') {\n        do {\n          local_244 = local_230 + 1;\n          cVar2 = *(char *)(iVar4 + local_244);\n          if ((cVar2 == '\0') || (cVar2 == '%')) {\n            if (cVar2 == '\0') goto LAB_00021e99;\n            break;\n          }\n          local_230 = local_244;\n        } while (cVar2 != '\\');\n        local_240 = (char *)(iVar4 + local_244);\n        local_230 = local_244;\n        if (iVar6 != local_244) {\n          iVar5 = (local_234 + local_244) - iVar6;\n          if (local_23c < iVar5) {\n            local_23c = iVar5 + 0x200;\n            local_238 = FUN_0001dc50(local_238,local_23c,1);\n          }\n          memcpy((void *)(local_238 + local_234),pcVar7,local_244 - iVar6);\n          local_234 = local_234 + (local_244 - iVar6);\n          local_230 = local_244;\n        }\n        goto LAB_00021cd4;\n      }\n      local_244 = iVar6 + 1;\n      cVar2 = *(char *)(iVar4 + 1 + iVar6);\n      if (cVar2 != '\0') goto LAB_00021f38;\nLAB_00021e99:\n      if (iVar6 == local_244) goto LAB_00021e3b;\n      iVar5 = (local_234 + local_244) - iVar6;\n      if (local_23c < iVar5) {\n        local_23c = iVar5 + 0x200;\n        local_238 = FUN_0001dc50(local_238,local_23c,1);\n      }\n      memcpy((void *)(local_238 + local_234),(void *)(iVar6 + iVar4),local_244 - iVar6);\n      local_234 = local_234 + (local_244 - iVar6);\n      if (local_234 < local_23c) goto LAB_00021e4d;\n      goto LAB_00021eed;\n    }\nLAB_00021cd4:\n    local_244 = local_230 + 1;\n    pcVar7 = (char *)(iVar4 + local_244);\n    cVar2 = *pcVar7;\n    iVar6 = local_230;\n    if (cVar2 == '\0') goto LAB_00021e99;\n    if (*local_240 == '\\') {\nLAB_00021f38:\n      iVar6 = local_234 + 1;\n      if (cVar2 == 'n') {\n        if (local_23c <= local_234) {\n          local_23c = local_234 + 0x201;\n          local_238 = FUN_0001dc50(local_238,local_23c,1);\n        }\n        *(undefined1 *)(local_238 + local_234) = 10;\n        local_244 = local_230 + 2;\n        local_234 = iVar6;\n        goto LAB_00021c20;\n      }\n      if (cVar2 < 'o') {\n        if (cVar2 == 'X') {\nLAB_000223b0:\n          cVar2 = *(char *)(iVar4 + 1 + local_244);\n          bVar3 = cVar2 - 0x30;\n          if (bVar3 < 10) {\nLAB_000223db:\n            cVar2 = *(char *)(iVar4 + 2 + local_244);\n            bVar1 = cVar2 - 0x30;\n            if (9 < bVar1) {\n              if ((byte)(cVar2 + 0x9fU) < 6) {\n                bVar1 = cVar2 + 0xa9;\n              }\n              else {\n                if (5 < (byte)(cVar2 + 0xbfU)) goto LAB_00022a16;\n                bVar1 = cVar2 - 0x37;\n              }\n            }\n            if (local_23c <= local_234) {\n              local_23c = local_234 + 0x201;\n              local_238 = FUN_0001dc50(local_238,local_23c,1);\n            }\n            *(byte *)(local_238 + local_234) = bVar1 + bVar3 * '\x10';\n            local_244 = local_244 + 3;\n            local_234 = iVar6;\n          }\n          else {\n            if ((byte)(cVar2 + 0x9fU) < 6) {\n              bVar3 = cVar2 + 0xa9;\n              goto LAB_000223db;\n            }\n            if ((byte)(cVar2 + 0xbfU) < 6) {\n              bVar3 = cVar2 - 0x37;\n              goto LAB_000223db;\n            }\nLAB_00022a16:\n            if (local_23c <= local_234) {\n              local_23c = local_234 + 0x201;\n              local_238 = FUN_0001dc50(local_238,local_23c,1);\n            }\n            *(undefined1 *)(local_238 + local_234) = 0x5c;\n            local_234 = iVar6;\n          }\n          goto LAB_00021c20;\n        }\n        if (cVar2 == '\\') {\n          if (local_23c <= local_234) {\n            local_23c = local_234 + 0x201;\n            local_238 = FUN_0001dc50(local_238,local_23c,1);\n          }\n          *(undefined1 *)(local_238 + local_234) = 0x5c;\n          local_244 = local_230 + 2;\n          local_234 = iVar6;\n          goto LAB_00021c20;\n        }\n        if (cVar2 == '%') {\n          if (local_23c <= local_234) {\n            local_23c = local_234 + 0x201;\n            local_238 = FUN_0001dc50(local_238,local_23c,1);\n          }\n          *(undefined1 *)(local_238 + local_234) = 0x25;\n          local_244 = local_230 + 2;\n          local_234 = iVar6;\n          goto LAB_00021c20;\n        }\n      }\n      else {\n        if (cVar2 == 't') {\n          if (local_23c <= local_234) {\n            local_23c = local_234 + 0x201;\n            local_238 = FUN_0001dc50(local_238,local_23c,1);\n          }\n          *(undefined1 *)(local_238 + local_234) = 9;\n          local_244 = local_230 + 2;\n          local_234 = iVar6;\n          goto LAB_00021c20;\n        }\n        if (cVar2 == 'x') goto LAB_000223b0;\n        if (cVar2 == 'r') {\n          if (local_23c <= local_234) {\n            local_23c = local_234 + 0x201;\n            local_238 = FUN_0001dc50(local_238,local_23c,1);\n          }\n          *(undefined1 *)(local_238 + local_234) = 0xd;\n          local_244 = local_230 + 2;\n          local_234 = iVar6;\n          goto LAB_00021c20;\n        }\n      }\n      if (local_23c <= iVar6) {\n        local_23c = local_234 + 0x202;\n        local_238 = FUN_0001dc50(local_238,local_23c,1);\n      }\n      local_244 = local_230 + 2;\n      *(undefined2 *)(local_238 + local_234) = *(undefined2 *)local_240;\n      local_234 = local_234 + 2;\n      goto LAB_00021c20;\n    }\n    if (cVar2 == '%') {\n      if (local_23c <= local_234) {\n        local_23c = local_234 + 0x201;\n        local_238 = FUN_0001dc50(local_238,local_23c,1);\n      }\n      *(undefined1 *)(local_238 + local_234) = 0x25;\n      local_244 = local_230 + 2;\n      local_234 = local_234 + 1;\n      goto LAB_00021c20;\n    }\n    iVar6 = strncasecmp(pcVar7,"host",4);\n    if (iVar6 != 0) {\n      iVar6 = strncasecmp(pcVar7,"port",4);\n      if (iVar6 == 0) {\n        cVar2 = __sprintf_chk(local_220,1,8,&DAT_0008fa68,param_2);\n        uVar11 = (uint)cVar2;\n        goto joined_r0x000221ae;\n      }\n      iVar6 = strncasecmp(pcVar7,"user",4);\n      if (iVar6 == 0) {\n        pcVar7 = (char *)FUN_00018b60(param_3,0x10);\n        sVar8 = strlen(pcVar7);\n        iVar6 = sVar8 + local_234;\n        if (local_23c < iVar6) {\n          local_23c = iVar6 + 0x200;\n          local_238 = FUN_0001dc50(local_238,local_23c,1);\n        }\n        memcpy((void *)(local_234 + local_238),pcVar7,sVar8);\n        local_244 = local_230 + 5;\n        local_234 = iVar6;\n        goto LAB_00021c20;\n      }\n      iVar6 = strncasecmp(pcVar7,"pass",4);\n      if (iVar6 == 0) {\n        pcVar7 = (char *)FUN_00018b60(param_3,0x11);\n        sVar8 = strlen(pcVar7);\n        iVar6 = sVar8 + local_234;\n        if (local_23c < iVar6) {\n          local_23c = iVar6 + 0x200;\n          local_238 = FUN_0001dc50(local_238,local_23c,1);\n        }\n        memcpy((void *)(local_234 + local_238),pcVar7,sVar8);\n        local_244 = local_230 + 5;\n        local_234 = iVar6;\n        goto LAB_00021c20;\n      }\n      iVar6 = strncasecmp(pcVar7,"proxyhost",9);\n      if (iVar6 == 0) {\n        pcVar7 = (char *)FUN_00018b60(param_3,0xe);\n        sVar8 = strlen(pcVar7);\n        iVar6 = sVar8 + local_234;\n        if (local_23c < iVar6) {\n          local_23c = iVar6 + 0x200;\n          local_238 = FUN_0001dc50(local_238,local_23c,1);\n        }\n        memcpy((void *)(local_234 + local_238),pcVar7,sVar8);\n        local_244 = local_230 + 10;\n        local_234 = iVar6;\n        goto LAB_00021c20;\n      }\n      iVar6 = strncasecmp(pcVar7,"proxyport",9);\n      if (iVar6 == 0) break;\n      if (local_23c <= local_234) {\n        local_23c = local_234 + 0x201;\n        local_238 = FUN_0001dc50(local_238,local_23c,1);\n      }\n      *(undefined1 *)(local_238 + local_234) = 0x25;\n      local_234 = local_234 + 1;\n      pcVar7 = (char *)(iVar4 + local_244);\n      cVar2 = *pcVar7;\n      iVar6 = local_244;\n      goto joined_r0x00021c28;\n    }\n    FUN_00084190(param_1,local_220,0x200);\n    puVar12 = local_220;\n    do {\n      puVar13 = puVar12;\n      uVar10 = *puVar13 + 0xfefefeff & ~*puVar13;\n      uVar11 = uVar10 & 0x80808080;\n      puVar12 = puVar13 + 1;\n    } while (uVar11 == 0);\n    bVar16 = (uVar10 & 0x8080) == 0;\n    if (bVar16) {\n      uVar11 = uVar11 >> 0x10;\n    }\n    puVar12 = (uint *)((int)puVar13 + 6);\n    if (!bVar16) {\n      puVar12 = puVar13 + 1;\n    }\n    uVar11 = (int)puVar12 + ((-3 - (uint)CARRY1((byte)uVar11,(byte)uVar11)) - (int)local_220);\njoined_r0x000221ae:\n    iVar6 = local_234 + uVar11;\n    if (local_23c < iVar6) {\n      local_23c = iVar6 + 0x200;\n      local_238 = FUN_0001dc50(local_238,local_23c,1);\n    }\n    puVar12 = (uint *)(local_234 + local_238);\n    if (uVar11 < 4) {\n      if (uVar11 != 0) {\n        *(undefined1 *)puVar12 = (undefined1)local_220[0];\n        if ((uVar11 & 2) != 0) {\n          *(undefined2 *)((int)puVar12 + (uVar11 - 2)) = *(undefined2 *)(auStack_227 + uVar11 + 5);\n        }\n      }\n    }\n    else {\n      *puVar12 = local_220[0];\n      *(undefined4 *)((int)puVar12 + (uVar11 - 4)) = *(undefined4 *)(auStack_227 + uVar11 + 3);\n      iVar5 = (int)puVar12 - (int)((uint)(puVar12 + 1) & 0xfffffffc);\n      puVar14 = (undefined4 *)((int)local_220 - iVar5);\n      puVar15 = (undefined4 *)((uint)(puVar12 + 1) & 0xfffffffc);\n      for (uVar11 = uVar11 + iVar5 >> 2; uVar11 != 0; uVar11 = uVar11 - 1) {\n        *puVar15 = *puVar14;\n        puVar14 = puVar14 + (uint)bVar17 * -2 + 1;\n        puVar15 = puVar15 + (uint)bVar17 * -2 + 1;\n      }\n    }\n    local_244 = local_230 + 5;\n    local_234 = iVar6;\n  } while( true );\n  uVar9 = FUN_000189b0(param_3,0xf);\n  __sprintf_chk(local_220,1,0x32,"%d",uVar9);\n  puVar12 = local_220;\n  do {\n    puVar13 = puVar12;\n    uVar10 = *puVar13 + 0xfefefeff & ~*puVar13;\n    uVar11 = uVar10 & 0x80808080;\n    puVar12 = puVar13 + 1;\n  } while (uVar11 == 0);\n  bVar16 = (uVar10 & 0x8080) == 0;\n  if (bVar16) {\n    uVar11 = uVar11 >> 0x10;\n  }\n  if (bVar16) {\n    puVar12 = (uint *)((int)puVar13 + 6);\n  }\n  uVar11 = (int)puVar12 + ((-3 - (uint)CARRY1((byte)uVar11,(byte)uVar11)) - (int)local_220);\n  iVar6 = local_234 + uVar11;\n  if (local_23c < iVar6) {\n    local_23c = iVar6 + 0x200;\n    local_238 = FUN_0001dc50(local_238,local_23c,1);\n  }\n  puVar12 = (uint *)(local_234 + local_238);\n  if (uVar11 < 4) {\n    if (uVar11 != 0) {\n      *(undefined1 *)puVar12 = (undefined1)local_220[0];\n      if ((uVar11 & 2) != 0) {\n        *(undefined2 *)((int)puVar12 + (uVar11 - 2)) = *(undefined2 *)(auStack_227 + uVar11 + 5);\n      }\n    }\n  }\n  else {\n    *puVar12 = local_220[0];\n    *(undefined4 *)((int)puVar12 + (uVar11 - 4)) = *(undefined4 *)(auStack_227 + uVar11 + 3);\n    iVar5 = (int)puVar12 - ((uint)(puVar12 + 1) & 0xfffffffc);\n    uVar11 = iVar5 + uVar11 & 0xfffffffc;\n    if (3 < uVar11) {\n      uVar10 = 0;\n      do {\n        *(undefined4 *)(((uint)(puVar12 + 1) & 0xfffffffc) + uVar10) =\n             *(undefined4 *)((int)local_220 + (uVar10 - iVar5));\n        uVar10 = uVar10 + 4;\n      } while (uVar10 < uVar11);\n    }\n  }\n  local_244 = local_230 + 10;\n  local_234 = iVar6;\n  goto LAB_00021c20;\n}" (primitive_type "void") (function_declarator "FUN_00021ba0(undefined4 param_1,undefined4 param_2,undefined4 param_3)" (identifier "FUN_00021ba0") (parameter_list "(undefined4 param_1,undefined4 param_2,undefined4 param_3)" (( "(") (parameter_declaration "undefined4 param_1" (type_identifier "undefined4") (identifier "param_1")) (, ",") (parameter_declaration "undefined4 param_2" (type_identifier "undefined4") (identifier "param_2")) (, ",") (parameter_declaration "undefined4 param_3" (type_identifier "undefined4") (identifier "param_3")) () ")"))) (compound_statement "{\n  byte bVar1;\n  char cVar2;\n  byte bVar3;\n  int iVar4;\n  int iVar5;\n  int iVar6;\n  char *pcVar7;\n  size_t sVar8;\n  undefined4 uVar9;\n  uint uVar10;\n  uint uVar11;\n  uint *puVar12;\n  uint *puVar13;\n  undefined4 *puVar14;\n  undefined4 *puVar15;\n  int in_GS_OFFSET;\n  bool bVar16;\n  byte bVar17;\n  int local_244;\n  char *local_240;\n  int local_23c;\n  int local_238;\n  int local_234;\n  int local_230;\n  undefined1 auStack_227 [5];\n  undefined2 uStack_222;\n  uint local_220 [128];\n  int local_20;\n  undefined4 uStack_14;\n  \n  bVar17 = 0;\n  local_244 = 0;\n  uStack_14 = 0x21bad;\n  local_20 = *(int *)(in_GS_OFFSET + 0x14);\n  iVar4 = FUN_00018b60(param_3,0x12);\n  local_23c = 0;\n  local_234 = 0;\n  local_238 = 0;\nLAB_00021c20:\n  do {\n    pcVar7 = (char *)(iVar4 + local_244);\n    cVar2 = *pcVar7;\n    iVar6 = local_244;\njoined_r0x00021c28:\n    if (cVar2 == '\0') {\nLAB_00021e3b:\n      if (local_234 < local_23c) goto LAB_00021e4d;\nLAB_00021eed:\n      local_238 = FUN_0001dc50(local_238,local_234 + 0x201,1);\nLAB_00021e4d:\n      *(undefined1 *)(local_238 + local_234) = 0;\n      if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    \n        FUN_0008d800();\n      }\n      return;\n    }\n    local_240 = pcVar7;\n    local_230 = iVar6;\n    if (cVar2 != '%') {\n      if (cVar2 != '\\') {\n        do {\n          local_244 = local_230 + 1;\n          cVar2 = *(char *)(iVar4 + local_244);\n          if ((cVar2 == '\0') || (cVar2 == '%')) {\n            if (cVar2 == '\0') goto LAB_00021e99;\n            break;\n          }\n          local_230 = local_244;\n        } while (cVar2 != '\\');\n        local_240 = (char *)(iVar4 + local_244);\n        local_230 = local_244;\n        if (iVar6 != local_244) {\n          iVar5 = (local_234 + local_244) - iVar6;\n          if (local_23c < iVar5) {\n            local_23c = iVar5 + 0x200;\n            local_238 = FUN_0001dc50(local_238,local_23c,1);\n          }\n          memcpy((void *)(local_238 + local_234),pcVar7,local_244 - iVar6);\n          local_234 = local_234 + (local_244 - iVar6);\n          local_230 = local_244;\n        }\n        goto LAB_00021cd4;\n      }\n      local_244 = iVar6 + 1;\n      cVar2 = *(char *)(iVar4 + 1 + iVar6);\n      if (cVar2 != '\0') goto LAB_00021f38;\nLAB_00021e99:\n      if (iVar6 == local_244) goto LAB_00021e3b;\n      iVar5 = (local_234 + local_244) - iVar6;\n      if (local_23c < iVar5) {\n        local_23c = iVar5 + 0x200;\n        local_238 = FUN_0001dc50(local_238,local_23c,1);\n      }\n      memcpy((void *)(local_238 + local_234),(void *)(iVar6 + iVar4),local_244 - iVar6);\n      local_234 = local_234 + (local_244 - iVar6);\n      if (local_234 < local_23c) goto LAB_00021e4d;\n      goto LAB_00021eed;\n    }\nLAB_00021cd4:\n    local_244 = local_230 + 1;\n    pcVar7 = (char *)(iVar4 + local_244);\n    cVar2 = *pcVar7;\n    iVar6 = local_230;\n    if (cVar2 == '\0') goto LAB_00021e99;\n    if (*local_240 == '\\') {\nLAB_00021f38:\n      iVar6 = local_234 + 1;\n      if (cVar2 == 'n') {\n        if (local_23c <= local_234) {\n          local_23c = local_234 + 0x201;\n          local_238 = FUN_0001dc50(local_238,local_23c,1);\n        }\n        *(undefined1 *)(local_238 + local_234) = 10;\n        local_244 = local_230 + 2;\n        local_234 = iVar6;\n        goto LAB_00021c20;\n      }\n      if (cVar2 < 'o') {\n        if (cVar2 == 'X') {\nLAB_000223b0:\n          cVar2 = *(char *)(iVar4 + 1 + local_244);\n          bVar3 = cVar2 - 0x30;\n          if (bVar3 < 10) {\nLAB_000223db:\n            cVar2 = *(char *)(iVar4 + 2 + local_244);\n            bVar1 = cVar2 - 0x30;\n            if (9 < bVar1) {\n              if ((byte)(cVar2 + 0x9fU) < 6) {\n                bVar1 = cVar2 + 0xa9;\n              }\n              else {\n                if (5 < (byte)(cVar2 + 0xbfU)) goto LAB_00022a16;\n                bVar1 = cVar2 - 0x37;\n              }\n            }\n            if (local_23c <= local_234) {\n              local_23c = local_234 + 0x201;\n              local_238 = FUN_0001dc50(local_238,local_23c,1);\n            }\n            *(byte *)(local_238 + local_234) = bVar1 + bVar3 * '\x10';\n            local_244 = local_244 + 3;\n            local_234 = iVar6;\n          }\n          else {\n            if ((byte)(cVar2 + 0x9fU) < 6) {\n              bVar3 = cVar2 + 0xa9;\n              goto LAB_000223db;\n            }\n            if ((byte)(cVar2 + 0xbfU) < 6) {\n              bVar3 = cVar2 - 0x37;\n              goto LAB_000223db;\n            }\nLAB_00022a16:\n            if (local_23c <= local_234) {\n              local_23c = local_234 + 0x201;\n              local_238 = FUN_0001dc50(local_238,local_23c,1);\n            }\n            *(undefined1 *)(local_238 + local_234) = 0x5c;\n            local_234 = iVar6;\n          }\n          goto LAB_00021c20;\n        }\n        if (cVar2 == '\\') {\n          if (local_23c <= local_234) {\n            local_23c = local_234 + 0x201;\n            local_238 = FUN_0001dc50(local_238,local_23c,1);\n          }\n          *(undefined1 *)(local_238 + local_234) = 0x5c;\n          local_244 = local_230 + 2;\n          local_234 = iVar6;\n          goto LAB_00021c20;\n        }\n        if (cVar2 == '%') {\n          if (local_23c <= local_234) {\n            local_23c = local_234 + 0x201;\n            local_238 = FUN_0001dc50(local_238,local_23c,1);\n          }\n          *(undefined1 *)(local_238 + local_234) = 0x25;\n          local_244 = local_230 + 2;\n          local_234 = iVar6;\n          goto LAB_00021c20;\n        }\n      }\n      else {\n        if (cVar2 == 't') {\n          if (local_23c <= local_234) {\n            local_23c = local_234 + 0x201;\n            local_238 = FUN_0001dc50(local_238,local_23c,1);\n          }\n          *(undefined1 *)(local_238 + local_234) = 9;\n          local_244 = local_230 + 2;\n          local_234 = iVar6;\n          goto LAB_00021c20;\n        }\n        if (cVar2 == 'x') goto LAB_000223b0;\n        if (cVar2 == 'r') {\n          if (local_23c <= local_234) {\n            local_23c = local_234 + 0x201;\n            local_238 = FUN_0001dc50(local_238,local_23c,1);\n          }\n          *(undefined1 *)(local_238 + local_234) = 0xd;\n          local_244 = local_230 + 2;\n          local_234 = iVar6;\n          goto LAB_00021c20;\n        }\n      }\n      if (local_23c <= iVar6) {\n        local_23c = local_234 + 0x202;\n        local_238 = FUN_0001dc50(local_238,local_23c,1);\n      }\n      local_244 = local_230 + 2;\n      *(undefined2 *)(local_238 + local_234) = *(undefined2 *)local_240;\n      local_234 = local_234 + 2;\n      goto LAB_00021c20;\n    }\n    if (cVar2 == '%') {\n      if (local_23c <= local_234) {\n        local_23c = local_234 + 0x201;\n        local_238 = FUN_0001dc50(local_238,local_23c,1);\n      }\n      *(undefined1 *)(local_238 + local_234) = 0x25;\n      local_244 = local_230 + 2;\n      local_234 = local_234 + 1;\n      goto LAB_00021c20;\n    }\n    iVar6 = strncasecmp(pcVar7,"host",4);\n    if (iVar6 != 0) {\n      iVar6 = strncasecmp(pcVar7,"port",4);\n      if (iVar6 == 0) {\n        cVar2 = __sprintf_chk(local_220,1,8,&DAT_0008fa68,param_2);\n        uVar11 = (uint)cVar2;\n        goto joined_r0x000221ae;\n      }\n      iVar6 = strncasecmp(pcVar7,"user",4);\n      if (iVar6 == 0) {\n        pcVar7 = (char *)FUN_00018b60(param_3,0x10);\n        sVar8 = strlen(pcVar7);\n        iVar6 = sVar8 + local_234;\n        if (local_23c < iVar6) {\n          local_23c = iVar6 + 0x200;\n          local_238 = FUN_0001dc50(local_238,local_23c,1);\n        }\n        memcpy((void *)(local_234 + local_238),pcVar7,sVar8);\n        local_244 = local_230 + 5;\n        local_234 = iVar6;\n        goto LAB_00021c20;\n      }\n      iVar6 = strncasecmp(pcVar7,"pass",4);\n      if (iVar6 == 0) {\n        pcVar7 = (char *)FUN_00018b60(param_3,0x11);\n        sVar8 = strlen(pcVar7);\n        iVar6 = sVar8 + local_234;\n        if (local_23c < iVar6) {\n          local_23c = iVar6 + 0x200;\n          local_238 = FUN_0001dc50(local_238,local_23c,1);\n        }\n        memcpy((void *)(local_234 + local_238),pcVar7,sVar8);\n        local_244 = local_230 + 5;\n        local_234 = iVar6;\n        goto LAB_00021c20;\n      }\n      iVar6 = strncasecmp(pcVar7,"proxyhost",9);\n      if (iVar6 == 0) {\n        pcVar7 = (char *)FUN_00018b60(param_3,0xe);\n        sVar8 = strlen(pcVar7);\n        iVar6 = sVar8 + local_234;\n        if (local_23c < iVar6) {\n          local_23c = iVar6 + 0x200;\n          local_238 = FUN_0001dc50(local_238,local_23c,1);\n        }\n        memcpy((void *)(local_234 + local_238),pcVar7,sVar8);\n        local_244 = local_230 + 10;\n        local_234 = iVar6;\n        goto LAB_00021c20;\n      }\n      iVar6 = strncasecmp(pcVar7,"proxyport",9);\n      if (iVar6 == 0) break;\n      if (local_23c <= local_234) {\n        local_23c = local_234 + 0x201;\n        local_238 = FUN_0001dc50(local_238,local_23c,1);\n      }\n      *(undefined1 *)(local_238 + local_234) = 0x25;\n      local_234 = local_234 + 1;\n      pcVar7 = (char *)(iVar4 + local_244);\n      cVar2 = *pcVar7;\n      iVar6 = local_244;\n      goto joined_r0x00021c28;\n    }\n    FUN_00084190(param_1,local_220,0x200);\n    puVar12 = local_220;\n    do {\n      puVar13 = puVar12;\n      uVar10 = *puVar13 + 0xfefefeff & ~*puVar13;\n      uVar11 = uVar10 & 0x80808080;\n      puVar12 = puVar13 + 1;\n    } while (uVar11 == 0);\n    bVar16 = (uVar10 & 0x8080) == 0;\n    if (bVar16) {\n      uVar11 = uVar11 >> 0x10;\n    }\n    puVar12 = (uint *)((int)puVar13 + 6);\n    if (!bVar16) {\n      puVar12 = puVar13 + 1;\n    }\n    uVar11 = (int)puVar12 + ((-3 - (uint)CARRY1((byte)uVar11,(byte)uVar11)) - (int)local_220);\njoined_r0x000221ae:\n    iVar6 = local_234 + uVar11;\n    if (local_23c < iVar6) {\n      local_23c = iVar6 + 0x200;\n      local_238 = FUN_0001dc50(local_238,local_23c,1);\n    }\n    puVar12 = (uint *)(local_234 + local_238);\n    if (uVar11 < 4) {\n      if (uVar11 != 0) {\n        *(undefined1 *)puVar12 = (undefined1)local_220[0];\n        if ((uVar11 & 2) != 0) {\n          *(undefined2 *)((int)puVar12 + (uVar11 - 2)) = *(undefined2 *)(auStack_227 + uVar11 + 5);\n        }\n      }\n    }\n    else {\n      *puVar12 = local_220[0];\n      *(undefined4 *)((int)puVar12 + (uVar11 - 4)) = *(undefined4 *)(auStack_227 + uVar11 + 3);\n      iVar5 = (int)puVar12 - (int)((uint)(puVar12 + 1) & 0xfffffffc);\n      puVar14 = (undefined4 *)((int)local_220 - iVar5);\n      puVar15 = (undefined4 *)((uint)(puVar12 + 1) & 0xfffffffc);\n      for (uVar11 = uVar11 + iVar5 >> 2; uVar11 != 0; uVar11 = uVar11 - 1) {\n        *puVar15 = *puVar14;\n        puVar14 = puVar14 + (uint)bVar17 * -2 + 1;\n        puVar15 = puVar15 + (uint)bVar17 * -2 + 1;\n      }\n    }\n    local_244 = local_230 + 5;\n    local_234 = iVar6;\n  } while( true );\n  uVar9 = FUN_000189b0(param_3,0xf);\n  __sprintf_chk(local_220,1,0x32,"%d",uVar9);\n  puVar12 = local_220;\n  do {\n    puVar13 = puVar12;\n    uVar10 = *puVar13 + 0xfefefeff & ~*puVar13;\n    uVar11 = uVar10 & 0x80808080;\n    puVar12 = puVar13 + 1;\n  } while (uVar11 == 0);\n  bVar16 = (uVar10 & 0x8080) == 0;\n  if (bVar16) {\n    uVar11 = uVar11 >> 0x10;\n  }\n  if (bVar16) {\n    puVar12 = (uint *)((int)puVar13 + 6);\n  }\n  uVar11 = (int)puVar12 + ((-3 - (uint)CARRY1((byte)uVar11,(byte)uVar11)) - (int)local_220);\n  iVar6 = local_234 + uVar11;\n  if (local_23c < iVar6) {\n    local_23c = iVar6 + 0x200;\n    local_238 = FUN_0001dc50(local_238,local_23c,1);\n  }\n  puVar12 = (uint *)(local_234 + local_238);\n  if (uVar11 < 4) {\n    if (uVar11 != 0) {\n      *(undefined1 *)puVar12 = (undefined1)local_220[0];\n      if ((uVar11 & 2) != 0) {\n        *(undefined2 *)((int)puVar12 + (uVar11 - 2)) = *(undefined2 *)(auStack_227 + uVar11 + 5);\n      }\n    }\n  }\n  else {\n    *puVar12 = local_220[0];\n    *(undefined4 *)((int)puVar12 + (uVar11 - 4)) = *(undefined4 *)(auStack_227 + uVar11 + 3);\n    iVar5 = (int)puVar12 - ((uint)(puVar12 + 1) & 0xfffffffc);\n    uVar11 = iVar5 + uVar11 & 0xfffffffc;\n    if (3 < uVar11) {\n      uVar10 = 0;\n      do {\n        *(undefined4 *)(((uint)(puVar12 + 1) & 0xfffffffc) + uVar10) =\n             *(undefined4 *)((int)local_220 + (uVar10 - iVar5));\n        uVar10 = uVar10 + 4;\n      } while (uVar10 < uVar11);\n    }\n  }\n  local_244 = local_230 + 10;\n  local_234 = iVar6;\n  goto LAB_00021c20;\n}" ({ "{") (declaration "byte bVar1;" (type_identifier "byte") (identifier "bVar1") (; ";")) (declaration "char cVar2;" (primitive_type "char") (identifier "cVar2") (; ";")) (declaration "byte bVar3;" (type_identifier "byte") (identifier "bVar3") (; ";")) (declaration "int iVar4;" (primitive_type "int") (identifier "iVar4") (; ";")) (declaration "int iVar5;" (primitive_type "int") (identifier "iVar5") (; ";")) (declaration "int iVar6;" (primitive_type "int") (identifier "iVar6") (; ";")) (declaration "char *pcVar7;" (primitive_type "char") (pointer_declarator "*pcVar7" (* "*") (identifier "pcVar7")) (; ";")) (declaration "size_t sVar8;" (primitive_type "size_t") (identifier "sVar8") (; ";")) (declaration "undefined4 uVar9;" (type_identifier "undefined4") (identifier "uVar9") (; ";")) (declaration "uint uVar10;" (type_identifier "uint") (identifier "uVar10") (; ";")) (declaration "uint uVar11;" (type_identifier "uint") (identifier "uVar11") (; ";")) (declaration "uint *puVar12;" (type_identifier "uint") (pointer_declarator "*puVar12" (* "*") (identifier "puVar12")) (; ";")) (declaration "uint *puVar13;" (type_identifier "uint") (pointer_declarator "*puVar13" (* "*") (identifier "puVar13")) (; ";")) (declaration "undefined4 *puVar14;" (type_identifier "undefined4") (pointer_declarator "*puVar14" (* "*") (identifier "puVar14")) (; ";")) (declaration "undefined4 *puVar15;" (type_identifier "undefined4") (pointer_declarator "*puVar15" (* "*") (identifier "puVar15")) (; ";")) (declaration "int in_GS_OFFSET;" (primitive_type "int") (identifier "in_GS_OFFSET") (; ";")) (declaration "bool bVar16;" (primitive_type "bool") (identifier "bVar16") (; ";")) (declaration "byte bVar17;" (type_identifier "byte") (identifier "bVar17") (; ";")) (declaration "int local_244;" (primitive_type "int") (identifier "local_244") (; ";")) (declaration "char *local_240;" (primitive_type "char") (pointer_declarator "*local_240" (* "*") (identifier "local_240")) (; ";")) (declaration "int local_23c;" (primitive_type "int") (identifier "local_23c") (; ";")) (declaration "int local_238;" (primitive_type "int") (identifier "local_238") (; ";")) (declaration "int local_234;" (primitive_type "int") (identifier "local_234") (; ";")) (declaration "int local_230;" (primitive_type "int") (identifier "local_230") (; ";")) (declaration "undefined1 auStack_227 [5];" (type_identifier "undefined1") (array_declarator "auStack_227 [5]" (identifier "auStack_227") ([ "[") (number_literal "5") (] "]")) (; ";")) (declaration "undefined2 uStack_222;" (type_identifier "undefined2") (identifier "uStack_222") (; ";")) (declaration "uint local_220 [128];" (type_identifier "uint") (array_declarator "local_220 [128]" (identifier "local_220") ([ "[") (number_literal "128") (] "]")) (; ";")) (declaration "int local_20;" (primitive_type "int") (identifier "local_20") (; ";")) (declaration "undefined4 uStack_14;" (type_identifier "undefined4") (identifier "uStack_14") (; ";")) (expression_statement "bVar17 = 0;" (assignment_expression "bVar17 = 0" (identifier "bVar17") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_244 = 0;" (assignment_expression "local_244 = 0" (identifier "local_244") (= "=") (number_literal "0")) (; ";")) (expression_statement "uStack_14 = 0x21bad;" (assignment_expression "uStack_14 = 0x21bad" (identifier "uStack_14") (= "=") (number_literal "0x21bad")) (; ";")) (expression_statement "local_20 = *(int *)(in_GS_OFFSET + 0x14);" (assignment_expression "local_20 = *(int *)(in_GS_OFFSET + 0x14)" (identifier "local_20") (= "=") (pointer_expression "*(int *)(in_GS_OFFSET + 0x14)" (* "*") (cast_expression "(int *)(in_GS_OFFSET + 0x14)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(in_GS_OFFSET + 0x14)" (( "(") (binary_expression "in_GS_OFFSET + 0x14" (identifier "in_GS_OFFSET") (+ "+") (number_literal "0x14")) () ")"))))) (; ";")) (expression_statement "iVar4 = FUN_00018b60(param_3,0x12);" (assignment_expression "iVar4 = FUN_00018b60(param_3,0x12)" (identifier "iVar4") (= "=") (call_expression "FUN_00018b60(param_3,0x12)" (identifier "FUN_00018b60") (argument_list "(param_3,0x12)" (( "(") (identifier "param_3") (, ",") (number_literal "0x12") () ")")))) (; ";")) (expression_statement "local_23c = 0;" (assignment_expression "local_23c = 0" (identifier "local_23c") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_234 = 0;" (assignment_expression "local_234 = 0" (identifier "local_234") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_238 = 0;" (assignment_expression "local_238 = 0" (identifier "local_238") (= "=") (number_literal "0")) (; ";")) (labeled_statement "LAB_00021c20:\n  do {\n    pcVar7 = (char *)(iVar4 + local_244);\n    cVar2 = *pcVar7;\n    iVar6 = local_244;\njoined_r0x00021c28:\n    if (cVar2 == '\0') {\nLAB_00021e3b:\n      if (local_234 < local_23c) goto LAB_00021e4d;\nLAB_00021eed:\n      local_238 = FUN_0001dc50(local_238,local_234 + 0x201,1);\nLAB_00021e4d:\n      *(undefined1 *)(local_238 + local_234) = 0;\n      if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    \n        FUN_0008d800();\n      }\n      return;\n    }\n    local_240 = pcVar7;\n    local_230 = iVar6;\n    if (cVar2 != '%') {\n      if (cVar2 != '\\') {\n        do {\n          local_244 = local_230 + 1;\n          cVar2 = *(char *)(iVar4 + local_244);\n          if ((cVar2 == '\0') || (cVar2 == '%')) {\n            if (cVar2 == '\0') goto LAB_00021e99;\n            break;\n          }\n          local_230 = local_244;\n        } while (cVar2 != '\\');\n        local_240 = (char *)(iVar4 + local_244);\n        local_230 = local_244;\n        if (iVar6 != local_244) {\n          iVar5 = (local_234 + local_244) - iVar6;\n          if (local_23c < iVar5) {\n            local_23c = iVar5 + 0x200;\n            local_238 = FUN_0001dc50(local_238,local_23c,1);\n          }\n          memcpy((void *)(local_238 + local_234),pcVar7,local_244 - iVar6);\n          local_234 = local_234 + (local_244 - iVar6);\n          local_230 = local_244;\n        }\n        goto LAB_00021cd4;\n      }\n      local_244 = iVar6 + 1;\n      cVar2 = *(char *)(iVar4 + 1 + iVar6);\n      if (cVar2 != '\0') goto LAB_00021f38;\nLAB_00021e99:\n      if (iVar6 == local_244) goto LAB_00021e3b;\n      iVar5 = (local_234 + local_244) - iVar6;\n      if (local_23c < iVar5) {\n        local_23c = iVar5 + 0x200;\n        local_238 = FUN_0001dc50(local_238,local_23c,1);\n      }\n      memcpy((void *)(local_238 + local_234),(void *)(iVar6 + iVar4),local_244 - iVar6);\n      local_234 = local_234 + (local_244 - iVar6);\n      if (local_234 < local_23c) goto LAB_00021e4d;\n      goto LAB_00021eed;\n    }\nLAB_00021cd4:\n    local_244 = local_230 + 1;\n    pcVar7 = (char *)(iVar4 + local_244);\n    cVar2 = *pcVar7;\n    iVar6 = local_230;\n    if (cVar2 == '\0') goto LAB_00021e99;\n    if (*local_240 == '\\') {\nLAB_00021f38:\n      iVar6 = local_234 + 1;\n      if (cVar2 == 'n') {\n        if (local_23c <= local_234) {\n          local_23c = local_234 + 0x201;\n          local_238 = FUN_0001dc50(local_238,local_23c,1);\n        }\n        *(undefined1 *)(local_238 + local_234) = 10;\n        local_244 = local_230 + 2;\n        local_234 = iVar6;\n        goto LAB_00021c20;\n      }\n      if (cVar2 < 'o') {\n        if (cVar2 == 'X') {\nLAB_000223b0:\n          cVar2 = *(char *)(iVar4 + 1 + local_244);\n          bVar3 = cVar2 - 0x30;\n          if (bVar3 < 10) {\nLAB_000223db:\n            cVar2 = *(char *)(iVar4 + 2 + local_244);\n            bVar1 = cVar2 - 0x30;\n            if (9 < bVar1) {\n              if ((byte)(cVar2 + 0x9fU) < 6) {\n                bVar1 = cVar2 + 0xa9;\n              }\n              else {\n                if (5 < (byte)(cVar2 + 0xbfU)) goto LAB_00022a16;\n                bVar1 = cVar2 - 0x37;\n              }\n            }\n            if (local_23c <= local_234) {\n              local_23c = local_234 + 0x201;\n              local_238 = FUN_0001dc50(local_238,local_23c,1);\n            }\n            *(byte *)(local_238 + local_234) = bVar1 + bVar3 * '\x10';\n            local_244 = local_244 + 3;\n            local_234 = iVar6;\n          }\n          else {\n            if ((byte)(cVar2 + 0x9fU) < 6) {\n              bVar3 = cVar2 + 0xa9;\n              goto LAB_000223db;\n            }\n            if ((byte)(cVar2 + 0xbfU) < 6) {\n              bVar3 = cVar2 - 0x37;\n              goto LAB_000223db;\n            }\nLAB_00022a16:\n            if (local_23c <= local_234) {\n              local_23c = local_234 + 0x201;\n              local_238 = FUN_0001dc50(local_238,local_23c,1);\n            }\n            *(undefined1 *)(local_238 + local_234) = 0x5c;\n            local_234 = iVar6;\n          }\n          goto LAB_00021c20;\n        }\n        if (cVar2 == '\\') {\n          if (local_23c <= local_234) {\n            local_23c = local_234 + 0x201;\n            local_238 = FUN_0001dc50(local_238,local_23c,1);\n          }\n          *(undefined1 *)(local_238 + local_234) = 0x5c;\n          local_244 = local_230 + 2;\n          local_234 = iVar6;\n          goto LAB_00021c20;\n        }\n        if (cVar2 == '%') {\n          if (local_23c <= local_234) {\n            local_23c = local_234 + 0x201;\n            local_238 = FUN_0001dc50(local_238,local_23c,1);\n          }\n          *(undefined1 *)(local_238 + local_234) = 0x25;\n          local_244 = local_230 + 2;\n          local_234 = iVar6;\n          goto LAB_00021c20;\n        }\n      }\n      else {\n        if (cVar2 == 't') {\n          if (local_23c <= local_234) {\n            local_23c = local_234 + 0x201;\n            local_238 = FUN_0001dc50(local_238,local_23c,1);\n          }\n          *(undefined1 *)(local_238 + local_234) = 9;\n          local_244 = local_230 + 2;\n          local_234 = iVar6;\n          goto LAB_00021c20;\n        }\n        if (cVar2 == 'x') goto LAB_000223b0;\n        if (cVar2 == 'r') {\n          if (local_23c <= local_234) {\n            local_23c = local_234 + 0x201;\n            local_238 = FUN_0001dc50(local_238,local_23c,1);\n          }\n          *(undefined1 *)(local_238 + local_234) = 0xd;\n          local_244 = local_230 + 2;\n          local_234 = iVar6;\n          goto LAB_00021c20;\n        }\n      }\n      if (local_23c <= iVar6) {\n        local_23c = local_234 + 0x202;\n        local_238 = FUN_0001dc50(local_238,local_23c,1);\n      }\n      local_244 = local_230 + 2;\n      *(undefined2 *)(local_238 + local_234) = *(undefined2 *)local_240;\n      local_234 = local_234 + 2;\n      goto LAB_00021c20;\n    }\n    if (cVar2 == '%') {\n      if (local_23c <= local_234) {\n        local_23c = local_234 + 0x201;\n        local_238 = FUN_0001dc50(local_238,local_23c,1);\n      }\n      *(undefined1 *)(local_238 + local_234) = 0x25;\n      local_244 = local_230 + 2;\n      local_234 = local_234 + 1;\n      goto LAB_00021c20;\n    }\n    iVar6 = strncasecmp(pcVar7,"host",4);\n    if (iVar6 != 0) {\n      iVar6 = strncasecmp(pcVar7,"port",4);\n      if (iVar6 == 0) {\n        cVar2 = __sprintf_chk(local_220,1,8,&DAT_0008fa68,param_2);\n        uVar11 = (uint)cVar2;\n        goto joined_r0x000221ae;\n      }\n      iVar6 = strncasecmp(pcVar7,"user",4);\n      if (iVar6 == 0) {\n        pcVar7 = (char *)FUN_00018b60(param_3,0x10);\n        sVar8 = strlen(pcVar7);\n        iVar6 = sVar8 + local_234;\n        if (local_23c < iVar6) {\n          local_23c = iVar6 + 0x200;\n          local_238 = FUN_0001dc50(local_238,local_23c,1);\n        }\n        memcpy((void *)(local_234 + local_238),pcVar7,sVar8);\n        local_244 = local_230 + 5;\n        local_234 = iVar6;\n        goto LAB_00021c20;\n      }\n      iVar6 = strncasecmp(pcVar7,"pass",4);\n      if (iVar6 == 0) {\n        pcVar7 = (char *)FUN_00018b60(param_3,0x11);\n        sVar8 = strlen(pcVar7);\n        iVar6 = sVar8 + local_234;\n        if (local_23c < iVar6) {\n          local_23c = iVar6 + 0x200;\n          local_238 = FUN_0001dc50(local_238,local_23c,1);\n        }\n        memcpy((void *)(local_234 + local_238),pcVar7,sVar8);\n        local_244 = local_230 + 5;\n        local_234 = iVar6;\n        goto LAB_00021c20;\n      }\n      iVar6 = strncasecmp(pcVar7,"proxyhost",9);\n      if (iVar6 == 0) {\n        pcVar7 = (char *)FUN_00018b60(param_3,0xe);\n        sVar8 = strlen(pcVar7);\n        iVar6 = sVar8 + local_234;\n        if (local_23c < iVar6) {\n          local_23c = iVar6 + 0x200;\n          local_238 = FUN_0001dc50(local_238,local_23c,1);\n        }\n        memcpy((void *)(local_234 + local_238),pcVar7,sVar8);\n        local_244 = local_230 + 10;\n        local_234 = iVar6;\n        goto LAB_00021c20;\n      }\n      iVar6 = strncasecmp(pcVar7,"proxyport",9);\n      if (iVar6 == 0) break;\n      if (local_23c <= local_234) {\n        local_23c = local_234 + 0x201;\n        local_238 = FUN_0001dc50(local_238,local_23c,1);\n      }\n      *(undefined1 *)(local_238 + local_234) = 0x25;\n      local_234 = local_234 + 1;\n      pcVar7 = (char *)(iVar4 + local_244);\n      cVar2 = *pcVar7;\n      iVar6 = local_244;\n      goto joined_r0x00021c28;\n    }\n    FUN_00084190(param_1,local_220,0x200);\n    puVar12 = local_220;\n    do {\n      puVar13 = puVar12;\n      uVar10 = *puVar13 + 0xfefefeff & ~*puVar13;\n      uVar11 = uVar10 & 0x80808080;\n      puVar12 = puVar13 + 1;\n    } while (uVar11 == 0);\n    bVar16 = (uVar10 & 0x8080) == 0;\n    if (bVar16) {\n      uVar11 = uVar11 >> 0x10;\n    }\n    puVar12 = (uint *)((int)puVar13 + 6);\n    if (!bVar16) {\n      puVar12 = puVar13 + 1;\n    }\n    uVar11 = (int)puVar12 + ((-3 - (uint)CARRY1((byte)uVar11,(byte)uVar11)) - (int)local_220);\njoined_r0x000221ae:\n    iVar6 = local_234 + uVar11;\n    if (local_23c < iVar6) {\n      local_23c = iVar6 + 0x200;\n      local_238 = FUN_0001dc50(local_238,local_23c,1);\n    }\n    puVar12 = (uint *)(local_234 + local_238);\n    if (uVar11 < 4) {\n      if (uVar11 != 0) {\n        *(undefined1 *)puVar12 = (undefined1)local_220[0];\n        if ((uVar11 & 2) != 0) {\n          *(undefined2 *)((int)puVar12 + (uVar11 - 2)) = *(undefined2 *)(auStack_227 + uVar11 + 5);\n        }\n      }\n    }\n    else {\n      *puVar12 = local_220[0];\n      *(undefined4 *)((int)puVar12 + (uVar11 - 4)) = *(undefined4 *)(auStack_227 + uVar11 + 3);\n      iVar5 = (int)puVar12 - (int)((uint)(puVar12 + 1) & 0xfffffffc);\n      puVar14 = (undefined4 *)((int)local_220 - iVar5);\n      puVar15 = (undefined4 *)((uint)(puVar12 + 1) & 0xfffffffc);\n      for (uVar11 = uVar11 + iVar5 >> 2; uVar11 != 0; uVar11 = uVar11 - 1) {\n        *puVar15 = *puVar14;\n        puVar14 = puVar14 + (uint)bVar17 * -2 + 1;\n        puVar15 = puVar15 + (uint)bVar17 * -2 + 1;\n      }\n    }\n    local_244 = local_230 + 5;\n    local_234 = iVar6;\n  } while( true );" (statement_identifier "LAB_00021c20") (: ":") (do_statement "do {\n    pcVar7 = (char *)(iVar4 + local_244);\n    cVar2 = *pcVar7;\n    iVar6 = local_244;\njoined_r0x00021c28:\n    if (cVar2 == '\0') {\nLAB_00021e3b:\n      if (local_234 < local_23c) goto LAB_00021e4d;\nLAB_00021eed:\n      local_238 = FUN_0001dc50(local_238,local_234 + 0x201,1);\nLAB_00021e4d:\n      *(undefined1 *)(local_238 + local_234) = 0;\n      if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    \n        FUN_0008d800();\n      }\n      return;\n    }\n    local_240 = pcVar7;\n    local_230 = iVar6;\n    if (cVar2 != '%') {\n      if (cVar2 != '\\') {\n        do {\n          local_244 = local_230 + 1;\n          cVar2 = *(char *)(iVar4 + local_244);\n          if ((cVar2 == '\0') || (cVar2 == '%')) {\n            if (cVar2 == '\0') goto LAB_00021e99;\n            break;\n          }\n          local_230 = local_244;\n        } while (cVar2 != '\\');\n        local_240 = (char *)(iVar4 + local_244);\n        local_230 = local_244;\n        if (iVar6 != local_244) {\n          iVar5 = (local_234 + local_244) - iVar6;\n          if (local_23c < iVar5) {\n            local_23c = iVar5 + 0x200;\n            local_238 = FUN_0001dc50(local_238,local_23c,1);\n          }\n          memcpy((void *)(local_238 + local_234),pcVar7,local_244 - iVar6);\n          local_234 = local_234 + (local_244 - iVar6);\n          local_230 = local_244;\n        }\n        goto LAB_00021cd4;\n      }\n      local_244 = iVar6 + 1;\n      cVar2 = *(char *)(iVar4 + 1 + iVar6);\n      if (cVar2 != '\0') goto LAB_00021f38;\nLAB_00021e99:\n      if (iVar6 == local_244) goto LAB_00021e3b;\n      iVar5 = (local_234 + local_244) - iVar6;\n      if (local_23c < iVar5) {\n        local_23c = iVar5 + 0x200;\n        local_238 = FUN_0001dc50(local_238,local_23c,1);\n      }\n      memcpy((void *)(local_238 + local_234),(void *)(iVar6 + iVar4),local_244 - iVar6);\n      local_234 = local_234 + (local_244 - iVar6);\n      if (local_234 < local_23c) goto LAB_00021e4d;\n      goto LAB_00021eed;\n    }\nLAB_00021cd4:\n    local_244 = local_230 + 1;\n    pcVar7 = (char *)(iVar4 + local_244);\n    cVar2 = *pcVar7;\n    iVar6 = local_230;\n    if (cVar2 == '\0') goto LAB_00021e99;\n    if (*local_240 == '\\') {\nLAB_00021f38:\n      iVar6 = local_234 + 1;\n      if (cVar2 == 'n') {\n        if (local_23c <= local_234) {\n          local_23c = local_234 + 0x201;\n          local_238 = FUN_0001dc50(local_238,local_23c,1);\n        }\n        *(undefined1 *)(local_238 + local_234) = 10;\n        local_244 = local_230 + 2;\n        local_234 = iVar6;\n        goto LAB_00021c20;\n      }\n      if (cVar2 < 'o') {\n        if (cVar2 == 'X') {\nLAB_000223b0:\n          cVar2 = *(char *)(iVar4 + 1 + local_244);\n          bVar3 = cVar2 - 0x30;\n          if (bVar3 < 10) {\nLAB_000223db:\n            cVar2 = *(char *)(iVar4 + 2 + local_244);\n            bVar1 = cVar2 - 0x30;\n            if (9 < bVar1) {\n              if ((byte)(cVar2 + 0x9fU) < 6) {\n                bVar1 = cVar2 + 0xa9;\n              }\n              else {\n                if (5 < (byte)(cVar2 + 0xbfU)) goto LAB_00022a16;\n                bVar1 = cVar2 - 0x37;\n              }\n            }\n            if (local_23c <= local_234) {\n              local_23c = local_234 + 0x201;\n              local_238 = FUN_0001dc50(local_238,local_23c,1);\n            }\n            *(byte *)(local_238 + local_234) = bVar1 + bVar3 * '\x10';\n            local_244 = local_244 + 3;\n            local_234 = iVar6;\n          }\n          else {\n            if ((byte)(cVar2 + 0x9fU) < 6) {\n              bVar3 = cVar2 + 0xa9;\n              goto LAB_000223db;\n            }\n            if ((byte)(cVar2 + 0xbfU) < 6) {\n              bVar3 = cVar2 - 0x37;\n              goto LAB_000223db;\n            }\nLAB_00022a16:\n            if (local_23c <= local_234) {\n              local_23c = local_234 + 0x201;\n              local_238 = FUN_0001dc50(local_238,local_23c,1);\n            }\n            *(undefined1 *)(local_238 + local_234) = 0x5c;\n            local_234 = iVar6;\n          }\n          goto LAB_00021c20;\n        }\n        if (cVar2 == '\\') {\n          if (local_23c <= local_234) {\n            local_23c = local_234 + 0x201;\n            local_238 = FUN_0001dc50(local_238,local_23c,1);\n          }\n          *(undefined1 *)(local_238 + local_234) = 0x5c;\n          local_244 = local_230 + 2;\n          local_234 = iVar6;\n          goto LAB_00021c20;\n        }\n        if (cVar2 == '%') {\n          if (local_23c <= local_234) {\n            local_23c = local_234 + 0x201;\n            local_238 = FUN_0001dc50(local_238,local_23c,1);\n          }\n          *(undefined1 *)(local_238 + local_234) = 0x25;\n          local_244 = local_230 + 2;\n          local_234 = iVar6;\n          goto LAB_00021c20;\n        }\n      }\n      else {\n        if (cVar2 == 't') {\n          if (local_23c <= local_234) {\n            local_23c = local_234 + 0x201;\n            local_238 = FUN_0001dc50(local_238,local_23c,1);\n          }\n          *(undefined1 *)(local_238 + local_234) = 9;\n          local_244 = local_230 + 2;\n          local_234 = iVar6;\n          goto LAB_00021c20;\n        }\n        if (cVar2 == 'x') goto LAB_000223b0;\n        if (cVar2 == 'r') {\n          if (local_23c <= local_234) {\n            local_23c = local_234 + 0x201;\n            local_238 = FUN_0001dc50(local_238,local_23c,1);\n          }\n          *(undefined1 *)(local_238 + local_234) = 0xd;\n          local_244 = local_230 + 2;\n          local_234 = iVar6;\n          goto LAB_00021c20;\n        }\n      }\n      if (local_23c <= iVar6) {\n        local_23c = local_234 + 0x202;\n        local_238 = FUN_0001dc50(local_238,local_23c,1);\n      }\n      local_244 = local_230 + 2;\n      *(undefined2 *)(local_238 + local_234) = *(undefined2 *)local_240;\n      local_234 = local_234 + 2;\n      goto LAB_00021c20;\n    }\n    if (cVar2 == '%') {\n      if (local_23c <= local_234) {\n        local_23c = local_234 + 0x201;\n        local_238 = FUN_0001dc50(local_238,local_23c,1);\n      }\n      *(undefined1 *)(local_238 + local_234) = 0x25;\n      local_244 = local_230 + 2;\n      local_234 = local_234 + 1;\n      goto LAB_00021c20;\n    }\n    iVar6 = strncasecmp(pcVar7,"host",4);\n    if (iVar6 != 0) {\n      iVar6 = strncasecmp(pcVar7,"port",4);\n      if (iVar6 == 0) {\n        cVar2 = __sprintf_chk(local_220,1,8,&DAT_0008fa68,param_2);\n        uVar11 = (uint)cVar2;\n        goto joined_r0x000221ae;\n      }\n      iVar6 = strncasecmp(pcVar7,"user",4);\n      if (iVar6 == 0) {\n        pcVar7 = (char *)FUN_00018b60(param_3,0x10);\n        sVar8 = strlen(pcVar7);\n        iVar6 = sVar8 + local_234;\n        if (local_23c < iVar6) {\n          local_23c = iVar6 + 0x200;\n          local_238 = FUN_0001dc50(local_238,local_23c,1);\n        }\n        memcpy((void *)(local_234 + local_238),pcVar7,sVar8);\n        local_244 = local_230 + 5;\n        local_234 = iVar6;\n        goto LAB_00021c20;\n      }\n      iVar6 = strncasecmp(pcVar7,"pass",4);\n      if (iVar6 == 0) {\n        pcVar7 = (char *)FUN_00018b60(param_3,0x11);\n        sVar8 = strlen(pcVar7);\n        iVar6 = sVar8 + local_234;\n        if (local_23c < iVar6) {\n          local_23c = iVar6 + 0x200;\n          local_238 = FUN_0001dc50(local_238,local_23c,1);\n        }\n        memcpy((void *)(local_234 + local_238),pcVar7,sVar8);\n        local_244 = local_230 + 5;\n        local_234 = iVar6;\n        goto LAB_00021c20;\n      }\n      iVar6 = strncasecmp(pcVar7,"proxyhost",9);\n      if (iVar6 == 0) {\n        pcVar7 = (char *)FUN_00018b60(param_3,0xe);\n        sVar8 = strlen(pcVar7);\n        iVar6 = sVar8 + local_234;\n        if (local_23c < iVar6) {\n          local_23c = iVar6 + 0x200;\n          local_238 = FUN_0001dc50(local_238,local_23c,1);\n        }\n        memcpy((void *)(local_234 + local_238),pcVar7,sVar8);\n        local_244 = local_230 + 10;\n        local_234 = iVar6;\n        goto LAB_00021c20;\n      }\n      iVar6 = strncasecmp(pcVar7,"proxyport",9);\n      if (iVar6 == 0) break;\n      if (local_23c <= local_234) {\n        local_23c = local_234 + 0x201;\n        local_238 = FUN_0001dc50(local_238,local_23c,1);\n      }\n      *(undefined1 *)(local_238 + local_234) = 0x25;\n      local_234 = local_234 + 1;\n      pcVar7 = (char *)(iVar4 + local_244);\n      cVar2 = *pcVar7;\n      iVar6 = local_244;\n      goto joined_r0x00021c28;\n    }\n    FUN_00084190(param_1,local_220,0x200);\n    puVar12 = local_220;\n    do {\n      puVar13 = puVar12;\n      uVar10 = *puVar13 + 0xfefefeff & ~*puVar13;\n      uVar11 = uVar10 & 0x80808080;\n      puVar12 = puVar13 + 1;\n    } while (uVar11 == 0);\n    bVar16 = (uVar10 & 0x8080) == 0;\n    if (bVar16) {\n      uVar11 = uVar11 >> 0x10;\n    }\n    puVar12 = (uint *)((int)puVar13 + 6);\n    if (!bVar16) {\n      puVar12 = puVar13 + 1;\n    }\n    uVar11 = (int)puVar12 + ((-3 - (uint)CARRY1((byte)uVar11,(byte)uVar11)) - (int)local_220);\njoined_r0x000221ae:\n    iVar6 = local_234 + uVar11;\n    if (local_23c < iVar6) {\n      local_23c = iVar6 + 0x200;\n      local_238 = FUN_0001dc50(local_238,local_23c,1);\n    }\n    puVar12 = (uint *)(local_234 + local_238);\n    if (uVar11 < 4) {\n      if (uVar11 != 0) {\n        *(undefined1 *)puVar12 = (undefined1)local_220[0];\n        if ((uVar11 & 2) != 0) {\n          *(undefined2 *)((int)puVar12 + (uVar11 - 2)) = *(undefined2 *)(auStack_227 + uVar11 + 5);\n        }\n      }\n    }\n    else {\n      *puVar12 = local_220[0];\n      *(undefined4 *)((int)puVar12 + (uVar11 - 4)) = *(undefined4 *)(auStack_227 + uVar11 + 3);\n      iVar5 = (int)puVar12 - (int)((uint)(puVar12 + 1) & 0xfffffffc);\n      puVar14 = (undefined4 *)((int)local_220 - iVar5);\n      puVar15 = (undefined4 *)((uint)(puVar12 + 1) & 0xfffffffc);\n      for (uVar11 = uVar11 + iVar5 >> 2; uVar11 != 0; uVar11 = uVar11 - 1) {\n        *puVar15 = *puVar14;\n        puVar14 = puVar14 + (uint)bVar17 * -2 + 1;\n        puVar15 = puVar15 + (uint)bVar17 * -2 + 1;\n      }\n    }\n    local_244 = local_230 + 5;\n    local_234 = iVar6;\n  } while( true );" (do "do") (compound_statement "{\n    pcVar7 = (char *)(iVar4 + local_244);\n    cVar2 = *pcVar7;\n    iVar6 = local_244;\njoined_r0x00021c28:\n    if (cVar2 == '\0') {\nLAB_00021e3b:\n      if (local_234 < local_23c) goto LAB_00021e4d;\nLAB_00021eed:\n      local_238 = FUN_0001dc50(local_238,local_234 + 0x201,1);\nLAB_00021e4d:\n      *(undefined1 *)(local_238 + local_234) = 0;\n      if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    \n        FUN_0008d800();\n      }\n      return;\n    }\n    local_240 = pcVar7;\n    local_230 = iVar6;\n    if (cVar2 != '%') {\n      if (cVar2 != '\\') {\n        do {\n          local_244 = local_230 + 1;\n          cVar2 = *(char *)(iVar4 + local_244);\n          if ((cVar2 == '\0') || (cVar2 == '%')) {\n            if (cVar2 == '\0') goto LAB_00021e99;\n            break;\n          }\n          local_230 = local_244;\n        } while (cVar2 != '\\');\n        local_240 = (char *)(iVar4 + local_244);\n        local_230 = local_244;\n        if (iVar6 != local_244) {\n          iVar5 = (local_234 + local_244) - iVar6;\n          if (local_23c < iVar5) {\n            local_23c = iVar5 + 0x200;\n            local_238 = FUN_0001dc50(local_238,local_23c,1);\n          }\n          memcpy((void *)(local_238 + local_234),pcVar7,local_244 - iVar6);\n          local_234 = local_234 + (local_244 - iVar6);\n          local_230 = local_244;\n        }\n        goto LAB_00021cd4;\n      }\n      local_244 = iVar6 + 1;\n      cVar2 = *(char *)(iVar4 + 1 + iVar6);\n      if (cVar2 != '\0') goto LAB_00021f38;\nLAB_00021e99:\n      if (iVar6 == local_244) goto LAB_00021e3b;\n      iVar5 = (local_234 + local_244) - iVar6;\n      if (local_23c < iVar5) {\n        local_23c = iVar5 + 0x200;\n        local_238 = FUN_0001dc50(local_238,local_23c,1);\n      }\n      memcpy((void *)(local_238 + local_234),(void *)(iVar6 + iVar4),local_244 - iVar6);\n      local_234 = local_234 + (local_244 - iVar6);\n      if (local_234 < local_23c) goto LAB_00021e4d;\n      goto LAB_00021eed;\n    }\nLAB_00021cd4:\n    local_244 = local_230 + 1;\n    pcVar7 = (char *)(iVar4 + local_244);\n    cVar2 = *pcVar7;\n    iVar6 = local_230;\n    if (cVar2 == '\0') goto LAB_00021e99;\n    if (*local_240 == '\\') {\nLAB_00021f38:\n      iVar6 = local_234 + 1;\n      if (cVar2 == 'n') {\n        if (local_23c <= local_234) {\n          local_23c = local_234 + 0x201;\n          local_238 = FUN_0001dc50(local_238,local_23c,1);\n        }\n        *(undefined1 *)(local_238 + local_234) = 10;\n        local_244 = local_230 + 2;\n        local_234 = iVar6;\n        goto LAB_00021c20;\n      }\n      if (cVar2 < 'o') {\n        if (cVar2 == 'X') {\nLAB_000223b0:\n          cVar2 = *(char *)(iVar4 + 1 + local_244);\n          bVar3 = cVar2 - 0x30;\n          if (bVar3 < 10) {\nLAB_000223db:\n            cVar2 = *(char *)(iVar4 + 2 + local_244);\n            bVar1 = cVar2 - 0x30;\n            if (9 < bVar1) {\n              if ((byte)(cVar2 + 0x9fU) < 6) {\n                bVar1 = cVar2 + 0xa9;\n              }\n              else {\n                if (5 < (byte)(cVar2 + 0xbfU)) goto LAB_00022a16;\n                bVar1 = cVar2 - 0x37;\n              }\n            }\n            if (local_23c <= local_234) {\n              local_23c = local_234 + 0x201;\n              local_238 = FUN_0001dc50(local_238,local_23c,1);\n            }\n            *(byte *)(local_238 + local_234) = bVar1 + bVar3 * '\x10';\n            local_244 = local_244 + 3;\n            local_234 = iVar6;\n          }\n          else {\n            if ((byte)(cVar2 + 0x9fU) < 6) {\n              bVar3 = cVar2 + 0xa9;\n              goto LAB_000223db;\n            }\n            if ((byte)(cVar2 + 0xbfU) < 6) {\n              bVar3 = cVar2 - 0x37;\n              goto LAB_000223db;\n            }\nLAB_00022a16:\n            if (local_23c <= local_234) {\n              local_23c = local_234 + 0x201;\n              local_238 = FUN_0001dc50(local_238,local_23c,1);\n            }\n            *(undefined1 *)(local_238 + local_234) = 0x5c;\n            local_234 = iVar6;\n          }\n          goto LAB_00021c20;\n        }\n        if (cVar2 == '\\') {\n          if (local_23c <= local_234) {\n            local_23c = local_234 + 0x201;\n            local_238 = FUN_0001dc50(local_238,local_23c,1);\n          }\n          *(undefined1 *)(local_238 + local_234) = 0x5c;\n          local_244 = local_230 + 2;\n          local_234 = iVar6;\n          goto LAB_00021c20;\n        }\n        if (cVar2 == '%') {\n          if (local_23c <= local_234) {\n            local_23c = local_234 + 0x201;\n            local_238 = FUN_0001dc50(local_238,local_23c,1);\n          }\n          *(undefined1 *)(local_238 + local_234) = 0x25;\n          local_244 = local_230 + 2;\n          local_234 = iVar6;\n          goto LAB_00021c20;\n        }\n      }\n      else {\n        if (cVar2 == 't') {\n          if (local_23c <= local_234) {\n            local_23c = local_234 + 0x201;\n            local_238 = FUN_0001dc50(local_238,local_23c,1);\n          }\n          *(undefined1 *)(local_238 + local_234) = 9;\n          local_244 = local_230 + 2;\n          local_234 = iVar6;\n          goto LAB_00021c20;\n        }\n        if (cVar2 == 'x') goto LAB_000223b0;\n        if (cVar2 == 'r') {\n          if (local_23c <= local_234) {\n            local_23c = local_234 + 0x201;\n            local_238 = FUN_0001dc50(local_238,local_23c,1);\n          }\n          *(undefined1 *)(local_238 + local_234) = 0xd;\n          local_244 = local_230 + 2;\n          local_234 = iVar6;\n          goto LAB_00021c20;\n        }\n      }\n      if (local_23c <= iVar6) {\n        local_23c = local_234 + 0x202;\n        local_238 = FUN_0001dc50(local_238,local_23c,1);\n      }\n      local_244 = local_230 + 2;\n      *(undefined2 *)(local_238 + local_234) = *(undefined2 *)local_240;\n      local_234 = local_234 + 2;\n      goto LAB_00021c20;\n    }\n    if (cVar2 == '%') {\n      if (local_23c <= local_234) {\n        local_23c = local_234 + 0x201;\n        local_238 = FUN_0001dc50(local_238,local_23c,1);\n      }\n      *(undefined1 *)(local_238 + local_234) = 0x25;\n      local_244 = local_230 + 2;\n      local_234 = local_234 + 1;\n      goto LAB_00021c20;\n    }\n    iVar6 = strncasecmp(pcVar7,"host",4);\n    if (iVar6 != 0) {\n      iVar6 = strncasecmp(pcVar7,"port",4);\n      if (iVar6 == 0) {\n        cVar2 = __sprintf_chk(local_220,1,8,&DAT_0008fa68,param_2);\n        uVar11 = (uint)cVar2;\n        goto joined_r0x000221ae;\n      }\n      iVar6 = strncasecmp(pcVar7,"user",4);\n      if (iVar6 == 0) {\n        pcVar7 = (char *)FUN_00018b60(param_3,0x10);\n        sVar8 = strlen(pcVar7);\n        iVar6 = sVar8 + local_234;\n        if (local_23c < iVar6) {\n          local_23c = iVar6 + 0x200;\n          local_238 = FUN_0001dc50(local_238,local_23c,1);\n        }\n        memcpy((void *)(local_234 + local_238),pcVar7,sVar8);\n        local_244 = local_230 + 5;\n        local_234 = iVar6;\n        goto LAB_00021c20;\n      }\n      iVar6 = strncasecmp(pcVar7,"pass",4);\n      if (iVar6 == 0) {\n        pcVar7 = (char *)FUN_00018b60(param_3,0x11);\n        sVar8 = strlen(pcVar7);\n        iVar6 = sVar8 + local_234;\n        if (local_23c < iVar6) {\n          local_23c = iVar6 + 0x200;\n          local_238 = FUN_0001dc50(local_238,local_23c,1);\n        }\n        memcpy((void *)(local_234 + local_238),pcVar7,sVar8);\n        local_244 = local_230 + 5;\n        local_234 = iVar6;\n        goto LAB_00021c20;\n      }\n      iVar6 = strncasecmp(pcVar7,"proxyhost",9);\n      if (iVar6 == 0) {\n        pcVar7 = (char *)FUN_00018b60(param_3,0xe);\n        sVar8 = strlen(pcVar7);\n        iVar6 = sVar8 + local_234;\n        if (local_23c < iVar6) {\n          local_23c = iVar6 + 0x200;\n          local_238 = FUN_0001dc50(local_238,local_23c,1);\n        }\n        memcpy((void *)(local_234 + local_238),pcVar7,sVar8);\n        local_244 = local_230 + 10;\n        local_234 = iVar6;\n        goto LAB_00021c20;\n      }\n      iVar6 = strncasecmp(pcVar7,"proxyport",9);\n      if (iVar6 == 0) break;\n      if (local_23c <= local_234) {\n        local_23c = local_234 + 0x201;\n        local_238 = FUN_0001dc50(local_238,local_23c,1);\n      }\n      *(undefined1 *)(local_238 + local_234) = 0x25;\n      local_234 = local_234 + 1;\n      pcVar7 = (char *)(iVar4 + local_244);\n      cVar2 = *pcVar7;\n      iVar6 = local_244;\n      goto joined_r0x00021c28;\n    }\n    FUN_00084190(param_1,local_220,0x200);\n    puVar12 = local_220;\n    do {\n      puVar13 = puVar12;\n      uVar10 = *puVar13 + 0xfefefeff & ~*puVar13;\n      uVar11 = uVar10 & 0x80808080;\n      puVar12 = puVar13 + 1;\n    } while (uVar11 == 0);\n    bVar16 = (uVar10 & 0x8080) == 0;\n    if (bVar16) {\n      uVar11 = uVar11 >> 0x10;\n    }\n    puVar12 = (uint *)((int)puVar13 + 6);\n    if (!bVar16) {\n      puVar12 = puVar13 + 1;\n    }\n    uVar11 = (int)puVar12 + ((-3 - (uint)CARRY1((byte)uVar11,(byte)uVar11)) - (int)local_220);\njoined_r0x000221ae:\n    iVar6 = local_234 + uVar11;\n    if (local_23c < iVar6) {\n      local_23c = iVar6 + 0x200;\n      local_238 = FUN_0001dc50(local_238,local_23c,1);\n    }\n    puVar12 = (uint *)(local_234 + local_238);\n    if (uVar11 < 4) {\n      if (uVar11 != 0) {\n        *(undefined1 *)puVar12 = (undefined1)local_220[0];\n        if ((uVar11 & 2) != 0) {\n          *(undefined2 *)((int)puVar12 + (uVar11 - 2)) = *(undefined2 *)(auStack_227 + uVar11 + 5);\n        }\n      }\n    }\n    else {\n      *puVar12 = local_220[0];\n      *(undefined4 *)((int)puVar12 + (uVar11 - 4)) = *(undefined4 *)(auStack_227 + uVar11 + 3);\n      iVar5 = (int)puVar12 - (int)((uint)(puVar12 + 1) & 0xfffffffc);\n      puVar14 = (undefined4 *)((int)local_220 - iVar5);\n      puVar15 = (undefined4 *)((uint)(puVar12 + 1) & 0xfffffffc);\n      for (uVar11 = uVar11 + iVar5 >> 2; uVar11 != 0; uVar11 = uVar11 - 1) {\n        *puVar15 = *puVar14;\n        puVar14 = puVar14 + (uint)bVar17 * -2 + 1;\n        puVar15 = puVar15 + (uint)bVar17 * -2 + 1;\n      }\n    }\n    local_244 = local_230 + 5;\n    local_234 = iVar6;\n  }" ({ "{") (expression_statement "pcVar7 = (char *)(iVar4 + local_244);" (assignment_expression "pcVar7 = (char *)(iVar4 + local_244)" (identifier "pcVar7") (= "=") (cast_expression "(char *)(iVar4 + local_244)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + local_244)" (( "(") (binary_expression "iVar4 + local_244" (identifier "iVar4") (+ "+") (identifier "local_244")) () ")")))) (; ";")) (expression_statement "cVar2 = *pcVar7;" (assignment_expression "cVar2 = *pcVar7" (identifier "cVar2") (= "=") (pointer_expression "*pcVar7" (* "*") (identifier "pcVar7"))) (; ";")) (expression_statement "iVar6 = local_244;" (assignment_expression "iVar6 = local_244" (identifier "iVar6") (= "=") (identifier "local_244")) (; ";")) (labeled_statement "joined_r0x00021c28:\n    if (cVar2 == '\0') {\nLAB_00021e3b:\n      if (local_234 < local_23c) goto LAB_00021e4d;\nLAB_00021eed:\n      local_238 = FUN_0001dc50(local_238,local_234 + 0x201,1);\nLAB_00021e4d:\n      *(undefined1 *)(local_238 + local_234) = 0;\n      if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    \n        FUN_0008d800();\n      }\n      return;\n    }" (statement_identifier "joined_r0x00021c28") (: ":") (if_statement "if (cVar2 == '\0') {\nLAB_00021e3b:\n      if (local_234 < local_23c) goto LAB_00021e4d;\nLAB_00021eed:\n      local_238 = FUN_0001dc50(local_238,local_234 + 0x201,1);\nLAB_00021e4d:\n      *(undefined1 *)(local_238 + local_234) = 0;\n      if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    \n        FUN_0008d800();\n      }\n      return;\n    }" (if "if") (parenthesized_expression "(cVar2 == '\0')" (( "(") (binary_expression "cVar2 == '\0'" (identifier "cVar2") (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\nLAB_00021e3b:\n      if (local_234 < local_23c) goto LAB_00021e4d;\nLAB_00021eed:\n      local_238 = FUN_0001dc50(local_238,local_234 + 0x201,1);\nLAB_00021e4d:\n      *(undefined1 *)(local_238 + local_234) = 0;\n      if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    \n        FUN_0008d800();\n      }\n      return;\n    }" ({ "{") (labeled_statement "LAB_00021e3b:\n      if (local_234 < local_23c) goto LAB_00021e4d;" (statement_identifier "LAB_00021e3b") (: ":") (if_statement "if (local_234 < local_23c) goto LAB_00021e4d;" (if "if") (parenthesized_expression "(local_234 < local_23c)" (( "(") (binary_expression "local_234 < local_23c" (identifier "local_234") (< "<") (identifier "local_23c")) () ")")) (goto_statement "goto LAB_00021e4d;" (goto "goto") (statement_identifier "LAB_00021e4d") (; ";")))) (labeled_statement "LAB_00021eed:\n      local_238 = FUN_0001dc50(local_238,local_234 + 0x201,1);" (statement_identifier "LAB_00021eed") (: ":") (expression_statement "local_238 = FUN_0001dc50(local_238,local_234 + 0x201,1);" (assignment_expression "local_238 = FUN_0001dc50(local_238,local_234 + 0x201,1)" (identifier "local_238") (= "=") (call_expression "FUN_0001dc50(local_238,local_234 + 0x201,1)" (identifier "FUN_0001dc50") (argument_list "(local_238,local_234 + 0x201,1)" (( "(") (identifier "local_238") (, ",") (binary_expression "local_234 + 0x201" (identifier "local_234") (+ "+") (number_literal "0x201")) (, ",") (number_literal "1") () ")")))) (; ";"))) (labeled_statement "LAB_00021e4d:\n      *(undefined1 *)(local_238 + local_234) = 0;" (statement_identifier "LAB_00021e4d") (: ":") (expression_statement "*(undefined1 *)(local_238 + local_234) = 0;" (assignment_expression "*(undefined1 *)(local_238 + local_234) = 0" (pointer_expression "*(undefined1 *)(local_238 + local_234)" (* "*") (cast_expression "(undefined1 *)(local_238 + local_234)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_238 + local_234)" (( "(") (binary_expression "local_238 + local_234" (identifier "local_238") (+ "+") (identifier "local_234")) () ")")))) (= "=") (number_literal "0")) (; ";"))) (if_statement "if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    \n        FUN_0008d800();\n      }" (if "if") (parenthesized_expression "(local_20 != *(int *)(in_GS_OFFSET + 0x14))" (( "(") (binary_expression "local_20 != *(int *)(in_GS_OFFSET + 0x14)" (identifier "local_20") (!= "!=") (pointer_expression "*(int *)(in_GS_OFFSET + 0x14)" (* "*") (cast_expression "(int *)(in_GS_OFFSET + 0x14)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(in_GS_OFFSET + 0x14)" (( "(") (binary_expression "in_GS_OFFSET + 0x14" (identifier "in_GS_OFFSET") (+ "+") (number_literal "0x14")) () ")"))))) () ")")) (compound_statement "{\n                    \n        FUN_0008d800();\n      }" ({ "{") (expression_statement "FUN_0008d800();" (call_expression "FUN_0008d800()" (identifier "FUN_0008d800") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (return_statement "return;" (return "return") (; ";")) (} "}")))) (expression_statement "local_240 = pcVar7;" (assignment_expression "local_240 = pcVar7" (identifier "local_240") (= "=") (identifier "pcVar7")) (; ";")) (expression_statement "local_230 = iVar6;" (assignment_expression "local_230 = iVar6" (identifier "local_230") (= "=") (identifier "iVar6")) (; ";")) (if_statement "if (cVar2 != '%') {\n      if (cVar2 != '\\') {\n        do {\n          local_244 = local_230 + 1;\n          cVar2 = *(char *)(iVar4 + local_244);\n          if ((cVar2 == '\0') || (cVar2 == '%')) {\n            if (cVar2 == '\0') goto LAB_00021e99;\n            break;\n          }\n          local_230 = local_244;\n        } while (cVar2 != '\\');\n        local_240 = (char *)(iVar4 + local_244);\n        local_230 = local_244;\n        if (iVar6 != local_244) {\n          iVar5 = (local_234 + local_244) - iVar6;\n          if (local_23c < iVar5) {\n            local_23c = iVar5 + 0x200;\n            local_238 = FUN_0001dc50(local_238,local_23c,1);\n          }\n          memcpy((void *)(local_238 + local_234),pcVar7,local_244 - iVar6);\n          local_234 = local_234 + (local_244 - iVar6);\n          local_230 = local_244;\n        }\n        goto LAB_00021cd4;\n      }\n      local_244 = iVar6 + 1;\n      cVar2 = *(char *)(iVar4 + 1 + iVar6);\n      if (cVar2 != '\0') goto LAB_00021f38;\nLAB_00021e99:\n      if (iVar6 == local_244) goto LAB_00021e3b;\n      iVar5 = (local_234 + local_244) - iVar6;\n      if (local_23c < iVar5) {\n        local_23c = iVar5 + 0x200;\n        local_238 = FUN_0001dc50(local_238,local_23c,1);\n      }\n      memcpy((void *)(local_238 + local_234),(void *)(iVar6 + iVar4),local_244 - iVar6);\n      local_234 = local_234 + (local_244 - iVar6);\n      if (local_234 < local_23c) goto LAB_00021e4d;\n      goto LAB_00021eed;\n    }" (if "if") (parenthesized_expression "(cVar2 != '%')" (( "(") (binary_expression "cVar2 != '%'" (identifier "cVar2") (!= "!=") (char_literal "'%'" (' "'") (character "%") (' "'"))) () ")")) (compound_statement "{\n      if (cVar2 != '\\') {\n        do {\n          local_244 = local_230 + 1;\n          cVar2 = *(char *)(iVar4 + local_244);\n          if ((cVar2 == '\0') || (cVar2 == '%')) {\n            if (cVar2 == '\0') goto LAB_00021e99;\n            break;\n          }\n          local_230 = local_244;\n        } while (cVar2 != '\\');\n        local_240 = (char *)(iVar4 + local_244);\n        local_230 = local_244;\n        if (iVar6 != local_244) {\n          iVar5 = (local_234 + local_244) - iVar6;\n          if (local_23c < iVar5) {\n            local_23c = iVar5 + 0x200;\n            local_238 = FUN_0001dc50(local_238,local_23c,1);\n          }\n          memcpy((void *)(local_238 + local_234),pcVar7,local_244 - iVar6);\n          local_234 = local_234 + (local_244 - iVar6);\n          local_230 = local_244;\n        }\n        goto LAB_00021cd4;\n      }\n      local_244 = iVar6 + 1;\n      cVar2 = *(char *)(iVar4 + 1 + iVar6);\n      if (cVar2 != '\0') goto LAB_00021f38;\nLAB_00021e99:\n      if (iVar6 == local_244) goto LAB_00021e3b;\n      iVar5 = (local_234 + local_244) - iVar6;\n      if (local_23c < iVar5) {\n        local_23c = iVar5 + 0x200;\n        local_238 = FUN_0001dc50(local_238,local_23c,1);\n      }\n      memcpy((void *)(local_238 + local_234),(void *)(iVar6 + iVar4),local_244 - iVar6);\n      local_234 = local_234 + (local_244 - iVar6);\n      if (local_234 < local_23c) goto LAB_00021e4d;\n      goto LAB_00021eed;\n    }" ({ "{") (if_statement "if (cVar2 != '\\') {\n        do {\n          local_244 = local_230 + 1;\n          cVar2 = *(char *)(iVar4 + local_244);\n          if ((cVar2 == '\0') || (cVar2 == '%')) {\n            if (cVar2 == '\0') goto LAB_00021e99;\n            break;\n          }\n          local_230 = local_244;\n        } while (cVar2 != '\\');\n        local_240 = (char *)(iVar4 + local_244);\n        local_230 = local_244;\n        if (iVar6 != local_244) {\n          iVar5 = (local_234 + local_244) - iVar6;\n          if (local_23c < iVar5) {\n            local_23c = iVar5 + 0x200;\n            local_238 = FUN_0001dc50(local_238,local_23c,1);\n          }\n          memcpy((void *)(local_238 + local_234),pcVar7,local_244 - iVar6);\n          local_234 = local_234 + (local_244 - iVar6);\n          local_230 = local_244;\n        }\n        goto LAB_00021cd4;\n      }" (if "if") (parenthesized_expression "(cVar2 != '\\')" (( "(") (binary_expression "cVar2 != '\\'" (identifier "cVar2") (!= "!=") (char_literal "'\\'" (' "'") (escape_sequence "\\") (' "'"))) () ")")) (compound_statement "{\n        do {\n          local_244 = local_230 + 1;\n          cVar2 = *(char *)(iVar4 + local_244);\n          if ((cVar2 == '\0') || (cVar2 == '%')) {\n            if (cVar2 == '\0') goto LAB_00021e99;\n            break;\n          }\n          local_230 = local_244;\n        } while (cVar2 != '\\');\n        local_240 = (char *)(iVar4 + local_244);\n        local_230 = local_244;\n        if (iVar6 != local_244) {\n          iVar5 = (local_234 + local_244) - iVar6;\n          if (local_23c < iVar5) {\n            local_23c = iVar5 + 0x200;\n            local_238 = FUN_0001dc50(local_238,local_23c,1);\n          }\n          memcpy((void *)(local_238 + local_234),pcVar7,local_244 - iVar6);\n          local_234 = local_234 + (local_244 - iVar6);\n          local_230 = local_244;\n        }\n        goto LAB_00021cd4;\n      }" ({ "{") (do_statement "do {\n          local_244 = local_230 + 1;\n          cVar2 = *(char *)(iVar4 + local_244);\n          if ((cVar2 == '\0') || (cVar2 == '%')) {\n            if (cVar2 == '\0') goto LAB_00021e99;\n            break;\n          }\n          local_230 = local_244;\n        } while (cVar2 != '\\');" (do "do") (compound_statement "{\n          local_244 = local_230 + 1;\n          cVar2 = *(char *)(iVar4 + local_244);\n          if ((cVar2 == '\0') || (cVar2 == '%')) {\n            if (cVar2 == '\0') goto LAB_00021e99;\n            break;\n          }\n          local_230 = local_244;\n        }" ({ "{") (expression_statement "local_244 = local_230 + 1;" (assignment_expression "local_244 = local_230 + 1" (identifier "local_244") (= "=") (binary_expression "local_230 + 1" (identifier "local_230") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "cVar2 = *(char *)(iVar4 + local_244);" (assignment_expression "cVar2 = *(char *)(iVar4 + local_244)" (identifier "cVar2") (= "=") (pointer_expression "*(char *)(iVar4 + local_244)" (* "*") (cast_expression "(char *)(iVar4 + local_244)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + local_244)" (( "(") (binary_expression "iVar4 + local_244" (identifier "iVar4") (+ "+") (identifier "local_244")) () ")"))))) (; ";")) (if_statement "if ((cVar2 == '\0') || (cVar2 == '%')) {\n            if (cVar2 == '\0') goto LAB_00021e99;\n            break;\n          }" (if "if") (parenthesized_expression "((cVar2 == '\0') || (cVar2 == '%'))" (( "(") (binary_expression "(cVar2 == '\0') || (cVar2 == '%')" (parenthesized_expression "(cVar2 == '\0')" (( "(") (binary_expression "cVar2 == '\0'" (identifier "cVar2") (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (|| "||") (parenthesized_expression "(cVar2 == '%')" (( "(") (binary_expression "cVar2 == '%'" (identifier "cVar2") (== "==") (char_literal "'%'" (' "'") (character "%") (' "'"))) () ")"))) () ")")) (compound_statement "{\n            if (cVar2 == '\0') goto LAB_00021e99;\n            break;\n          }" ({ "{") (if_statement "if (cVar2 == '\0') goto LAB_00021e99;" (if "if") (parenthesized_expression "(cVar2 == '\0')" (( "(") (binary_expression "cVar2 == '\0'" (identifier "cVar2") (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (goto_statement "goto LAB_00021e99;" (goto "goto") (statement_identifier "LAB_00021e99") (; ";"))) (break_statement "break;" (break "break") (; ";")) (} "}"))) (expression_statement "local_230 = local_244;" (assignment_expression "local_230 = local_244" (identifier "local_230") (= "=") (identifier "local_244")) (; ";")) (} "}")) (while "while") (parenthesized_expression "(cVar2 != '\\')" (( "(") (binary_expression "cVar2 != '\\'" (identifier "cVar2") (!= "!=") (char_literal "'\\'" (' "'") (escape_sequence "\\") (' "'"))) () ")")) (; ";")) (expression_statement "local_240 = (char *)(iVar4 + local_244);" (assignment_expression "local_240 = (char *)(iVar4 + local_244)" (identifier "local_240") (= "=") (cast_expression "(char *)(iVar4 + local_244)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + local_244)" (( "(") (binary_expression "iVar4 + local_244" (identifier "iVar4") (+ "+") (identifier "local_244")) () ")")))) (; ";")) (expression_statement "local_230 = local_244;" (assignment_expression "local_230 = local_244" (identifier "local_230") (= "=") (identifier "local_244")) (; ";")) (if_statement "if (iVar6 != local_244) {\n          iVar5 = (local_234 + local_244) - iVar6;\n          if (local_23c < iVar5) {\n            local_23c = iVar5 + 0x200;\n            local_238 = FUN_0001dc50(local_238,local_23c,1);\n          }\n          memcpy((void *)(local_238 + local_234),pcVar7,local_244 - iVar6);\n          local_234 = local_234 + (local_244 - iVar6);\n          local_230 = local_244;\n        }" (if "if") (parenthesized_expression "(iVar6 != local_244)" (( "(") (binary_expression "iVar6 != local_244" (identifier "iVar6") (!= "!=") (identifier "local_244")) () ")")) (compound_statement "{\n          iVar5 = (local_234 + local_244) - iVar6;\n          if (local_23c < iVar5) {\n            local_23c = iVar5 + 0x200;\n            local_238 = FUN_0001dc50(local_238,local_23c,1);\n          }\n          memcpy((void *)(local_238 + local_234),pcVar7,local_244 - iVar6);\n          local_234 = local_234 + (local_244 - iVar6);\n          local_230 = local_244;\n        }" ({ "{") (expression_statement "iVar5 = (local_234 + local_244) - iVar6;" (assignment_expression "iVar5 = (local_234 + local_244) - iVar6" (identifier "iVar5") (= "=") (binary_expression "(local_234 + local_244) - iVar6" (parenthesized_expression "(local_234 + local_244)" (( "(") (binary_expression "local_234 + local_244" (identifier "local_234") (+ "+") (identifier "local_244")) () ")")) (- "-") (identifier "iVar6"))) (; ";")) (if_statement "if (local_23c < iVar5) {\n            local_23c = iVar5 + 0x200;\n            local_238 = FUN_0001dc50(local_238,local_23c,1);\n          }" (if "if") (parenthesized_expression "(local_23c < iVar5)" (( "(") (binary_expression "local_23c < iVar5" (identifier "local_23c") (< "<") (identifier "iVar5")) () ")")) (compound_statement "{\n            local_23c = iVar5 + 0x200;\n            local_238 = FUN_0001dc50(local_238,local_23c,1);\n          }" ({ "{") (expression_statement "local_23c = iVar5 + 0x200;" (assignment_expression "local_23c = iVar5 + 0x200" (identifier "local_23c") (= "=") (binary_expression "iVar5 + 0x200" (identifier "iVar5") (+ "+") (number_literal "0x200"))) (; ";")) (expression_statement "local_238 = FUN_0001dc50(local_238,local_23c,1);" (assignment_expression "local_238 = FUN_0001dc50(local_238,local_23c,1)" (identifier "local_238") (= "=") (call_expression "FUN_0001dc50(local_238,local_23c,1)" (identifier "FUN_0001dc50") (argument_list "(local_238,local_23c,1)" (( "(") (identifier "local_238") (, ",") (identifier "local_23c") (, ",") (number_literal "1") () ")")))) (; ";")) (} "}"))) (expression_statement "memcpy((void *)(local_238 + local_234),pcVar7,local_244 - iVar6);" (call_expression "memcpy((void *)(local_238 + local_234),pcVar7,local_244 - iVar6)" (identifier "memcpy") (argument_list "((void *)(local_238 + local_234),pcVar7,local_244 - iVar6)" (( "(") (cast_expression "(void *)(local_238 + local_234)" (( "(") (type_descriptor "void *" (primitive_type "void") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_238 + local_234)" (( "(") (binary_expression "local_238 + local_234" (identifier "local_238") (+ "+") (identifier "local_234")) () ")"))) (, ",") (identifier "pcVar7") (, ",") (binary_expression "local_244 - iVar6" (identifier "local_244") (- "-") (identifier "iVar6")) () ")"))) (; ";")) (expression_statement "local_234 = local_234 + (local_244 - iVar6);" (assignment_expression "local_234 = local_234 + (local_244 - iVar6)" (identifier "local_234") (= "=") (binary_expression "local_234 + (local_244 - iVar6)" (identifier "local_234") (+ "+") (parenthesized_expression "(local_244 - iVar6)" (( "(") (binary_expression "local_244 - iVar6" (identifier "local_244") (- "-") (identifier "iVar6")) () ")")))) (; ";")) (expression_statement "local_230 = local_244;" (assignment_expression "local_230 = local_244" (identifier "local_230") (= "=") (identifier "local_244")) (; ";")) (} "}"))) (goto_statement "goto LAB_00021cd4;" (goto "goto") (statement_identifier "LAB_00021cd4") (; ";")) (} "}"))) (expression_statement "local_244 = iVar6 + 1;" (assignment_expression "local_244 = iVar6 + 1" (identifier "local_244") (= "=") (binary_expression "iVar6 + 1" (identifier "iVar6") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "cVar2 = *(char *)(iVar4 + 1 + iVar6);" (assignment_expression "cVar2 = *(char *)(iVar4 + 1 + iVar6)" (identifier "cVar2") (= "=") (pointer_expression "*(char *)(iVar4 + 1 + iVar6)" (* "*") (cast_expression "(char *)(iVar4 + 1 + iVar6)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 1 + iVar6)" (( "(") (binary_expression "iVar4 + 1 + iVar6" (binary_expression "iVar4 + 1" (identifier "iVar4") (+ "+") (number_literal "1")) (+ "+") (identifier "iVar6")) () ")"))))) (; ";")) (if_statement "if (cVar2 != '\0') goto LAB_00021f38;" (if "if") (parenthesized_expression "(cVar2 != '\0')" (( "(") (binary_expression "cVar2 != '\0'" (identifier "cVar2") (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (goto_statement "goto LAB_00021f38;" (goto "goto") (statement_identifier "LAB_00021f38") (; ";"))) (labeled_statement "LAB_00021e99:\n      if (iVar6 == local_244) goto LAB_00021e3b;" (statement_identifier "LAB_00021e99") (: ":") (if_statement "if (iVar6 == local_244) goto LAB_00021e3b;" (if "if") (parenthesized_expression "(iVar6 == local_244)" (( "(") (binary_expression "iVar6 == local_244" (identifier "iVar6") (== "==") (identifier "local_244")) () ")")) (goto_statement "goto LAB_00021e3b;" (goto "goto") (statement_identifier "LAB_00021e3b") (; ";")))) (expression_statement "iVar5 = (local_234 + local_244) - iVar6;" (assignment_expression "iVar5 = (local_234 + local_244) - iVar6" (identifier "iVar5") (= "=") (binary_expression "(local_234 + local_244) - iVar6" (parenthesized_expression "(local_234 + local_244)" (( "(") (binary_expression "local_234 + local_244" (identifier "local_234") (+ "+") (identifier "local_244")) () ")")) (- "-") (identifier "iVar6"))) (; ";")) (if_statement "if (local_23c < iVar5) {\n        local_23c = iVar5 + 0x200;\n        local_238 = FUN_0001dc50(local_238,local_23c,1);\n      }" (if "if") (parenthesized_expression "(local_23c < iVar5)" (( "(") (binary_expression "local_23c < iVar5" (identifier "local_23c") (< "<") (identifier "iVar5")) () ")")) (compound_statement "{\n        local_23c = iVar5 + 0x200;\n        local_238 = FUN_0001dc50(local_238,local_23c,1);\n      }" ({ "{") (expression_statement "local_23c = iVar5 + 0x200;" (assignment_expression "local_23c = iVar5 + 0x200" (identifier "local_23c") (= "=") (binary_expression "iVar5 + 0x200" (identifier "iVar5") (+ "+") (number_literal "0x200"))) (; ";")) (expression_statement "local_238 = FUN_0001dc50(local_238,local_23c,1);" (assignment_expression "local_238 = FUN_0001dc50(local_238,local_23c,1)" (identifier "local_238") (= "=") (call_expression "FUN_0001dc50(local_238,local_23c,1)" (identifier "FUN_0001dc50") (argument_list "(local_238,local_23c,1)" (( "(") (identifier "local_238") (, ",") (identifier "local_23c") (, ",") (number_literal "1") () ")")))) (; ";")) (} "}"))) (expression_statement "memcpy((void *)(local_238 + local_234),(void *)(iVar6 + iVar4),local_244 - iVar6);" (call_expression "memcpy((void *)(local_238 + local_234),(void *)(iVar6 + iVar4),local_244 - iVar6)" (identifier "memcpy") (argument_list "((void *)(local_238 + local_234),(void *)(iVar6 + iVar4),local_244 - iVar6)" (( "(") (cast_expression "(void *)(local_238 + local_234)" (( "(") (type_descriptor "void *" (primitive_type "void") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_238 + local_234)" (( "(") (binary_expression "local_238 + local_234" (identifier "local_238") (+ "+") (identifier "local_234")) () ")"))) (, ",") (cast_expression "(void *)(iVar6 + iVar4)" (( "(") (type_descriptor "void *" (primitive_type "void") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar6 + iVar4)" (( "(") (binary_expression "iVar6 + iVar4" (identifier "iVar6") (+ "+") (identifier "iVar4")) () ")"))) (, ",") (binary_expression "local_244 - iVar6" (identifier "local_244") (- "-") (identifier "iVar6")) () ")"))) (; ";")) (expression_statement "local_234 = local_234 + (local_244 - iVar6);" (assignment_expression "local_234 = local_234 + (local_244 - iVar6)" (identifier "local_234") (= "=") (binary_expression "local_234 + (local_244 - iVar6)" (identifier "local_234") (+ "+") (parenthesized_expression "(local_244 - iVar6)" (( "(") (binary_expression "local_244 - iVar6" (identifier "local_244") (- "-") (identifier "iVar6")) () ")")))) (; ";")) (if_statement "if (local_234 < local_23c) goto LAB_00021e4d;" (if "if") (parenthesized_expression "(local_234 < local_23c)" (( "(") (binary_expression "local_234 < local_23c" (identifier "local_234") (< "<") (identifier "local_23c")) () ")")) (goto_statement "goto LAB_00021e4d;" (goto "goto") (statement_identifier "LAB_00021e4d") (; ";"))) (goto_statement "goto LAB_00021eed;" (goto "goto") (statement_identifier "LAB_00021eed") (; ";")) (} "}"))) (labeled_statement "LAB_00021cd4:\n    local_244 = local_230 + 1;" (statement_identifier "LAB_00021cd4") (: ":") (expression_statement "local_244 = local_230 + 1;" (assignment_expression "local_244 = local_230 + 1" (identifier "local_244") (= "=") (binary_expression "local_230 + 1" (identifier "local_230") (+ "+") (number_literal "1"))) (; ";"))) (expression_statement "pcVar7 = (char *)(iVar4 + local_244);" (assignment_expression "pcVar7 = (char *)(iVar4 + local_244)" (identifier "pcVar7") (= "=") (cast_expression "(char *)(iVar4 + local_244)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + local_244)" (( "(") (binary_expression "iVar4 + local_244" (identifier "iVar4") (+ "+") (identifier "local_244")) () ")")))) (; ";")) (expression_statement "cVar2 = *pcVar7;" (assignment_expression "cVar2 = *pcVar7" (identifier "cVar2") (= "=") (pointer_expression "*pcVar7" (* "*") (identifier "pcVar7"))) (; ";")) (expression_statement "iVar6 = local_230;" (assignment_expression "iVar6 = local_230" (identifier "iVar6") (= "=") (identifier "local_230")) (; ";")) (if_statement "if (cVar2 == '\0') goto LAB_00021e99;" (if "if") (parenthesized_expression "(cVar2 == '\0')" (( "(") (binary_expression "cVar2 == '\0'" (identifier "cVar2") (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (goto_statement "goto LAB_00021e99;" (goto "goto") (statement_identifier "LAB_00021e99") (; ";"))) (if_statement "if (*local_240 == '\\') {\nLAB_00021f38:\n      iVar6 = local_234 + 1;\n      if (cVar2 == 'n') {\n        if (local_23c <= local_234) {\n          local_23c = local_234 + 0x201;\n          local_238 = FUN_0001dc50(local_238,local_23c,1);\n        }\n        *(undefined1 *)(local_238 + local_234) = 10;\n        local_244 = local_230 + 2;\n        local_234 = iVar6;\n        goto LAB_00021c20;\n      }\n      if (cVar2 < 'o') {\n        if (cVar2 == 'X') {\nLAB_000223b0:\n          cVar2 = *(char *)(iVar4 + 1 + local_244);\n          bVar3 = cVar2 - 0x30;\n          if (bVar3 < 10) {\nLAB_000223db:\n            cVar2 = *(char *)(iVar4 + 2 + local_244);\n            bVar1 = cVar2 - 0x30;\n            if (9 < bVar1) {\n              if ((byte)(cVar2 + 0x9fU) < 6) {\n                bVar1 = cVar2 + 0xa9;\n              }\n              else {\n                if (5 < (byte)(cVar2 + 0xbfU)) goto LAB_00022a16;\n                bVar1 = cVar2 - 0x37;\n              }\n            }\n            if (local_23c <= local_234) {\n              local_23c = local_234 + 0x201;\n              local_238 = FUN_0001dc50(local_238,local_23c,1);\n            }\n            *(byte *)(local_238 + local_234) = bVar1 + bVar3 * '\x10';\n            local_244 = local_244 + 3;\n            local_234 = iVar6;\n          }\n          else {\n            if ((byte)(cVar2 + 0x9fU) < 6) {\n              bVar3 = cVar2 + 0xa9;\n              goto LAB_000223db;\n            }\n            if ((byte)(cVar2 + 0xbfU) < 6) {\n              bVar3 = cVar2 - 0x37;\n              goto LAB_000223db;\n            }\nLAB_00022a16:\n            if (local_23c <= local_234) {\n              local_23c = local_234 + 0x201;\n              local_238 = FUN_0001dc50(local_238,local_23c,1);\n            }\n            *(undefined1 *)(local_238 + local_234) = 0x5c;\n            local_234 = iVar6;\n          }\n          goto LAB_00021c20;\n        }\n        if (cVar2 == '\\') {\n          if (local_23c <= local_234) {\n            local_23c = local_234 + 0x201;\n            local_238 = FUN_0001dc50(local_238,local_23c,1);\n          }\n          *(undefined1 *)(local_238 + local_234) = 0x5c;\n          local_244 = local_230 + 2;\n          local_234 = iVar6;\n          goto LAB_00021c20;\n        }\n        if (cVar2 == '%') {\n          if (local_23c <= local_234) {\n            local_23c = local_234 + 0x201;\n            local_238 = FUN_0001dc50(local_238,local_23c,1);\n          }\n          *(undefined1 *)(local_238 + local_234) = 0x25;\n          local_244 = local_230 + 2;\n          local_234 = iVar6;\n          goto LAB_00021c20;\n        }\n      }\n      else {\n        if (cVar2 == 't') {\n          if (local_23c <= local_234) {\n            local_23c = local_234 + 0x201;\n            local_238 = FUN_0001dc50(local_238,local_23c,1);\n          }\n          *(undefined1 *)(local_238 + local_234) = 9;\n          local_244 = local_230 + 2;\n          local_234 = iVar6;\n          goto LAB_00021c20;\n        }\n        if (cVar2 == 'x') goto LAB_000223b0;\n        if (cVar2 == 'r') {\n          if (local_23c <= local_234) {\n            local_23c = local_234 + 0x201;\n            local_238 = FUN_0001dc50(local_238,local_23c,1);\n          }\n          *(undefined1 *)(local_238 + local_234) = 0xd;\n          local_244 = local_230 + 2;\n          local_234 = iVar6;\n          goto LAB_00021c20;\n        }\n      }\n      if (local_23c <= iVar6) {\n        local_23c = local_234 + 0x202;\n        local_238 = FUN_0001dc50(local_238,local_23c,1);\n      }\n      local_244 = local_230 + 2;\n      *(undefined2 *)(local_238 + local_234) = *(undefined2 *)local_240;\n      local_234 = local_234 + 2;\n      goto LAB_00021c20;\n    }" (if "if") (parenthesized_expression "(*local_240 == '\\')" (( "(") (binary_expression "*local_240 == '\\'" (pointer_expression "*local_240" (* "*") (identifier "local_240")) (== "==") (char_literal "'\\'" (' "'") (escape_sequence "\\") (' "'"))) () ")")) (compound_statement "{\nLAB_00021f38:\n      iVar6 = local_234 + 1;\n      if (cVar2 == 'n') {\n        if (local_23c <= local_234) {\n          local_23c = local_234 + 0x201;\n          local_238 = FUN_0001dc50(local_238,local_23c,1);\n        }\n        *(undefined1 *)(local_238 + local_234) = 10;\n        local_244 = local_230 + 2;\n        local_234 = iVar6;\n        goto LAB_00021c20;\n      }\n      if (cVar2 < 'o') {\n        if (cVar2 == 'X') {\nLAB_000223b0:\n          cVar2 = *(char *)(iVar4 + 1 + local_244);\n          bVar3 = cVar2 - 0x30;\n          if (bVar3 < 10) {\nLAB_000223db:\n            cVar2 = *(char *)(iVar4 + 2 + local_244);\n            bVar1 = cVar2 - 0x30;\n            if (9 < bVar1) {\n              if ((byte)(cVar2 + 0x9fU) < 6) {\n                bVar1 = cVar2 + 0xa9;\n              }\n              else {\n                if (5 < (byte)(cVar2 + 0xbfU)) goto LAB_00022a16;\n                bVar1 = cVar2 - 0x37;\n              }\n            }\n            if (local_23c <= local_234) {\n              local_23c = local_234 + 0x201;\n              local_238 = FUN_0001dc50(local_238,local_23c,1);\n            }\n            *(byte *)(local_238 + local_234) = bVar1 + bVar3 * '\x10';\n            local_244 = local_244 + 3;\n            local_234 = iVar6;\n          }\n          else {\n            if ((byte)(cVar2 + 0x9fU) < 6) {\n              bVar3 = cVar2 + 0xa9;\n              goto LAB_000223db;\n            }\n            if ((byte)(cVar2 + 0xbfU) < 6) {\n              bVar3 = cVar2 - 0x37;\n              goto LAB_000223db;\n            }\nLAB_00022a16:\n            if (local_23c <= local_234) {\n              local_23c = local_234 + 0x201;\n              local_238 = FUN_0001dc50(local_238,local_23c,1);\n            }\n            *(undefined1 *)(local_238 + local_234) = 0x5c;\n            local_234 = iVar6;\n          }\n          goto LAB_00021c20;\n        }\n        if (cVar2 == '\\') {\n          if (local_23c <= local_234) {\n            local_23c = local_234 + 0x201;\n            local_238 = FUN_0001dc50(local_238,local_23c,1);\n          }\n          *(undefined1 *)(local_238 + local_234) = 0x5c;\n          local_244 = local_230 + 2;\n          local_234 = iVar6;\n          goto LAB_00021c20;\n        }\n        if (cVar2 == '%') {\n          if (local_23c <= local_234) {\n            local_23c = local_234 + 0x201;\n            local_238 = FUN_0001dc50(local_238,local_23c,1);\n          }\n          *(undefined1 *)(local_238 + local_234) = 0x25;\n          local_244 = local_230 + 2;\n          local_234 = iVar6;\n          goto LAB_00021c20;\n        }\n      }\n      else {\n        if (cVar2 == 't') {\n          if (local_23c <= local_234) {\n            local_23c = local_234 + 0x201;\n            local_238 = FUN_0001dc50(local_238,local_23c,1);\n          }\n          *(undefined1 *)(local_238 + local_234) = 9;\n          local_244 = local_230 + 2;\n          local_234 = iVar6;\n          goto LAB_00021c20;\n        }\n        if (cVar2 == 'x') goto LAB_000223b0;\n        if (cVar2 == 'r') {\n          if (local_23c <= local_234) {\n            local_23c = local_234 + 0x201;\n            local_238 = FUN_0001dc50(local_238,local_23c,1);\n          }\n          *(undefined1 *)(local_238 + local_234) = 0xd;\n          local_244 = local_230 + 2;\n          local_234 = iVar6;\n          goto LAB_00021c20;\n        }\n      }\n      if (local_23c <= iVar6) {\n        local_23c = local_234 + 0x202;\n        local_238 = FUN_0001dc50(local_238,local_23c,1);\n      }\n      local_244 = local_230 + 2;\n      *(undefined2 *)(local_238 + local_234) = *(undefined2 *)local_240;\n      local_234 = local_234 + 2;\n      goto LAB_00021c20;\n    }" ({ "{") (labeled_statement "LAB_00021f38:\n      iVar6 = local_234 + 1;" (statement_identifier "LAB_00021f38") (: ":") (expression_statement "iVar6 = local_234 + 1;" (assignment_expression "iVar6 = local_234 + 1" (identifier "iVar6") (= "=") (binary_expression "local_234 + 1" (identifier "local_234") (+ "+") (number_literal "1"))) (; ";"))) (if_statement "if (cVar2 == 'n') {\n        if (local_23c <= local_234) {\n          local_23c = local_234 + 0x201;\n          local_238 = FUN_0001dc50(local_238,local_23c,1);\n        }\n        *(undefined1 *)(local_238 + local_234) = 10;\n        local_244 = local_230 + 2;\n        local_234 = iVar6;\n        goto LAB_00021c20;\n      }" (if "if") (parenthesized_expression "(cVar2 == 'n')" (( "(") (binary_expression "cVar2 == 'n'" (identifier "cVar2") (== "==") (char_literal "'n'" (' "'") (character "n") (' "'"))) () ")")) (compound_statement "{\n        if (local_23c <= local_234) {\n          local_23c = local_234 + 0x201;\n          local_238 = FUN_0001dc50(local_238,local_23c,1);\n        }\n        *(undefined1 *)(local_238 + local_234) = 10;\n        local_244 = local_230 + 2;\n        local_234 = iVar6;\n        goto LAB_00021c20;\n      }" ({ "{") (if_statement "if (local_23c <= local_234) {\n          local_23c = local_234 + 0x201;\n          local_238 = FUN_0001dc50(local_238,local_23c,1);\n        }" (if "if") (parenthesized_expression "(local_23c <= local_234)" (( "(") (binary_expression "local_23c <= local_234" (identifier "local_23c") (<= "<=") (identifier "local_234")) () ")")) (compound_statement "{\n          local_23c = local_234 + 0x201;\n          local_238 = FUN_0001dc50(local_238,local_23c,1);\n        }" ({ "{") (expression_statement "local_23c = local_234 + 0x201;" (assignment_expression "local_23c = local_234 + 0x201" (identifier "local_23c") (= "=") (binary_expression "local_234 + 0x201" (identifier "local_234") (+ "+") (number_literal "0x201"))) (; ";")) (expression_statement "local_238 = FUN_0001dc50(local_238,local_23c,1);" (assignment_expression "local_238 = FUN_0001dc50(local_238,local_23c,1)" (identifier "local_238") (= "=") (call_expression "FUN_0001dc50(local_238,local_23c,1)" (identifier "FUN_0001dc50") (argument_list "(local_238,local_23c,1)" (( "(") (identifier "local_238") (, ",") (identifier "local_23c") (, ",") (number_literal "1") () ")")))) (; ";")) (} "}"))) (expression_statement "*(undefined1 *)(local_238 + local_234) = 10;" (assignment_expression "*(undefined1 *)(local_238 + local_234) = 10" (pointer_expression "*(undefined1 *)(local_238 + local_234)" (* "*") (cast_expression "(undefined1 *)(local_238 + local_234)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_238 + local_234)" (( "(") (binary_expression "local_238 + local_234" (identifier "local_238") (+ "+") (identifier "local_234")) () ")")))) (= "=") (number_literal "10")) (; ";")) (expression_statement "local_244 = local_230 + 2;" (assignment_expression "local_244 = local_230 + 2" (identifier "local_244") (= "=") (binary_expression "local_230 + 2" (identifier "local_230") (+ "+") (number_literal "2"))) (; ";")) (expression_statement "local_234 = iVar6;" (assignment_expression "local_234 = iVar6" (identifier "local_234") (= "=") (identifier "iVar6")) (; ";")) (goto_statement "goto LAB_00021c20;" (goto "goto") (statement_identifier "LAB_00021c20") (; ";")) (} "}"))) (if_statement "if (cVar2 < 'o') {\n        if (cVar2 == 'X') {\nLAB_000223b0:\n          cVar2 = *(char *)(iVar4 + 1 + local_244);\n          bVar3 = cVar2 - 0x30;\n          if (bVar3 < 10) {\nLAB_000223db:\n            cVar2 = *(char *)(iVar4 + 2 + local_244);\n            bVar1 = cVar2 - 0x30;\n            if (9 < bVar1) {\n              if ((byte)(cVar2 + 0x9fU) < 6) {\n                bVar1 = cVar2 + 0xa9;\n              }\n              else {\n                if (5 < (byte)(cVar2 + 0xbfU)) goto LAB_00022a16;\n                bVar1 = cVar2 - 0x37;\n              }\n            }\n            if (local_23c <= local_234) {\n              local_23c = local_234 + 0x201;\n              local_238 = FUN_0001dc50(local_238,local_23c,1);\n            }\n            *(byte *)(local_238 + local_234) = bVar1 + bVar3 * '\x10';\n            local_244 = local_244 + 3;\n            local_234 = iVar6;\n          }\n          else {\n            if ((byte)(cVar2 + 0x9fU) < 6) {\n              bVar3 = cVar2 + 0xa9;\n              goto LAB_000223db;\n            }\n            if ((byte)(cVar2 + 0xbfU) < 6) {\n              bVar3 = cVar2 - 0x37;\n              goto LAB_000223db;\n            }\nLAB_00022a16:\n            if (local_23c <= local_234) {\n              local_23c = local_234 + 0x201;\n              local_238 = FUN_0001dc50(local_238,local_23c,1);\n            }\n            *(undefined1 *)(local_238 + local_234) = 0x5c;\n            local_234 = iVar6;\n          }\n          goto LAB_00021c20;\n        }\n        if (cVar2 == '\\') {\n          if (local_23c <= local_234) {\n            local_23c = local_234 + 0x201;\n            local_238 = FUN_0001dc50(local_238,local_23c,1);\n          }\n          *(undefined1 *)(local_238 + local_234) = 0x5c;\n          local_244 = local_230 + 2;\n          local_234 = iVar6;\n          goto LAB_00021c20;\n        }\n        if (cVar2 == '%') {\n          if (local_23c <= local_234) {\n            local_23c = local_234 + 0x201;\n            local_238 = FUN_0001dc50(local_238,local_23c,1);\n          }\n          *(undefined1 *)(local_238 + local_234) = 0x25;\n          local_244 = local_230 + 2;\n          local_234 = iVar6;\n          goto LAB_00021c20;\n        }\n      }\n      else {\n        if (cVar2 == 't') {\n          if (local_23c <= local_234) {\n            local_23c = local_234 + 0x201;\n            local_238 = FUN_0001dc50(local_238,local_23c,1);\n          }\n          *(undefined1 *)(local_238 + local_234) = 9;\n          local_244 = local_230 + 2;\n          local_234 = iVar6;\n          goto LAB_00021c20;\n        }\n        if (cVar2 == 'x') goto LAB_000223b0;\n        if (cVar2 == 'r') {\n          if (local_23c <= local_234) {\n            local_23c = local_234 + 0x201;\n            local_238 = FUN_0001dc50(local_238,local_23c,1);\n          }\n          *(undefined1 *)(local_238 + local_234) = 0xd;\n          local_244 = local_230 + 2;\n          local_234 = iVar6;\n          goto LAB_00021c20;\n        }\n      }" (if "if") (parenthesized_expression "(cVar2 < 'o')" (( "(") (binary_expression "cVar2 < 'o'" (identifier "cVar2") (< "<") (char_literal "'o'" (' "'") (character "o") (' "'"))) () ")")) (compound_statement "{\n        if (cVar2 == 'X') {\nLAB_000223b0:\n          cVar2 = *(char *)(iVar4 + 1 + local_244);\n          bVar3 = cVar2 - 0x30;\n          if (bVar3 < 10) {\nLAB_000223db:\n            cVar2 = *(char *)(iVar4 + 2 + local_244);\n            bVar1 = cVar2 - 0x30;\n            if (9 < bVar1) {\n              if ((byte)(cVar2 + 0x9fU) < 6) {\n                bVar1 = cVar2 + 0xa9;\n              }\n              else {\n                if (5 < (byte)(cVar2 + 0xbfU)) goto LAB_00022a16;\n                bVar1 = cVar2 - 0x37;\n              }\n            }\n            if (local_23c <= local_234) {\n              local_23c = local_234 + 0x201;\n              local_238 = FUN_0001dc50(local_238,local_23c,1);\n            }\n            *(byte *)(local_238 + local_234) = bVar1 + bVar3 * '\x10';\n            local_244 = local_244 + 3;\n            local_234 = iVar6;\n          }\n          else {\n            if ((byte)(cVar2 + 0x9fU) < 6) {\n              bVar3 = cVar2 + 0xa9;\n              goto LAB_000223db;\n            }\n            if ((byte)(cVar2 + 0xbfU) < 6) {\n              bVar3 = cVar2 - 0x37;\n              goto LAB_000223db;\n            }\nLAB_00022a16:\n            if (local_23c <= local_234) {\n              local_23c = local_234 + 0x201;\n              local_238 = FUN_0001dc50(local_238,local_23c,1);\n            }\n            *(undefined1 *)(local_238 + local_234) = 0x5c;\n            local_234 = iVar6;\n          }\n          goto LAB_00021c20;\n        }\n        if (cVar2 == '\\') {\n          if (local_23c <= local_234) {\n            local_23c = local_234 + 0x201;\n            local_238 = FUN_0001dc50(local_238,local_23c,1);\n          }\n          *(undefined1 *)(local_238 + local_234) = 0x5c;\n          local_244 = local_230 + 2;\n          local_234 = iVar6;\n          goto LAB_00021c20;\n        }\n        if (cVar2 == '%') {\n          if (local_23c <= local_234) {\n            local_23c = local_234 + 0x201;\n            local_238 = FUN_0001dc50(local_238,local_23c,1);\n          }\n          *(undefined1 *)(local_238 + local_234) = 0x25;\n          local_244 = local_230 + 2;\n          local_234 = iVar6;\n          goto LAB_00021c20;\n        }\n      }" ({ "{") (if_statement "if (cVar2 == 'X') {\nLAB_000223b0:\n          cVar2 = *(char *)(iVar4 + 1 + local_244);\n          bVar3 = cVar2 - 0x30;\n          if (bVar3 < 10) {\nLAB_000223db:\n            cVar2 = *(char *)(iVar4 + 2 + local_244);\n            bVar1 = cVar2 - 0x30;\n            if (9 < bVar1) {\n              if ((byte)(cVar2 + 0x9fU) < 6) {\n                bVar1 = cVar2 + 0xa9;\n              }\n              else {\n                if (5 < (byte)(cVar2 + 0xbfU)) goto LAB_00022a16;\n                bVar1 = cVar2 - 0x37;\n              }\n            }\n            if (local_23c <= local_234) {\n              local_23c = local_234 + 0x201;\n              local_238 = FUN_0001dc50(local_238,local_23c,1);\n            }\n            *(byte *)(local_238 + local_234) = bVar1 + bVar3 * '\x10';\n            local_244 = local_244 + 3;\n            local_234 = iVar6;\n          }\n          else {\n            if ((byte)(cVar2 + 0x9fU) < 6) {\n              bVar3 = cVar2 + 0xa9;\n              goto LAB_000223db;\n            }\n            if ((byte)(cVar2 + 0xbfU) < 6) {\n              bVar3 = cVar2 - 0x37;\n              goto LAB_000223db;\n            }\nLAB_00022a16:\n            if (local_23c <= local_234) {\n              local_23c = local_234 + 0x201;\n              local_238 = FUN_0001dc50(local_238,local_23c,1);\n            }\n            *(undefined1 *)(local_238 + local_234) = 0x5c;\n            local_234 = iVar6;\n          }\n          goto LAB_00021c20;\n        }" (if "if") (parenthesized_expression "(cVar2 == 'X')" (( "(") (binary_expression "cVar2 == 'X'" (identifier "cVar2") (== "==") (char_literal "'X'" (' "'") (character "X") (' "'"))) () ")")) (compound_statement "{\nLAB_000223b0:\n          cVar2 = *(char *)(iVar4 + 1 + local_244);\n          bVar3 = cVar2 - 0x30;\n          if (bVar3 < 10) {\nLAB_000223db:\n            cVar2 = *(char *)(iVar4 + 2 + local_244);\n            bVar1 = cVar2 - 0x30;\n            if (9 < bVar1) {\n              if ((byte)(cVar2 + 0x9fU) < 6) {\n                bVar1 = cVar2 + 0xa9;\n              }\n              else {\n                if (5 < (byte)(cVar2 + 0xbfU)) goto LAB_00022a16;\n                bVar1 = cVar2 - 0x37;\n              }\n            }\n            if (local_23c <= local_234) {\n              local_23c = local_234 + 0x201;\n              local_238 = FUN_0001dc50(local_238,local_23c,1);\n            }\n            *(byte *)(local_238 + local_234) = bVar1 + bVar3 * '\x10';\n            local_244 = local_244 + 3;\n            local_234 = iVar6;\n          }\n          else {\n            if ((byte)(cVar2 + 0x9fU) < 6) {\n              bVar3 = cVar2 + 0xa9;\n              goto LAB_000223db;\n            }\n            if ((byte)(cVar2 + 0xbfU) < 6) {\n              bVar3 = cVar2 - 0x37;\n              goto LAB_000223db;\n            }\nLAB_00022a16:\n            if (local_23c <= local_234) {\n              local_23c = local_234 + 0x201;\n              local_238 = FUN_0001dc50(local_238,local_23c,1);\n            }\n            *(undefined1 *)(local_238 + local_234) = 0x5c;\n            local_234 = iVar6;\n          }\n          goto LAB_00021c20;\n        }" ({ "{") (labeled_statement "LAB_000223b0:\n          cVar2 = *(char *)(iVar4 + 1 + local_244);" (statement_identifier "LAB_000223b0") (: ":") (expression_statement "cVar2 = *(char *)(iVar4 + 1 + local_244);" (assignment_expression "cVar2 = *(char *)(iVar4 + 1 + local_244)" (identifier "cVar2") (= "=") (pointer_expression "*(char *)(iVar4 + 1 + local_244)" (* "*") (cast_expression "(char *)(iVar4 + 1 + local_244)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 1 + local_244)" (( "(") (binary_expression "iVar4 + 1 + local_244" (binary_expression "iVar4 + 1" (identifier "iVar4") (+ "+") (number_literal "1")) (+ "+") (identifier "local_244")) () ")"))))) (; ";"))) (expression_statement "bVar3 = cVar2 - 0x30;" (assignment_expression "bVar3 = cVar2 - 0x30" (identifier "bVar3") (= "=") (binary_expression "cVar2 - 0x30" (identifier "cVar2") (- "-") (number_literal "0x30"))) (; ";")) (if_statement "if (bVar3 < 10) {\nLAB_000223db:\n            cVar2 = *(char *)(iVar4 + 2 + local_244);\n            bVar1 = cVar2 - 0x30;\n            if (9 < bVar1) {\n              if ((byte)(cVar2 + 0x9fU) < 6) {\n                bVar1 = cVar2 + 0xa9;\n              }\n              else {\n                if (5 < (byte)(cVar2 + 0xbfU)) goto LAB_00022a16;\n                bVar1 = cVar2 - 0x37;\n              }\n            }\n            if (local_23c <= local_234) {\n              local_23c = local_234 + 0x201;\n              local_238 = FUN_0001dc50(local_238,local_23c,1);\n            }\n            *(byte *)(local_238 + local_234) = bVar1 + bVar3 * '\x10';\n            local_244 = local_244 + 3;\n            local_234 = iVar6;\n          }\n          else {\n            if ((byte)(cVar2 + 0x9fU) < 6) {\n              bVar3 = cVar2 + 0xa9;\n              goto LAB_000223db;\n            }\n            if ((byte)(cVar2 + 0xbfU) < 6) {\n              bVar3 = cVar2 - 0x37;\n              goto LAB_000223db;\n            }\nLAB_00022a16:\n            if (local_23c <= local_234) {\n              local_23c = local_234 + 0x201;\n              local_238 = FUN_0001dc50(local_238,local_23c,1);\n            }\n            *(undefined1 *)(local_238 + local_234) = 0x5c;\n            local_234 = iVar6;\n          }" (if "if") (parenthesized_expression "(bVar3 < 10)" (( "(") (binary_expression "bVar3 < 10" (identifier "bVar3") (< "<") (number_literal "10")) () ")")) (compound_statement "{\nLAB_000223db:\n            cVar2 = *(char *)(iVar4 + 2 + local_244);\n            bVar1 = cVar2 - 0x30;\n            if (9 < bVar1) {\n              if ((byte)(cVar2 + 0x9fU) < 6) {\n                bVar1 = cVar2 + 0xa9;\n              }\n              else {\n                if (5 < (byte)(cVar2 + 0xbfU)) goto LAB_00022a16;\n                bVar1 = cVar2 - 0x37;\n              }\n            }\n            if (local_23c <= local_234) {\n              local_23c = local_234 + 0x201;\n              local_238 = FUN_0001dc50(local_238,local_23c,1);\n            }\n            *(byte *)(local_238 + local_234) = bVar1 + bVar3 * '\x10';\n            local_244 = local_244 + 3;\n            local_234 = iVar6;\n          }" ({ "{") (labeled_statement "LAB_000223db:\n            cVar2 = *(char *)(iVar4 + 2 + local_244);" (statement_identifier "LAB_000223db") (: ":") (expression_statement "cVar2 = *(char *)(iVar4 + 2 + local_244);" (assignment_expression "cVar2 = *(char *)(iVar4 + 2 + local_244)" (identifier "cVar2") (= "=") (pointer_expression "*(char *)(iVar4 + 2 + local_244)" (* "*") (cast_expression "(char *)(iVar4 + 2 + local_244)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 2 + local_244)" (( "(") (binary_expression "iVar4 + 2 + local_244" (binary_expression "iVar4 + 2" (identifier "iVar4") (+ "+") (number_literal "2")) (+ "+") (identifier "local_244")) () ")"))))) (; ";"))) (expression_statement "bVar1 = cVar2 - 0x30;" (assignment_expression "bVar1 = cVar2 - 0x30" (identifier "bVar1") (= "=") (binary_expression "cVar2 - 0x30" (identifier "cVar2") (- "-") (number_literal "0x30"))) (; ";")) (if_statement "if (9 < bVar1) {\n              if ((byte)(cVar2 + 0x9fU) < 6) {\n                bVar1 = cVar2 + 0xa9;\n              }\n              else {\n                if (5 < (byte)(cVar2 + 0xbfU)) goto LAB_00022a16;\n                bVar1 = cVar2 - 0x37;\n              }\n            }" (if "if") (parenthesized_expression "(9 < bVar1)" (( "(") (binary_expression "9 < bVar1" (number_literal "9") (< "<") (identifier "bVar1")) () ")")) (compound_statement "{\n              if ((byte)(cVar2 + 0x9fU) < 6) {\n                bVar1 = cVar2 + 0xa9;\n              }\n              else {\n                if (5 < (byte)(cVar2 + 0xbfU)) goto LAB_00022a16;\n                bVar1 = cVar2 - 0x37;\n              }\n            }" ({ "{") (if_statement "if ((byte)(cVar2 + 0x9fU) < 6) {\n                bVar1 = cVar2 + 0xa9;\n              }\n              else {\n                if (5 < (byte)(cVar2 + 0xbfU)) goto LAB_00022a16;\n                bVar1 = cVar2 - 0x37;\n              }" (if "if") (parenthesized_expression "((byte)(cVar2 + 0x9fU) < 6)" (( "(") (binary_expression "(byte)(cVar2 + 0x9fU) < 6" (call_expression "(byte)(cVar2 + 0x9fU)" (parenthesized_expression "(byte)" (( "(") (identifier "byte") () ")")) (argument_list "(cVar2 + 0x9fU)" (( "(") (binary_expression "cVar2 + 0x9fU" (identifier "cVar2") (+ "+") (number_literal "0x9fU")) () ")"))) (< "<") (number_literal "6")) () ")")) (compound_statement "{\n                bVar1 = cVar2 + 0xa9;\n              }" ({ "{") (expression_statement "bVar1 = cVar2 + 0xa9;" (assignment_expression "bVar1 = cVar2 + 0xa9" (identifier "bVar1") (= "=") (binary_expression "cVar2 + 0xa9" (identifier "cVar2") (+ "+") (number_literal "0xa9"))) (; ";")) (} "}")) (else_clause "else {\n                if (5 < (byte)(cVar2 + 0xbfU)) goto LAB_00022a16;\n                bVar1 = cVar2 - 0x37;\n              }" (else "else") (compound_statement "{\n                if (5 < (byte)(cVar2 + 0xbfU)) goto LAB_00022a16;\n                bVar1 = cVar2 - 0x37;\n              }" ({ "{") (if_statement "if (5 < (byte)(cVar2 + 0xbfU)) goto LAB_00022a16;" (if "if") (parenthesized_expression "(5 < (byte)(cVar2 + 0xbfU))" (( "(") (binary_expression "5 < (byte)(cVar2 + 0xbfU)" (number_literal "5") (< "<") (call_expression "(byte)(cVar2 + 0xbfU)" (parenthesized_expression "(byte)" (( "(") (identifier "byte") () ")")) (argument_list "(cVar2 + 0xbfU)" (( "(") (binary_expression "cVar2 + 0xbfU" (identifier "cVar2") (+ "+") (number_literal "0xbfU")) () ")")))) () ")")) (goto_statement "goto LAB_00022a16;" (goto "goto") (statement_identifier "LAB_00022a16") (; ";"))) (expression_statement "bVar1 = cVar2 - 0x37;" (assignment_expression "bVar1 = cVar2 - 0x37" (identifier "bVar1") (= "=") (binary_expression "cVar2 - 0x37" (identifier "cVar2") (- "-") (number_literal "0x37"))) (; ";")) (} "}")))) (} "}"))) (if_statement "if (local_23c <= local_234) {\n              local_23c = local_234 + 0x201;\n              local_238 = FUN_0001dc50(local_238,local_23c,1);\n            }" (if "if") (parenthesized_expression "(local_23c <= local_234)" (( "(") (binary_expression "local_23c <= local_234" (identifier "local_23c") (<= "<=") (identifier "local_234")) () ")")) (compound_statement "{\n              local_23c = local_234 + 0x201;\n              local_238 = FUN_0001dc50(local_238,local_23c,1);\n            }" ({ "{") (expression_statement "local_23c = local_234 + 0x201;" (assignment_expression "local_23c = local_234 + 0x201" (identifier "local_23c") (= "=") (binary_expression "local_234 + 0x201" (identifier "local_234") (+ "+") (number_literal "0x201"))) (; ";")) (expression_statement "local_238 = FUN_0001dc50(local_238,local_23c,1);" (assignment_expression "local_238 = FUN_0001dc50(local_238,local_23c,1)" (identifier "local_238") (= "=") (call_expression "FUN_0001dc50(local_238,local_23c,1)" (identifier "FUN_0001dc50") (argument_list "(local_238,local_23c,1)" (( "(") (identifier "local_238") (, ",") (identifier "local_23c") (, ",") (number_literal "1") () ")")))) (; ";")) (} "}"))) (expression_statement "*(byte *)(local_238 + local_234) = bVar1 + bVar3 * '\x10';" (assignment_expression "*(byte *)(local_238 + local_234) = bVar1 + bVar3 * '\x10'" (pointer_expression "*(byte *)(local_238 + local_234)" (* "*") (cast_expression "(byte *)(local_238 + local_234)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_238 + local_234)" (( "(") (binary_expression "local_238 + local_234" (identifier "local_238") (+ "+") (identifier "local_234")) () ")")))) (= "=") (binary_expression "bVar1 + bVar3 * '\x10'" (identifier "bVar1") (+ "+") (binary_expression "bVar3 * '\x10'" (identifier "bVar3") (* "*") (char_literal "'\x10'" (' "'") (escape_sequence "\x10") (' "'"))))) (; ";")) (expression_statement "local_244 = local_244 + 3;" (assignment_expression "local_244 = local_244 + 3" (identifier "local_244") (= "=") (binary_expression "local_244 + 3" (identifier "local_244") (+ "+") (number_literal "3"))) (; ";")) (expression_statement "local_234 = iVar6;" (assignment_expression "local_234 = iVar6" (identifier "local_234") (= "=") (identifier "iVar6")) (; ";")) (} "}")) (else_clause "else {\n            if ((byte)(cVar2 + 0x9fU) < 6) {\n              bVar3 = cVar2 + 0xa9;\n              goto LAB_000223db;\n            }\n            if ((byte)(cVar2 + 0xbfU) < 6) {\n              bVar3 = cVar2 - 0x37;\n              goto LAB_000223db;\n            }\nLAB_00022a16:\n            if (local_23c <= local_234) {\n              local_23c = local_234 + 0x201;\n              local_238 = FUN_0001dc50(local_238,local_23c,1);\n            }\n            *(undefined1 *)(local_238 + local_234) = 0x5c;\n            local_234 = iVar6;\n          }" (else "else") (compound_statement "{\n            if ((byte)(cVar2 + 0x9fU) < 6) {\n              bVar3 = cVar2 + 0xa9;\n              goto LAB_000223db;\n            }\n            if ((byte)(cVar2 + 0xbfU) < 6) {\n              bVar3 = cVar2 - 0x37;\n              goto LAB_000223db;\n            }\nLAB_00022a16:\n            if (local_23c <= local_234) {\n              local_23c = local_234 + 0x201;\n              local_238 = FUN_0001dc50(local_238,local_23c,1);\n            }\n            *(undefined1 *)(local_238 + local_234) = 0x5c;\n            local_234 = iVar6;\n          }" ({ "{") (if_statement "if ((byte)(cVar2 + 0x9fU) < 6) {\n              bVar3 = cVar2 + 0xa9;\n              goto LAB_000223db;\n            }" (if "if") (parenthesized_expression "((byte)(cVar2 + 0x9fU) < 6)" (( "(") (binary_expression "(byte)(cVar2 + 0x9fU) < 6" (call_expression "(byte)(cVar2 + 0x9fU)" (parenthesized_expression "(byte)" (( "(") (identifier "byte") () ")")) (argument_list "(cVar2 + 0x9fU)" (( "(") (binary_expression "cVar2 + 0x9fU" (identifier "cVar2") (+ "+") (number_literal "0x9fU")) () ")"))) (< "<") (number_literal "6")) () ")")) (compound_statement "{\n              bVar3 = cVar2 + 0xa9;\n              goto LAB_000223db;\n            }" ({ "{") (expression_statement "bVar3 = cVar2 + 0xa9;" (assignment_expression "bVar3 = cVar2 + 0xa9" (identifier "bVar3") (= "=") (binary_expression "cVar2 + 0xa9" (identifier "cVar2") (+ "+") (number_literal "0xa9"))) (; ";")) (goto_statement "goto LAB_000223db;" (goto "goto") (statement_identifier "LAB_000223db") (; ";")) (} "}"))) (if_statement "if ((byte)(cVar2 + 0xbfU) < 6) {\n              bVar3 = cVar2 - 0x37;\n              goto LAB_000223db;\n            }" (if "if") (parenthesized_expression "((byte)(cVar2 + 0xbfU) < 6)" (( "(") (binary_expression "(byte)(cVar2 + 0xbfU) < 6" (call_expression "(byte)(cVar2 + 0xbfU)" (parenthesized_expression "(byte)" (( "(") (identifier "byte") () ")")) (argument_list "(cVar2 + 0xbfU)" (( "(") (binary_expression "cVar2 + 0xbfU" (identifier "cVar2") (+ "+") (number_literal "0xbfU")) () ")"))) (< "<") (number_literal "6")) () ")")) (compound_statement "{\n              bVar3 = cVar2 - 0x37;\n              goto LAB_000223db;\n            }" ({ "{") (expression_statement "bVar3 = cVar2 - 0x37;" (assignment_expression "bVar3 = cVar2 - 0x37" (identifier "bVar3") (= "=") (binary_expression "cVar2 - 0x37" (identifier "cVar2") (- "-") (number_literal "0x37"))) (; ";")) (goto_statement "goto LAB_000223db;" (goto "goto") (statement_identifier "LAB_000223db") (; ";")) (} "}"))) (labeled_statement "LAB_00022a16:\n            if (local_23c <= local_234) {\n              local_23c = local_234 + 0x201;\n              local_238 = FUN_0001dc50(local_238,local_23c,1);\n            }" (statement_identifier "LAB_00022a16") (: ":") (if_statement "if (local_23c <= local_234) {\n              local_23c = local_234 + 0x201;\n              local_238 = FUN_0001dc50(local_238,local_23c,1);\n            }" (if "if") (parenthesized_expression "(local_23c <= local_234)" (( "(") (binary_expression "local_23c <= local_234" (identifier "local_23c") (<= "<=") (identifier "local_234")) () ")")) (compound_statement "{\n              local_23c = local_234 + 0x201;\n              local_238 = FUN_0001dc50(local_238,local_23c,1);\n            }" ({ "{") (expression_statement "local_23c = local_234 + 0x201;" (assignment_expression "local_23c = local_234 + 0x201" (identifier "local_23c") (= "=") (binary_expression "local_234 + 0x201" (identifier "local_234") (+ "+") (number_literal "0x201"))) (; ";")) (expression_statement "local_238 = FUN_0001dc50(local_238,local_23c,1);" (assignment_expression "local_238 = FUN_0001dc50(local_238,local_23c,1)" (identifier "local_238") (= "=") (call_expression "FUN_0001dc50(local_238,local_23c,1)" (identifier "FUN_0001dc50") (argument_list "(local_238,local_23c,1)" (( "(") (identifier "local_238") (, ",") (identifier "local_23c") (, ",") (number_literal "1") () ")")))) (; ";")) (} "}")))) (expression_statement "*(undefined1 *)(local_238 + local_234) = 0x5c;" (assignment_expression "*(undefined1 *)(local_238 + local_234) = 0x5c" (pointer_expression "*(undefined1 *)(local_238 + local_234)" (* "*") (cast_expression "(undefined1 *)(local_238 + local_234)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_238 + local_234)" (( "(") (binary_expression "local_238 + local_234" (identifier "local_238") (+ "+") (identifier "local_234")) () ")")))) (= "=") (number_literal "0x5c")) (; ";")) (expression_statement "local_234 = iVar6;" (assignment_expression "local_234 = iVar6" (identifier "local_234") (= "=") (identifier "iVar6")) (; ";")) (} "}")))) (goto_statement "goto LAB_00021c20;" (goto "goto") (statement_identifier "LAB_00021c20") (; ";")) (} "}"))) (if_statement "if (cVar2 == '\\') {\n          if (local_23c <= local_234) {\n            local_23c = local_234 + 0x201;\n            local_238 = FUN_0001dc50(local_238,local_23c,1);\n          }\n          *(undefined1 *)(local_238 + local_234) = 0x5c;\n          local_244 = local_230 + 2;\n          local_234 = iVar6;\n          goto LAB_00021c20;\n        }" (if "if") (parenthesized_expression "(cVar2 == '\\')" (( "(") (binary_expression "cVar2 == '\\'" (identifier "cVar2") (== "==") (char_literal "'\\'" (' "'") (escape_sequence "\\") (' "'"))) () ")")) (compound_statement "{\n          if (local_23c <= local_234) {\n            local_23c = local_234 + 0x201;\n            local_238 = FUN_0001dc50(local_238,local_23c,1);\n          }\n          *(undefined1 *)(local_238 + local_234) = 0x5c;\n          local_244 = local_230 + 2;\n          local_234 = iVar6;\n          goto LAB_00021c20;\n        }" ({ "{") (if_statement "if (local_23c <= local_234) {\n            local_23c = local_234 + 0x201;\n            local_238 = FUN_0001dc50(local_238,local_23c,1);\n          }" (if "if") (parenthesized_expression "(local_23c <= local_234)" (( "(") (binary_expression "local_23c <= local_234" (identifier "local_23c") (<= "<=") (identifier "local_234")) () ")")) (compound_statement "{\n            local_23c = local_234 + 0x201;\n            local_238 = FUN_0001dc50(local_238,local_23c,1);\n          }" ({ "{") (expression_statement "local_23c = local_234 + 0x201;" (assignment_expression "local_23c = local_234 + 0x201" (identifier "local_23c") (= "=") (binary_expression "local_234 + 0x201" (identifier "local_234") (+ "+") (number_literal "0x201"))) (; ";")) (expression_statement "local_238 = FUN_0001dc50(local_238,local_23c,1);" (assignment_expression "local_238 = FUN_0001dc50(local_238,local_23c,1)" (identifier "local_238") (= "=") (call_expression "FUN_0001dc50(local_238,local_23c,1)" (identifier "FUN_0001dc50") (argument_list "(local_238,local_23c,1)" (( "(") (identifier "local_238") (, ",") (identifier "local_23c") (, ",") (number_literal "1") () ")")))) (; ";")) (} "}"))) (expression_statement "*(undefined1 *)(local_238 + local_234) = 0x5c;" (assignment_expression "*(undefined1 *)(local_238 + local_234) = 0x5c" (pointer_expression "*(undefined1 *)(local_238 + local_234)" (* "*") (cast_expression "(undefined1 *)(local_238 + local_234)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_238 + local_234)" (( "(") (binary_expression "local_238 + local_234" (identifier "local_238") (+ "+") (identifier "local_234")) () ")")))) (= "=") (number_literal "0x5c")) (; ";")) (expression_statement "local_244 = local_230 + 2;" (assignment_expression "local_244 = local_230 + 2" (identifier "local_244") (= "=") (binary_expression "local_230 + 2" (identifier "local_230") (+ "+") (number_literal "2"))) (; ";")) (expression_statement "local_234 = iVar6;" (assignment_expression "local_234 = iVar6" (identifier "local_234") (= "=") (identifier "iVar6")) (; ";")) (goto_statement "goto LAB_00021c20;" (goto "goto") (statement_identifier "LAB_00021c20") (; ";")) (} "}"))) (if_statement "if (cVar2 == '%') {\n          if (local_23c <= local_234) {\n            local_23c = local_234 + 0x201;\n            local_238 = FUN_0001dc50(local_238,local_23c,1);\n          }\n          *(undefined1 *)(local_238 + local_234) = 0x25;\n          local_244 = local_230 + 2;\n          local_234 = iVar6;\n          goto LAB_00021c20;\n        }" (if "if") (parenthesized_expression "(cVar2 == '%')" (( "(") (binary_expression "cVar2 == '%'" (identifier "cVar2") (== "==") (char_literal "'%'" (' "'") (character "%") (' "'"))) () ")")) (compound_statement "{\n          if (local_23c <= local_234) {\n            local_23c = local_234 + 0x201;\n            local_238 = FUN_0001dc50(local_238,local_23c,1);\n          }\n          *(undefined1 *)(local_238 + local_234) = 0x25;\n          local_244 = local_230 + 2;\n          local_234 = iVar6;\n          goto LAB_00021c20;\n        }" ({ "{") (if_statement "if (local_23c <= local_234) {\n            local_23c = local_234 + 0x201;\n            local_238 = FUN_0001dc50(local_238,local_23c,1);\n          }" (if "if") (parenthesized_expression "(local_23c <= local_234)" (( "(") (binary_expression "local_23c <= local_234" (identifier "local_23c") (<= "<=") (identifier "local_234")) () ")")) (compound_statement "{\n            local_23c = local_234 + 0x201;\n            local_238 = FUN_0001dc50(local_238,local_23c,1);\n          }" ({ "{") (expression_statement "local_23c = local_234 + 0x201;" (assignment_expression "local_23c = local_234 + 0x201" (identifier "local_23c") (= "=") (binary_expression "local_234 + 0x201" (identifier "local_234") (+ "+") (number_literal "0x201"))) (; ";")) (expression_statement "local_238 = FUN_0001dc50(local_238,local_23c,1);" (assignment_expression "local_238 = FUN_0001dc50(local_238,local_23c,1)" (identifier "local_238") (= "=") (call_expression "FUN_0001dc50(local_238,local_23c,1)" (identifier "FUN_0001dc50") (argument_list "(local_238,local_23c,1)" (( "(") (identifier "local_238") (, ",") (identifier "local_23c") (, ",") (number_literal "1") () ")")))) (; ";")) (} "}"))) (expression_statement "*(undefined1 *)(local_238 + local_234) = 0x25;" (assignment_expression "*(undefined1 *)(local_238 + local_234) = 0x25" (pointer_expression "*(undefined1 *)(local_238 + local_234)" (* "*") (cast_expression "(undefined1 *)(local_238 + local_234)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_238 + local_234)" (( "(") (binary_expression "local_238 + local_234" (identifier "local_238") (+ "+") (identifier "local_234")) () ")")))) (= "=") (number_literal "0x25")) (; ";")) (expression_statement "local_244 = local_230 + 2;" (assignment_expression "local_244 = local_230 + 2" (identifier "local_244") (= "=") (binary_expression "local_230 + 2" (identifier "local_230") (+ "+") (number_literal "2"))) (; ";")) (expression_statement "local_234 = iVar6;" (assignment_expression "local_234 = iVar6" (identifier "local_234") (= "=") (identifier "iVar6")) (; ";")) (goto_statement "goto LAB_00021c20;" (goto "goto") (statement_identifier "LAB_00021c20") (; ";")) (} "}"))) (} "}")) (else_clause "else {\n        if (cVar2 == 't') {\n          if (local_23c <= local_234) {\n            local_23c = local_234 + 0x201;\n            local_238 = FUN_0001dc50(local_238,local_23c,1);\n          }\n          *(undefined1 *)(local_238 + local_234) = 9;\n          local_244 = local_230 + 2;\n          local_234 = iVar6;\n          goto LAB_00021c20;\n        }\n        if (cVar2 == 'x') goto LAB_000223b0;\n        if (cVar2 == 'r') {\n          if (local_23c <= local_234) {\n            local_23c = local_234 + 0x201;\n            local_238 = FUN_0001dc50(local_238,local_23c,1);\n          }\n          *(undefined1 *)(local_238 + local_234) = 0xd;\n          local_244 = local_230 + 2;\n          local_234 = iVar6;\n          goto LAB_00021c20;\n        }\n      }" (else "else") (compound_statement "{\n        if (cVar2 == 't') {\n          if (local_23c <= local_234) {\n            local_23c = local_234 + 0x201;\n            local_238 = FUN_0001dc50(local_238,local_23c,1);\n          }\n          *(undefined1 *)(local_238 + local_234) = 9;\n          local_244 = local_230 + 2;\n          local_234 = iVar6;\n          goto LAB_00021c20;\n        }\n        if (cVar2 == 'x') goto LAB_000223b0;\n        if (cVar2 == 'r') {\n          if (local_23c <= local_234) {\n            local_23c = local_234 + 0x201;\n            local_238 = FUN_0001dc50(local_238,local_23c,1);\n          }\n          *(undefined1 *)(local_238 + local_234) = 0xd;\n          local_244 = local_230 + 2;\n          local_234 = iVar6;\n          goto LAB_00021c20;\n        }\n      }" ({ "{") (if_statement "if (cVar2 == 't') {\n          if (local_23c <= local_234) {\n            local_23c = local_234 + 0x201;\n            local_238 = FUN_0001dc50(local_238,local_23c,1);\n          }\n          *(undefined1 *)(local_238 + local_234) = 9;\n          local_244 = local_230 + 2;\n          local_234 = iVar6;\n          goto LAB_00021c20;\n        }" (if "if") (parenthesized_expression "(cVar2 == 't')" (( "(") (binary_expression "cVar2 == 't'" (identifier "cVar2") (== "==") (char_literal "'t'" (' "'") (character "t") (' "'"))) () ")")) (compound_statement "{\n          if (local_23c <= local_234) {\n            local_23c = local_234 + 0x201;\n            local_238 = FUN_0001dc50(local_238,local_23c,1);\n          }\n          *(undefined1 *)(local_238 + local_234) = 9;\n          local_244 = local_230 + 2;\n          local_234 = iVar6;\n          goto LAB_00021c20;\n        }" ({ "{") (if_statement "if (local_23c <= local_234) {\n            local_23c = local_234 + 0x201;\n            local_238 = FUN_0001dc50(local_238,local_23c,1);\n          }" (if "if") (parenthesized_expression "(local_23c <= local_234)" (( "(") (binary_expression "local_23c <= local_234" (identifier "local_23c") (<= "<=") (identifier "local_234")) () ")")) (compound_statement "{\n            local_23c = local_234 + 0x201;\n            local_238 = FUN_0001dc50(local_238,local_23c,1);\n          }" ({ "{") (expression_statement "local_23c = local_234 + 0x201;" (assignment_expression "local_23c = local_234 + 0x201" (identifier "local_23c") (= "=") (binary_expression "local_234 + 0x201" (identifier "local_234") (+ "+") (number_literal "0x201"))) (; ";")) (expression_statement "local_238 = FUN_0001dc50(local_238,local_23c,1);" (assignment_expression "local_238 = FUN_0001dc50(local_238,local_23c,1)" (identifier "local_238") (= "=") (call_expression "FUN_0001dc50(local_238,local_23c,1)" (identifier "FUN_0001dc50") (argument_list "(local_238,local_23c,1)" (( "(") (identifier "local_238") (, ",") (identifier "local_23c") (, ",") (number_literal "1") () ")")))) (; ";")) (} "}"))) (expression_statement "*(undefined1 *)(local_238 + local_234) = 9;" (assignment_expression "*(undefined1 *)(local_238 + local_234) = 9" (pointer_expression "*(undefined1 *)(local_238 + local_234)" (* "*") (cast_expression "(undefined1 *)(local_238 + local_234)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_238 + local_234)" (( "(") (binary_expression "local_238 + local_234" (identifier "local_238") (+ "+") (identifier "local_234")) () ")")))) (= "=") (number_literal "9")) (; ";")) (expression_statement "local_244 = local_230 + 2;" (assignment_expression "local_244 = local_230 + 2" (identifier "local_244") (= "=") (binary_expression "local_230 + 2" (identifier "local_230") (+ "+") (number_literal "2"))) (; ";")) (expression_statement "local_234 = iVar6;" (assignment_expression "local_234 = iVar6" (identifier "local_234") (= "=") (identifier "iVar6")) (; ";")) (goto_statement "goto LAB_00021c20;" (goto "goto") (statement_identifier "LAB_00021c20") (; ";")) (} "}"))) (if_statement "if (cVar2 == 'x') goto LAB_000223b0;" (if "if") (parenthesized_expression "(cVar2 == 'x')" (( "(") (binary_expression "cVar2 == 'x'" (identifier "cVar2") (== "==") (char_literal "'x'" (' "'") (character "x") (' "'"))) () ")")) (goto_statement "goto LAB_000223b0;" (goto "goto") (statement_identifier "LAB_000223b0") (; ";"))) (if_statement "if (cVar2 == 'r') {\n          if (local_23c <= local_234) {\n            local_23c = local_234 + 0x201;\n            local_238 = FUN_0001dc50(local_238,local_23c,1);\n          }\n          *(undefined1 *)(local_238 + local_234) = 0xd;\n          local_244 = local_230 + 2;\n          local_234 = iVar6;\n          goto LAB_00021c20;\n        }" (if "if") (parenthesized_expression "(cVar2 == 'r')" (( "(") (binary_expression "cVar2 == 'r'" (identifier "cVar2") (== "==") (char_literal "'r'" (' "'") (character "r") (' "'"))) () ")")) (compound_statement "{\n          if (local_23c <= local_234) {\n            local_23c = local_234 + 0x201;\n            local_238 = FUN_0001dc50(local_238,local_23c,1);\n          }\n          *(undefined1 *)(local_238 + local_234) = 0xd;\n          local_244 = local_230 + 2;\n          local_234 = iVar6;\n          goto LAB_00021c20;\n        }" ({ "{") (if_statement "if (local_23c <= local_234) {\n            local_23c = local_234 + 0x201;\n            local_238 = FUN_0001dc50(local_238,local_23c,1);\n          }" (if "if") (parenthesized_expression "(local_23c <= local_234)" (( "(") (binary_expression "local_23c <= local_234" (identifier "local_23c") (<= "<=") (identifier "local_234")) () ")")) (compound_statement "{\n            local_23c = local_234 + 0x201;\n            local_238 = FUN_0001dc50(local_238,local_23c,1);\n          }" ({ "{") (expression_statement "local_23c = local_234 + 0x201;" (assignment_expression "local_23c = local_234 + 0x201" (identifier "local_23c") (= "=") (binary_expression "local_234 + 0x201" (identifier "local_234") (+ "+") (number_literal "0x201"))) (; ";")) (expression_statement "local_238 = FUN_0001dc50(local_238,local_23c,1);" (assignment_expression "local_238 = FUN_0001dc50(local_238,local_23c,1)" (identifier "local_238") (= "=") (call_expression "FUN_0001dc50(local_238,local_23c,1)" (identifier "FUN_0001dc50") (argument_list "(local_238,local_23c,1)" (( "(") (identifier "local_238") (, ",") (identifier "local_23c") (, ",") (number_literal "1") () ")")))) (; ";")) (} "}"))) (expression_statement "*(undefined1 *)(local_238 + local_234) = 0xd;" (assignment_expression "*(undefined1 *)(local_238 + local_234) = 0xd" (pointer_expression "*(undefined1 *)(local_238 + local_234)" (* "*") (cast_expression "(undefined1 *)(local_238 + local_234)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_238 + local_234)" (( "(") (binary_expression "local_238 + local_234" (identifier "local_238") (+ "+") (identifier "local_234")) () ")")))) (= "=") (number_literal "0xd")) (; ";")) (expression_statement "local_244 = local_230 + 2;" (assignment_expression "local_244 = local_230 + 2" (identifier "local_244") (= "=") (binary_expression "local_230 + 2" (identifier "local_230") (+ "+") (number_literal "2"))) (; ";")) (expression_statement "local_234 = iVar6;" (assignment_expression "local_234 = iVar6" (identifier "local_234") (= "=") (identifier "iVar6")) (; ";")) (goto_statement "goto LAB_00021c20;" (goto "goto") (statement_identifier "LAB_00021c20") (; ";")) (} "}"))) (} "}")))) (if_statement "if (local_23c <= iVar6) {\n        local_23c = local_234 + 0x202;\n        local_238 = FUN_0001dc50(local_238,local_23c,1);\n      }" (if "if") (parenthesized_expression "(local_23c <= iVar6)" (( "(") (binary_expression "local_23c <= iVar6" (identifier "local_23c") (<= "<=") (identifier "iVar6")) () ")")) (compound_statement "{\n        local_23c = local_234 + 0x202;\n        local_238 = FUN_0001dc50(local_238,local_23c,1);\n      }" ({ "{") (expression_statement "local_23c = local_234 + 0x202;" (assignment_expression "local_23c = local_234 + 0x202" (identifier "local_23c") (= "=") (binary_expression "local_234 + 0x202" (identifier "local_234") (+ "+") (number_literal "0x202"))) (; ";")) (expression_statement "local_238 = FUN_0001dc50(local_238,local_23c,1);" (assignment_expression "local_238 = FUN_0001dc50(local_238,local_23c,1)" (identifier "local_238") (= "=") (call_expression "FUN_0001dc50(local_238,local_23c,1)" (identifier "FUN_0001dc50") (argument_list "(local_238,local_23c,1)" (( "(") (identifier "local_238") (, ",") (identifier "local_23c") (, ",") (number_literal "1") () ")")))) (; ";")) (} "}"))) (expression_statement "local_244 = local_230 + 2;" (assignment_expression "local_244 = local_230 + 2" (identifier "local_244") (= "=") (binary_expression "local_230 + 2" (identifier "local_230") (+ "+") (number_literal "2"))) (; ";")) (expression_statement "*(undefined2 *)(local_238 + local_234) = *(undefined2 *)local_240;" (assignment_expression "*(undefined2 *)(local_238 + local_234) = *(undefined2 *)local_240" (pointer_expression "*(undefined2 *)(local_238 + local_234)" (* "*") (cast_expression "(undefined2 *)(local_238 + local_234)" (( "(") (type_descriptor "undefined2 *" (type_identifier "undefined2") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_238 + local_234)" (( "(") (binary_expression "local_238 + local_234" (identifier "local_238") (+ "+") (identifier "local_234")) () ")")))) (= "=") (pointer_expression "*(undefined2 *)local_240" (* "*") (cast_expression "(undefined2 *)local_240" (( "(") (type_descriptor "undefined2 *" (type_identifier "undefined2") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "local_240")))) (; ";")) (expression_statement "local_234 = local_234 + 2;" (assignment_expression "local_234 = local_234 + 2" (identifier "local_234") (= "=") (binary_expression "local_234 + 2" (identifier "local_234") (+ "+") (number_literal "2"))) (; ";")) (goto_statement "goto LAB_00021c20;" (goto "goto") (statement_identifier "LAB_00021c20") (; ";")) (} "}"))) (if_statement "if (cVar2 == '%') {\n      if (local_23c <= local_234) {\n        local_23c = local_234 + 0x201;\n        local_238 = FUN_0001dc50(local_238,local_23c,1);\n      }\n      *(undefined1 *)(local_238 + local_234) = 0x25;\n      local_244 = local_230 + 2;\n      local_234 = local_234 + 1;\n      goto LAB_00021c20;\n    }" (if "if") (parenthesized_expression "(cVar2 == '%')" (( "(") (binary_expression "cVar2 == '%'" (identifier "cVar2") (== "==") (char_literal "'%'" (' "'") (character "%") (' "'"))) () ")")) (compound_statement "{\n      if (local_23c <= local_234) {\n        local_23c = local_234 + 0x201;\n        local_238 = FUN_0001dc50(local_238,local_23c,1);\n      }\n      *(undefined1 *)(local_238 + local_234) = 0x25;\n      local_244 = local_230 + 2;\n      local_234 = local_234 + 1;\n      goto LAB_00021c20;\n    }" ({ "{") (if_statement "if (local_23c <= local_234) {\n        local_23c = local_234 + 0x201;\n        local_238 = FUN_0001dc50(local_238,local_23c,1);\n      }" (if "if") (parenthesized_expression "(local_23c <= local_234)" (( "(") (binary_expression "local_23c <= local_234" (identifier "local_23c") (<= "<=") (identifier "local_234")) () ")")) (compound_statement "{\n        local_23c = local_234 + 0x201;\n        local_238 = FUN_0001dc50(local_238,local_23c,1);\n      }" ({ "{") (expression_statement "local_23c = local_234 + 0x201;" (assignment_expression "local_23c = local_234 + 0x201" (identifier "local_23c") (= "=") (binary_expression "local_234 + 0x201" (identifier "local_234") (+ "+") (number_literal "0x201"))) (; ";")) (expression_statement "local_238 = FUN_0001dc50(local_238,local_23c,1);" (assignment_expression "local_238 = FUN_0001dc50(local_238,local_23c,1)" (identifier "local_238") (= "=") (call_expression "FUN_0001dc50(local_238,local_23c,1)" (identifier "FUN_0001dc50") (argument_list "(local_238,local_23c,1)" (( "(") (identifier "local_238") (, ",") (identifier "local_23c") (, ",") (number_literal "1") () ")")))) (; ";")) (} "}"))) (expression_statement "*(undefined1 *)(local_238 + local_234) = 0x25;" (assignment_expression "*(undefined1 *)(local_238 + local_234) = 0x25" (pointer_expression "*(undefined1 *)(local_238 + local_234)" (* "*") (cast_expression "(undefined1 *)(local_238 + local_234)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_238 + local_234)" (( "(") (binary_expression "local_238 + local_234" (identifier "local_238") (+ "+") (identifier "local_234")) () ")")))) (= "=") (number_literal "0x25")) (; ";")) (expression_statement "local_244 = local_230 + 2;" (assignment_expression "local_244 = local_230 + 2" (identifier "local_244") (= "=") (binary_expression "local_230 + 2" (identifier "local_230") (+ "+") (number_literal "2"))) (; ";")) (expression_statement "local_234 = local_234 + 1;" (assignment_expression "local_234 = local_234 + 1" (identifier "local_234") (= "=") (binary_expression "local_234 + 1" (identifier "local_234") (+ "+") (number_literal "1"))) (; ";")) (goto_statement "goto LAB_00021c20;" (goto "goto") (statement_identifier "LAB_00021c20") (; ";")) (} "}"))) (expression_statement "iVar6 = strncasecmp(pcVar7,"host",4);" (assignment_expression "iVar6 = strncasecmp(pcVar7,"host",4)" (identifier "iVar6") (= "=") (call_expression "strncasecmp(pcVar7,"host",4)" (identifier "strncasecmp") (argument_list "(pcVar7,"host",4)" (( "(") (identifier "pcVar7") (, ",") (string_literal ""host"" (" """) (string_content "host") (" """)) (, ",") (number_literal "4") () ")")))) (; ";")) (if_statement "if (iVar6 != 0) {\n      iVar6 = strncasecmp(pcVar7,"port",4);\n      if (iVar6 == 0) {\n        cVar2 = __sprintf_chk(local_220,1,8,&DAT_0008fa68,param_2);\n        uVar11 = (uint)cVar2;\n        goto joined_r0x000221ae;\n      }\n      iVar6 = strncasecmp(pcVar7,"user",4);\n      if (iVar6 == 0) {\n        pcVar7 = (char *)FUN_00018b60(param_3,0x10);\n        sVar8 = strlen(pcVar7);\n        iVar6 = sVar8 + local_234;\n        if (local_23c < iVar6) {\n          local_23c = iVar6 + 0x200;\n          local_238 = FUN_0001dc50(local_238,local_23c,1);\n        }\n        memcpy((void *)(local_234 + local_238),pcVar7,sVar8);\n        local_244 = local_230 + 5;\n        local_234 = iVar6;\n        goto LAB_00021c20;\n      }\n      iVar6 = strncasecmp(pcVar7,"pass",4);\n      if (iVar6 == 0) {\n        pcVar7 = (char *)FUN_00018b60(param_3,0x11);\n        sVar8 = strlen(pcVar7);\n        iVar6 = sVar8 + local_234;\n        if (local_23c < iVar6) {\n          local_23c = iVar6 + 0x200;\n          local_238 = FUN_0001dc50(local_238,local_23c,1);\n        }\n        memcpy((void *)(local_234 + local_238),pcVar7,sVar8);\n        local_244 = local_230 + 5;\n        local_234 = iVar6;\n        goto LAB_00021c20;\n      }\n      iVar6 = strncasecmp(pcVar7,"proxyhost",9);\n      if (iVar6 == 0) {\n        pcVar7 = (char *)FUN_00018b60(param_3,0xe);\n        sVar8 = strlen(pcVar7);\n        iVar6 = sVar8 + local_234;\n        if (local_23c < iVar6) {\n          local_23c = iVar6 + 0x200;\n          local_238 = FUN_0001dc50(local_238,local_23c,1);\n        }\n        memcpy((void *)(local_234 + local_238),pcVar7,sVar8);\n        local_244 = local_230 + 10;\n        local_234 = iVar6;\n        goto LAB_00021c20;\n      }\n      iVar6 = strncasecmp(pcVar7,"proxyport",9);\n      if (iVar6 == 0) break;\n      if (local_23c <= local_234) {\n        local_23c = local_234 + 0x201;\n        local_238 = FUN_0001dc50(local_238,local_23c,1);\n      }\n      *(undefined1 *)(local_238 + local_234) = 0x25;\n      local_234 = local_234 + 1;\n      pcVar7 = (char *)(iVar4 + local_244);\n      cVar2 = *pcVar7;\n      iVar6 = local_244;\n      goto joined_r0x00021c28;\n    }" (if "if") (parenthesized_expression "(iVar6 != 0)" (( "(") (binary_expression "iVar6 != 0" (identifier "iVar6") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      iVar6 = strncasecmp(pcVar7,"port",4);\n      if (iVar6 == 0) {\n        cVar2 = __sprintf_chk(local_220,1,8,&DAT_0008fa68,param_2);\n        uVar11 = (uint)cVar2;\n        goto joined_r0x000221ae;\n      }\n      iVar6 = strncasecmp(pcVar7,"user",4);\n      if (iVar6 == 0) {\n        pcVar7 = (char *)FUN_00018b60(param_3,0x10);\n        sVar8 = strlen(pcVar7);\n        iVar6 = sVar8 + local_234;\n        if (local_23c < iVar6) {\n          local_23c = iVar6 + 0x200;\n          local_238 = FUN_0001dc50(local_238,local_23c,1);\n        }\n        memcpy((void *)(local_234 + local_238),pcVar7,sVar8);\n        local_244 = local_230 + 5;\n        local_234 = iVar6;\n        goto LAB_00021c20;\n      }\n      iVar6 = strncasecmp(pcVar7,"pass",4);\n      if (iVar6 == 0) {\n        pcVar7 = (char *)FUN_00018b60(param_3,0x11);\n        sVar8 = strlen(pcVar7);\n        iVar6 = sVar8 + local_234;\n        if (local_23c < iVar6) {\n          local_23c = iVar6 + 0x200;\n          local_238 = FUN_0001dc50(local_238,local_23c,1);\n        }\n        memcpy((void *)(local_234 + local_238),pcVar7,sVar8);\n        local_244 = local_230 + 5;\n        local_234 = iVar6;\n        goto LAB_00021c20;\n      }\n      iVar6 = strncasecmp(pcVar7,"proxyhost",9);\n      if (iVar6 == 0) {\n        pcVar7 = (char *)FUN_00018b60(param_3,0xe);\n        sVar8 = strlen(pcVar7);\n        iVar6 = sVar8 + local_234;\n        if (local_23c < iVar6) {\n          local_23c = iVar6 + 0x200;\n          local_238 = FUN_0001dc50(local_238,local_23c,1);\n        }\n        memcpy((void *)(local_234 + local_238),pcVar7,sVar8);\n        local_244 = local_230 + 10;\n        local_234 = iVar6;\n        goto LAB_00021c20;\n      }\n      iVar6 = strncasecmp(pcVar7,"proxyport",9);\n      if (iVar6 == 0) break;\n      if (local_23c <= local_234) {\n        local_23c = local_234 + 0x201;\n        local_238 = FUN_0001dc50(local_238,local_23c,1);\n      }\n      *(undefined1 *)(local_238 + local_234) = 0x25;\n      local_234 = local_234 + 1;\n      pcVar7 = (char *)(iVar4 + local_244);\n      cVar2 = *pcVar7;\n      iVar6 = local_244;\n      goto joined_r0x00021c28;\n    }" ({ "{") (expression_statement "iVar6 = strncasecmp(pcVar7,"port",4);" (assignment_expression "iVar6 = strncasecmp(pcVar7,"port",4)" (identifier "iVar6") (= "=") (call_expression "strncasecmp(pcVar7,"port",4)" (identifier "strncasecmp") (argument_list "(pcVar7,"port",4)" (( "(") (identifier "pcVar7") (, ",") (string_literal ""port"" (" """) (string_content "port") (" """)) (, ",") (number_literal "4") () ")")))) (; ";")) (if_statement "if (iVar6 == 0) {\n        cVar2 = __sprintf_chk(local_220,1,8,&DAT_0008fa68,param_2);\n        uVar11 = (uint)cVar2;\n        goto joined_r0x000221ae;\n      }" (if "if") (parenthesized_expression "(iVar6 == 0)" (( "(") (binary_expression "iVar6 == 0" (identifier "iVar6") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        cVar2 = __sprintf_chk(local_220,1,8,&DAT_0008fa68,param_2);\n        uVar11 = (uint)cVar2;\n        goto joined_r0x000221ae;\n      }" ({ "{") (expression_statement "cVar2 = __sprintf_chk(local_220,1,8,&DAT_0008fa68,param_2);" (assignment_expression "cVar2 = __sprintf_chk(local_220,1,8,&DAT_0008fa68,param_2)" (identifier "cVar2") (= "=") (call_expression "__sprintf_chk(local_220,1,8,&DAT_0008fa68,param_2)" (identifier "__sprintf_chk") (argument_list "(local_220,1,8,&DAT_0008fa68,param_2)" (( "(") (identifier "local_220") (, ",") (number_literal "1") (, ",") (number_literal "8") (, ",") (pointer_expression "&DAT_0008fa68" (& "&") (identifier "DAT_0008fa68")) (, ",") (identifier "param_2") () ")")))) (; ";")) (expression_statement "uVar11 = (uint)cVar2;" (assignment_expression "uVar11 = (uint)cVar2" (identifier "uVar11") (= "=") (cast_expression "(uint)cVar2" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "cVar2"))) (; ";")) (goto_statement "goto joined_r0x000221ae;" (goto "goto") (statement_identifier "joined_r0x000221ae") (; ";")) (} "}"))) (expression_statement "iVar6 = strncasecmp(pcVar7,"user",4);" (assignment_expression "iVar6 = strncasecmp(pcVar7,"user",4)" (identifier "iVar6") (= "=") (call_expression "strncasecmp(pcVar7,"user",4)" (identifier "strncasecmp") (argument_list "(pcVar7,"user",4)" (( "(") (identifier "pcVar7") (, ",") (string_literal ""user"" (" """) (string_content "user") (" """)) (, ",") (number_literal "4") () ")")))) (; ";")) (if_statement "if (iVar6 == 0) {\n        pcVar7 = (char *)FUN_00018b60(param_3,0x10);\n        sVar8 = strlen(pcVar7);\n        iVar6 = sVar8 + local_234;\n        if (local_23c < iVar6) {\n          local_23c = iVar6 + 0x200;\n          local_238 = FUN_0001dc50(local_238,local_23c,1);\n        }\n        memcpy((void *)(local_234 + local_238),pcVar7,sVar8);\n        local_244 = local_230 + 5;\n        local_234 = iVar6;\n        goto LAB_00021c20;\n      }" (if "if") (parenthesized_expression "(iVar6 == 0)" (( "(") (binary_expression "iVar6 == 0" (identifier "iVar6") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        pcVar7 = (char *)FUN_00018b60(param_3,0x10);\n        sVar8 = strlen(pcVar7);\n        iVar6 = sVar8 + local_234;\n        if (local_23c < iVar6) {\n          local_23c = iVar6 + 0x200;\n          local_238 = FUN_0001dc50(local_238,local_23c,1);\n        }\n        memcpy((void *)(local_234 + local_238),pcVar7,sVar8);\n        local_244 = local_230 + 5;\n        local_234 = iVar6;\n        goto LAB_00021c20;\n      }" ({ "{") (expression_statement "pcVar7 = (char *)FUN_00018b60(param_3,0x10);" (assignment_expression "pcVar7 = (char *)FUN_00018b60(param_3,0x10)" (identifier "pcVar7") (= "=") (cast_expression "(char *)FUN_00018b60(param_3,0x10)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_00018b60(param_3,0x10)" (identifier "FUN_00018b60") (argument_list "(param_3,0x10)" (( "(") (identifier "param_3") (, ",") (number_literal "0x10") () ")"))))) (; ";")) (expression_statement "sVar8 = strlen(pcVar7);" (assignment_expression "sVar8 = strlen(pcVar7)" (identifier "sVar8") (= "=") (call_expression "strlen(pcVar7)" (identifier "strlen") (argument_list "(pcVar7)" (( "(") (identifier "pcVar7") () ")")))) (; ";")) (expression_statement "iVar6 = sVar8 + local_234;" (assignment_expression "iVar6 = sVar8 + local_234" (identifier "iVar6") (= "=") (binary_expression "sVar8 + local_234" (identifier "sVar8") (+ "+") (identifier "local_234"))) (; ";")) (if_statement "if (local_23c < iVar6) {\n          local_23c = iVar6 + 0x200;\n          local_238 = FUN_0001dc50(local_238,local_23c,1);\n        }" (if "if") (parenthesized_expression "(local_23c < iVar6)" (( "(") (binary_expression "local_23c < iVar6" (identifier "local_23c") (< "<") (identifier "iVar6")) () ")")) (compound_statement "{\n          local_23c = iVar6 + 0x200;\n          local_238 = FUN_0001dc50(local_238,local_23c,1);\n        }" ({ "{") (expression_statement "local_23c = iVar6 + 0x200;" (assignment_expression "local_23c = iVar6 + 0x200" (identifier "local_23c") (= "=") (binary_expression "iVar6 + 0x200" (identifier "iVar6") (+ "+") (number_literal "0x200"))) (; ";")) (expression_statement "local_238 = FUN_0001dc50(local_238,local_23c,1);" (assignment_expression "local_238 = FUN_0001dc50(local_238,local_23c,1)" (identifier "local_238") (= "=") (call_expression "FUN_0001dc50(local_238,local_23c,1)" (identifier "FUN_0001dc50") (argument_list "(local_238,local_23c,1)" (( "(") (identifier "local_238") (, ",") (identifier "local_23c") (, ",") (number_literal "1") () ")")))) (; ";")) (} "}"))) (expression_statement "memcpy((void *)(local_234 + local_238),pcVar7,sVar8);" (call_expression "memcpy((void *)(local_234 + local_238),pcVar7,sVar8)" (identifier "memcpy") (argument_list "((void *)(local_234 + local_238),pcVar7,sVar8)" (( "(") (cast_expression "(void *)(local_234 + local_238)" (( "(") (type_descriptor "void *" (primitive_type "void") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_234 + local_238)" (( "(") (binary_expression "local_234 + local_238" (identifier "local_234") (+ "+") (identifier "local_238")) () ")"))) (, ",") (identifier "pcVar7") (, ",") (identifier "sVar8") () ")"))) (; ";")) (expression_statement "local_244 = local_230 + 5;" (assignment_expression "local_244 = local_230 + 5" (identifier "local_244") (= "=") (binary_expression "local_230 + 5" (identifier "local_230") (+ "+") (number_literal "5"))) (; ";")) (expression_statement "local_234 = iVar6;" (assignment_expression "local_234 = iVar6" (identifier "local_234") (= "=") (identifier "iVar6")) (; ";")) (goto_statement "goto LAB_00021c20;" (goto "goto") (statement_identifier "LAB_00021c20") (; ";")) (} "}"))) (expression_statement "iVar6 = strncasecmp(pcVar7,"pass",4);" (assignment_expression "iVar6 = strncasecmp(pcVar7,"pass",4)" (identifier "iVar6") (= "=") (call_expression "strncasecmp(pcVar7,"pass",4)" (identifier "strncasecmp") (argument_list "(pcVar7,"pass",4)" (( "(") (identifier "pcVar7") (, ",") (string_literal ""pass"" (" """) (string_content "pass") (" """)) (, ",") (number_literal "4") () ")")))) (; ";")) (if_statement "if (iVar6 == 0) {\n        pcVar7 = (char *)FUN_00018b60(param_3,0x11);\n        sVar8 = strlen(pcVar7);\n        iVar6 = sVar8 + local_234;\n        if (local_23c < iVar6) {\n          local_23c = iVar6 + 0x200;\n          local_238 = FUN_0001dc50(local_238,local_23c,1);\n        }\n        memcpy((void *)(local_234 + local_238),pcVar7,sVar8);\n        local_244 = local_230 + 5;\n        local_234 = iVar6;\n        goto LAB_00021c20;\n      }" (if "if") (parenthesized_expression "(iVar6 == 0)" (( "(") (binary_expression "iVar6 == 0" (identifier "iVar6") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        pcVar7 = (char *)FUN_00018b60(param_3,0x11);\n        sVar8 = strlen(pcVar7);\n        iVar6 = sVar8 + local_234;\n        if (local_23c < iVar6) {\n          local_23c = iVar6 + 0x200;\n          local_238 = FUN_0001dc50(local_238,local_23c,1);\n        }\n        memcpy((void *)(local_234 + local_238),pcVar7,sVar8);\n        local_244 = local_230 + 5;\n        local_234 = iVar6;\n        goto LAB_00021c20;\n      }" ({ "{") (expression_statement "pcVar7 = (char *)FUN_00018b60(param_3,0x11);" (assignment_expression "pcVar7 = (char *)FUN_00018b60(param_3,0x11)" (identifier "pcVar7") (= "=") (cast_expression "(char *)FUN_00018b60(param_3,0x11)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_00018b60(param_3,0x11)" (identifier "FUN_00018b60") (argument_list "(param_3,0x11)" (( "(") (identifier "param_3") (, ",") (number_literal "0x11") () ")"))))) (; ";")) (expression_statement "sVar8 = strlen(pcVar7);" (assignment_expression "sVar8 = strlen(pcVar7)" (identifier "sVar8") (= "=") (call_expression "strlen(pcVar7)" (identifier "strlen") (argument_list "(pcVar7)" (( "(") (identifier "pcVar7") () ")")))) (; ";")) (expression_statement "iVar6 = sVar8 + local_234;" (assignment_expression "iVar6 = sVar8 + local_234" (identifier "iVar6") (= "=") (binary_expression "sVar8 + local_234" (identifier "sVar8") (+ "+") (identifier "local_234"))) (; ";")) (if_statement "if (local_23c < iVar6) {\n          local_23c = iVar6 + 0x200;\n          local_238 = FUN_0001dc50(local_238,local_23c,1);\n        }" (if "if") (parenthesized_expression "(local_23c < iVar6)" (( "(") (binary_expression "local_23c < iVar6" (identifier "local_23c") (< "<") (identifier "iVar6")) () ")")) (compound_statement "{\n          local_23c = iVar6 + 0x200;\n          local_238 = FUN_0001dc50(local_238,local_23c,1);\n        }" ({ "{") (expression_statement "local_23c = iVar6 + 0x200;" (assignment_expression "local_23c = iVar6 + 0x200" (identifier "local_23c") (= "=") (binary_expression "iVar6 + 0x200" (identifier "iVar6") (+ "+") (number_literal "0x200"))) (; ";")) (expression_statement "local_238 = FUN_0001dc50(local_238,local_23c,1);" (assignment_expression "local_238 = FUN_0001dc50(local_238,local_23c,1)" (identifier "local_238") (= "=") (call_expression "FUN_0001dc50(local_238,local_23c,1)" (identifier "FUN_0001dc50") (argument_list "(local_238,local_23c,1)" (( "(") (identifier "local_238") (, ",") (identifier "local_23c") (, ",") (number_literal "1") () ")")))) (; ";")) (} "}"))) (expression_statement "memcpy((void *)(local_234 + local_238),pcVar7,sVar8);" (call_expression "memcpy((void *)(local_234 + local_238),pcVar7,sVar8)" (identifier "memcpy") (argument_list "((void *)(local_234 + local_238),pcVar7,sVar8)" (( "(") (cast_expression "(void *)(local_234 + local_238)" (( "(") (type_descriptor "void *" (primitive_type "void") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_234 + local_238)" (( "(") (binary_expression "local_234 + local_238" (identifier "local_234") (+ "+") (identifier "local_238")) () ")"))) (, ",") (identifier "pcVar7") (, ",") (identifier "sVar8") () ")"))) (; ";")) (expression_statement "local_244 = local_230 + 5;" (assignment_expression "local_244 = local_230 + 5" (identifier "local_244") (= "=") (binary_expression "local_230 + 5" (identifier "local_230") (+ "+") (number_literal "5"))) (; ";")) (expression_statement "local_234 = iVar6;" (assignment_expression "local_234 = iVar6" (identifier "local_234") (= "=") (identifier "iVar6")) (; ";")) (goto_statement "goto LAB_00021c20;" (goto "goto") (statement_identifier "LAB_00021c20") (; ";")) (} "}"))) (expression_statement "iVar6 = strncasecmp(pcVar7,"proxyhost",9);" (assignment_expression "iVar6 = strncasecmp(pcVar7,"proxyhost",9)" (identifier "iVar6") (= "=") (call_expression "strncasecmp(pcVar7,"proxyhost",9)" (identifier "strncasecmp") (argument_list "(pcVar7,"proxyhost",9)" (( "(") (identifier "pcVar7") (, ",") (string_literal ""proxyhost"" (" """) (string_content "proxyhost") (" """)) (, ",") (number_literal "9") () ")")))) (; ";")) (if_statement "if (iVar6 == 0) {\n        pcVar7 = (char *)FUN_00018b60(param_3,0xe);\n        sVar8 = strlen(pcVar7);\n        iVar6 = sVar8 + local_234;\n        if (local_23c < iVar6) {\n          local_23c = iVar6 + 0x200;\n          local_238 = FUN_0001dc50(local_238,local_23c,1);\n        }\n        memcpy((void *)(local_234 + local_238),pcVar7,sVar8);\n        local_244 = local_230 + 10;\n        local_234 = iVar6;\n        goto LAB_00021c20;\n      }" (if "if") (parenthesized_expression "(iVar6 == 0)" (( "(") (binary_expression "iVar6 == 0" (identifier "iVar6") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        pcVar7 = (char *)FUN_00018b60(param_3,0xe);\n        sVar8 = strlen(pcVar7);\n        iVar6 = sVar8 + local_234;\n        if (local_23c < iVar6) {\n          local_23c = iVar6 + 0x200;\n          local_238 = FUN_0001dc50(local_238,local_23c,1);\n        }\n        memcpy((void *)(local_234 + local_238),pcVar7,sVar8);\n        local_244 = local_230 + 10;\n        local_234 = iVar6;\n        goto LAB_00021c20;\n      }" ({ "{") (expression_statement "pcVar7 = (char *)FUN_00018b60(param_3,0xe);" (assignment_expression "pcVar7 = (char *)FUN_00018b60(param_3,0xe)" (identifier "pcVar7") (= "=") (cast_expression "(char *)FUN_00018b60(param_3,0xe)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_00018b60(param_3,0xe)" (identifier "FUN_00018b60") (argument_list "(param_3,0xe)" (( "(") (identifier "param_3") (, ",") (number_literal "0xe") () ")"))))) (; ";")) (expression_statement "sVar8 = strlen(pcVar7);" (assignment_expression "sVar8 = strlen(pcVar7)" (identifier "sVar8") (= "=") (call_expression "strlen(pcVar7)" (identifier "strlen") (argument_list "(pcVar7)" (( "(") (identifier "pcVar7") () ")")))) (; ";")) (expression_statement "iVar6 = sVar8 + local_234;" (assignment_expression "iVar6 = sVar8 + local_234" (identifier "iVar6") (= "=") (binary_expression "sVar8 + local_234" (identifier "sVar8") (+ "+") (identifier "local_234"))) (; ";")) (if_statement "if (local_23c < iVar6) {\n          local_23c = iVar6 + 0x200;\n          local_238 = FUN_0001dc50(local_238,local_23c,1);\n        }" (if "if") (parenthesized_expression "(local_23c < iVar6)" (( "(") (binary_expression "local_23c < iVar6" (identifier "local_23c") (< "<") (identifier "iVar6")) () ")")) (compound_statement "{\n          local_23c = iVar6 + 0x200;\n          local_238 = FUN_0001dc50(local_238,local_23c,1);\n        }" ({ "{") (expression_statement "local_23c = iVar6 + 0x200;" (assignment_expression "local_23c = iVar6 + 0x200" (identifier "local_23c") (= "=") (binary_expression "iVar6 + 0x200" (identifier "iVar6") (+ "+") (number_literal "0x200"))) (; ";")) (expression_statement "local_238 = FUN_0001dc50(local_238,local_23c,1);" (assignment_expression "local_238 = FUN_0001dc50(local_238,local_23c,1)" (identifier "local_238") (= "=") (call_expression "FUN_0001dc50(local_238,local_23c,1)" (identifier "FUN_0001dc50") (argument_list "(local_238,local_23c,1)" (( "(") (identifier "local_238") (, ",") (identifier "local_23c") (, ",") (number_literal "1") () ")")))) (; ";")) (} "}"))) (expression_statement "memcpy((void *)(local_234 + local_238),pcVar7,sVar8);" (call_expression "memcpy((void *)(local_234 + local_238),pcVar7,sVar8)" (identifier "memcpy") (argument_list "((void *)(local_234 + local_238),pcVar7,sVar8)" (( "(") (cast_expression "(void *)(local_234 + local_238)" (( "(") (type_descriptor "void *" (primitive_type "void") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_234 + local_238)" (( "(") (binary_expression "local_234 + local_238" (identifier "local_234") (+ "+") (identifier "local_238")) () ")"))) (, ",") (identifier "pcVar7") (, ",") (identifier "sVar8") () ")"))) (; ";")) (expression_statement "local_244 = local_230 + 10;" (assignment_expression "local_244 = local_230 + 10" (identifier "local_244") (= "=") (binary_expression "local_230 + 10" (identifier "local_230") (+ "+") (number_literal "10"))) (; ";")) (expression_statement "local_234 = iVar6;" (assignment_expression "local_234 = iVar6" (identifier "local_234") (= "=") (identifier "iVar6")) (; ";")) (goto_statement "goto LAB_00021c20;" (goto "goto") (statement_identifier "LAB_00021c20") (; ";")) (} "}"))) (expression_statement "iVar6 = strncasecmp(pcVar7,"proxyport",9);" (assignment_expression "iVar6 = strncasecmp(pcVar7,"proxyport",9)" (identifier "iVar6") (= "=") (call_expression "strncasecmp(pcVar7,"proxyport",9)" (identifier "strncasecmp") (argument_list "(pcVar7,"proxyport",9)" (( "(") (identifier "pcVar7") (, ",") (string_literal ""proxyport"" (" """) (string_content "proxyport") (" """)) (, ",") (number_literal "9") () ")")))) (; ";")) (if_statement "if (iVar6 == 0) break;" (if "if") (parenthesized_expression "(iVar6 == 0)" (( "(") (binary_expression "iVar6 == 0" (identifier "iVar6") (== "==") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (if_statement "if (local_23c <= local_234) {\n        local_23c = local_234 + 0x201;\n        local_238 = FUN_0001dc50(local_238,local_23c,1);\n      }" (if "if") (parenthesized_expression "(local_23c <= local_234)" (( "(") (binary_expression "local_23c <= local_234" (identifier "local_23c") (<= "<=") (identifier "local_234")) () ")")) (compound_statement "{\n        local_23c = local_234 + 0x201;\n        local_238 = FUN_0001dc50(local_238,local_23c,1);\n      }" ({ "{") (expression_statement "local_23c = local_234 + 0x201;" (assignment_expression "local_23c = local_234 + 0x201" (identifier "local_23c") (= "=") (binary_expression "local_234 + 0x201" (identifier "local_234") (+ "+") (number_literal "0x201"))) (; ";")) (expression_statement "local_238 = FUN_0001dc50(local_238,local_23c,1);" (assignment_expression "local_238 = FUN_0001dc50(local_238,local_23c,1)" (identifier "local_238") (= "=") (call_expression "FUN_0001dc50(local_238,local_23c,1)" (identifier "FUN_0001dc50") (argument_list "(local_238,local_23c,1)" (( "(") (identifier "local_238") (, ",") (identifier "local_23c") (, ",") (number_literal "1") () ")")))) (; ";")) (} "}"))) (expression_statement "*(undefined1 *)(local_238 + local_234) = 0x25;" (assignment_expression "*(undefined1 *)(local_238 + local_234) = 0x25" (pointer_expression "*(undefined1 *)(local_238 + local_234)" (* "*") (cast_expression "(undefined1 *)(local_238 + local_234)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_238 + local_234)" (( "(") (binary_expression "local_238 + local_234" (identifier "local_238") (+ "+") (identifier "local_234")) () ")")))) (= "=") (number_literal "0x25")) (; ";")) (expression_statement "local_234 = local_234 + 1;" (assignment_expression "local_234 = local_234 + 1" (identifier "local_234") (= "=") (binary_expression "local_234 + 1" (identifier "local_234") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pcVar7 = (char *)(iVar4 + local_244);" (assignment_expression "pcVar7 = (char *)(iVar4 + local_244)" (identifier "pcVar7") (= "=") (cast_expression "(char *)(iVar4 + local_244)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + local_244)" (( "(") (binary_expression "iVar4 + local_244" (identifier "iVar4") (+ "+") (identifier "local_244")) () ")")))) (; ";")) (expression_statement "cVar2 = *pcVar7;" (assignment_expression "cVar2 = *pcVar7" (identifier "cVar2") (= "=") (pointer_expression "*pcVar7" (* "*") (identifier "pcVar7"))) (; ";")) (expression_statement "iVar6 = local_244;" (assignment_expression "iVar6 = local_244" (identifier "iVar6") (= "=") (identifier "local_244")) (; ";")) (goto_statement "goto joined_r0x00021c28;" (goto "goto") (statement_identifier "joined_r0x00021c28") (; ";")) (} "}"))) (expression_statement "FUN_00084190(param_1,local_220,0x200);" (call_expression "FUN_00084190(param_1,local_220,0x200)" (identifier "FUN_00084190") (argument_list "(param_1,local_220,0x200)" (( "(") (identifier "param_1") (, ",") (identifier "local_220") (, ",") (number_literal "0x200") () ")"))) (; ";")) (expression_statement "puVar12 = local_220;" (assignment_expression "puVar12 = local_220" (identifier "puVar12") (= "=") (identifier "local_220")) (; ";")) (do_statement "do {\n      puVar13 = puVar12;\n      uVar10 = *puVar13 + 0xfefefeff & ~*puVar13;\n      uVar11 = uVar10 & 0x80808080;\n      puVar12 = puVar13 + 1;\n    } while (uVar11 == 0);" (do "do") (compound_statement "{\n      puVar13 = puVar12;\n      uVar10 = *puVar13 + 0xfefefeff & ~*puVar13;\n      uVar11 = uVar10 & 0x80808080;\n      puVar12 = puVar13 + 1;\n    }" ({ "{") (expression_statement "puVar13 = puVar12;" (assignment_expression "puVar13 = puVar12" (identifier "puVar13") (= "=") (identifier "puVar12")) (; ";")) (expression_statement "uVar10 = *puVar13 + 0xfefefeff & ~*puVar13;" (assignment_expression "uVar10 = *puVar13 + 0xfefefeff & ~*puVar13" (identifier "uVar10") (= "=") (binary_expression "*puVar13 + 0xfefefeff & ~*puVar13" (binary_expression "*puVar13 + 0xfefefeff" (pointer_expression "*puVar13" (* "*") (identifier "puVar13")) (+ "+") (number_literal "0xfefefeff")) (& "&") (unary_expression "~*puVar13" (~ "~") (pointer_expression "*puVar13" (* "*") (identifier "puVar13"))))) (; ";")) (expression_statement "uVar11 = uVar10 & 0x80808080;" (assignment_expression "uVar11 = uVar10 & 0x80808080" (identifier "uVar11") (= "=") (binary_expression "uVar10 & 0x80808080" (identifier "uVar10") (& "&") (number_literal "0x80808080"))) (; ";")) (expression_statement "puVar12 = puVar13 + 1;" (assignment_expression "puVar12 = puVar13 + 1" (identifier "puVar12") (= "=") (binary_expression "puVar13 + 1" (identifier "puVar13") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(uVar11 == 0)" (( "(") (binary_expression "uVar11 == 0" (identifier "uVar11") (== "==") (number_literal "0")) () ")")) (; ";")) (expression_statement "bVar16 = (uVar10 & 0x8080) == 0;" (assignment_expression "bVar16 = (uVar10 & 0x8080) == 0" (identifier "bVar16") (= "=") (binary_expression "(uVar10 & 0x8080) == 0" (parenthesized_expression "(uVar10 & 0x8080)" (( "(") (binary_expression "uVar10 & 0x8080" (identifier "uVar10") (& "&") (number_literal "0x8080")) () ")")) (== "==") (number_literal "0"))) (; ";")) (if_statement "if (bVar16) {\n      uVar11 = uVar11 >> 0x10;\n    }" (if "if") (parenthesized_expression "(bVar16)" (( "(") (identifier "bVar16") () ")")) (compound_statement "{\n      uVar11 = uVar11 >> 0x10;\n    }" ({ "{") (expression_statement "uVar11 = uVar11 >> 0x10;" (assignment_expression "uVar11 = uVar11 >> 0x10" (identifier "uVar11") (= "=") (binary_expression "uVar11 >> 0x10" (identifier "uVar11") (>> ">>") (number_literal "0x10"))) (; ";")) (} "}"))) (expression_statement "puVar12 = (uint *)((int)puVar13 + 6);" (assignment_expression "puVar12 = (uint *)((int)puVar13 + 6)" (identifier "puVar12") (= "=") (cast_expression "(uint *)((int)puVar13 + 6)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar13 + 6)" (( "(") (binary_expression "(int)puVar13 + 6" (cast_expression "(int)puVar13" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar13")) (+ "+") (number_literal "6")) () ")")))) (; ";")) (if_statement "if (!bVar16) {\n      puVar12 = puVar13 + 1;\n    }" (if "if") (parenthesized_expression "(!bVar16)" (( "(") (unary_expression "!bVar16" (! "!") (identifier "bVar16")) () ")")) (compound_statement "{\n      puVar12 = puVar13 + 1;\n    }" ({ "{") (expression_statement "puVar12 = puVar13 + 1;" (assignment_expression "puVar12 = puVar13 + 1" (identifier "puVar12") (= "=") (binary_expression "puVar13 + 1" (identifier "puVar13") (+ "+") (number_literal "1"))) (; ";")) (} "}"))) (expression_statement "uVar11 = (int)puVar12 + ((-3 - (uint)CARRY1((byte)uVar11,(byte)uVar11)) - (int)local_220);" (assignment_expression "uVar11 = (int)puVar12 + ((-3 - (uint)CARRY1((byte)uVar11,(byte)uVar11)) - (int)local_220)" (identifier "uVar11") (= "=") (binary_expression "(int)puVar12 + ((-3 - (uint)CARRY1((byte)uVar11,(byte)uVar11)) - (int)local_220)" (cast_expression "(int)puVar12" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar12")) (+ "+") (parenthesized_expression "((-3 - (uint)CARRY1((byte)uVar11,(byte)uVar11)) - (int)local_220)" (( "(") (binary_expression "(-3 - (uint)CARRY1((byte)uVar11,(byte)uVar11)) - (int)local_220" (parenthesized_expression "(-3 - (uint)CARRY1((byte)uVar11,(byte)uVar11))" (( "(") (binary_expression "-3 - (uint)CARRY1((byte)uVar11,(byte)uVar11)" (number_literal "-3") (- "-") (cast_expression "(uint)CARRY1((byte)uVar11,(byte)uVar11)" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (call_expression "CARRY1((byte)uVar11,(byte)uVar11)" (identifier "CARRY1") (argument_list "((byte)uVar11,(byte)uVar11)" (( "(") (cast_expression "(byte)uVar11" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (identifier "uVar11")) (, ",") (cast_expression "(byte)uVar11" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (identifier "uVar11")) () ")"))))) () ")")) (- "-") (cast_expression "(int)local_220" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_220"))) () ")")))) (; ";")) (labeled_statement "joined_r0x000221ae:\n    iVar6 = local_234 + uVar11;" (statement_identifier "joined_r0x000221ae") (: ":") (expression_statement "iVar6 = local_234 + uVar11;" (assignment_expression "iVar6 = local_234 + uVar11" (identifier "iVar6") (= "=") (binary_expression "local_234 + uVar11" (identifier "local_234") (+ "+") (identifier "uVar11"))) (; ";"))) (if_statement "if (local_23c < iVar6) {\n      local_23c = iVar6 + 0x200;\n      local_238 = FUN_0001dc50(local_238,local_23c,1);\n    }" (if "if") (parenthesized_expression "(local_23c < iVar6)" (( "(") (binary_expression "local_23c < iVar6" (identifier "local_23c") (< "<") (identifier "iVar6")) () ")")) (compound_statement "{\n      local_23c = iVar6 + 0x200;\n      local_238 = FUN_0001dc50(local_238,local_23c,1);\n    }" ({ "{") (expression_statement "local_23c = iVar6 + 0x200;" (assignment_expression "local_23c = iVar6 + 0x200" (identifier "local_23c") (= "=") (binary_expression "iVar6 + 0x200" (identifier "iVar6") (+ "+") (number_literal "0x200"))) (; ";")) (expression_statement "local_238 = FUN_0001dc50(local_238,local_23c,1);" (assignment_expression "local_238 = FUN_0001dc50(local_238,local_23c,1)" (identifier "local_238") (= "=") (call_expression "FUN_0001dc50(local_238,local_23c,1)" (identifier "FUN_0001dc50") (argument_list "(local_238,local_23c,1)" (( "(") (identifier "local_238") (, ",") (identifier "local_23c") (, ",") (number_literal "1") () ")")))) (; ";")) (} "}"))) (expression_statement "puVar12 = (uint *)(local_234 + local_238);" (assignment_expression "puVar12 = (uint *)(local_234 + local_238)" (identifier "puVar12") (= "=") (cast_expression "(uint *)(local_234 + local_238)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_234 + local_238)" (( "(") (binary_expression "local_234 + local_238" (identifier "local_234") (+ "+") (identifier "local_238")) () ")")))) (; ";")) (if_statement "if (uVar11 < 4) {\n      if (uVar11 != 0) {\n        *(undefined1 *)puVar12 = (undefined1)local_220[0];\n        if ((uVar11 & 2) != 0) {\n          *(undefined2 *)((int)puVar12 + (uVar11 - 2)) = *(undefined2 *)(auStack_227 + uVar11 + 5);\n        }\n      }\n    }\n    else {\n      *puVar12 = local_220[0];\n      *(undefined4 *)((int)puVar12 + (uVar11 - 4)) = *(undefined4 *)(auStack_227 + uVar11 + 3);\n      iVar5 = (int)puVar12 - (int)((uint)(puVar12 + 1) & 0xfffffffc);\n      puVar14 = (undefined4 *)((int)local_220 - iVar5);\n      puVar15 = (undefined4 *)((uint)(puVar12 + 1) & 0xfffffffc);\n      for (uVar11 = uVar11 + iVar5 >> 2; uVar11 != 0; uVar11 = uVar11 - 1) {\n        *puVar15 = *puVar14;\n        puVar14 = puVar14 + (uint)bVar17 * -2 + 1;\n        puVar15 = puVar15 + (uint)bVar17 * -2 + 1;\n      }\n    }" (if "if") (parenthesized_expression "(uVar11 < 4)" (( "(") (binary_expression "uVar11 < 4" (identifier "uVar11") (< "<") (number_literal "4")) () ")")) (compound_statement "{\n      if (uVar11 != 0) {\n        *(undefined1 *)puVar12 = (undefined1)local_220[0];\n        if ((uVar11 & 2) != 0) {\n          *(undefined2 *)((int)puVar12 + (uVar11 - 2)) = *(undefined2 *)(auStack_227 + uVar11 + 5);\n        }\n      }\n    }" ({ "{") (if_statement "if (uVar11 != 0) {\n        *(undefined1 *)puVar12 = (undefined1)local_220[0];\n        if ((uVar11 & 2) != 0) {\n          *(undefined2 *)((int)puVar12 + (uVar11 - 2)) = *(undefined2 *)(auStack_227 + uVar11 + 5);\n        }\n      }" (if "if") (parenthesized_expression "(uVar11 != 0)" (( "(") (binary_expression "uVar11 != 0" (identifier "uVar11") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n        *(undefined1 *)puVar12 = (undefined1)local_220[0];\n        if ((uVar11 & 2) != 0) {\n          *(undefined2 *)((int)puVar12 + (uVar11 - 2)) = *(undefined2 *)(auStack_227 + uVar11 + 5);\n        }\n      }" ({ "{") (expression_statement "*(undefined1 *)puVar12 = (undefined1)local_220[0];" (assignment_expression "*(undefined1 *)puVar12 = (undefined1)local_220[0]" (pointer_expression "*(undefined1 *)puVar12" (* "*") (cast_expression "(undefined1 *)puVar12" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar12"))) (= "=") (cast_expression "(undefined1)local_220[0]" (( "(") (type_descriptor "undefined1" (type_identifier "undefined1")) () ")") (subscript_expression "local_220[0]" (identifier "local_220") ([ "[") (number_literal "0") (] "]")))) (; ";")) (if_statement "if ((uVar11 & 2) != 0) {\n          *(undefined2 *)((int)puVar12 + (uVar11 - 2)) = *(undefined2 *)(auStack_227 + uVar11 + 5);\n        }" (if "if") (parenthesized_expression "((uVar11 & 2) != 0)" (( "(") (binary_expression "(uVar11 & 2) != 0" (parenthesized_expression "(uVar11 & 2)" (( "(") (binary_expression "uVar11 & 2" (identifier "uVar11") (& "&") (number_literal "2")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n          *(undefined2 *)((int)puVar12 + (uVar11 - 2)) = *(undefined2 *)(auStack_227 + uVar11 + 5);\n        }" ({ "{") (expression_statement "*(undefined2 *)((int)puVar12 + (uVar11 - 2)) = *(undefined2 *)(auStack_227 + uVar11 + 5);" (assignment_expression "*(undefined2 *)((int)puVar12 + (uVar11 - 2)) = *(undefined2 *)(auStack_227 + uVar11 + 5)" (pointer_expression "*(undefined2 *)((int)puVar12 + (uVar11 - 2))" (* "*") (cast_expression "(undefined2 *)((int)puVar12 + (uVar11 - 2))" (( "(") (type_descriptor "undefined2 *" (type_identifier "undefined2") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar12 + (uVar11 - 2))" (( "(") (binary_expression "(int)puVar12 + (uVar11 - 2)" (cast_expression "(int)puVar12" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar12")) (+ "+") (parenthesized_expression "(uVar11 - 2)" (( "(") (binary_expression "uVar11 - 2" (identifier "uVar11") (- "-") (number_literal "2")) () ")"))) () ")")))) (= "=") (pointer_expression "*(undefined2 *)(auStack_227 + uVar11 + 5)" (* "*") (cast_expression "(undefined2 *)(auStack_227 + uVar11 + 5)" (( "(") (type_descriptor "undefined2 *" (type_identifier "undefined2") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(auStack_227 + uVar11 + 5)" (( "(") (binary_expression "auStack_227 + uVar11 + 5" (binary_expression "auStack_227 + uVar11" (identifier "auStack_227") (+ "+") (identifier "uVar11")) (+ "+") (number_literal "5")) () ")"))))) (; ";")) (} "}"))) (} "}"))) (} "}")) (else_clause "else {\n      *puVar12 = local_220[0];\n      *(undefined4 *)((int)puVar12 + (uVar11 - 4)) = *(undefined4 *)(auStack_227 + uVar11 + 3);\n      iVar5 = (int)puVar12 - (int)((uint)(puVar12 + 1) & 0xfffffffc);\n      puVar14 = (undefined4 *)((int)local_220 - iVar5);\n      puVar15 = (undefined4 *)((uint)(puVar12 + 1) & 0xfffffffc);\n      for (uVar11 = uVar11 + iVar5 >> 2; uVar11 != 0; uVar11 = uVar11 - 1) {\n        *puVar15 = *puVar14;\n        puVar14 = puVar14 + (uint)bVar17 * -2 + 1;\n        puVar15 = puVar15 + (uint)bVar17 * -2 + 1;\n      }\n    }" (else "else") (compound_statement "{\n      *puVar12 = local_220[0];\n      *(undefined4 *)((int)puVar12 + (uVar11 - 4)) = *(undefined4 *)(auStack_227 + uVar11 + 3);\n      iVar5 = (int)puVar12 - (int)((uint)(puVar12 + 1) & 0xfffffffc);\n      puVar14 = (undefined4 *)((int)local_220 - iVar5);\n      puVar15 = (undefined4 *)((uint)(puVar12 + 1) & 0xfffffffc);\n      for (uVar11 = uVar11 + iVar5 >> 2; uVar11 != 0; uVar11 = uVar11 - 1) {\n        *puVar15 = *puVar14;\n        puVar14 = puVar14 + (uint)bVar17 * -2 + 1;\n        puVar15 = puVar15 + (uint)bVar17 * -2 + 1;\n      }\n    }" ({ "{") (expression_statement "*puVar12 = local_220[0];" (assignment_expression "*puVar12 = local_220[0]" (pointer_expression "*puVar12" (* "*") (identifier "puVar12")) (= "=") (subscript_expression "local_220[0]" (identifier "local_220") ([ "[") (number_literal "0") (] "]"))) (; ";")) (expression_statement "*(undefined4 *)((int)puVar12 + (uVar11 - 4)) = *(undefined4 *)(auStack_227 + uVar11 + 3);" (assignment_expression "*(undefined4 *)((int)puVar12 + (uVar11 - 4)) = *(undefined4 *)(auStack_227 + uVar11 + 3)" (pointer_expression "*(undefined4 *)((int)puVar12 + (uVar11 - 4))" (* "*") (cast_expression "(undefined4 *)((int)puVar12 + (uVar11 - 4))" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar12 + (uVar11 - 4))" (( "(") (binary_expression "(int)puVar12 + (uVar11 - 4)" (cast_expression "(int)puVar12" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar12")) (+ "+") (parenthesized_expression "(uVar11 - 4)" (( "(") (binary_expression "uVar11 - 4" (identifier "uVar11") (- "-") (number_literal "4")) () ")"))) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(auStack_227 + uVar11 + 3)" (* "*") (cast_expression "(undefined4 *)(auStack_227 + uVar11 + 3)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(auStack_227 + uVar11 + 3)" (( "(") (binary_expression "auStack_227 + uVar11 + 3" (binary_expression "auStack_227 + uVar11" (identifier "auStack_227") (+ "+") (identifier "uVar11")) (+ "+") (number_literal "3")) () ")"))))) (; ";")) (expression_statement "iVar5 = (int)puVar12 - (int)((uint)(puVar12 + 1) & 0xfffffffc);" (assignment_expression "iVar5 = (int)puVar12 - (int)((uint)(puVar12 + 1) & 0xfffffffc)" (identifier "iVar5") (= "=") (binary_expression "(int)puVar12 - (int)((uint)(puVar12 + 1) & 0xfffffffc)" (cast_expression "(int)puVar12" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar12")) (- "-") (cast_expression "(int)((uint)(puVar12 + 1) & 0xfffffffc)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "((uint)(puVar12 + 1) & 0xfffffffc)" (( "(") (binary_expression "(uint)(puVar12 + 1) & 0xfffffffc" (call_expression "(uint)(puVar12 + 1)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(puVar12 + 1)" (( "(") (binary_expression "puVar12 + 1" (identifier "puVar12") (+ "+") (number_literal "1")) () ")"))) (& "&") (number_literal "0xfffffffc")) () ")"))))) (; ";")) (expression_statement "puVar14 = (undefined4 *)((int)local_220 - iVar5);" (assignment_expression "puVar14 = (undefined4 *)((int)local_220 - iVar5)" (identifier "puVar14") (= "=") (cast_expression "(undefined4 *)((int)local_220 - iVar5)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_220 - iVar5)" (( "(") (binary_expression "(int)local_220 - iVar5" (cast_expression "(int)local_220" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_220")) (- "-") (identifier "iVar5")) () ")")))) (; ";")) (expression_statement "puVar15 = (undefined4 *)((uint)(puVar12 + 1) & 0xfffffffc);" (assignment_expression "puVar15 = (undefined4 *)((uint)(puVar12 + 1) & 0xfffffffc)" (identifier "puVar15") (= "=") (cast_expression "(undefined4 *)((uint)(puVar12 + 1) & 0xfffffffc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((uint)(puVar12 + 1) & 0xfffffffc)" (( "(") (binary_expression "(uint)(puVar12 + 1) & 0xfffffffc" (call_expression "(uint)(puVar12 + 1)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(puVar12 + 1)" (( "(") (binary_expression "puVar12 + 1" (identifier "puVar12") (+ "+") (number_literal "1")) () ")"))) (& "&") (number_literal "0xfffffffc")) () ")")))) (; ";")) (for_statement "for (uVar11 = uVar11 + iVar5 >> 2; uVar11 != 0; uVar11 = uVar11 - 1) {\n        *puVar15 = *puVar14;\n        puVar14 = puVar14 + (uint)bVar17 * -2 + 1;\n        puVar15 = puVar15 + (uint)bVar17 * -2 + 1;\n      }" (for "for") (( "(") (assignment_expression "uVar11 = uVar11 + iVar5 >> 2" (identifier "uVar11") (= "=") (binary_expression "uVar11 + iVar5 >> 2" (binary_expression "uVar11 + iVar5" (identifier "uVar11") (+ "+") (identifier "iVar5")) (>> ">>") (number_literal "2"))) (; ";") (binary_expression "uVar11 != 0" (identifier "uVar11") (!= "!=") (number_literal "0")) (; ";") (assignment_expression "uVar11 = uVar11 - 1" (identifier "uVar11") (= "=") (binary_expression "uVar11 - 1" (identifier "uVar11") (- "-") (number_literal "1"))) () ")") (compound_statement "{\n        *puVar15 = *puVar14;\n        puVar14 = puVar14 + (uint)bVar17 * -2 + 1;\n        puVar15 = puVar15 + (uint)bVar17 * -2 + 1;\n      }" ({ "{") (expression_statement "*puVar15 = *puVar14;" (assignment_expression "*puVar15 = *puVar14" (pointer_expression "*puVar15" (* "*") (identifier "puVar15")) (= "=") (pointer_expression "*puVar14" (* "*") (identifier "puVar14"))) (; ";")) (expression_statement "puVar14 = puVar14 + (uint)bVar17 * -2 + 1;" (assignment_expression "puVar14 = puVar14 + (uint)bVar17 * -2 + 1" (identifier "puVar14") (= "=") (binary_expression "puVar14 + (uint)bVar17 * -2 + 1" (binary_expression "puVar14 + (uint)bVar17 * -2" (identifier "puVar14") (+ "+") (binary_expression "(uint)bVar17 * -2" (cast_expression "(uint)bVar17" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar17")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (expression_statement "puVar15 = puVar15 + (uint)bVar17 * -2 + 1;" (assignment_expression "puVar15 = puVar15 + (uint)bVar17 * -2 + 1" (identifier "puVar15") (= "=") (binary_expression "puVar15 + (uint)bVar17 * -2 + 1" (binary_expression "puVar15 + (uint)bVar17 * -2" (identifier "puVar15") (+ "+") (binary_expression "(uint)bVar17 * -2" (cast_expression "(uint)bVar17" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar17")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (} "}"))) (} "}")))) (expression_statement "local_244 = local_230 + 5;" (assignment_expression "local_244 = local_230 + 5" (identifier "local_244") (= "=") (binary_expression "local_230 + 5" (identifier "local_230") (+ "+") (number_literal "5"))) (; ";")) (expression_statement "local_234 = iVar6;" (assignment_expression "local_234 = iVar6" (identifier "local_234") (= "=") (identifier "iVar6")) (; ";")) (} "}")) (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (; ";"))) (expression_statement "uVar9 = FUN_000189b0(param_3,0xf);" (assignment_expression "uVar9 = FUN_000189b0(param_3,0xf)" (identifier "uVar9") (= "=") (call_expression "FUN_000189b0(param_3,0xf)" (identifier "FUN_000189b0") (argument_list "(param_3,0xf)" (( "(") (identifier "param_3") (, ",") (number_literal "0xf") () ")")))) (; ";")) (expression_statement "__sprintf_chk(local_220,1,0x32,"%d",uVar9);" (call_expression "__sprintf_chk(local_220,1,0x32,"%d",uVar9)" (identifier "__sprintf_chk") (argument_list "(local_220,1,0x32,"%d",uVar9)" (( "(") (identifier "local_220") (, ",") (number_literal "1") (, ",") (number_literal "0x32") (, ",") (string_literal ""%d"" (" """) (string_content "%d") (" """)) (, ",") (identifier "uVar9") () ")"))) (; ";")) (expression_statement "puVar12 = local_220;" (assignment_expression "puVar12 = local_220" (identifier "puVar12") (= "=") (identifier "local_220")) (; ";")) (do_statement "do {\n    puVar13 = puVar12;\n    uVar10 = *puVar13 + 0xfefefeff & ~*puVar13;\n    uVar11 = uVar10 & 0x80808080;\n    puVar12 = puVar13 + 1;\n  } while (uVar11 == 0);" (do "do") (compound_statement "{\n    puVar13 = puVar12;\n    uVar10 = *puVar13 + 0xfefefeff & ~*puVar13;\n    uVar11 = uVar10 & 0x80808080;\n    puVar12 = puVar13 + 1;\n  }" ({ "{") (expression_statement "puVar13 = puVar12;" (assignment_expression "puVar13 = puVar12" (identifier "puVar13") (= "=") (identifier "puVar12")) (; ";")) (expression_statement "uVar10 = *puVar13 + 0xfefefeff & ~*puVar13;" (assignment_expression "uVar10 = *puVar13 + 0xfefefeff & ~*puVar13" (identifier "uVar10") (= "=") (binary_expression "*puVar13 + 0xfefefeff & ~*puVar13" (binary_expression "*puVar13 + 0xfefefeff" (pointer_expression "*puVar13" (* "*") (identifier "puVar13")) (+ "+") (number_literal "0xfefefeff")) (& "&") (unary_expression "~*puVar13" (~ "~") (pointer_expression "*puVar13" (* "*") (identifier "puVar13"))))) (; ";")) (expression_statement "uVar11 = uVar10 & 0x80808080;" (assignment_expression "uVar11 = uVar10 & 0x80808080" (identifier "uVar11") (= "=") (binary_expression "uVar10 & 0x80808080" (identifier "uVar10") (& "&") (number_literal "0x80808080"))) (; ";")) (expression_statement "puVar12 = puVar13 + 1;" (assignment_expression "puVar12 = puVar13 + 1" (identifier "puVar12") (= "=") (binary_expression "puVar13 + 1" (identifier "puVar13") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(uVar11 == 0)" (( "(") (binary_expression "uVar11 == 0" (identifier "uVar11") (== "==") (number_literal "0")) () ")")) (; ";")) (expression_statement "bVar16 = (uVar10 & 0x8080) == 0;" (assignment_expression "bVar16 = (uVar10 & 0x8080) == 0" (identifier "bVar16") (= "=") (binary_expression "(uVar10 & 0x8080) == 0" (parenthesized_expression "(uVar10 & 0x8080)" (( "(") (binary_expression "uVar10 & 0x8080" (identifier "uVar10") (& "&") (number_literal "0x8080")) () ")")) (== "==") (number_literal "0"))) (; ";")) (if_statement "if (bVar16) {\n    uVar11 = uVar11 >> 0x10;\n  }" (if "if") (parenthesized_expression "(bVar16)" (( "(") (identifier "bVar16") () ")")) (compound_statement "{\n    uVar11 = uVar11 >> 0x10;\n  }" ({ "{") (expression_statement "uVar11 = uVar11 >> 0x10;" (assignment_expression "uVar11 = uVar11 >> 0x10" (identifier "uVar11") (= "=") (binary_expression "uVar11 >> 0x10" (identifier "uVar11") (>> ">>") (number_literal "0x10"))) (; ";")) (} "}"))) (if_statement "if (bVar16) {\n    puVar12 = (uint *)((int)puVar13 + 6);\n  }" (if "if") (parenthesized_expression "(bVar16)" (( "(") (identifier "bVar16") () ")")) (compound_statement "{\n    puVar12 = (uint *)((int)puVar13 + 6);\n  }" ({ "{") (expression_statement "puVar12 = (uint *)((int)puVar13 + 6);" (assignment_expression "puVar12 = (uint *)((int)puVar13 + 6)" (identifier "puVar12") (= "=") (cast_expression "(uint *)((int)puVar13 + 6)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar13 + 6)" (( "(") (binary_expression "(int)puVar13 + 6" (cast_expression "(int)puVar13" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar13")) (+ "+") (number_literal "6")) () ")")))) (; ";")) (} "}"))) (expression_statement "uVar11 = (int)puVar12 + ((-3 - (uint)CARRY1((byte)uVar11,(byte)uVar11)) - (int)local_220);" (assignment_expression "uVar11 = (int)puVar12 + ((-3 - (uint)CARRY1((byte)uVar11,(byte)uVar11)) - (int)local_220)" (identifier "uVar11") (= "=") (binary_expression "(int)puVar12 + ((-3 - (uint)CARRY1((byte)uVar11,(byte)uVar11)) - (int)local_220)" (cast_expression "(int)puVar12" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar12")) (+ "+") (parenthesized_expression "((-3 - (uint)CARRY1((byte)uVar11,(byte)uVar11)) - (int)local_220)" (( "(") (binary_expression "(-3 - (uint)CARRY1((byte)uVar11,(byte)uVar11)) - (int)local_220" (parenthesized_expression "(-3 - (uint)CARRY1((byte)uVar11,(byte)uVar11))" (( "(") (binary_expression "-3 - (uint)CARRY1((byte)uVar11,(byte)uVar11)" (number_literal "-3") (- "-") (cast_expression "(uint)CARRY1((byte)uVar11,(byte)uVar11)" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (call_expression "CARRY1((byte)uVar11,(byte)uVar11)" (identifier "CARRY1") (argument_list "((byte)uVar11,(byte)uVar11)" (( "(") (cast_expression "(byte)uVar11" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (identifier "uVar11")) (, ",") (cast_expression "(byte)uVar11" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (identifier "uVar11")) () ")"))))) () ")")) (- "-") (cast_expression "(int)local_220" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_220"))) () ")")))) (; ";")) (expression_statement "iVar6 = local_234 + uVar11;" (assignment_expression "iVar6 = local_234 + uVar11" (identifier "iVar6") (= "=") (binary_expression "local_234 + uVar11" (identifier "local_234") (+ "+") (identifier "uVar11"))) (; ";")) (if_statement "if (local_23c < iVar6) {\n    local_23c = iVar6 + 0x200;\n    local_238 = FUN_0001dc50(local_238,local_23c,1);\n  }" (if "if") (parenthesized_expression "(local_23c < iVar6)" (( "(") (binary_expression "local_23c < iVar6" (identifier "local_23c") (< "<") (identifier "iVar6")) () ")")) (compound_statement "{\n    local_23c = iVar6 + 0x200;\n    local_238 = FUN_0001dc50(local_238,local_23c,1);\n  }" ({ "{") (expression_statement "local_23c = iVar6 + 0x200;" (assignment_expression "local_23c = iVar6 + 0x200" (identifier "local_23c") (= "=") (binary_expression "iVar6 + 0x200" (identifier "iVar6") (+ "+") (number_literal "0x200"))) (; ";")) (expression_statement "local_238 = FUN_0001dc50(local_238,local_23c,1);" (assignment_expression "local_238 = FUN_0001dc50(local_238,local_23c,1)" (identifier "local_238") (= "=") (call_expression "FUN_0001dc50(local_238,local_23c,1)" (identifier "FUN_0001dc50") (argument_list "(local_238,local_23c,1)" (( "(") (identifier "local_238") (, ",") (identifier "local_23c") (, ",") (number_literal "1") () ")")))) (; ";")) (} "}"))) (expression_statement "puVar12 = (uint *)(local_234 + local_238);" (assignment_expression "puVar12 = (uint *)(local_234 + local_238)" (identifier "puVar12") (= "=") (cast_expression "(uint *)(local_234 + local_238)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_234 + local_238)" (( "(") (binary_expression "local_234 + local_238" (identifier "local_234") (+ "+") (identifier "local_238")) () ")")))) (; ";")) (if_statement "if (uVar11 < 4) {\n    if (uVar11 != 0) {\n      *(undefined1 *)puVar12 = (undefined1)local_220[0];\n      if ((uVar11 & 2) != 0) {\n        *(undefined2 *)((int)puVar12 + (uVar11 - 2)) = *(undefined2 *)(auStack_227 + uVar11 + 5);\n      }\n    }\n  }\n  else {\n    *puVar12 = local_220[0];\n    *(undefined4 *)((int)puVar12 + (uVar11 - 4)) = *(undefined4 *)(auStack_227 + uVar11 + 3);\n    iVar5 = (int)puVar12 - ((uint)(puVar12 + 1) & 0xfffffffc);\n    uVar11 = iVar5 + uVar11 & 0xfffffffc;\n    if (3 < uVar11) {\n      uVar10 = 0;\n      do {\n        *(undefined4 *)(((uint)(puVar12 + 1) & 0xfffffffc) + uVar10) =\n             *(undefined4 *)((int)local_220 + (uVar10 - iVar5));\n        uVar10 = uVar10 + 4;\n      } while (uVar10 < uVar11);\n    }\n  }" (if "if") (parenthesized_expression "(uVar11 < 4)" (( "(") (binary_expression "uVar11 < 4" (identifier "uVar11") (< "<") (number_literal "4")) () ")")) (compound_statement "{\n    if (uVar11 != 0) {\n      *(undefined1 *)puVar12 = (undefined1)local_220[0];\n      if ((uVar11 & 2) != 0) {\n        *(undefined2 *)((int)puVar12 + (uVar11 - 2)) = *(undefined2 *)(auStack_227 + uVar11 + 5);\n      }\n    }\n  }" ({ "{") (if_statement "if (uVar11 != 0) {\n      *(undefined1 *)puVar12 = (undefined1)local_220[0];\n      if ((uVar11 & 2) != 0) {\n        *(undefined2 *)((int)puVar12 + (uVar11 - 2)) = *(undefined2 *)(auStack_227 + uVar11 + 5);\n      }\n    }" (if "if") (parenthesized_expression "(uVar11 != 0)" (( "(") (binary_expression "uVar11 != 0" (identifier "uVar11") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      *(undefined1 *)puVar12 = (undefined1)local_220[0];\n      if ((uVar11 & 2) != 0) {\n        *(undefined2 *)((int)puVar12 + (uVar11 - 2)) = *(undefined2 *)(auStack_227 + uVar11 + 5);\n      }\n    }" ({ "{") (expression_statement "*(undefined1 *)puVar12 = (undefined1)local_220[0];" (assignment_expression "*(undefined1 *)puVar12 = (undefined1)local_220[0]" (pointer_expression "*(undefined1 *)puVar12" (* "*") (cast_expression "(undefined1 *)puVar12" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar12"))) (= "=") (cast_expression "(undefined1)local_220[0]" (( "(") (type_descriptor "undefined1" (type_identifier "undefined1")) () ")") (subscript_expression "local_220[0]" (identifier "local_220") ([ "[") (number_literal "0") (] "]")))) (; ";")) (if_statement "if ((uVar11 & 2) != 0) {\n        *(undefined2 *)((int)puVar12 + (uVar11 - 2)) = *(undefined2 *)(auStack_227 + uVar11 + 5);\n      }" (if "if") (parenthesized_expression "((uVar11 & 2) != 0)" (( "(") (binary_expression "(uVar11 & 2) != 0" (parenthesized_expression "(uVar11 & 2)" (( "(") (binary_expression "uVar11 & 2" (identifier "uVar11") (& "&") (number_literal "2")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n        *(undefined2 *)((int)puVar12 + (uVar11 - 2)) = *(undefined2 *)(auStack_227 + uVar11 + 5);\n      }" ({ "{") (expression_statement "*(undefined2 *)((int)puVar12 + (uVar11 - 2)) = *(undefined2 *)(auStack_227 + uVar11 + 5);" (assignment_expression "*(undefined2 *)((int)puVar12 + (uVar11 - 2)) = *(undefined2 *)(auStack_227 + uVar11 + 5)" (pointer_expression "*(undefined2 *)((int)puVar12 + (uVar11 - 2))" (* "*") (cast_expression "(undefined2 *)((int)puVar12 + (uVar11 - 2))" (( "(") (type_descriptor "undefined2 *" (type_identifier "undefined2") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar12 + (uVar11 - 2))" (( "(") (binary_expression "(int)puVar12 + (uVar11 - 2)" (cast_expression "(int)puVar12" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar12")) (+ "+") (parenthesized_expression "(uVar11 - 2)" (( "(") (binary_expression "uVar11 - 2" (identifier "uVar11") (- "-") (number_literal "2")) () ")"))) () ")")))) (= "=") (pointer_expression "*(undefined2 *)(auStack_227 + uVar11 + 5)" (* "*") (cast_expression "(undefined2 *)(auStack_227 + uVar11 + 5)" (( "(") (type_descriptor "undefined2 *" (type_identifier "undefined2") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(auStack_227 + uVar11 + 5)" (( "(") (binary_expression "auStack_227 + uVar11 + 5" (binary_expression "auStack_227 + uVar11" (identifier "auStack_227") (+ "+") (identifier "uVar11")) (+ "+") (number_literal "5")) () ")"))))) (; ";")) (} "}"))) (} "}"))) (} "}")) (else_clause "else {\n    *puVar12 = local_220[0];\n    *(undefined4 *)((int)puVar12 + (uVar11 - 4)) = *(undefined4 *)(auStack_227 + uVar11 + 3);\n    iVar5 = (int)puVar12 - ((uint)(puVar12 + 1) & 0xfffffffc);\n    uVar11 = iVar5 + uVar11 & 0xfffffffc;\n    if (3 < uVar11) {\n      uVar10 = 0;\n      do {\n        *(undefined4 *)(((uint)(puVar12 + 1) & 0xfffffffc) + uVar10) =\n             *(undefined4 *)((int)local_220 + (uVar10 - iVar5));\n        uVar10 = uVar10 + 4;\n      } while (uVar10 < uVar11);\n    }\n  }" (else "else") (compound_statement "{\n    *puVar12 = local_220[0];\n    *(undefined4 *)((int)puVar12 + (uVar11 - 4)) = *(undefined4 *)(auStack_227 + uVar11 + 3);\n    iVar5 = (int)puVar12 - ((uint)(puVar12 + 1) & 0xfffffffc);\n    uVar11 = iVar5 + uVar11 & 0xfffffffc;\n    if (3 < uVar11) {\n      uVar10 = 0;\n      do {\n        *(undefined4 *)(((uint)(puVar12 + 1) & 0xfffffffc) + uVar10) =\n             *(undefined4 *)((int)local_220 + (uVar10 - iVar5));\n        uVar10 = uVar10 + 4;\n      } while (uVar10 < uVar11);\n    }\n  }" ({ "{") (expression_statement "*puVar12 = local_220[0];" (assignment_expression "*puVar12 = local_220[0]" (pointer_expression "*puVar12" (* "*") (identifier "puVar12")) (= "=") (subscript_expression "local_220[0]" (identifier "local_220") ([ "[") (number_literal "0") (] "]"))) (; ";")) (expression_statement "*(undefined4 *)((int)puVar12 + (uVar11 - 4)) = *(undefined4 *)(auStack_227 + uVar11 + 3);" (assignment_expression "*(undefined4 *)((int)puVar12 + (uVar11 - 4)) = *(undefined4 *)(auStack_227 + uVar11 + 3)" (pointer_expression "*(undefined4 *)((int)puVar12 + (uVar11 - 4))" (* "*") (cast_expression "(undefined4 *)((int)puVar12 + (uVar11 - 4))" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar12 + (uVar11 - 4))" (( "(") (binary_expression "(int)puVar12 + (uVar11 - 4)" (cast_expression "(int)puVar12" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar12")) (+ "+") (parenthesized_expression "(uVar11 - 4)" (( "(") (binary_expression "uVar11 - 4" (identifier "uVar11") (- "-") (number_literal "4")) () ")"))) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(auStack_227 + uVar11 + 3)" (* "*") (cast_expression "(undefined4 *)(auStack_227 + uVar11 + 3)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(auStack_227 + uVar11 + 3)" (( "(") (binary_expression "auStack_227 + uVar11 + 3" (binary_expression "auStack_227 + uVar11" (identifier "auStack_227") (+ "+") (identifier "uVar11")) (+ "+") (number_literal "3")) () ")"))))) (; ";")) (expression_statement "iVar5 = (int)puVar12 - ((uint)(puVar12 + 1) & 0xfffffffc);" (assignment_expression "iVar5 = (int)puVar12 - ((uint)(puVar12 + 1) & 0xfffffffc)" (identifier "iVar5") (= "=") (binary_expression "(int)puVar12 - ((uint)(puVar12 + 1) & 0xfffffffc)" (cast_expression "(int)puVar12" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar12")) (- "-") (parenthesized_expression "((uint)(puVar12 + 1) & 0xfffffffc)" (( "(") (binary_expression "(uint)(puVar12 + 1) & 0xfffffffc" (call_expression "(uint)(puVar12 + 1)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(puVar12 + 1)" (( "(") (binary_expression "puVar12 + 1" (identifier "puVar12") (+ "+") (number_literal "1")) () ")"))) (& "&") (number_literal "0xfffffffc")) () ")")))) (; ";")) (expression_statement "uVar11 = iVar5 + uVar11 & 0xfffffffc;" (assignment_expression "uVar11 = iVar5 + uVar11 & 0xfffffffc" (identifier "uVar11") (= "=") (binary_expression "iVar5 + uVar11 & 0xfffffffc" (binary_expression "iVar5 + uVar11" (identifier "iVar5") (+ "+") (identifier "uVar11")) (& "&") (number_literal "0xfffffffc"))) (; ";")) (if_statement "if (3 < uVar11) {\n      uVar10 = 0;\n      do {\n        *(undefined4 *)(((uint)(puVar12 + 1) & 0xfffffffc) + uVar10) =\n             *(undefined4 *)((int)local_220 + (uVar10 - iVar5));\n        uVar10 = uVar10 + 4;\n      } while (uVar10 < uVar11);\n    }" (if "if") (parenthesized_expression "(3 < uVar11)" (( "(") (binary_expression "3 < uVar11" (number_literal "3") (< "<") (identifier "uVar11")) () ")")) (compound_statement "{\n      uVar10 = 0;\n      do {\n        *(undefined4 *)(((uint)(puVar12 + 1) & 0xfffffffc) + uVar10) =\n             *(undefined4 *)((int)local_220 + (uVar10 - iVar5));\n        uVar10 = uVar10 + 4;\n      } while (uVar10 < uVar11);\n    }" ({ "{") (expression_statement "uVar10 = 0;" (assignment_expression "uVar10 = 0" (identifier "uVar10") (= "=") (number_literal "0")) (; ";")) (do_statement "do {\n        *(undefined4 *)(((uint)(puVar12 + 1) & 0xfffffffc) + uVar10) =\n             *(undefined4 *)((int)local_220 + (uVar10 - iVar5));\n        uVar10 = uVar10 + 4;\n      } while (uVar10 < uVar11);" (do "do") (compound_statement "{\n        *(undefined4 *)(((uint)(puVar12 + 1) & 0xfffffffc) + uVar10) =\n             *(undefined4 *)((int)local_220 + (uVar10 - iVar5));\n        uVar10 = uVar10 + 4;\n      }" ({ "{") (expression_statement "*(undefined4 *)(((uint)(puVar12 + 1) & 0xfffffffc) + uVar10) =\n             *(undefined4 *)((int)local_220 + (uVar10 - iVar5));" (assignment_expression "*(undefined4 *)(((uint)(puVar12 + 1) & 0xfffffffc) + uVar10) =\n             *(undefined4 *)((int)local_220 + (uVar10 - iVar5))" (pointer_expression "*(undefined4 *)(((uint)(puVar12 + 1) & 0xfffffffc) + uVar10)" (* "*") (cast_expression "(undefined4 *)(((uint)(puVar12 + 1) & 0xfffffffc) + uVar10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(((uint)(puVar12 + 1) & 0xfffffffc) + uVar10)" (( "(") (binary_expression "((uint)(puVar12 + 1) & 0xfffffffc) + uVar10" (parenthesized_expression "((uint)(puVar12 + 1) & 0xfffffffc)" (( "(") (binary_expression "(uint)(puVar12 + 1) & 0xfffffffc" (call_expression "(uint)(puVar12 + 1)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(puVar12 + 1)" (( "(") (binary_expression "puVar12 + 1" (identifier "puVar12") (+ "+") (number_literal "1")) () ")"))) (& "&") (number_literal "0xfffffffc")) () ")")) (+ "+") (identifier "uVar10")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)((int)local_220 + (uVar10 - iVar5))" (* "*") (cast_expression "(undefined4 *)((int)local_220 + (uVar10 - iVar5))" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_220 + (uVar10 - iVar5))" (( "(") (binary_expression "(int)local_220 + (uVar10 - iVar5)" (cast_expression "(int)local_220" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_220")) (+ "+") (parenthesized_expression "(uVar10 - iVar5)" (( "(") (binary_expression "uVar10 - iVar5" (identifier "uVar10") (- "-") (identifier "iVar5")) () ")"))) () ")"))))) (; ";")) (expression_statement "uVar10 = uVar10 + 4;" (assignment_expression "uVar10 = uVar10 + 4" (identifier "uVar10") (= "=") (binary_expression "uVar10 + 4" (identifier "uVar10") (+ "+") (number_literal "4"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(uVar10 < uVar11)" (( "(") (binary_expression "uVar10 < uVar11" (identifier "uVar10") (< "<") (identifier "uVar11")) () ")")) (; ";")) (} "}"))) (} "}")))) (expression_statement "local_244 = local_230 + 10;" (assignment_expression "local_244 = local_230 + 10" (identifier "local_244") (= "=") (binary_expression "local_230 + 10" (identifier "local_230") (+ "+") (number_literal "10"))) (; ";")) (expression_statement "local_234 = iVar6;" (assignment_expression "local_234 = iVar6" (identifier "local_234") (= "=") (identifier "iVar6")) (; ";")) (goto_statement "goto LAB_00021c20;" (goto "goto") (statement_identifier "LAB_00021c20") (; ";")) (} "}")))

/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */
/* WARNING: Type propagation algorithm not settling */
/* WARNING: Enum "anon_enum_32": Some values do not have unique names */

char * function_1(type_1 addr,int port,type_2 *conf)

{
  int var_8;
  type_3 var_16;
  char var_5;
  type_3 var_15;
  char *var_3;
  int var_12;
  int var_11;
  char *var_27;
  size_t var_20;
  type_4 var_22;
  type_4 var_24;
  char *var_26;
  type_4 *var_23;
  type_5 *var_30;
  type_4 *puVar15;
  int var_1;
  bool bVar16;
  type_3 bVar17;
  int var_4;
  char *local_240;
  size_t local_23c;
  char *var_14;
  int var_6;
  int var_10;
  char var_28 [7];
  char var_29 [512];
  
  bVar17 = 0;
  var_4 = 0;
  var_8 = *(int *)(var_1 + 0x14);
  var_3 = var_2(conf,0x12);
  local_23c = 0;
  var_6 = 0;
  var_14 = (char *)0x0;
LAB_00021c20:
  do {
    var_26 = var_3 + var_4;
    var_5 = *var_26;
    var_11 = var_4;
joined_r0x00021c28:
    if (var_5 == '\0') {
LAB_00021e3b:
      if (var_6 < (int)local_23c) goto LAB_00021e4d;
LAB_00021eed:
      var_14 = (char *)var_7(var_14,var_6 + 0x201,1);
LAB_00021e4d:
      var_14[var_6] = '\0';
      if (var_8 != *(int *)(var_1 + 0x14)) {
                    /* WARNING: Subroutine does not return */
        var_9();
      }
      return var_14;
    }
    local_240 = var_26;
    var_10 = var_11;
    if (var_5 != '%') {
      if (var_5 != '\\') {
        do {
          var_4 = var_10 + 1;
          var_5 = var_3[var_4];
          if ((var_5 == '\0') || (var_5 == '%')) {
            if (var_5 == '\0') goto LAB_00021e99;
            break;
          }
          var_10 = var_4;
        } while (var_5 != '\\');
        local_240 = var_3 + var_4;
        var_10 = var_4;
        if (var_11 != var_4) {
          var_12 = var_6 + (var_4 - var_11);
          if ((int)local_23c < var_12) {
            local_23c = var_12 + 0x200;
            var_14 = (char *)var_7(var_14,local_23c,1);
          }
          var_13(var_14 + var_6,var_26,var_4 - var_11);
          var_6 = var_6 + (var_4 - var_11);
          var_10 = var_4;
        }
        goto LAB_00021cd4;
      }
      var_4 = var_11 + 1;
      var_5 = var_3[var_11 + 1];
      if (var_5 != '\0') goto LAB_00021f38;
LAB_00021e99:
      if (var_11 == var_4) goto LAB_00021e3b;
      var_12 = var_6 + (var_4 - var_11);
      if ((int)local_23c < var_12) {
        local_23c = var_12 + 0x200;
        var_14 = (char *)var_7(var_14,local_23c,1);
      }
      var_13(var_14 + var_6,var_3 + var_11,var_4 - var_11);
      var_6 = var_6 + (var_4 - var_11);
      if (var_6 < (int)local_23c) goto LAB_00021e4d;
      goto LAB_00021eed;
    }
LAB_00021cd4:
    var_4 = var_10 + 1;
    var_26 = var_3 + var_4;
    var_5 = *var_26;
    var_11 = var_10;
    if (var_5 == '\0') goto LAB_00021e99;
    if (*local_240 == '\\') {
LAB_00021f38:
      var_11 = var_6 + 1;
      if (var_5 == 'n') {
        if ((int)local_23c <= var_6) {
          local_23c = var_6 + 0x201;
          var_14 = (char *)var_7(var_14,local_23c,1);
        }
        var_14[var_6] = '\n';
        var_4 = var_10 + 2;
        var_6 = var_11;
        goto LAB_00021c20;
      }
      if (var_5 < 'o') {
        if (var_5 == 'X') {
LAB_000223b0:
          var_5 = var_3[var_4 + 1];
          var_15 = var_5 - 0x30;
          if (var_15 < 10) {
LAB_000223db:
            var_5 = var_3[var_4 + 2];
            var_16 = var_5 - 0x30;
            if (9 < var_16) {
              if ((type_3)(var_5 + 0x9fU) < 6) {
                var_16 = var_5 + 0xa9;
              }
              else {
                if (5 < (type_3)(var_5 + 0xbfU)) goto LAB_00022a16;
                var_16 = var_5 - 0x37;
              }
            }
            if ((int)local_23c <= var_6) {
              local_23c = var_6 + 0x201;
              var_14 = (char *)var_7(var_14,local_23c,1);
            }
            var_14[var_6] = var_16 + var_15 * '\x10';
            var_4 = var_4 + 3;
            var_6 = var_11;
          }
          else {
            if ((type_3)(var_5 + 0x9fU) < 6) {
              var_15 = var_5 + 0xa9;
              goto LAB_000223db;
            }
            if ((type_3)(var_5 + 0xbfU) < 6) {
              var_15 = var_5 - 0x37;
              goto LAB_000223db;
            }
LAB_00022a16:
            if ((int)local_23c <= var_6) {
              local_23c = var_6 + 0x201;
              var_14 = (char *)var_7(var_14,local_23c,1);
            }
            var_14[var_6] = '\\';
            var_6 = var_11;
          }
          goto LAB_00021c20;
        }
        if (var_5 == '\\') {
          if ((int)local_23c <= var_6) {
            local_23c = var_6 + 0x201;
            var_14 = (char *)var_7(var_14,local_23c,1);
          }
          var_14[var_6] = '\\';
          var_4 = var_10 + 2;
          var_6 = var_11;
          goto LAB_00021c20;
        }
        if (var_5 == '%') {
          if ((int)local_23c <= var_6) {
            local_23c = var_6 + 0x201;
            var_14 = (char *)var_7(var_14,local_23c,1);
          }
          var_14[var_6] = '%';
          var_4 = var_10 + 2;
          var_6 = var_11;
          goto LAB_00021c20;
        }
      }
      else {
        if (var_5 == 't') {
          if ((int)local_23c <= var_6) {
            local_23c = var_6 + 0x201;
            var_14 = (char *)var_7(var_14,local_23c,1);
          }
          var_14[var_6] = '\t';
          var_4 = var_10 + 2;
          var_6 = var_11;
          goto LAB_00021c20;
        }
        if (var_5 == 'x') goto LAB_000223b0;
        if (var_5 == 'r') {
          if ((int)local_23c <= var_6) {
            local_23c = var_6 + 0x201;
            var_14 = (char *)var_7(var_14,local_23c,1);
          }
          var_14[var_6] = '\r';
          var_4 = var_10 + 2;
          var_6 = var_11;
          goto LAB_00021c20;
        }
      }
      if ((int)local_23c <= var_11) {
        local_23c = var_6 + 0x202;
        var_14 = (char *)var_7(var_14,local_23c,1);
      }
      var_4 = var_10 + 2;
      *(type_6 *)(var_14 + var_6) = *(type_6 *)local_240;
      var_6 = var_6 + 2;
      goto LAB_00021c20;
    }
    if (var_5 == '%') {
      if ((int)local_23c <= var_6) {
        local_23c = var_6 + 0x201;
        var_14 = (char *)var_7(var_14,local_23c,1);
      }
      var_14[var_6] = '%';
      var_4 = var_10 + 2;
      var_6 = var_6 + 1;
      goto LAB_00021c20;
    }
    var_11 = var_17(var_26,"host",4);
    if (var_11 != 0) {
      var_11 = var_17(var_26,"port",4);
      if (var_11 == 0) {
        var_5 = var_18(var_29,1,8,&DAT_0008fa68,port);
        var_26 = (char *)(int)var_5;
        goto joined_r0x000221ae;
      }
      var_11 = var_17(var_26,"user",4);
      if (var_11 == 0) {
        var_26 = var_2(conf,0x10);
        var_20 = var_19(var_26);
        var_11 = var_6 + var_20;
        if ((int)local_23c < var_11) {
          local_23c = var_11 + 0x200;
          var_14 = (char *)var_7(var_14,local_23c,1);
        }
        var_13(var_14 + var_6,var_26,var_20);
        var_4 = var_10 + 5;
        var_6 = var_11;
        goto LAB_00021c20;
      }
      var_11 = var_17(var_26,"pass",4);
      if (var_11 == 0) {
        var_26 = var_2(conf,0x11);
        var_20 = var_19(var_26);
        var_11 = var_6 + var_20;
        if ((int)local_23c < var_11) {
          local_23c = var_11 + 0x200;
          var_14 = (char *)var_7(var_14,local_23c,1);
        }
        var_13(var_14 + var_6,var_26,var_20);
        var_4 = var_10 + 5;
        var_6 = var_11;
        goto LAB_00021c20;
      }
      var_11 = var_17(var_26,"proxyhost",9);
      if (var_11 == 0) {
        var_26 = var_2(conf,0xe);
        var_20 = var_19(var_26);
        var_11 = var_6 + var_20;
        if ((int)local_23c < var_11) {
          local_23c = var_11 + 0x200;
          var_14 = (char *)var_7(var_14,local_23c,1);
        }
        var_13(var_14 + var_6,var_26,var_20);
        var_4 = var_10 + 10;
        var_6 = var_11;
        goto LAB_00021c20;
      }
      var_11 = var_17(var_26,"proxyport",9);
      if (var_11 == 0) break;
      if ((int)local_23c <= var_6) {
        local_23c = var_6 + 0x201;
        var_14 = (char *)var_7(var_14,local_23c,1);
      }
      var_14[var_6] = '%';
      var_6 = var_6 + 1;
      var_26 = var_3 + var_4;
      var_5 = *var_26;
      var_11 = var_4;
      goto joined_r0x00021c28;
    }
    var_21(addr,var_29,0x200);
    puVar15 = (type_4 *)var_29;
    do {
      var_23 = puVar15;
      var_22 = *var_23 + 0xfefefeff & ~*var_23;
      var_24 = var_22 & 0x80808080;
      puVar15 = var_23 + 1;
    } while (var_24 == 0);
    bVar16 = (var_22 & 0x8080) == 0;
    if (bVar16) {
      var_24 = var_24 >> 0x10;
    }
    puVar15 = (type_4 *)((int)var_23 + 6);
    if (!bVar16) {
      puVar15 = var_23 + 1;
    }
    var_26 = (char *)((int)puVar15 + ((-3 - (type_4)var_25((type_3)var_24,(type_3)var_24)) - (int)var_29));
joined_r0x000221ae:
    var_11 = var_6 + (int)var_26;
    if ((int)local_23c < var_11) {
      local_23c = var_11 + 0x200;
      var_14 = (char *)var_7(var_14,local_23c,1);
    }
    var_27 = var_14 + var_6;
    if (var_26 < (char *)0x4) {
      if (var_26 != (char *)0x0) {
        *var_27 = var_29[0];
        if (((type_4)var_26 & 2) != 0) {
          *(type_6 *)(var_27 + (int)(var_26 + -2)) =
               *(type_6 *)(var_28 + (int)(var_26 + 5));
        }
      }
    }
    else {
      *(type_5 *)var_27 = var_29._0_4_;
      *(type_5 *)(var_27 + (int)(var_26 + -4)) =
           *(type_5 *)(var_28 + (int)(var_26 + 3));
      var_12 = (int)var_27 - (int)((type_4)(var_27 + 4) & 0xfffffffc);
      var_24 = (type_4)(var_26 + var_12) >> 2;
      var_26 = var_29 + -var_12;
      var_30 = (type_5 *)((type_4)(var_27 + 4) & 0xfffffffc);
      for (; var_24 != 0; var_24 = var_24 - 1) {
        *var_30 = *(type_5 *)var_26;
        var_26 = var_26 + ((type_4)bVar17 * -2 + 1) * 4;
        var_30 = var_30 + (type_4)bVar17 * -2 + 1;
      }
    }
    var_4 = var_10 + 5;
    var_6 = var_11;
  } while( true );
  var_11 = var_31(conf,0xf);
  var_18(var_29,1,0x32,"%d",var_11);
  puVar15 = (type_4 *)var_29;
  do {
    var_23 = puVar15;
    var_22 = *var_23 + 0xfefefeff & ~*var_23;
    var_24 = var_22 & 0x80808080;
    puVar15 = var_23 + 1;
  } while (var_24 == 0);
  bVar16 = (var_22 & 0x8080) == 0;
  if (bVar16) {
    var_24 = var_24 >> 0x10;
  }
  if (bVar16) {
    puVar15 = (type_4 *)((int)var_23 + 6);
  }
  var_24 = (int)puVar15 + ((-3 - (type_4)var_25((type_3)var_24,(type_3)var_24)) - (int)var_29);
  var_11 = var_6 + var_24;
  if ((int)local_23c < var_11) {
    local_23c = var_11 + 0x200;
    var_14 = (char *)var_7(var_14,local_23c,1);
  }
  var_26 = var_14 + var_6;
  if (var_24 < 4) {
    if (var_24 != 0) {
      *var_26 = var_29[0];
      if ((var_24 & 2) != 0) {
        *(type_6 *)(var_26 + (var_24 - 2)) = *(type_6 *)(var_28 + var_24 + 5);
      }
    }
  }
  else {
    *(type_5 *)var_26 = var_29._0_4_;
    *(type_5 *)(var_26 + (var_24 - 4)) = *(type_5 *)(var_28 + var_24 + 3);
    var_12 = (int)var_26 - ((type_4)(var_26 + 4) & 0xfffffffc);
    var_24 = var_12 + var_24 & 0xfffffffc;
    if (3 < var_24) {
      var_22 = 0;
      do {
        *(type_5 *)(((type_4)(var_26 + 4) & 0xfffffffc) + var_22) =
             *(type_5 *)((int)var_29 + (var_22 - var_12));
        var_22 = var_22 + 4;
      } while (var_22 < var_24);
    }
  }
  var_4 = var_10 + 10;
  var_6 = var_11;
  goto LAB_00021c20;
}


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

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

void MASKED(undefined4 param_1,undefined4 param_2,undefined4 param_3)

{
  byte bVar1;
  char cVar2;
  byte bVar3;
  int iVar4;
  int iVar5;
  int iVar6;
  char *pcVar7;
  size_t sVar8;
  undefined4 uVar9;
  uint uVar10;
  uint uVar11;
  uint *puVar12;
  uint *puVar13;
  undefined4 *puVar14;
  undefined4 *puVar15;
  int in_GS_OFFSET;
  bool bVar16;
  byte bVar17;
  int local_244;
  char *local_240;
  int local_23c;
  int local_238;
  int local_234;
  int local_230;
  undefined1 auStack_227 [5];
  undefined2 uStack_222;
  uint local_220 [128];
  int local_20;
  undefined4 uStack_14;
  
  bVar17 = 0;
  local_244 = 0;
  uStack_14 = 0x21bad;
  local_20 = *(int *)(in_GS_OFFSET + 0x14);
  iVar4 = FUN_00018b60(param_3,0x12);
  local_23c = 0;
  local_234 = 0;
  local_238 = 0;
LAB_00021c20:
  do {
    pcVar7 = (char *)(iVar4 + local_244);
    cVar2 = *pcVar7;
    iVar6 = local_244;
joined_r0x00021c28:
    if (cVar2 == '\0') {
LAB_00021e3b:
      if (local_234 < local_23c) goto LAB_00021e4d;
LAB_00021eed:
      local_238 = FUN_0001dc50(local_238,local_234 + 0x201,1);
LAB_00021e4d:
      *(undefined1 *)(local_238 + local_234) = 0;
      if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {
                    /* WARNING: Subroutine does not return */
        FUN_0008d800();
      }
      return;
    }
    local_240 = pcVar7;
    local_230 = iVar6;
    if (cVar2 != '%') {
      if (cVar2 != '\\') {
        do {
          local_244 = local_230 + 1;
          cVar2 = *(char *)(iVar4 + local_244);
          if ((cVar2 == '\0') || (cVar2 == '%')) {
            if (cVar2 == '\0') goto LAB_00021e99;
            break;
          }
          local_230 = local_244;
        } while (cVar2 != '\\');
        local_240 = (char *)(iVar4 + local_244);
        local_230 = local_244;
        if (iVar6 != local_244) {
          iVar5 = (local_234 + local_244) - iVar6;
          if (local_23c < iVar5) {
            local_23c = iVar5 + 0x200;
            local_238 = FUN_0001dc50(local_238,local_23c,1);
          }
          memcpy((void *)(local_238 + local_234),pcVar7,local_244 - iVar6);
          local_234 = local_234 + (local_244 - iVar6);
          local_230 = local_244;
        }
        goto LAB_00021cd4;
      }
      local_244 = iVar6 + 1;
      cVar2 = *(char *)(iVar4 + 1 + iVar6);
      if (cVar2 != '\0') goto LAB_00021f38;
LAB_00021e99:
      if (iVar6 == local_244) goto LAB_00021e3b;
      iVar5 = (local_234 + local_244) - iVar6;
      if (local_23c < iVar5) {
        local_23c = iVar5 + 0x200;
        local_238 = FUN_0001dc50(local_238,local_23c,1);
      }
      memcpy((void *)(local_238 + local_234),(void *)(iVar6 + iVar4),local_244 - iVar6);
      local_234 = local_234 + (local_244 - iVar6);
      if (local_234 < local_23c) goto LAB_00021e4d;
      goto LAB_00021eed;
    }
LAB_00021cd4:
    local_244 = local_230 + 1;
    pcVar7 = (char *)(iVar4 + local_244);
    cVar2 = *pcVar7;
    iVar6 = local_230;
    if (cVar2 == '\0') goto LAB_00021e99;
    if (*local_240 == '\\') {
LAB_00021f38:
      iVar6 = local_234 + 1;
      if (cVar2 == 'n') {
        if (local_23c <= local_234) {
          local_23c = local_234 + 0x201;
          local_238 = FUN_0001dc50(local_238,local_23c,1);
        }
        *(undefined1 *)(local_238 + local_234) = 10;
        local_244 = local_230 + 2;
        local_234 = iVar6;
        goto LAB_00021c20;
      }
      if (cVar2 < 'o') {
        if (cVar2 == 'X') {
LAB_000223b0:
          cVar2 = *(char *)(iVar4 + 1 + local_244);
          bVar3 = cVar2 - 0x30;
          if (bVar3 < 10) {
LAB_000223db:
            cVar2 = *(char *)(iVar4 + 2 + local_244);
            bVar1 = cVar2 - 0x30;
            if (9 < bVar1) {
              if ((byte)(cVar2 + 0x9fU) < 6) {
                bVar1 = cVar2 + 0xa9;
              }
              else {
                if (5 < (byte)(cVar2 + 0xbfU)) goto LAB_00022a16;
                bVar1 = cVar2 - 0x37;
              }
            }
            if (local_23c <= local_234) {
              local_23c = local_234 + 0x201;
              local_238 = FUN_0001dc50(local_238,local_23c,1);
            }
            *(byte *)(local_238 + local_234) = bVar1 + bVar3 * '\x10';
            local_244 = local_244 + 3;
            local_234 = iVar6;
          }
          else {
            if ((byte)(cVar2 + 0x9fU) < 6) {
              bVar3 = cVar2 + 0xa9;
              goto LAB_000223db;
            }
            if ((byte)(cVar2 + 0xbfU) < 6) {
              bVar3 = cVar2 - 0x37;
              goto LAB_000223db;
            }
LAB_00022a16:
            if (local_23c <= local_234) {
              local_23c = local_234 + 0x201;
              local_238 = FUN_0001dc50(local_238,local_23c,1);
            }
            *(undefined1 *)(local_238 + local_234) = 0x5c;
            local_234 = iVar6;
          }
          goto LAB_00021c20;
        }
        if (cVar2 == '\\') {
          if (local_23c <= local_234) {
            local_23c = local_234 + 0x201;
            local_238 = FUN_0001dc50(local_238,local_23c,1);
          }
          *(undefined1 *)(local_238 + local_234) = 0x5c;
          local_244 = local_230 + 2;
          local_234 = iVar6;
          goto LAB_00021c20;
        }
        if (cVar2 == '%') {
          if (local_23c <= local_234) {
            local_23c = local_234 + 0x201;
            local_238 = FUN_0001dc50(local_238,local_23c,1);
          }
          *(undefined1 *)(local_238 + local_234) = 0x25;
          local_244 = local_230 + 2;
          local_234 = iVar6;
          goto LAB_00021c20;
        }
      }
      else {
        if (cVar2 == 't') {
          if (local_23c <= local_234) {
            local_23c = local_234 + 0x201;
            local_238 = FUN_0001dc50(local_238,local_23c,1);
          }
          *(undefined1 *)(local_238 + local_234) = 9;
          local_244 = local_230 + 2;
          local_234 = iVar6;
          goto LAB_00021c20;
        }
        if (cVar2 == 'x') goto LAB_000223b0;
        if (cVar2 == 'r') {
          if (local_23c <= local_234) {
            local_23c = local_234 + 0x201;
            local_238 = FUN_0001dc50(local_238,local_23c,1);
          }
          *(undefined1 *)(local_238 + local_234) = 0xd;
          local_244 = local_230 + 2;
          local_234 = iVar6;
          goto LAB_00021c20;
        }
      }
      if (local_23c <= iVar6) {
        local_23c = local_234 + 0x202;
        local_238 = FUN_0001dc50(local_238,local_23c,1);
      }
      local_244 = local_230 + 2;
      *(undefined2 *)(local_238 + local_234) = *(undefined2 *)local_240;
      local_234 = local_234 + 2;
      goto LAB_00021c20;
    }
    if (cVar2 == '%') {
      if (local_23c <= local_234) {
        local_23c = local_234 + 0x201;
        local_238 = FUN_0001dc50(local_238,local_23c,1);
      }
      *(undefined1 *)(local_238 + local_234) = 0x25;
      local_244 = local_230 + 2;
      local_234 = local_234 + 1;
      goto LAB_00021c20;
    }
    iVar6 = strncasecmp(pcVar7,"host",4);
    if (iVar6 != 0) {
      iVar6 = strncasecmp(pcVar7,"port",4);
      if (iVar6 == 0) {
        cVar2 = __sprintf_chk(local_220,1,8,&DAT_0008fa68,param_2);
        uVar11 = (uint)cVar2;
        goto joined_r0x000221ae;
      }
      iVar6 = strncasecmp(pcVar7,"user",4);
      if (iVar6 == 0) {
        pcVar7 = (char *)FUN_00018b60(param_3,0x10);
        sVar8 = strlen(pcVar7);
        iVar6 = sVar8 + local_234;
        if (local_23c < iVar6) {
          local_23c = iVar6 + 0x200;
          local_238 = FUN_0001dc50(local_238,local_23c,1);
        }
        memcpy((void *)(local_234 + local_238),pcVar7,sVar8);
        local_244 = local_230 + 5;
        local_234 = iVar6;
        goto LAB_00021c20;
      }
      iVar6 = strncasecmp(pcVar7,"pass",4);
      if (iVar6 == 0) {
        pcVar7 = (char *)FUN_00018b60(param_3,0x11);
        sVar8 = strlen(pcVar7);
        iVar6 = sVar8 + local_234;
        if (local_23c < iVar6) {
          local_23c = iVar6 + 0x200;
          local_238 = FUN_0001dc50(local_238,local_23c,1);
        }
        memcpy((void *)(local_234 + local_238),pcVar7,sVar8);
        local_244 = local_230 + 5;
        local_234 = iVar6;
        goto LAB_00021c20;
      }
      iVar6 = strncasecmp(pcVar7,"proxyhost",9);
      if (iVar6 == 0) {
        pcVar7 = (char *)FUN_00018b60(param_3,0xe);
        sVar8 = strlen(pcVar7);
        iVar6 = sVar8 + local_234;
        if (local_23c < iVar6) {
          local_23c = iVar6 + 0x200;
          local_238 = FUN_0001dc50(local_238,local_23c,1);
        }
        memcpy((void *)(local_234 + local_238),pcVar7,sVar8);
        local_244 = local_230 + 10;
        local_234 = iVar6;
        goto LAB_00021c20;
      }
      iVar6 = strncasecmp(pcVar7,"proxyport",9);
      if (iVar6 == 0) break;
      if (local_23c <= local_234) {
        local_23c = local_234 + 0x201;
        local_238 = FUN_0001dc50(local_238,local_23c,1);
      }
      *(undefined1 *)(local_238 + local_234) = 0x25;
      local_234 = local_234 + 1;
      pcVar7 = (char *)(iVar4 + local_244);
      cVar2 = *pcVar7;
      iVar6 = local_244;
      goto joined_r0x00021c28;
    }
    FUN_00084190(param_1,local_220,0x200);
    puVar12 = local_220;
    do {
      puVar13 = puVar12;
      uVar10 = *puVar13 + 0xfefefeff & ~*puVar13;
      uVar11 = uVar10 & 0x80808080;
      puVar12 = puVar13 + 1;
    } while (uVar11 == 0);
    bVar16 = (uVar10 & 0x8080) == 0;
    if (bVar16) {
      uVar11 = uVar11 >> 0x10;
    }
    puVar12 = (uint *)((int)puVar13 + 6);
    if (!bVar16) {
      puVar12 = puVar13 + 1;
    }
    uVar11 = (int)puVar12 + ((-3 - (uint)CARRY1((byte)uVar11,(byte)uVar11)) - (int)local_220);
joined_r0x000221ae:
    iVar6 = local_234 + uVar11;
    if (local_23c < iVar6) {
      local_23c = iVar6 + 0x200;
      local_238 = FUN_0001dc50(local_238,local_23c,1);
    }
    puVar12 = (uint *)(local_234 + local_238);
    if (uVar11 < 4) {
      if (uVar11 != 0) {
        *(undefined1 *)puVar12 = (undefined1)local_220[0];
        if ((uVar11 & 2) != 0) {
          *(undefined2 *)((int)puVar12 + (uVar11 - 2)) = *(undefined2 *)(auStack_227 + uVar11 + 5);
        }
      }
    }
    else {
      *puVar12 = local_220[0];
      *(undefined4 *)((int)puVar12 + (uVar11 - 4)) = *(undefined4 *)(auStack_227 + uVar11 + 3);
      iVar5 = (int)puVar12 - (int)((uint)(puVar12 + 1) & 0xfffffffc);
      puVar14 = (undefined4 *)((int)local_220 - iVar5);
      puVar15 = (undefined4 *)((uint)(puVar12 + 1) & 0xfffffffc);
      for (uVar11 = uVar11 + iVar5 >> 2; uVar11 != 0; uVar11 = uVar11 - 1) {
        *puVar15 = *puVar14;
        puVar14 = puVar14 + (uint)bVar17 * -2 + 1;
        puVar15 = puVar15 + (uint)bVar17 * -2 + 1;
      }
    }
    local_244 = local_230 + 5;
    local_234 = iVar6;
  } while( true );
  uVar9 = FUN_000189b0(param_3,0xf);
  __sprintf_chk(local_220,1,0x32,"%d",uVar9);
  puVar12 = local_220;
  do {
    puVar13 = puVar12;
    uVar10 = *puVar13 + 0xfefefeff & ~*puVar13;
    uVar11 = uVar10 & 0x80808080;
    puVar12 = puVar13 + 1;
  } while (uVar11 == 0);
  bVar16 = (uVar10 & 0x8080) == 0;
  if (bVar16) {
    uVar11 = uVar11 >> 0x10;
  }
  if (bVar16) {
    puVar12 = (uint *)((int)puVar13 + 6);
  }
  uVar11 = (int)puVar12 + ((-3 - (uint)CARRY1((byte)uVar11,(byte)uVar11)) - (int)local_220);
  iVar6 = local_234 + uVar11;
  if (local_23c < iVar6) {
    local_23c = iVar6 + 0x200;
    local_238 = FUN_0001dc50(local_238,local_23c,1);
  }
  puVar12 = (uint *)(local_234 + local_238);
  if (uVar11 < 4) {
    if (uVar11 != 0) {
      *(undefined1 *)puVar12 = (undefined1)local_220[0];
      if ((uVar11 & 2) != 0) {
        *(undefined2 *)((int)puVar12 + (uVar11 - 2)) = *(undefined2 *)(auStack_227 + uVar11 + 5);
      }
    }
  }
  else {
    *puVar12 = local_220[0];
    *(undefined4 *)((int)puVar12 + (uVar11 - 4)) = *(undefined4 *)(auStack_227 + uVar11 + 3);
    iVar5 = (int)puVar12 - ((uint)(puVar12 + 1) & 0xfffffffc);
    uVar11 = iVar5 + uVar11 & 0xfffffffc;
    if (3 < uVar11) {
      uVar10 = 0;
      do {
        *(undefined4 *)(((uint)(puVar12 + 1) & 0xfffffffc) + uVar10) =
             *(undefined4 *)((int)local_220 + (uVar10 - iVar5));
        uVar10 = uVar10 + 4;
      } while (uVar10 < uVar11);
    }
  }
  local_244 = local_230 + 10;
  local_234 = iVar6;
  goto LAB_00021c20;
}

